ActionBarSherlock:改变homeAsUpIndicator不起作用(ActionBa

2019-07-03 11:25发布

我想将下面的样式到我的活动改变了图标,但它不工作,但我仍然得到默认的黑色“<”图标。

任何人都可以找出什么在这里缺少什么?

<style name="AppTheme.ActionBar" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/actionBarStyle</item>
    <item name="android:actionBarStyle">@style/actionBarStyle</item>
</style>

<style name="actionBarStyle" parent="@style/Widget.Sherlock.Light.ActionBar.Solid">
    <item name="android:background">@drawable/header_bar</item>
    <item name="background">@drawable/header_bar</item>

    <item name="android:homeAsUpIndicator">@drawable/up_indicator</item>
    <item name="homeAsUpIndicator">@drawable/up_indicator</item>
    <item name="android:displayOptions">homeAsUp|showHome</item>
    <item name="displayOptions">homeAsUp|showHome</item>

</style>

Answer 1:

如果我没有记错, 我的工作解决此问题通过移动应移动android:homeAsUpIndicatorhomeAsUpIndicator元素融入主旋律声明。 换句话说,试试:

<style name="AppTheme.ActionBar" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/actionBarStyle</item>
    <item name="android:actionBarStyle">@style/actionBarStyle</item>
    <item name="android:homeAsUpIndicator">@drawable/up_indicator</item>
    <item name="homeAsUpIndicator">@drawable/up_indicator</item>
</style>

<style name="actionBarStyle" parent="@style/Widget.Sherlock.Light.ActionBar.Solid">
    <item name="android:background">@drawable/header_bar</item>
    <item name="background">@drawable/header_bar</item>
    <item name="android:displayOptions">homeAsUp|showHome</item>
    <item name="displayOptions">homeAsUp|showHome</item>
</style>

不知道我是否也有拉升displayOptions ,但你可能想给一个去得在上面的情况下并没有马上工作。

顺便说一句,我发现命名风格AppTheme.ActionBar ,然后继承Theme.Sherlock.Light相当混乱。 如果它是一个特定的ActionBar风格,我会一直期待像Widget.Holo.Light.ActionBar (或任何其他部件样式)作为父。 如果这是你的主旋律,我会因此命名。 给你,当然。


编辑:杰克的评论后更新的答案。



文章来源: ActionBarSherlock: changing homeAsUpIndicator doesn't work