Einzelheiten:
Ich erweitere ActionBarActivity.
Eclipse und SDK wurden am 06.11.2011 vollständig gepatcht.
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" />
Bereitgestellt auf Samsung-Gerät mit Android 2.3.3
Anwendung hatandroid:theme="@android:style/Theme.Light"
Problem : Die Anwendung ist hell, aber ActionBar ist blau mit grauen Symbolen, die vor der blauen Hintergrundfarbe kaum sichtbar sind. Ich möchte auch, dass die ActionBar hell ist, damit die grauen Symbole besser sichtbar sind.
Ich habe versucht, die Stile zu ändern, aber ohne Erfolg.
Mir fehlt wahrscheinlich etwas Triviales.
Wie ändere ich die Hintergrundfarbe der ActionBar einer ActionBarActivity mithilfe von XML?
Antworten:
Wie pro Dokumentation - „können Sie das Verhalten steuern und die Sichtbarkeit der Aktionsleiste mit der ActionBar APIs, die in Android 3.0 (API - Ebene 11) hinzugefügt wurden.“
Daher funktioniert ActionBar nicht für Ihre Zielumgebung auf API-Ebene 10 (Android 2.3.3).
Nur für den Fall, dass Sie eine Mindest-API-Stufe 11 anstreben, können Sie die Hintergrundfarbe von ActionBar ändern, indem Sie einen benutzerdefinierten Stil wie folgt definieren:
Stellen Sie "MyTheme" als Thema für die Anwendung / Aktivität ein.
quelle
<item name="android:textColor">@color/my_color</item>
.@android:color
oder sogar eine benutzerdefinierte Farbe zu verweisen, die in definiert istcolors.xml
? Ich habe es ohne Erfolg versucht.Versuche dies
quelle
bar.setBackgroundDrawable(new ColorDrawable(Color.BLUE));
ändern Sie die Farbe der Aktionsleiste in Grau. Dies geschieht auch , wenn setzen andere Farbe, wieColor.RED
,Color.GREEN
und so weiter ... Hat jemand das gleiche Problem haben oder kennen die Ursache für dieses Problem? Ich benutze ein Nexus S-GerätVersuche dies:
quelle
onCreate
aber es gab eineNullPointerException
Bearbeitung: Dies ist der Code, den ich zurestoreActionBar
ActionBar hinzugefügt habe actionBar = getSupportActionBar (); actionBar.setBackgroundDrawable (neues ColorDrawable (Color.parseColor ("# E5E4E2")));Verwenden Sie dies - http://jgilfelt.github.io/android-actionbarstylegenerator/
Es ist ein erstaunliches Tool, mit dem Sie Ihre Aktionsleiste mit einer Live-Vorschau anpassen können.
Ich habe die früheren Antworten ausprobiert, hatte aber immer Probleme, andere Farben wie Tabulatoren und Buchstaben zu ändern, und habe Stunden damit verbracht, Dinge zu optimieren. Mit diesem Tool konnte ich mein Design in nur wenigen Minuten fertigstellen.
Alles Gute! :) :)
quelle
Ich hatte das gleiche Problem, bei dem meine Aktionsleiste grau wurde, wenn ich diesen Code eingab. Wahrscheinlich sah Ihr ursprüngliches Stylesheet folgendermaßen aus:
Die "DarkActionBar" hat Ihre Action Bar grau gehalten. Ich habe es dahingehend geändert und es hat funktioniert:
Ich warf auch ein, wie man die Textfarbe bearbeitet. Außerdem müssen Sie nichts an den Ressourcen ändern.
-Labyrinth
quelle
Das Verhalten der Aktionsleiste kann auch in APIs <11 geändert werden
Sehen Sie sich die Android Offizielle Dokumentation Referenz
Ich erstelle eine App mit
minSdkVersion = "9"
undtargetSdkVersion = "21"
habe die Farbe der Aktionsleiste geändert. Sie funktioniert einwandfrei mit API Level 9Hier ist eine XML
res/values/themes.xml
und legen Sie die Farbe der gewünschten Aktionsleiste fest
res/values/colors.xml
Die Farbe der Aktionsleiste kann auch in einer
.class
Datei definiert werden, das Snippet istDies funktioniert jedoch nicht mit der API <11 , sodass das Stylen der Aktionsleiste
xml
nur für API <11 möglich istquelle
Fügen Sie diese Zeile direkt mit Ihrem Farbcode hinzu
Sie müssen nicht jedes Mal ein ActionBar-Objekt erstellen ...
quelle
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(android.R.color.black)));
Beim Nexus 4 scheint die Farbe dadurch grau zu werden.
(Alle Ehre gebührt diesem Beitrag, aber er ist in den Kommentaren vergraben, deshalb wollte ich ihn hier auftauchen lassen ) https://stackoverflow.com/a/17198657/1022454
quelle
Versuchen Sie es mit einem Zeilencode:
quelle
Verwenden Sie den folgenden Code, um dem Text der Aktionsleiste und dem Hintergrund der Aktionsleiste eine andere Farbe zu verleihen. Verwenden Sie einfach das folgende Thema im Manifest für die Aktivität, in der Sie ausgeben möchten :)
quelle
So können Sie die Farbe der Aktionsleiste ändern.
Ändern Sie in Ihrer MainActivity.java die Farbe der Aktionsleiste wie folgt
quelle
Wenn Sie die Aktivität erweitern, verwenden Sie den folgenden Code
Wenn Sie AppCompatActivity erweitern, verwenden Sie den folgenden Code
quelle
Dieser Code kann hilfreich sein
quelle
Verwenden Sie diesen Code, um die Hintergrundfarbe der Aktionsleiste zu ändern. Öffnen Sie "res / values / theme.xml" (falls nicht vorhanden, erstellen Sie es) und fügen Sie hinzu
Hinweis: Dieser Code funktioniert nur für Android 3.0 und höhere Versionen
quelle
Dies funktionierte für mich, für AppCompatActivity,
quelle
Es ist sehr einfach für diejenigen, die API 21 oder höher verwenden. Verwenden Sie diesen Code unten
für Dark ActionBar
for_LightActionBar
quelle
Verwenden Sie dies, es würde funktionieren.
quelle
Manchmal löst diese Option eine NullPointerException aus
ActionBar actionbar = getActionBar(); actionbar.setBackgroundDrawable(new ColorDrawable("color"));
Aber diese Option funktioniert für mich. Sie können dies also versuchen.
Viel Spaß beim Codieren
quelle
Wenn Sie Androidx AppCompact verwenden. Verwenden Sie den folgenden Code.
quelle
color.xml Datei:
quelle