如何使用自定义xml文件更改TextView文本颜色。 当我按下按钮按钮时,文本应该变成白色,当我释放按钮时,文本应该变成黑色。因为我已经将这个background.xml用于所有textview。所以,如果我在一个地方改变它将影响所有的地方。但文字颜色没有变化。
我使用的TextView代码:
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/btn_add"
android:background="@drawable/background"
android:gravity="left"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="5dp"
android:paddingTop="10dp"
android:text="@string/student_name"
android:textColor="@color/black"
android:textSize="18dp" />
background.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/bg1"
android:color="@color/White"
android:state_pressed="false"/>
<item
android:drawable="@drawable/bg2"
android:color="@color/black"
android:state_pressed="true"/>
</selector>
答案 0 :(得分:1)
试试这个:
的TextView
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/btn_add"
android:background="@drawable/background"
android:gravity="left"
android:paddingBottom="10dp"
android:state_selected="true"
android:paddingLeft="10dp"
android:paddingRight="5dp"
android:paddingTop="10dp"
android:text="@string/student_name"
android:textColor="@drawable/my_text_color"
android:textSize="18dp" />
抽拉/ my_text_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed -->
<item android:state_pressed="true" android:color="@color/White"/>
<!-- focused -->
<item android:state_focused="true" android:color="@color/White"/>
<!-- activated -->
<item android:state_activated="true" android:color="@color/White"/>
<!-- checked -->
<item android:state_checked="true" android:color="@color/White"/>
<!-- default -->
<item android:color="@color/black"/>
</selector>
在您的班级文件中添加以下代码
textView.setselected(true);
答案 1 :(得分:0)
Sagar Zala 您提供的准则正在运作。我这样用过。
TextView代码:
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/btn_add"
android:background="@drawable/background"
android:gravity="left"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="5dp"
android:paddingTop="10dp"
android:text="@string/blood_pressure"
android:textColor="@drawable/my_text_color"
android:textSize="18dp" />
background.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/bg1"
android:state_pressed="false"/>
<item
android:drawable="@drawable/bg2"
android:state_pressed="true"/>
</selector>
my_text_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed -->
<item android:state_pressed="true" android:color="@color/White"/>
<!-- focused -->
<item android:state_focused="true" android:color="@color/White"/>
<!-- activated -->
<item android:state_activated="true" android:color="@color/White"/>
<!-- checked -->
<item android:state_checked="true" android:color="@color/White"/>
<!-- default -->
<item android:color="@color/black"/>
</selector>