2017-03-12 1 views
0

Ich habe eine benutzerdefinierte Symbolleiste, die ich gerade hinzugefügt habe.setTheme Colorprimary funktioniert nicht als Hintergrund in benutzerdefinierte Symbolleiste?

<?xml version="1.0" encoding="utf-8"?> 
    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="40dp" 
     android:background="@color/colorPrimary" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark"> 

    </android.support.v7.widget.Toolbar> 

Hinweis, dass ich als Hintergrund colorPrimary gesetzt.

setTheme(colorId); 

es funktioniert, mit Ausnahme von:

In style.xml habe ich 2 Arten: mit setTheme

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
    </style> 

    <style name="Yellow" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="colorPrimary">#ffff00</item> 
     <item name="colorPrimaryDark">#000000</item> 
     <item name="colorAccent">#ffff00</item> 
    </style> 

mein color.xml

<resources> 
    <color name="colorPrimary">#000</color> 
    <color name="colorPrimaryDark">#fff</color> 
    <color name="colorAccent">#000</color> 
</resources> 

I Farbe in Aktivität ändern die Hintergrundfarbe, die immer schwarz ist, auch wenn ich setTheme als Gelb setze.

irgendwelche ideen warum?

Antwort

2

Der Code unten überschreibt die Hintergrundfarbe der Toolbar

android:theme="@style/ThemeOverlay.AppCompat.Dark" 

. Entfernen Sie Android: Thema Attribut von Toolbar, dann wird es funktionieren.

Um den Code unten zu ändern Textfarbe folgen:

<style name="CustomTextColor" parent="ThemeOverlay.AppCompat.Light"> 
    <item name="android:textColor">Your Text Color</item> 
</style> 

Sie nun das Thema auf Ihrer Toolbar: das hilft

app:theme="@style/CustomTextColor" 

Hoffnung.

+0

vielen dank! aber das Entfernen meiner Symbolleiste Text wird schwarz, wie könnte ich es als weiß setzen? –

+1

Sie können Ihrer Symbolleiste ein benutzerdefiniertes Design hinzufügen, in dem Sie Symbolleisten-Textfarbe definieren können. Ich füge den Code in ein bisschen hinzu, wenn Sie mögen. – tahsinRupam

+1

Ich habe meine Antwort bearbeitet. Bitte überprüfen. – tahsinRupam

Verwandte Themen