如何在activatedBackgroundIndicator中的选定/突出显示的列表项上设置自定义颜色

时间:2013-07-12 21:01:59

标签: android actionbarsherlock

您好我正在使用 ActionBarSherlock 导航抽屉开发应用。我用actionBar Sherlock创建了一个初始导航抽屉,就像这样:

activatedBackgroundIndicator

一切似乎都没问题但是我想用我的自定义颜色更改突出显示的列表项的默认蓝色。我试过了this link,但它没有用。我需要做些什么来实现自定义高亮颜色?

1 个答案:

答案 0 :(得分:14)

您好我已经通过应用样式解决了Android OS 11及更高版本:

<style name="AppBaseTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    <!-- API 14 theme customizations can go here. -->
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:activatedBackgroundIndicator">@drawable/activated_background</item>
</style>
可绘制文件夹中的

activated_background:

<selector xmlns:android="http://schemas.android.com/apk/res/android">  
   <item android:state_activated="true" android:drawable="@color/uva_color" />
   <item android:state_selected="true" android:drawable="@color/uva_color" />
   <item android:state_pressed="true" android:drawable="@color/uva_color" />
   <item android:drawable="@color/default_color" />  
</selector>

值文件夹中的颜色值:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="uva_color">#c31756</color>
    <color name="default_color">#111</color>
</resources>

在listview中设置choicemode:

android:choiceMode="singleChoice"

最后,将getBaseContext()发送到arrayApdater /您的customAdapter作为参数,而不是getApplicationContext()

mMenuAdapter = new MenuListAdapter(this.getBaseContext(), title, icon);

同样this link会对你有帮助。

如果你在任何地方遇到问题,请在下方评论我随时准备回答,我不想让任何人像我一样遇到麻烦。干杯!