2009-02-20 8 views
6

В моем приложении для Android я хочу, чтобы параметр был настраиваемым в его меню, как приложение Dialer для динамиков и отключения звука. Вы можете увидеть изображение ниже:Android MenuItem Toggle Button

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

Вы видите, как спикер, Mute и удерживайте опции переключаемые кнопки - вы можете нажать их снова, и они будут переключать зеленый цвет. Они могут сделать это по-своему, но я подозреваю, что это вариант (я попытался установить атрибут Checkable).

ответ

6

Похоже, что этот пункт меню реализован как пользовательский вид.

В исходном коде Android вы можете посмотреть com.android.phone.InCallMenuView.java, чтобы узнать, как это реализовано.

Это не похоже, что это часть общедоступного API, но выглядит довольно самодостаточным. Если у вашего проекта есть совместимая лицензия, вы можете копировать его в свой проект и использовать и изменять его по своему усмотрению.

10

Вы могли бы сделать что-то вроде сниппета ниже, а также, первоначально получены из 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); 
}