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

Kma*_*man 39 xml layout user-interface android listview

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

Kma*_*man 57

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

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
    android:drawable="@android:drawable/list_selector_background" />      
</selector>
Run Code Online (Sandbox Code Playgroud)

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

所有公共默认drawables都可以在这里找到:http://developer.android.com/reference/android/R.drawable.html

  • 如果你像我一样需要一些关于如何使用这种选择器的背景知识,请阅读:http://android-journey.blogspot.com/2009/12/android-selectors.html (6认同)

dav*_*pcj 22

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

<Textview
....
android:background="@android:drawable/list_selector_background"
/>
Run Code Online (Sandbox Code Playgroud)

  • 好答案.对于API 11及更高版本,请使用"android:background ="?android:attr/selectableItemBackground"`.更多信息[here:](http://stackoverflow.com/questions/5546514/making-a-linearlayout-act-like-an-button) (8认同)
  • 这是最好的解决方案.谢谢 (2认同)