So ändern Sie die Farbe aller ToolBar-Symbole dynamisch, ohne die Symbolleiste zu formatieren
Ich habe nach einer Möglichkeit gesucht, die Farbe von @ zu änderall -Elemente in einer Symbolleiste funktionieren dynamisch wie eine ActionBar.
Spezifikationen
parent="Theme.AppCompat.Light.NoActionBar"
auf styles.xmlAppcompat v7 22settingsetSupportActionBar()
in meinemAppCompatActivity
Ich habe die Farben von einer POST-Anfrage erhalten (normalerweise #FF ------ Format) Ich habe folgenden Beitrag gelesen:
Und andere Links zu diesem Thema ... keiner von ihnen hat für mich gearbeitet.
Was ich gerade tue, ist die Suche nach ImageButton in der Symbolleiste Verweis auf Schubladenumschaltung in der Support-Aktionsleiste erhalten) und @ anwendsetColorFilter()
Allen gefällt der folgende Code:
for (int i = 0; i < toolbar.getChildCount(); i++){
if (toolbar.getChildAt(i) instanceof ImageButton) {
ImageButton ib = (ImageButton) toolbar.getChildAt(i);
ib.setColorFilter(Color.parseColor("#A74231"), PorterDuff.Mode.SRC_ATOP);
}
}
Ich ändere die Hintergrund- und Textfarbe mit:toolbar.setBackgroundColor
undtoolbar.setTitleTextColor
.
Für Menüsymbole (einschließlich Überlaufmenüsymbol):
MenuItem item2 = mMenu.findItem(R.id.actionbar_group_moreoverflow);
item2.getIcon().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
dasFRAGE gibt es eine bessere Möglichkeit, dies zu tun (die Farben der Symbolleistenelemente dynamisch ändern)?