Android点击时如何使View突出显示?

时间:2010-07-16 08:34:38

标签: android xml listview layout user-interface

我有一个线性布局,其中每行以编程方式膨胀,我希望这些行在单击时表现得像ListView。也就是说,我希望行以与默认ListView完全相同的方式/颜色突出显示。我该怎么做呢?

5 个答案:

答案 0 :(得分:56)

好的,我终于想出了如何做到这一点...基本上它是使用一个选择器完成的,如颜色选择器按样式链接,除了'color'使用一个drawable状态,你可以参考默认列表由ListView在ListView中使用的drawable:

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

并使用此xml作为我的视图的背景。

所有公共默认抽签都可以在此处找到:http://developer.android.com/reference/android/R.drawable.html

答案 1 :(得分:20)

我能够使用文本视图执行相同操作,我希望通过使用以下内容来表现为列表项:

<Textview
....
android:background="@android:drawable/list_selector_background"
/>

答案 2 :(得分:2)

This可能是一个开始寻找的好地方。

虽然,我建议你使用ListView本身,而不是再次实现它。

答案 3 :(得分:2)

如果你仍然有问题那么请记住一些UI元素不可点击(RelativeLayout),所以你必须再添加一行:

<RelativeLayout 
    ....
    android:clickable="true"
    ...

答案 4 :(得分:1)

到listview设置属性

android:listSelector="@color/test"

并且此测试颜色设置您喜欢的任何透明颜色。您可以使用hex transparent color

创建任何透明色