ActionBarSherlock后退按钮颜色变化?

时间:2012-07-27 06:20:31

标签: android actionbarsherlock

我正在使用ActionBarSherlock。我的style.xml文件中有displayOption“homeAsUp”。现在,这会在活动标题旁边显示一个黑色箭头。由于我的主题是蓝色背景上的白色,我想改变黑色箭头的颜色,或者可能在其位置使用全新的图标资源。我怎么能这样做?

亲切的问候。

2 个答案:

答案 0 :(得分:15)

继Eric的答案之后 - 我浪费了很多时间才能做到这一点。

请记住,这些项目必须包含在父应用程序主题中,并继承自Theme.Sherlock或类似内容。

<!-- CUSTOM APP THEME -->
<style name="AppTheme" parent="Theme.Sherlock">
    <item name="android:actionBarStyle">@style/AppTheme.ActionBarStyle</item>
    <item name="actionBarStyle">@style/AppTheme.ActionBarStyle</item>
    <item name="android:homeAsUpIndicator">@drawable/action_bar_ic_ab_back_holo_dark</item>
    <item name="homeAsUpIndicator">@drawable/action_bar_ic_ab_back_holo_dark</item>
</style>

不要将它们放在继承自Widget.Sherlock.ActionBar的自定义操作栏主题中。

<!-- ACTION BAR THEME -->
<style name="AppTheme.ActionBarStyle" parent="Widget.Sherlock.ActionBar">
    <item name="android:icon">@drawable/action_bar_logo</item>
    <item name="icon">@drawable/action_bar_logo</item>
    <item name="android:displayOptions">showHome</item>
    <item name="displayOptions">showHome</item>
</style>

答案 1 :(得分:2)

设置ActionBarSherlock样式时要小心!

以下是网站摘录(ActionBarSherlock Theming):

  

由于Android主题系统的限制,任何主题自定义都必须在两个属性中声明。正常的android-prefixed属性将主题应用于本机操作栏,而未加前缀的属性用于自定义实现。由于两个主题API完全相同,因此您只需要两次引用自定义,而不必两次实现它们。

所以在你的情况下你必须定义两个项目:

<item name="android:homeAsUpIndicator">@drawable/icon</item>

<item name="homeAsUpIndicator">@drawable/icon</item>

然后您确定所有用户都拥有相同的L&amp; F