我想在Theme中设置ListView样式,以便Application的所有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>
Run Code Online (Sandbox Code Playgroud)
我在AndroidManifest.xml中设置了Activity的主题.但似乎该样式不适用于ListView.这是为什么?
最后我得到了原因,我应该使用android:listViewStyle属性而不是absListViewStyle:
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: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>
Run Code Online (Sandbox Code Playgroud)
这样我就可以在Theme xml中应用ListView样式.
| 归档时间: |
|
| 查看次数: |
17820 次 |
| 最近记录: |