2016-05-12 11 views
0

Ich habe eine App, die einen schwarzen Hintergrund verwendet. Ich habe es auf Lollipop entwickelt und getestet, aber MinSDK ist 19. Wenn ich ein KitKat-Gerät (oder Emulator) verwende, stoße ich auf ein Problem mit dem weißen Text, den ich auf meinem Lollipop-Gerät sehe - er ist schwarz und somit unsichtbar.KitKat Farbprobleme

definiere ich die Textfarbe wie folgt aus:

<TextView 
    android:id="@+id/list_header_date" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="6dp" 
    android:text="27.02.2016" 
    android:textColor="@color/text_primary" 
    android:textSize="16dp"/> 

Dann in (alle) meine styles.xml habe ich folgendes Thema definiert:

<style name="AppTheme.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:textColorPrimary">@color/text_primary</item> 
    <item name="android:background">@color/colorPrimary</item> 
    </style> 

In Colors.xml, text_primary ist wie folgt definiert:

Noch einmal, auf Lollipop kann ich den Text in reinem, perfektem Weiß sehen, aber auf KitKat erscheint schwarz. Was habe ich falsch gemacht? Da die TextView Textfarbe explizit als text_primary definiert ist, sollte es meiner Meinung nach über alle SDK-Versionen hinweg funktionieren ?!

+0

http://stackoverflow.com/questions/26852108/how-do-you-set-the-title-color-for-the-new-toolbar – zgc7009

+0

@ zgc7009 Ich sehe, wie sich dies auf meine Frage bezieht, und doch löst es nicht. Zumindest kann ich keine Lösung daraus herauspusten. Wenn es irgendwo in diesem Thread versteckt ist, würde es dir etwas ausmachen, es Dummies wie mir zu zeigen? :) – Maverick283

+0

Möglicherweise müssen Sie in die Art von Thema suchen, die Sie haben. Ich denke, Sie müssen eine Art Theme.AppCompat. * Verwenden. Nicht, dass ich zu 100% darauf stehe, da ich schon seit einiger Zeit nicht viel mit Styling zu tun habe, aber ich bin ziemlich sicher, dass die Überarbeitung der Designmuster in Lollipop eine Art AppCompat erfordern würde. Dieser Link kann ein bisschen mehr bieten (wieder nicht sicher, das ist eine Lösung, mehr von einem Vorschlag von etwas zu sehen) http://stackoverflow.com/questions/20653305/full-screen-theme-for-appcompat – zgc7009

Antwort

0

Dank @ zgc7009 dies wurde ziemlich schnell gelöst:

Als er vorschlägt, erfordert die umfassende Überarbeitung der Entwurfsmuster in Lollipop irgendeine Art von AppCompat. Auf dieser Basis und mit einem wenig Glück der folgenden Ergänzungen der ../values-v19/styles.xml Datei aus dem Text in KitKat weiß erscheint wieder:

<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:textColorPrimary">@color/text_primary</item> 
</style> 

Beachten Sie, wie ich hinzugefügt, um ein AppCompat Eltern zu meinem benutzerdefinierten Stil. Ich muss ehrlich sein, ich bin nicht genau sicher, warum es die Farbe der TextViews beeinflusst, wenn jemand weiß, frei zu bearbeiten oder zu kommentieren. Hoffe, das hilft ein paar Jungs in der Zukunft.

+1

Das übergeordnete AppCompat-Thema enthält Kompatibilitätsstile, mit denen Attribute über Versionen hinweg funktionieren können :) Von diesem Link http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html ' "Wenn Sie diese Attribute festlegen, übergibt AppCompat ihre Werte automatisch an die Framework-Attribute für API 21+." – zgc7009

Verwandte Themen