今天给button设置按压后的背景色以及文字的颜色然后遇到一个很坑的问题,背景色生效然后文字颜色竟然没生效==!后发现selector里面item的位置顺序对最终效果是有影响的。
修改前代码:
<Button
android:id="@+id/file_system_btn_delete"
android:layout_width="70dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:background="@drawable/selector_btn_delete"
android:textColor="@color/selector_btn_file_delete"
android:layout_toLeftOf="@id/file_system_btn_add_book"
android:text="删除"/>
背景色
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shape_red" android:state_pressed="true"/>
<item android:drawable="@drawable/shape_unclick" android:state_enabled="false"/>
<item android:drawable="@drawable/shape_corner_black" />
</selector>
文字颜色
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/black"/>
<item android:color="@color/gray" android:state_enabled="false" />
<item android:color="@color/white" android:state_pressed="true" />
</selector>
修改后文字颜色设置 修改后:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/gray" android:state_enabled="false" />
<item android:color="@color/white" android:state_pressed="true" />
<item android:color="@color/black"/>
</selector>
注意设置文字颜色是在 res文件下的color里面添加xml 的。
参考 https://blog.csdn.net/l403040463/article/details/72432682