更改文本开/关颜色以切换Android

时间:2015-09-30 23:59:33

标签: android xml switch-statement selector

我有Thumb和Track Switch

的自定义选择器

switch_thumb_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/bt_rules_box_control" android:state_enabled="false" />
    <item android:drawable="@drawable/bt_rules_box_control" android:state_pressed="true" />
    <item android:drawable="@drawable/bt_rules_box_control" android:state_checked="true" />
    <item android:drawable="@drawable/bt_rules_box_control" />        
</selector>

switch_track_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/bg_rules_box_control" android:state_enabled="false" />
    <item android:drawable="@drawable/bg_rules_box_control" android:state_pressed="true" />
    <item android:drawable="@drawable/bg_rules_box_control" android:state_checked="true" />
    <item android:drawable="@drawable/bg_rules_box_control" />    
</selector>

我希望得到这个Switch类似的结果并将文本设置为ON / OFF

Switch

我的问题是如何在不改变拇指图像的情况下更改ON / OFF文字的颜色?颜色ON / OFF文本为白色,拇指的图像颜色相同。它混淆了两种颜色

1 个答案:

答案 0 :(得分:3)

您可以将文本颜色设置为颜色状态列表选择器。使用与以前相同的状态,但使用android:color而不是android:drawable作为每个状态的值。 Color StateList

请注意,此资源采用res / color,而不是res / drawable

<强> RES /颜色/ switch_text_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#00000000"  android:state_checked="true" />
    <item android:color="#FFFFFFFF"  />        
</selector>