设置TextView的点击时变色
1、写好TextView
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户注册"
android:textColor="@color/login_text_color"//这里是引入的点击变色的xml文件。这个color只是文件路径,也可以放在现有的drawable文件夹下
android:clickable="true"//这个是允许点击,TextView默认是false不允许点击的
/>
2、写文字变色的login_text_color.xml文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#C6C6C6"/>//点击后的颜色
<item android:color="@color/colorBlack"/>//这是默认的颜色 没有点击的时候
</selector>
点击文字无变色效果解决方法
1、首先是检查TextView是否设置了android:clickable="true"
允许点击,没设置这个的话TextView无法点击,因为TextView中默认是false的。
2、检查你的变色的xml文件,看看是否,这两个颜色是否相同,相同的话点击了当然看不出来变色了
<item android:state_pressed="true" android:color="#C6C6C6"/>
<item android:color="@color/colorBlack"/>
3、这个可能大家不知道,就是文字的默认颜色
<item android:color="@color/colorBlack"/>
必须放在
<item android:state_pressed="true" android:color="#C6C6C6"/>
点击后要变换的颜色下面,否则会无效。
正确写法:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#C6C6C6"/>//点击后
<item android:color="@color/colorBlack"/>//点击前
</selector>