6

Ich versuche, die Hintergrundfarbe meiner Aktionsleiste zu ändern, aber es funktioniert nicht ändern. Meine App verwendet das AppCompat-Design, wenn sich dies auf irgendetwas auswirkt.Android ActionBar nicht Hintergrundfarbe ändern

Hier ist mein Thema, das verwendet wird. Meine app Punkte dieses Thema zu verwenden, so dass nicht das Problem

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="actionBarStyle">@style/ActionBar</item> 
</style> 

<!-- Action Bar Styles --> 
<style name="ActionBar" parent="Widget.AppCompat.ActionBar"> 
    <item name="android:background">@color/blue</item> 
    <item name="background">@color/blue</item> 
</style> 

+0

sind Sie auch ** AppTheme ** in manifest mit? – waqaslam

+0

@waqaslam yup. mache ich etwas falsch in diesem Code? –

+1

AFAIR @ style/ActionBar fehlt für API> 11. Weitere Informationen finden Sie unter https://developer.android.com/training/basics/actionbar/styling.html –

Antwort

14

Löschen Sie in Ihrem ActionBar-Stil den Android: Hintergrund, behalten Sie nur das Hintergrundattribut. Stellen Sie außerdem sicher, dass Sie Ihr AppTheme im Anwendungs-Tag oder in den Aktivitäten implementieren, die die Aktionsleiste in Ihrer AndroidManifest.xml-Datei erweitern. Ich habe auch das Attribut "@ style /" vor "Widget.AppCompat" hinzugefügt, da es ein Standardstil ist, der in der Android-Bibliothek definiert ist.

Der Code sollte wie folgt aussehen:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="actionBarStyle">@style/ActionBar</item> 
</style> 

<!-- Action Bar Styles --> 
<style name="ActionBar" parent="@style/Widget.AppCompat.ActionBar"> 
    <item name="background">#0000ff</item> 
</style> 
+1

achten zu verwenden beide „** android: ** actionBarStyle“ und „actionBarStyle“ Namen für die Kompatibilität mit gleicher Hintergrund Namespace –

0

Sie können aus dem Code dieses se auch

ab.setBackgroundDrawable (neu ColorDrawable (newcolor));

Nur für den Fall ist Ihre xml nicht

+0

ich mag es in XML-Form haben, so dass ich die Farbe app weit nutzen können und ich nicht, dass die Linie zu halten habe Zugabe zu jeder Aktivität. –

+0

hier gehen Sie Einer der Gründe ist es nicht funktioniert, weil Sie falsch Eltern für den Stil-Tag – Amrut

+0

Nope noch nicht funktioniert hat –

0

Arbeits Nach diesem Link, https://developer.android.com/reference/android/R.attr.html#background es scheint nicht Farbe Ressource zu nehmen, also entweder Sie ihm einen Hex-Farbwert geben oder eine ziehbar erstellen, die die Farbe verwendet Sie wollen. Sie können die folgende Alternative versuchen, um zu sehen, ob es funktioniert.

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="actionBarStyle">@style/ActionBar</item> 
</style> 

<!-- Action Bar Styles --> 
<style name="ActionBar" parent="Widget.AppCompat.ActionBar"> 
    <item name="android:background">#0000ff</item> 
    <item name="background">#0000ff</item> 
</style> 
+0

Mit Hilfe des Werkzeugs 21.1.2 bauen, ist es nicht direkt zu Themen erlauben Farbe. Sie müssen * es mit '@ color' oder' @ drawable' angeben. –