Como alterar a cor de todos os ícones da barra de ferramentas dinamicamente sem barra de ferramentas de estilo
Tenho procurado uma maneira de mudar a cor dotudo elementos em uma barra de ferramentas que funcionam como um ActionBar dinamicamente.
Especificações:
parent="Theme.AppCompat.Light.NoActionBar"
no styles.xmlAppcompat v7 22configuraçãosetSupportActionBar()
no meuAppCompatActivity
Recebi as cores de uma solicitação POST (geralmente formato #FF ------)Eu li o seguinte post:
E outros links relacionados a esse tópico ... nenhum deles funcionou para mim.
O que estou fazendo agora é pesquisar o ImageButton na barra de ferramentas (Obter referência para alternar gaveta na barra de ação de suporte) e aplicandosetColorFilter()
para todos eles como o seguinte código:
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);
}
}
Estou alterando a cor do plano de fundo e do texto com:toolbar.setBackgroundColor
etoolbar.setTitleTextColor
.
Para ícones de menu (incluindo o ícone do menu de estouro):
MenuItem item2 = mMenu.findItem(R.id.actionbar_group_moreoverflow);
item2.getIcon().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
aPERGUNTA, QUESTÃO: existe uma maneira melhor de fazer isso (alterar dinamicamente a cor dos elementos da barra de ferramentas)?