根据屏幕隐藏菜单项(活动)

时间:2015-01-15 11:49:11

标签: java android android-layout menu menuitem

隐藏menuItem基于屏幕(Activity)的可能方法是在前台。我有四(4)menuItem,我想在操作栏中显示两个(2)并强制2进入溢出菜单,在某些屏幕中我想显示三(3)并在溢出菜单中有一个(1),并且在某些屏幕中页面图块很长我不希望它被截断但是我想在操作栏中只显示一(1)个menuItem并强制其他三(3)进入溢出菜单。

我需要一种通用的方法来做到这一点。

我需要以编程方式执行此操作我不需要IfRoom的xml答案,我有一个扩展ActionBar的BaseActivity,我有BaseActivityHelper,我的菜单布局已经膨胀,所有其他活动都扩展了BaseActivity。 / p>

我很乐意分享我的代码,但我不允许这样做,最重要的问题是如果你是面对这种情况的人,你会怎么做。

1 个答案:

答案 0 :(得分:0)

文档说:

  

如果要根据活动生命周期中发生的事件修改选项菜单,可以在onPrepareOptionsMenu()方法中执行此操作。此方法会将Menu对象传递给当前存在,以便您可以对其进行修改,例如添加,删除或禁用项目。 (片段还提供onPrepareOptionsMenu()回调。)

因此,你可以在onPrepareOptionsMenu中获取你的菜单项,并使用适当的选项(SHOW_AS_ACTION_ALWAYS,SHOW_AS_ACTION_IF_ROOM或SHOW_AS_ACTION_NEVER)调用它的setShowAsAction(int actionEnum)