Wie man die Unterstützungsbibliothek snackbar Textfarbe zu etwas anderem als Android setzt: textColor?

Also habe ich angefangen mit der neuen Snackbar in der Design-Support-Bibliothek, aber ich fand, dass, wenn Sie definieren "android:textColor" in Ihr Thema, es gilt für die text-Farbe der snackbar. Das ist natürlich ein problem, wenn Ihre primäre Textfarbe ist dunkel.

Wie man die Unterstützungsbibliothek snackbar Textfarbe zu etwas anderem als Android setzt: textColor?

Kennt jemand eine Möglichkeit, um dieses oder Ratschläge, wie ich die Farbe sollte mein text?

BEARBEITEN. Januar 2017: (Post-Antwort)

Zwar gibt es einige maßgeschneiderte Lösungen, um das problem zu beheben unten, es ist wahrscheinlich gut, um die richtige Weg, um Design Snackbars sowie.

Erstens, Sie wahrscheinlich sollte nicht sein definieren android:textColor in Ihren Themen an alle (es sei denn, Sie wirklich wissen, den Umfang dessen, was mit dem Thema). Dies setzt die Farbe des Textes, der im Grunde jeden anzeigen, dass eine Verbindung zu Ihrem Thema. Möchten Sie einen text definieren, der Farben in Ihren Ansichten, die sind nicht Standard, dann verwenden Sie android:primaryTextColor - und Referenz-Attribut in Ihren benutzerdefinierten Ansichten.

Jedoch für die Anwendung Themen zu Snackbar Lesen Sie bitte dieses Qualität-guide aus einem Dritten material-doc: http://www.materialdoc.com/snackbar/ (Folgen die programmatische Thema Umsetzung haben es nicht verlassen sich auf eine xml-Stil)

Referenz:

//create instance
Snackbar snackbar = Snackbar.make(view, text, duration);

//set action button color
snackbar.setActionTextColor(getResources().getColor(R.color.indigo));

//get snackbar view
View snackbarView = snackbar.getView();

//change snackbar text color
int snackbarTextId = android.support.design.R.id.snackbar_text;  
TextView textView = (TextView)snackbarView.findViewById(snackbarTextId);  
textView.setTextColor(getResources().getColor(R.color.indigo));

//change snackbar background
snackbarView.setBackgroundColor(Color.MAGENTA);  

(Sie können auch erstellen Sie Ihre eigenen benutzerdefinierten Snackbar layouts zu finden Sie unter dem oben genannten link. So zu tun, wenn diese Methode fühlt sich zu hacky und Sie wollen einen sicherlich zuverlässigen Weg, um Ihre benutzerdefinierten Snackbar zuletzt durch die Unterstützung Bibliothek-updates).

Sowie alternativ finden Sie die Antworten unten für ähnliche und vielleicht schneller Antworten, um Ihr problem zu lösen.

InformationsquelleAutor der Frage Mahonster | 2015-06-25

Schreibe einen Kommentar