在我的Android应用程序中,我希望设置可以在其菜单中切换,就像拨号器应用程序用于扬声器和静音.你可以看到下面的图片:
http://www.isaacwaller.com/images/acall.png
您可以看到扬声器,静音和保持选项是如何切换按钮 - 您可以再次点击它们,它们将切换绿色.他们可能会以自定义方式执行此操作,但我怀疑它是一个选项(我尝试设置Checkable属性).
您可以执行类似下面的代码段,最初来自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); }
看起来这个菜单项是作为自定义视图实现的.
在android源代码中,你可以看一下com.android.phone.InCallMenuView.java来看看它是如何实现的.
它看起来不像是公共API的一部分,但它看起来非常独立.如果您的项目具有兼容的许可证,您可以将其复制到项目中,并根据需要使用和修改它.