2014-11-13 12 views
57

Ich benutze AppCompat und mein Thema erweitert Theme.AppCompat.Light.DarkActionBar.Android 5.0: Wie kann ich die Farbe der letzten Apps ändern?

Wenn in Android 5 Lollipop und ich die Schaltfläche für kürzlich Apps drücken, erscheint meine App mit einem dunklen Titel anstelle eines weißen Titels in der ActionBar.

Wenn ich in der App bin, sieht alles gut aus.

Was kann ich tun, um die Titelfarbe in der aktuellen App-Ansicht zu ändern?

BEARBEITEN: gerade herausgefunden, dass, wenn ich einen dunkleren colorPrimary verwende, der Titel weiß wird. Ich brauche immer noch einen Weg, um den weißen Titel mit der Originalfarbe zu erzwingen.

enter image description here

+1

Anstatt eine dunklere Farbe als colorPrimary zu verwenden, setze ich die recents-Farbe als colorPrimaryDark. Genauso wie die Farbe der Statusleiste dunkler ist, ist auch die Farbe von recent für mich dunkler und der Titel wurde weiß. Ich denke, es ist der beste Weg, es zu tun. Vielen Dank für die Frage und die große App ungetrübt – tasomaniac

Antwort

45

Sie können die Textfarbe nicht erzwingen, sie wird automatisch erzeugt (entweder weiß/schwarz) basierend auf Ihrer colorPrimary Farbe.

+10

Hier ist der Code in Frage, wenn Sie interessiert sind: https://github.com/android/platform_frameworks_base/blob/lollipop-release/packages/SystemUI/src/com/android/systemui/recents/model/Task.java# L147 –

+0

Und man kann das Kontrastverhältnis hier http: //leaverou.github überprüfen.io/contrast-ratio/ –

+0

Ich würde hinzufügen, dass dieses colorPrimary, das die Farbe des Textes beeinflusst, in Ihrem App-Design als ein Element definiert ist. Wie: ' @ Farbe/FarbePrimär' – Timo

21

Um die Farbe/Titel/Symbol ändern Sie nur die folgende verwenden müssen:

TaskDescription tDesc = new TaskDescription(mTitle, mIcon, mColor); 
MainActivity.setTaskDescription(tDesc); 
+3

Damit können Sie nur den Hintergrund/Grundfarbe, nicht den Titel ändern. Es ist immer noch nützlich, weil ich eine etwas dunklere Hintergrundfarbe wählen kann und der Titel automatisch weiß wird, aber ich möchte immer noch in der Lage sein, die Titelfarbe direkt zu ändern. –

+1

Dieser Artikel spricht über TaskDescription und zeigt ein Beispiel https://www.bignerdranch.com/blog/polishing-your-Android-overview-screen-entry/ – Maragues

+0

wo gebe ich diesen Code? In der Entstehung meiner Haupttätigkeit? – Marshall

33

Ich sah in das auch und die beste Art und Weise war ich finden konnte (Vorschlag von MrEngineer13) meine recents App Farbe auf die 600-value of my primary color Einstellung:

Bitmap bm = BitmapFactory.decodeResource(getResources(), app_icon); 
TaskDescription taskDesc = new TaskDescription(getString(R.string.app_name), bm, getResources().getColor(R.color.primary_600)); 
MainActivity.setTaskDescription(taskDesc); 

Wenn Sie genau an der App 5.0 Kontakte Android anschaut, kann man sehen, dass Google th emselves tut auch etwas ähnliches:

Screenshot Android contacts

Deshalb glaube ich, es ist unmöglich, sich den Titel verfärben, aber Android wird ein gutes für Sie wählen. (das erlaubt auch Android, es aus Zugänglichkeitgründen zu ändern, ...)

+0

Obwohl ich mein eigenes Blau setzen möchte, ist dieser Anzug auch auf der App. Vielen Dank! –

+1

Danke! Dies ist die ** echte ** Antwort. Ich habe den "weißen Text" auf der Palette verwendet. Zum Beispiel, Light Blue 600 - # 039BE5, die Palette zeigt ein weißes Etikett dafür auf der Website. –

Verwandte Themen