在我的 Android 应用程序中,我希望在其菜单中可以切换设置,就像 Dialer 应用程序对扬声器和静音所做的那样。你可以看到下面的图片:
http://www.isaacwaller.com/images/acall.png
您会看到扬声器、静音和保持选项是如何切换按钮的 - 您可以再次点击它们,它们将切换绿色。他们可能会以自定义方式执行此操作,但我怀疑这是一个选项(我尝试设置 Checkable 属性)。
在我的 Android 应用程序中,我希望在其菜单中可以切换设置,就像 Dialer 应用程序对扬声器和静音所做的那样。你可以看到下面的图片:
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 的一部分,但看起来非常独立。如果您的项目具有兼容的许可证,您可以将其复制到您的项目中,并根据需要使用和修改它。