我有一个线性布局,每一行都是通过编程膨胀而成的,我想让这些行在点击时像ListView一样运作。也就是说,我希望行以与默认ListView完全相同的方式/颜色突出显示。我该如何实现这个功能?
我有一个线性布局,每一行都是通过编程膨胀而成的,我想让这些行在点击时像ListView一样运作。也就是说,我希望行以与默认ListView完全相同的方式/颜色突出显示。我该如何实现这个功能?
好的,我终于弄清楚如何完成这个操作了...基本上它是通过类似于链接到样式的颜色选择器来完成的,只不过在状态中使用可绘制项而不是“color”,并且您可以通过以下方式引用在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作为我的View的背景。
所有公共默认的可绘制资源可以在这里找到:http://developer.android.com/reference/android/R.drawable.html
我也可以使用以下方式使一个文本视图表现得像一个列表项:
<Textview
....
android:background="@android:drawable/list_selector_background"
/>
android:background="?android:attr/selectableItemBackground"
。更多信息请参见此处。 - x-code如果您仍然遇到问题,请记住一些UI元素(RelativeLayout)不可点击,因此您需要添加一行:
<RelativeLayout
....
android:clickable="true"
...
这个页面可能是你开始查找的好地方。
虽然,我建议你使用 ListView 本身,而不是再次实现它。