selector想必大家都用过了,但是在修改字体的颜色的时候还是要细心。

我们在TextView中设置字体颜色一般使用

Android:textColor="@color/red"

但是我们在使用selector动态修改字体颜色的时候要使用

android:textColor="@drawable/selector_color_order_main_color"


这个是修改TextView字体颜色的

selector_color_order_main_color.xml

<?xmlversion="1.0"encoding="utf-8"?><selectorxmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:state_pressed="true"android:color="@color/white"></item><itemandroid:state_pressed="false"android:color="@color/main_color"></item></selector


这个是修改TextView背景颜色的

<?xmlversion="1.0"encoding="utf-8"?><selectorxmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:drawable="@drawable/shape_radius_order_main_color_down"android:state_pressed="true"android:color="@color/white"/><itemandroid:drawable="@drawable/shape_radius_order_main_color"android:state_pressed="false"android:color="@color/main_color"/></selector>

shape_radius_order_main_color.xml<?xmlversion="1.0"encoding="utf-8"?><shapexmlns:android="http://schemas.android.com/apk/res/android"><solidandroid:color="@color/white"/><strokeandroid:color="@color/main_color"android:width="0.5dp"/><cornersandroid:bottomLeftRadius="3dp"android:bottomRightRadius="3dp"android:topLeftRadius="3dp"android:topRightRadius="3dp"/></shape>


shape_radius_order_main_color_down.xml

<?xmlversion="1.0"encoding="utf-8"?><shapexmlns:android="http://schemas.android.com/apk/res/android"><solidandroid:color="@color/main_color"/><strokeandroid:width="0.5dp"android:color="@color/color_f7f7f7"/><cornersandroid:bottomLeftRadius="3dp"android:bottomRightRadius="3dp"android:topLeftRadius="3dp"android:topRightRadius="3dp"/></shape>


这里要注意的是,如果要修改TextView点击效果的字体颜色属性要用

android:textColor="@drawable/selector_color_order_main_color"//drawable而不能用color属性


android:background是改变背景颜色的

android:textColor是改变字体颜色的,当然一般默认用color一种颜色