如何更改所选Textview的颜色

时间:2016-03-19 07:41:11

标签: android

我在屏幕上有很多textview。我想在用户点击它时改变textview的颜色,颜色应该保持相同,直到用户点击其他textview。

为此,我使用了这个滑块,但它没有像那样工作。

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false" android:state_selected="false" android:color="#000"/>
    <item android:state_selected="true" android:color="#12fdfd"/>
</selector>

我该怎么办?任何帮助

enter image description here

2 个答案:

答案 0 :(得分:0)

您的TextView需要实施Checkable界面。尝试使用Checkable的已知间接子类,例如。 CheckedTextView或实施您自己的TextView

答案 1 :(得分:0)

TextView 替换为 CheckedTextView ,然后您的选择器必须如下

   <?xml version="1.0" encoding="utf-8"?>
   <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item  android:state_checked="true"   android:color="#12fdfd"/>
     <item  android:color="#000"/>
  </selector>

为CheckedTextView使用 setChecked(boolean bln) 函数

 mCTxtView.setChecked(true);

您可以通过为checkedTextView设置drawable

将其用作复选框ui

机器人:drawableLeft =&#34; @可绘制/ radio_drawable&#34;

  

radio_drawable.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/radio_checked"  android:state_checked="true"/>
  <item android:drawable="@drawable/radio_unchecked" />
</selector>