作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个应该以自定义方式显示操作按钮的 ActionBar。为此,我创建了一个自定义 View 并将其附加到 ActionBar。
要提到的一件事是,我正在使用 menu.xml 资源文件加载选项菜单并在智能手机上显示它们,但不在平板电脑上显示它们,而是使用自定义 View .为此,我将 xml 中的每个菜单项作为:android:showAsAction="never"
一切看起来都很好,除了 ActionBar 右侧仍然保留的一个小东西 - “更多”按钮。
如何删除它?
我试过这个:
ActionBar bar = activity.getActionBar();
bar.removeAllTabs();
但“更多”按钮仍保留在那里。
编辑:
这是我的 menu.xml 文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_username"
android:icon="@drawable/menu_username"
android:orderInCategory="0"
android:showAsAction="never"
android:title="@string/menu_username">
<menu>
<item
android:id="@+id/menu_logout"
android:title="@string/menu_logout"/>
</menu>
</item>
<item
android:id="@+id/menu_settings"
android:icon="@drawable/menu_settings"
android:orderInCategory="1"
android:showAsAction="never"
android:title="@string/menu_settings"/>
<item
android:id="@+id/menu_search"
android:icon="@drawable/menu_search"
android:orderInCategory="1"
android:showAsAction="never"
android:title="@string/menu_search"/>
</menu>
请注意,我仍然想在智能手机上扩展此菜单,但不想在平板电脑上使用它。
最佳答案
设置 showAsAction="never"
将强制菜单项进入溢出。为什么不在 onCreateOptionsMenu(...) 中检查该设备是平板电脑,如果它只是不膨胀菜单?像这样:
public boolean onCreateOptionsMenu(Menu menu) {
if (getResources().getConfiguration().smallestScreenWidthDp >= 600) {
//It's a tablet, don't inflate, only create the manual view
manualMenuCreation();
} else {
getMenuInflater().inflate(R.menu.menu, menu);
}
return true;
}
不要忘记 smallestScreenWidthDp
仅在 3.2 或更高版本中可用,因此您必须考虑到这一点。
关于Android - 从 ActionBar 中删除 "More actions"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10961107/
我是一名优秀的程序员,十分优秀!