Pulsante Android MenuItem Toggle
-
05-09-2019 - |
Domanda
Nella mia applicazione Android, voglio un ambiente di essere toggleable nel suo menù come l'applicazione Dialer fa per altoparlante e mute. Potete vedere una foto qui sotto:
http://www.isaacwaller.com/images/acall.png
Si vede come l'altoparlante, Mute e Hold opzioni sono bottoni a commutazione - si possono toccare nuovamente e saranno alternare il colore verde. Essi possono farlo in un modo personalizzato, ma ho il sospetto che è una scelta (ho provato a fissare l'attributo ispezionabile).
Soluzione
E 'simile a questa voce di menu viene implementato come una visualizzazione personalizzata.
Nel codice sorgente di Android è possibile dare un'occhiata a com.android.phone.InCallMenuView.java per vedere come questo è implementato.
Non sembra come se fosse parte del pubblico API, ma sembra piuttosto autosufficiente. Se il progetto ha una licenza compatibile, si può essere in grado di copiare nel progetto e utilizzarlo e modificarlo a vostro piacimento.
Altri suggerimenti
Si potrebbe fare qualcosa di simile al frammento di sotto così, originariamente provenienti da 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);
}