【问题标题】:ActionBar overflow icon refuses to changeActionBar 溢出图标拒绝更改
【发布时间】:2013-11-13 10:14:55
【问题描述】:

我一直在尝试将操作栏中的溢出图标(三个点)更改为白色而不是灰色。我遵循了每个人的建议,但它保持不变。这是我的代码:

<style name="ActionBar.AccentColor.Background" parent="@android:style/Widget.Holo.ActionBar.Solid">
    <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
    <item name="android:background">@color/accent_dark</item>
    <item name="android:backgroundSplit">@color/accent_dark</item>
    <item name="android:titleTextStyle">@style/ActionBar.TitleTextStyle</item>
</style>

<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.Light.ActionButton.Overflow">
    <item name="android:src">@drawable/ic_action_back_white</item>
    <item name="android:background">?android:attr/actionBarItemBackground</item>
    <item name="android:contentDescription">"Lala"</item>
</style>

<style name="Theme" parent="@android:style/Theme.Holo.Light">
     <item name="android:actionBarStyle">@style/ActionBar.AccentColor.Background</item>
</style>

我什至创建了一个新的应用程序,它可以 100% 运行。一个想法是,也许我所包含的 apklib 项目导致了问题,所以我将所有内容移出 apklib 并再次测试。不知道发生了什么!

【问题讨论】:

  • 您应该提供应用的目标版本。应用兼容就是向后移植,您可能需要创建 2-3 种不同的样式才能将自定义操作栏主题应用于所有版本的 Android。

标签: android android-layout android-actionbar android-styles


【解决方案1】:

您放错了android:actionOverflowButtonStyle 项目。它必须在主题中定义,而不是在android:actionBarStyle 中。

将样式更改为以下,它应该可以工作:

<style name="ActionBar.AccentColor.Background" parent="@android:style/Widget.Holo.ActionBar.Solid">
    <item name="android:background">@color/accent_dark</item>
    <item name="android:backgroundSplit">@color/accent_dark</item>
    <item name="android:titleTextStyle">@style/ActionBar.TitleTextStyle</item>
</style>

<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.Light.ActionButton.Overflow">
    <item name="android:src">@drawable/ic_action_back_white</item>
    <item name="android:background">?android:attr/actionBarItemBackground</item>
    <item name="android:contentDescription">"Lala"</item>
</style>

<style name="Theme" parent="@android:style/Theme.Holo.Light">
     <item name="android:actionBarStyle">@style/ActionBar.AccentColor.Background</item>
     <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多