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

我有一个线性布局,其中每一行都是以编程方式膨胀,我希望这些行在点击时像ListView一样行事。 也就是说,我希望该行以与默认的ListView完全相同的方式/颜色高亮显示。 我怎么去做这个?

好吧,我终于想出了如何做到这一点…基本上是这样做的使用select器像颜色select器链接的样式,除了“颜色”使用可绘制的状态,你可以参考默认列表绘制即在ListView中使用这个:

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

并使用这个XML作为我的视图的背景。

所有公共的默认可绘制可以在这里find: http : //developer.android.com/reference/android/R.drawable.html

我能够做到这一点,我想通过使用下面的行为像一个列表项目:

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

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

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

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

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

到你的listview设置属性

 android:listSelector="@color/test" 

这个testing颜色设置你喜欢的任何透明的颜色。 您可以使用hex透明颜色创build任何透明颜色