0

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

我知道我可以手动执行此操作

tv.SetBackgroundColor(Color.GREEN);

但是是否有自动执行此操作的方法,例如自动管理选择的列表视图。

谢谢你。

4

1 回答 1

1

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

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

例如,在您的可绘制文件夹中创建一个名为 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"

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

于 2012-05-31T08:21:50.053 回答