如何在资源中设置列表视图样式



我想在主题中设置 ListView 样式,以便应用程序的所有 ListView 都将继承该样式。我的代码如下所示:

style.xml
<!-- Light Theme of the Application -->
<style name="AppTheme.Light" parent="Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/ActionBar.Green</item>
    <item name="android:absListViewStyle">@style/AbsListViewStyle.Light</item>
</style>
<style name="AbsListViewStyle.Light" parent="android:style/Widget.AbsListView">
    <item name="background">@color/background_light</item>
    <item name="android:divider">@color/light_gray</item>
    <item name="android:dividerHeight">1dp</item>
    <item name="android:listSelector">@drawable/actionbar_background_green</item>
    <item name="android:drawSelectorOnTop">false</item>
    <item name="android:cacheColorHint">#00000000</item>
</style>

我在 AndroidManifest 中设置了活动主题.xml。但似乎该样式未应用于列表视图。为什么?

最后我明白了原因,我应该使用 android:listViewStyle 属性而不是 absListViewStyle:

风格.xml

<!-- Light Theme of the Application -->
<style name="AppTheme.Light" parent="Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/ActionBar.Green</item>
    <item name="android:listViewStyle">@style/ListViewStyle.Light</item>
</style>
<style name="ListViewStyle.Light" parent="android:style/Widget.ListView">
    <item name="background">@color/background_light</item>
    <item name="android:divider">@color/light_gray</item>
    <item name="android:dividerHeight">1dp</item>
    <item name="android:listSelector">@drawable/actionbar_background_green</item>
    <item name="android:drawSelectorOnTop">false</item>
    <item name="android:cacheColorHint">#00000000</item>
</style>

通过这种方式,我可以在主题 xml 中应用列表视图样式。

您需要

在 xml 中的列表视图上设置它,以便列表视图添加:

    style="@style/AbsListViewStyle.Light"

相关内容

  • 没有找到相关文章

最新更新