2009-02-20 12 views
6

Dans mon application Android, je veux un paramètre à toggleable dans son menu comme l'application Dialer fait pour et silence. Vous pouvez voir une image ci-dessous:Android MenuItem Bouton bascule

http://www.isaacwaller.com/images/acall.png

Vous voyez comment le Président, Mute et Hold options sont des boutons bascule - vous pouvez les taper à nouveau et ils basculer la couleur verte. Ils peuvent le faire d'une manière personnalisée, mais je soupçonne que c'est une option (j'ai essayé de placer l'attribut Vérifiable).

Répondre

6

Il est ressemble à cet élément de menu est mis en œuvre une vue personnalisée.

Dans le code source Android, vous pouvez jeter un oeil à com.android.phone.InCallMenuView.java pour voir comment cela est mis en œuvre.

Il ne ressemble pas à elle fait partie de l'API publique, mais il semble assez autonome. Si votre projet a une licence compatible, vous pourrez peut-être de le copier dans votre projet et d'utiliser et de le modifier comme bon vous semble.

10

Vous pouvez faire quelque chose comme l'extrait ci-dessous ainsi, à l'origine provenant 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); 
}