Botão Android MenuItem Alternar
-
05-09-2019 - |
Pergunta
Na minha aplicação Android, eu quero uma definição para ser toggleable nele do menu como o aplicativo Dialer faz para orador e mudo. Você pode ver uma imagem abaixo:
http://www.isaacwaller.com/images/acall.png
Você vê como o Speaker, Mute e as opções de espera são botões de alternância - você pode bater-los novamente e eles vão alternar a cor verde. Eles podem fazer isso de uma forma personalizada, mas eu suspeito que é uma opção (eu tentei definindo o atributo verificável).
Solução
É olhares como esse item de menu é implementado como uma exibição personalizada.
No código-fonte android você pode dar uma olhada em com.android.phone.InCallMenuView.java para ver como isso é implementado.
Ele não se parece com ele é parte da API pública, mas parece muito auto-suficiente. Se o seu projeto tem uma licença compatível, você pode ser capaz de copiá-lo em seu projeto e uso e modificá-lo como quiser.
Outras dicas
Você poderia fazer algo como o trecho abaixo, bem como, inicialmente provenientes de anddev.org
public boolean onPrepareOptionsMenu(final Menu menu) {
if(super.mMapView.isTraffic())
menu.findItem(MENU_TRAFFIC_ID).setIcon(R.drawable.traffic_off_48);
else
menu.findItem(MENU_TRAFFIC_ID).setIcon(R.drawable.traffic_on_48);
return super.onPrepareOptionsMenu(menu);
}