如何强制在android操作栏compat溢出菜单?
Android操作栏兼容
可能吗? 在较旧的设备上(3.0版以前),只有当按下菜单键时才会显示不适合操作栏的项目,我希望这些项目可以分组在操作栏的溢出菜单中。
动作溢出菜单仅在设备上没有硬菜单button时可用。 我在用户界面>操作栏下的框架主题中发现了这一点,请查看第3项。
有一个由杰克·沃顿 ( Jake Wharton)编写的动作栏库(ActionBarSherlock)。 也许这是能够为您提供一个动作溢出菜单样式,即使在较旧的设备(其中包括一个硬菜单button),但我没有看到这一点。
编辑: ActionBarSherlock 4.0(目前是一个候选版本)内置function强制行动溢出。 如果你想自己扩展ActionBarCompat的例子,你可以看看github了解Jake如何实现它。 我build议只是一起研究一下他的图书馆,因为它做得非常好。
如果您select使用Jake的库,请查看将“活动”主题设置为@ style / Theme.Sherlock.ForceOverflow以强制旧设备上的溢出菜单。
编辑2:使用ForceOverflow
主题导致与硬件菜单button的设备上的问题( 例如#1 )。 因此,杰克·沃顿将在未来的版本中删除ForceOverflow
。
好的,这很简单,但很难弄清楚。
你首先需要一个你想用来作为溢出inflater的菜单项。 例
<item android:id="@+id/a_More" android:icon="@drawable/more" android:showAsAction="always" android:title="More"> </item>
一旦你有物品,在溢出菜单中添加一个包含你想要物品的子菜单。 例:
<item android:id="@+id/a_More" android:icon="@drawable/more" android:showAsAction="always" android:title="More"> <menu> <item android:id="@+id/aM_Home" android:icon="@drawable/home" android:title="Home"/> </menu> </item>
点击后会膨胀其他项目。 我的应用程序正在使用ActionBarSherlock 4.0,所以在此之前,你将需要访问“SplitActionBar”。 (将仍然在默认的Android操作栏上工作)
操作方法如下:在你的AndroidManifest.xml文件中,你需要在你需要溢出菜单的行为下面添加这段代码。老实说,如果你有操作栏分裂或者不行,但我更喜欢它。
android:uiOptions="splitActionBarWhenNarrow"
注意:你的项目膨胀你的溢出菜单必须showAsAction="always"
Vwola! 你有一个溢出菜单! 希望我帮助你。 🙂
按照LeviRockerSk8er的build议,我不得不在操作栏中设置一个溢出菜单:
这是“menu.xml”的代码:
<item android:id="@+id/web_clasica" android:icon="@drawable/ic_action_web_site" android:showAsAction="ifRoom" android:title="@string/menu_web" /> <item android:id="@+id/overflow_fijo" android:icon="@drawable/ic_action_core_overflow" android:showAsAction="always" android:title="@string/menu_email" > <menu> <item android:id="@+id/email" android:icon="@drawable/ic_action_new_email" android:showAsAction="ifRoom" android:title="@string/menu_email" /> <item android:id="@+id/share" android:icon="@drawable/ic_action_share" android:showAsAction="ifRoom" android:title="@string/menu_share" /> <item android:id="@+id/about" android:showAsAction="ifRoom" android:icon="@drawable/ic_action_action_about" android:title="@string/menu_about"/> </menu>
- ActionBarSherlock – typesandroid.support.v4.app.Fragment无法parsing。 它是从所需的.class文件间接引用的
- 更改ActionBarSherlock背景颜色
- ActionItem的animation图标
- 将项目导入到Android Studio中有关ActionBarSherlock的问题
- 像Google一样的Actionbar通知计数图标(徽章)
- Android ActionBar自定义search视图
- 为Android应用程序设置ActionBarSherlock主题
- 操作栏图标大小
- Android:getSupportActionBar()总是在ActionBarSherlock库中返回null