单击后为什么按钮大小会发生变

时间:2017-04-20 21:40:10

标签: java android android-layout android-studio button

我有一个带图像背景的按钮。每当我点击按钮时,它会变小并保持较小。我检查过背景图片大小相同。

   <android.support.v7.widget.AppCompatButton
        android:id="@+id/back"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:minWidth="20dp"
        android:minHeight="20dp"
        android:layout_above="@+id/joystick1"
        android:layout_toEndOf="@+id/lb"
        android:layout_toRightOf="@+id/lb"
        android:background="@drawable/selector_btn_start_back" />

@绘制/ selector_btn_start_back:

<?xml version="1.0" encoding="utf-8"?>

<item android:drawable="@drawable/controller_start_back_clicked" android:state_pressed="true"/>
<item android:drawable="@drawable/controller_start_back" android:state_selected="false"/>

这些图像在hdpi中是16 * 16。

点击按钮后如何保持相同的大小(xml布局)?

1 个答案:

答案 0 :(得分:0)

检查drawable/selector_btn_start_back以确保其符合此spec。你提出的内容并不完整。

  

州名单

     

StateListDrawable是一个XML格式的可绘制对象,它使用几个不同的图像来表示相同的图形,具体取决于对象的状态。例如,Button小部件可以存在于几种不同状态之一(按下,聚焦或两者都没有),并且使用状态列表drawable,您可以为每个状态提供不同的背景图像。

     

您可以在XML文件中描述状态列表。每个图形由单个元素内的元素表示。每个都使用各种属性来描述它应该用作drawable图形的状态。

     

在每次状态更改期间,状态列表从上到下遍历,并且使用与当前状态匹配的第一个项目 - 选择不基于“最佳匹配”,而只是满足最低条件的第一个项目国家。