Как динамически изменить цвет всех значков панели инструментов без стилизации панели инструментов

Я искал способ изменить цветвсе элементы на панели инструментов, работающие как ActionBar динамически.

Характеристики:

С помощьюparent="Theme.AppCompat.Light.NoActionBar" на styles.xmlAppcompat v7 22установкаsetSupportActionBar() в моемAppCompatActivityЯ получил цвета из запроса POST (обычно формат #FF ------)

Я прочитал следующий пост:

Как изменить цвет значка гамбургера ActionBar?Как изменить цвет иконки гамбургера в ящике навигации по дизайну материаловНе могу изменить цвет значка навигационного ящика в AndroidActionBarDrawerToggle v7 цвет стрелкиИзменение цвета панели инструментов AndroidAndroid-бургер / значок стрелки динамически менять цвет (этот работал в некотором роде, но я не люблю использовать собственное изображение без анимации).
И другие ссылки, связанные с этой темой ... ни одна из них не работает для меня.

Что я сейчас делаю, так это поиск ImageButton на панели инструментов (Получить ссылку на переключатель ящика в панели поддержки действий) и применениеsetColorFilter() всем им нравится следующий код:

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);
    }
}

Я изменяю фон и цвет текста с помощью:toolbar.setBackgroundColor а такжеtoolbar.setTitleTextColor.

Для значков меню (включая значок меню переполнения):

MenuItem item2 = mMenu.findItem(R.id.actionbar_group_moreoverflow);
item2.getIcon().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);


ВОПРОС: Есть ли лучший способ сделать это (динамически изменить цвет элементов панели инструментов)?

Ответы на вопрос(2)

Ваш ответ на вопрос