溢出菜单位置不正确

时间:2012-07-22 19:09:36

标签: android user-interface android-4.0-ice-cream-sandwich

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

屏幕截图(图像的右侧是物理屏幕边框;图像在左侧被我切断):
enter image description here

XML

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_about"
          android:title="About"
          android:icon="@android:drawable/ic_menu_info_details" />
    <item android:id="@+id/menu_reset"
          android:title="Reset image"
          android:icon="@android:drawable/ic_menu_revert" />
    <item android:id="@+id/menu_share"
          android:title="Share"
          android:icon="@android:drawable/ic_menu_share"
          android:showAsAction="ifRoom" />
    <item android:id="@+id/menu_facebook_logout"
          android:title="FB logout"
          android:icon="@drawable/fbook"
          showAsAction="ifRoom" />
    <item android:id="@+id/menu_save"
          android:title="Save"
          android:icon="@android:drawable/ic_menu_save"
          android:showAsAction="ifRoom" />
    <item android:id="@+id/menu_exit"
          android:title="Exit"
          android:icon="@android:drawable/ic_menu_close_clear_cancel" />
</menu>

我做错了什么?

2 个答案:

答案 0 :(得分:2)

原来我还有一个

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

在我的代码中,以避免早期Android版本中的错误(请参阅 Title bar apeared again after coming back in my application)。

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

答案 1 :(得分:0)

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

Action bar menu shows off screen

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

<supports-screens
        android:anyDensity="false"
        android:largeScreens="true"
        android:normalScreens="true"
        android:xlargeScreens="true"
        android:resizeable="true"
        android:smallScreens="true" />