本文实例讲述了Android使用selector修改TextView中字体颜色和背景色的方法。,具体如下:
android中的selector大家都很熟悉了,用它可以很方便的实现,控件在不同的动作中,颜色等值的变化。这里我说一下TextView中的一些应用。
我想大家都知道,Button按钮在源码上看是一种特殊的TextView,所以我们很多时候,按钮全是使用的TextView来完成,只要加一个android:clickable="true"就可以了。
TextView在使用selector时,会有两种情况,一种就是正常的在TextView控件上来判断按下,焦点等动作的判断,另一种则是TextView外层控件的这些动作,然后将动作传回TextView.
一,正常的在TextView控件上来判断按下,焦点等动作的判断
这种相对简单,一般要修改控件的背景色和文字色,我们要用到两个xml文件。代码如下:
tbackground.xml 修改背景
<?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://www.easck.com/apk/res/android"> <!-- 默认时的背景图片--> <!--<item android:drawable="@color/white" />--> <!-- 没有焦点时的背景图片 --> <item android:state_window_focused="false" android:drawable="@color/white" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@color/btnbackBlue" /> </selector>
这里要说明一点,大家看到了,我把默认时的背景图片(颜色)给注了,这是为什么呢,因为你把这条放在最前面,无论什么时候,它都会最先运行,它运行完了,程序就不会再往下运行了,所以下面写的全都没有了。如果你想设置默认值,请把这行代码,放到最下面。
ttextcolor.xml 修改文字
<?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://www.easck.com/apk/res/android"> <!-- 没有焦点时的背景图片 --> <item android:state_window_focused="false" android:color="@color/black" /> <item android:state_focused="false" android:state_pressed="true" android:color="@color/white" /> <!-- 默认时的背景图片--> <item android:color="@color/black" /> </selector>










