您的位置:首页 > 移动开发 > Android开发

android开发之关于TextView的selector

2015-01-23 10:11 337 查看
在开发中,大多数开发者都会尽可能的把代码抽取出来,可以说能抽多少是多少!这样的目的一是为了显示自己的技术很高大上,二是为了达到某一种功能需求,其实最主要的目的还是为了代码的复用和扩展!这也是"苦逼的程序猿"是怎么来的了,如果你学会了代码的优化,那么"苦逼"二字其实离你很远很远;代码的优化从点滴做起,做细节做起!

那么,接下来给大家说说TextView的字体颜色的不同点击下的显示,针对这样的需求,我们通常使用的是selector:

第一步:在/res/下创建一个文件夹名为drawable.

第二步:在/res/drawable/下新建text_selector.xml文件(文件名随意),注意在创建文件的过程中请选择selector为节点的xml文件.

第三步:在selector文件中编写如下代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:<span style="color:#ff0000;"><strong>state_selected</strong></span>="true" android:color="@color/color_orange"></item>
<item android:state_selected="false" android:color="@color/color_999"></item>
</selector>
还可以这样:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:<strong><span style="color:#ff0000;">state_pressed</span></strong>="true" android:color="@color/color_orange"></item>
<item android:state_pressed="false" android:color="@color/color_999"></item>
</selector>
第四步:在布局文件中引用该文件:

<TextView
android:id="@+id/tv_zt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<span style="color:#ff0000;"><strong>android:textColor="@drawable/text_selector"</strong></span>
android:text="@string/zt"
/>


在上面使用了android:color="color_orange"和android:color="color_999",为了大家理解,我将写得更详细一些:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="color_orange">#ff4e00</color>
<color name="color_999">#999999</color>
</resources>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息