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

Usingparent="Theme.AppCompat.Light.NoActionBar" auf styles.xmlAppcompat v7 22settingsetSupportActionBar() in meinemAppCompatActivityIch habe die Farben von einer POST-Anfrage erhalten (normalerweise #FF ------ Format)

Ich habe folgenden Beitrag gelesen:

Wie ändere ich die Farbe des ActionBar-Hamburger-Symbols?Wie ändere ich die Farbe des Hamburger-Symbols in der Materialdesign-Navigationsleiste? Kann die Farbe des Navigationsfachsymbols in Android nicht ändernActionBarDrawerToggle v7 Pfeilfarbe Android Toolbar Farbwechsel Android Burger / Pfeilsymbol dynamisch Farbe ändern (Dieser hat in gewisser Weise funktioniert, aber ich verwende kein eigenes Bild ohne Animation).
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)?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage