对ListView项使用自定义样式和ListSelector

时间:2014-02-24 16:26:26

标签: android android-layout android-listview android-styles

在我的应用程序中,我有一个ListView,其中的项目具有以下样式:

<style name="GoogleNowCardStyle" parent="android:Widget.TextView">
    <item name="android:background">@drawable/search_bg_shadow</item>
    <item name="android:gravity">center</item>
    <item name="android:minHeight">@dimen/GoogleNowCardMinHeight</item>
    <item name="android:minWidth">200dp</item>
    <item name="android:textColor">#707070</item>
</style>

现在我的问题是我必须在ListView中选择这些项目,所以我必须添加:

android:background="?android:attr/activatedBackgroundIndicator"

到我的主ListView项目布局。但是这一行会从样式中覆盖背景属性。如何在ListView项目上同时使用这两个?

1 个答案:

答案 0 :(得分:1)

您应该创建一个StateList可绘制资源,其中包含state_selected项,并将其用作listItem的背景。当listItem的状态更改为selected时,它将加载为状态列表中的state_selected项设置的drawable。