7

在我的 Android 应用程序中,我希望在其菜单中可以切换设置,就像 Dialer 应用程序对扬声器和静音所做的那样。你可以看到下面的图片:

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

您会看到扬声器、静音和保持选项是如何切换按钮的 - 您可以再次点击它们,它们将切换绿色。他们可能会以自定义方式执行此操作,但我怀疑这是一个选项(我尝试设置 Checkable 属性)。

4

2 回答 2

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); 
 }
于 2009-02-21T02:53:13.423 回答
6

看起来这个菜单项是作为自定义视图实现的。

在 android 源代码中,您可以查看com.android.phone.InCallMenuView.java以了解它是如何实现的。

它看起来不像是公共 API 的一部分,但看起来非常独立。如果您的项目具有兼容的许可证,您可以将其复制到您的项目中,并根据需要使用和修改它。

于 2009-02-21T02:48:48.317 回答