android:自定义文本选择器

Yan*_*ang 9 android colors selector textview

我想设计一个自定义文本选择器,在用户单击TextView时更改文本颜色.但得到以下错误:

java.lang.RuntimeException:无法启动活动ComponentInfo {}:android.view.InflateException:二进制XML文件行#55:错误膨胀类

这就是我所拥有的:drawable/text_selector.xml

    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
  <item android:state_enabled="false" 
        android:state_focused="true" 
        android:drawable="@color/black" /> 
  <item android:state_pressed="true" 
        android:drawable="@color/blue" /> 
  <item android:state_focused="true" 
        android:drawable="@color/black" /> 
</selector> 
Run Code Online (Sandbox Code Playgroud)

布局/ textview.xml

<TextView android:id = "@+id/last_page_button"
    android:text="@string/last_page_button_string" 
    android:gravity="center_horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:background="#ffffff"
    android:textColor = "@drawable/text_selector"
    android:layout_weight="1" />
Run Code Online (Sandbox Code Playgroud)

值/ color.xml

<resources> 
    <color name="white">#ffffffff</color> 
    <color name="black">#ff000000</color> 
    <color name="blue">#ffccddff</color>
Run Code Online (Sandbox Code Playgroud)

Ale*_*voy 24

您无法将drawable分配给textColor.它必须是一种颜色.

<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_selected="true"

        android:color="@color/color1" />
    <item
        android:color="@color/color2" />
</selector>
Run Code Online (Sandbox Code Playgroud)

在res中创建文件夹颜色,将此文件另存为mycolor.xml并将其指定为textColor @ color/mycolor