================================================================
二:为 文字设置Selector
以上为众所周知的做法,可是今天的同事问我 TextView Button 等能显示文字的控件,上面的TextColor能用Selector做么?我不假思索的回答,当然可以。做法如下:
<Button
android:layout_marginTop=“100dp”
android:textColor="@drawable/selector_color_text"
android:text=“测试颜色变色不”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content” />
对应Selector文件如下:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android=“http://schemas.android.com/apk/res/android”>
<item android:color="#fdfffe" android:state_pressed=“true” />
这里有个坑点是,一开始我用
<item android:color="#fdfffe" android:state_pressed=“true” />
这种把android:color 写成硬编码的形式,可是会报错无效果,反正出不来结果。
后来搜了一下资料,说是要把color的值也写在xml里(colos.xml),然后在Selector文件里引用,如 @color/xxx。
或者引用系统的,如
<item android:color="@android:color/holo_blue_bright" android:state_pressed=“true” />
采用@color/xxx引用形式完成效果后,我开始总结规律的时候,我再次尝试硬编码形式,发现依然也可以实现效果。原因未知,反正各位如果遇到使用硬编码如#123456 代表颜色值时无效时,可以尝试一下将其放入colors.xml里 试试。如:
<?xml version="1.0" encoding="utf-8"?><color name=“colorPrimary”>#3F51B5
<color name=“colorPrimaryDark”>#303F9F
<color name=“colorAccent”>#FF4081
===========================================================================================================
第三个问题来了,如果我想用color颜色值作为某个控件的背景,同时要有Selector效果,该如何做?
三:为控件设置color类型的Selector效果的 background,