之前发表过一篇文章:解决Android用Selector自定义Button样式没有效果的问题 这篇文章主要讲的是通过selector设置Button的背景颜色,今天来说一下通过selector把Button中的字体颜色也捎带设置了
1、首先在values文件夹下的colors.xml文件中添加如下代码:
<resources> <drawable name="btn_txt_white">#f1f1f1</drawable> <drawable name="btn_txt_black">#171C2D</drawable> </resources>
这里要注意添加的标签不是color标签,而是drawable标签
2、在drawable文件夹下创建selector_btn_txt.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@drawable/btn_txt_black" android:state_focused="true" android:state_pressed="true" /> <item android:color="@drawable/btn_txt_black" android:state_focused="false" android:state_pressed="true" /> <item android:color="@drawable/btn_txt_black" android:state_focused="true" android:state_pressed="false" /> <item android:color="@drawable/btn_txt_white" android:state_focused="false" android:state_pressed="false" /> </selector>
3、最后在layout布局文件中引用:
<Button android:id="@+id/btn" android:layout_width="@dimen/dp_151" android:layout_height="@dimen/dp_59" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="@dimen/dp_40" android:background="@drawable/selector_btn_bg" android:gravity="center" android:text="@string/know" android:textColor="@drawable/selector_btn_txt" android:textSize="@dimen/dp_23" />