2016-05-10 6 views
0

Ich habe eine App, wo ich die colorPrimary zu einem dunkelblauen setzen. Damit ist die Toolbar, die ich als AppBar verwende, dunkelblau und da mein Theme auf Theme.AppCompat.Light.NoActionBar basiert, ist der Text der AppBar standardmäßig (fast) schwarz. Also habe ich textColorPrimary auf weiß wie dies in meinem Stil:Was wird von textColorPrimary beeinflusst und wie man seine Nebenwirkungen kontrolliert?

<item name="android:textColorPrimary">@color/text_primary_default</item> 

Aber als Ergebnis nun auch der Text in meiner Navigationsleiste ist weiß, sowie Textviews mit textAppearanceLarge, auf einem (fast) weißen Hintergrund.

Wie löse ich dieses Problem richtig? Ich kann nicht glauben, dass der richtige Weg ist, einen anderen Stil (einen mit einem dunklen textPrimaryColor) auf die Navigationsansicht, alle Textansichten und was auch immer von textPrimaryColor beeinflusst wird, zu setzen.

Antwort

0

Farbe von Textview in navigationView nur xmlns zu ändern: app = "http://schemas.android.com/apk/res-auto"

und Tönung sowie stateColorList es

Zukunft gestalten
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true"> 

<!-- Other layout views --> 

<android.support.design.widget.NavigationView 
    android:id="@+id/nav_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:fitsSystemWindows="true" 
    app:itemTextColor="#009688" 
    app:headerLayout="@layout/nav_header" 
    app:menu="@menu/drawer_view" /> 

Dokument Referenz here

+1

Dies hat zwei Probleme: 1) Es ändert sich nur die Farbe in der Navigationsansicht, bu t nicht die Farbe in den Textansichten und wo sonst die textPrimaryColor verwendet wird. Ich möchte vermeiden, die Farbe (entweder direkt oder durch einen anderen Stil) für jedes Steuerelement festzulegen. 2) Wenn Sie in der Navigationsansicht einfach itemTextColor einstellen, hat der Text immer diese Farbe. Normalerweise ändern sich die Textfarbe und die Farbe des Symbols der überprüften Elemente in primaryColor. Dieses Verhalten ist für if itemTextColor deaktiviert, während das Symbol immer noch die Farbe ändert. – Naryoril

Verwandte Themen