8

您好,我正在使用ActionBarSherlockNavigation Drawer开发应用程序。我已经使用 actionBar Sherlock 创建了一个初始导航抽屉,如下所示:

激活背景指示器

一切似乎都还好但我想用我的自定义颜色更改突出显示的列表项的默认蓝色。我试过这个链接,但它不起作用。我需要做什么来实现自定义突出显示颜色?

4

1 回答 1

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>

可绘制文件夹中的激活背景:

<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>

values 文件夹中的颜色值:

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

并在列表视图中设置选择模式:

android:choiceMode="singleChoice"

最后,将getBaseContext()arrayApdater/your customAdapter 作为参数而不是getApplicationContext().

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

这个链接也可以帮助你。

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

于 2013-07-13T07:28:47.880 回答