Android:在ListView中点击设置TextView颜色

时间:2012-05-31 08:10:03

标签: android android-listview textview

我的LinearLayout中有一些textViews。 它们是可点击的,我想像在ListView上一样点击它们。 对于listView,当用户点击某个项目时,我认为背景变为绿色。

我知道我可以用

手动执行此操作
tv.SetBackgroundColor(Color.GREEN);

但有没有自动执行此操作,例如listView自动管理选择。

谢谢。

1 个答案:

答案 0 :(得分:1)

您需要将背景定义为包含状态列表的新XML文件。

http://developer.android.com/guide/topics/resources/color-list-resource.html

例如,在drawable文件夹中创建一个名为background_states.xml的文件,并编写如下内容:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:state_selected="true"
   android:drawable="@color/white" ></item>
<item
    android:state_pressed="true"
   android:drawable="@color/white" ></item>
<item 
    android:drawable="@color/black" /> 
</selector> 

然后在TextView中将此新文件定义为背景:

<TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:background="@drawable/background_states"

有关不同状态的详细信息,请参阅上面的链接。