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