Ich habe festgestellt, dass mit Hilfe von AppCompat Themes Standard-Symbolleiste Symbole durch das Attribut colorControlNormal
in meinem Stil getönt werden.Symbolleiste Symbol tönte auf Android
<style name="MyTheme" parent="Theme.AppCompat">
<item name="colorControlNormal">@color/yellow</item>
</style>
Wie Sie oben sehen können, jedoch ist es nicht mit allen Symbolen passieren. Ich habe das "Plus" -Zeichen bereitgestellt, das ich von den offiziellen Icons bekommen habe, und es wird nicht getönt (ich habe die "weiße" Version des PNG verwendet). Von dem, was ich von diesem question verstanden habe, tönt System nur Symbole mit nur einem Alpha-Kanal. Ist das wahr?
Wenn ja: Gibt es einen Ort, an dem ich Alpha-definierte, offizielle Materialikonen finden kann? Wenn nicht - und wenn die Symbole in der Symbolleiste alphanumerisch sein müssen, nur um getönt zu sein - wie erwartet Google, dass wir die bereitgestellten Symbole in einer Toolbar verwenden?
Irgendwo im SDK habe ich einige Icons gefunden, die auf _alpha.png
enden, und sie werden tatsächlich gut getönt. Allerdings brauche ich die vollständigen Material-Icons, und aus den offiziellen Quellen konnte ich nur white
, grey600
und black
finden.
Die Anwendung einer ColorFilter
zur Laufzeit wäre ein wenig schmerzhaft, und meine eigentliche Toolbar - mit einigen Icons getönt, einige andere nicht - sieht ziemlich schlecht aus.
AppCompat nur färbt seine eigenen Symbole. Vorläufig müssen Sie alle Symbole, die Sie separat von AppCompat bereitstellen, manuell tönen. – alanv
Die verknüpfte Frage gilt auch nur für Benachrichtigungen, nicht für allgemeine Tönung. – alanv
Siehe auch [diese StackO-Post] (http://stackoverflow.com/questions/26780046/menuitem-tinting-on-appcompat-toolbar) für eine gründliche Erklärung. – reVerse