2009-02-20 124 views
6

在我的Android应用程序,我希望有一个设置是可切换的,在它的菜单,如拨号器应用确实为扬声器和静音。你可以看到下面的图片:Android的菜单项切换按钮

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

你看怎样的扬声器,静音按住选项切换按钮 - 您可以再次点击他们,他们将切换绿颜色。他们可能会以自定义的方式做到这一点,但我怀疑这是一个选项(我尝试设置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); 
} 
来源