一、textview 点击变色,松开恢复。效果如左图:
二、松开后不恢复。如右图:
一、textview 点击变色,松开恢复
1. 设置clickable属性为true -----Textview 默认不可点击
android:clickable="true"
2. drawable 文件下新建 selector 类型 xml 文件 此处我的命名为 demo_selector
点击 textview 的属性为 state_pressed,在此文件下设置
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:color="#3D4245"></item>
<item android:state_pressed="true" android:color="#FF5000"></item>
</selector>
3. 添加引用
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:clickable="true"
android:textColor="@drawable/demo_selector"/>
<TextView
完成。
二、textview 点击变色,松开不恢复
此效果我将使用 Radiogroup 控件完成,因为自带选中属性。
1. 设置布局
添加 RadioGroup 内含两个 RadioButton 控件
2. drawable 文件下新建 selector 类型 xml 文件 此处我的命名为 demo_selector
由于是 RadioButton,不同于 textview ,这里属性为 state_checked
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:color="#3D4245"></item>
<item android:state_checked="true" android:color="#FF5000"></item>
</selector>
3. 设置 style
打开values文件下的styles.xml文件
添加自己的style
<style name="demoStyle">
<item name="android:button">@null</item>
<item name="android:textSize">17sp</item>
<item name="android:textColor">@drawable/demo_selector</item> //引用selector
</style>
完成。
布局页面设置如下:
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center"
android:text="价格"
style="@style/demoStyle"/>
<RadioButton
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="center"
android:layout_height="wrap_content"
android:text="销量"
style="@style/demoStyle"/>
</RadioGroup>