この問題に関するいくつかの質問をウェブ上で見つけました。残念ながら、私がこれまでに試したすべては失敗しました。
タイトルに、アクションバーの背景色を変更する必要があると言われています。
プロジェクトの最小SDKは9、最大SDKは19です。
Res/valuesフォルダーにxmlファイルを作成しました:
red_actionbar.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@color/red</item>
</style>
</resources>
res/valuesに保存されているcolors.xml
<resources>
<color name="red">#FF0000</color>
</resources>
テーマを変更するマニフェストの一部
<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/CustomActionBarTheme" >
しかし、何も変わりません。問題はどこにありますか?アプリケーションがコードを受け入れるのは、私がthsを変更した場合:
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
に
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar ">
アプリのテーマが変更されるため、問題はスタイルにありますが、解決方法がわかりません。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
<item name="Android:actionBarStyle" tools:ignore="NewApi">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="Android:background" tools:ignore="NewApi">@color/red</item>
<item name="background">@color/red</item>
</style>
</resources>
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="Android:background" tools:ignore="NewApi">@color/red</item>
<item name="background">@color/red</item>
</style>
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
<item name="Android:actionBarStyle" tools:ignore="NewApi">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
両方が必要ですAndroid:background
およびbackground
アイテム。前者はActionBarをネイティブにサポートするAndroidの新しいバージョン用です。後者は古いAndroidバージョン用です。
編集
の代わりに <resources>
つかいます
<resources xmlns:tools="http://schemas.Android.com/tools" xmlns:Android="http://schemas.Android.com/apk/res/Android">
SDK 21から
アクションバーの背景色を変更するには、これをActionBarThemeに追加します。2つの色が異なるか、動作しません(@Dre
および@lagoman
)
<item name="colorPrimary">@color/my_awesome_red</item>
<item name="colorPrimaryDark">@color/my_awesome_darker_red</item>
これを試して:
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
<item name="Android:actionBarStyle">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="Android:background">@color/red</item>
<item name="background">@color/red</item>
</style>
これを試して。
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary"> #6699FF </item>
</style>
あなたになら変えられる #6699FF
選択に応じた色(または色リソースを使用)。
使用してみてください
parent="Theme.AppCompat.Light"
の代わりに
parent="@style/Theme.AppCompat.Light"