3

onCreateOptionsMenuを使用してオーバーフローメニューを作成しましたが、メニューはほぼ完全に画面の外に配置されています。android:anyDensity="true"明示的に設定しようとしましたが(アクションバーのメニューが画面に表示されないように)、問題は解決しませんでした。また、古いテーマを使用するという提案には従いたくありません(ICSのように-メニュー項目のテキストが途切れますか?)。

スクリーンショット(画像の右側は物理的な画面の境界線です。画像は私が左側で切り取ったものです):
ここに画像の説明を入力してください

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="概要"
          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 = "Exit"
          android:icon = "@ android:drawable / ic_menu_close_clear_cancel" />
</ menu>

私は何が間違っているのですか?

4

2 に答える 2

2

It turned out that I still had a

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

in my code, to avoid a bug in earlier Android versions (see Title bar apeared again after coming back in my application).

Removing this (it is no longer necessary in ice-cream-sandwich; have not yet tried other versions) made the overflow menu appear correctly.

于 2012-07-22T21:53:43.923 に答える
0

Check this exact solution:

Action bar menu shows off screen

Seems these should be added in manifest:

<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 に答える