Android MenuItem 切换按钮

Posted

技术标签:

【中文标题】Android MenuItem 切换按钮【英文标题】:Android MenuItem Toggle Button 【发布时间】:2010-10-08 18:52:06 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

您也可以执行下面的 sn-p 之类的操作,最初来自 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); 
 

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

以上是关于Android MenuItem 切换按钮的主要内容,如果未能解决你的问题,请参考以下文章

Android MenuItem 自定义布局

Android:onResume更新单选按钮

Android menu 简单创建

如何从 MenuItem 导航到片段(Android)?

Android NavigationView 里面的menu的item怎么设置点击效

Android NavigationView 里面的menu的item怎么设置点击效