更改TextView的文本颜色单击

时间:2013-03-29 16:10:11

标签: text colors textview selector

我已经阅读了很多像这样的问题,并尝试了所有的建议,但是当我在textview上方点击时颜色不会改变。

还尝试使用onClick方法,将视图转换为TextView并调用方法setTextColor,并且也无效。

这是我的最后一次尝试:

XML布局文件:

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/promptDefine"
        android:orientation="vertical"
        android:gravity="center"
         >

            <TextView
                android:textSize="20sp"
                android:onClick="addItem"
                android:clickable="true"
                android:textColor="@color/selector_txt"
                android:layout_marginTop="10dip"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:hint="@string/addItem" />
        </LinearLayout>

这是我在color文件夹中的selector_txt XML文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:color="#00ff00"/>
    <item android:state_pressed="true" android:state_enabled="false" android:color="#ff0000" />
    <item android:state_enabled="false" android:color="#0000ff" />
    <item android:color="#00f0f0"/>
</selector>

问题出在哪里?

1 个答案:

答案 0 :(得分:0)

LOL真是个笑话,它不可能,因为我没有文字..只有提示文字和textColor只适用于文字。

解决方案:

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/promptDefine"
        android:clickable="true"
        android:orientation="vertical"
        android:gravity="center"
         >

            <TextView
                android:textSize="20sp"
                android:text="testing..."
                android:clickable="true"
                android:textColor="@color/selector_txt"
                android:layout_marginTop="10dip"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:hint="@string/addItem" />

</LinearLayout>