3

我使用 onCreateOptionsMenu 创建了一个溢出菜单,但该菜单几乎完全位于屏幕之外。我已经尝试android:anyDensity="true"明确设置(如Action bar menu shows off screen中所建议的那样),但这并没有解决我的问题。我也不想遵循使用旧主题的建议(如ICS - 菜单项文本被截断?)。

截图(图片右边是物理屏幕边框,左边图片被我截掉了):
在此处输入图像描述

XML 是

<?xml 版本="1.0" 编码="utf-8"?>
<菜单 xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_about"
          android:title="关于"
          android:icon="@android:drawable/ic_menu_info_details" />
    <item android:id="@+id/menu_reset"
          android:title="重置图片"
          android:icon="@android:drawable/ic_menu_revert" />
    <item android:id="@+id/menu_share"
          android:title="分享"
          android:icon="@android:drawable/ic_menu_share"
          android:showAsAction="ifRoom" />
    <item android:id="@+id/menu_facebook_logout"
          android:title="FB 注销"
          android:icon="@drawable/fbook"
          showAsAction="ifRoom" />
    <item android:id="@+id/menu_save"
          android:title="保存"
          android:icon="@android:drawable/ic_menu_save"
          android:showAsAction="ifRoom" />
    <item android:id="@+id/menu_exit"
          android:title="退出"
          android:icon="@android:drawable/ic_menu_close_clear_cancel" />
</菜单>

我究竟做错了什么?

4

2 回答 2

2

原来我还有一个

getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
                     WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

在我的代码中,以避免早期 Android 版本中的错误(请参阅 在我的应用程序中返回后再次出现标题栏)。

删除它(在冰淇淋三明治中不再需要;尚未尝试其他版本)使溢出菜单正确显示。

于 2012-07-22T21:53:43.923 回答
0

检查这个确切的解决方案:

操作栏菜单显示屏幕外

似乎这些应该添加到清单中:

<supports-screens
        android:anyDensity="false"
        android:largeScreens="true"
        android:normalScreens="true"
        android:xlargeScreens="true"
        android:resizeable="true"
        android:smallScreens="true" />
于 2014-07-15T06:26:04.647 回答