2012-07-27 243 views
5

我是使用ActionBarSherlock。我的style.xml文件中有displayOption“homeAsUp”。现在,它在活动标题旁边显示一个黑色箭头。由于我的主题是蓝色背景上的白色,因此我想更改黑色箭头的颜色,或者在其位置使用全新的图标资源。我怎样才能做到这一点 ?ActionBarSherlock后退按钮颜色变化?

亲切的问候。

+0

@ drawable/icon将此添加到主题部分。充当魅力。 – AndroidDev 2012-07-27 07:49:43

回答

15

除了埃里克的回答 - 我浪费了很多时间来解决这个问题。

请记住,这些项目必须在父应用程序主题中继承,从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> 
2

当你风格ActionBarSherlock时要小心!

下面是从网站(ActionBarSherlock Theming)的摘录:

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

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

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

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

那么你是确保所有的用户都会有相同的大号&˚F