2

アクションバーのオーバーフロー アイコン (3 つのドット) をグレーではなく白に変更しようとしています。私はみんなの推奨事項に従いましたが、同じままです。これが私のコードです:

<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% 動作します。1 つの考えは、私が含めていた apklib プロジェクトが問題を引き起こしている可能性があるということでした。そのため、apklib からすべてを移動して、再度テストしました。何が起こっているのかわかりません!

4

1 に答える 1

10

置き忘れ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>
于 2013-11-13T10:27:34.800 に答える