2011-12-14 9 views
5

です。メニューボタンを使用してオプションを表示するフルスクリーンビューアを備えた既存のアプリがあります。 アンドロイド:targetSdkVersionを14に設定して、アプリテーマ全体をネイティブICS APPのように見せるようにしました。アンドロイドを維持しながらICSのメニューボタンを表示:targetSdkVersionは14

問題は、アクティビティスタイルをフルスクリーンに設定するとメニューボタンが表示されず、ActionBarを表示するとアプリがメニューを表示するにはあまりにも多くの画面スペースを必要とすることです。

ICSの全画面表示中に通常のメニューボタンを押し続ける方法はありますか?

答えて

2

私はICSのアクションバーの小さな部分だけを表示する方法はないと思います。少なくとも、それは奇妙に見えます。あなたのための最善の方法は、あなたのアプリ "メニューボタン"のどこかに作成することです。ハードウェアメニューボタン付き携帯電話のこのボタンを非表示にする場合は、SDKのバージョンを確認するオプションがあります。 android.os.Build.VERSION.SDK_INT

2

ハッキーとリフレクションに慣れている方は、方法があります。 Daniel Lewにはhis blogに記載されています。彼は適切に、これは実際にプロダクションコードで使用することを意図していないことに注意しています。 Android開発者は今後この能力を奪う可能性があります。

public static void addLegacyOverflowButton(Window window) { 
    if (window.peekDecorView() == null) { 
    throw new RuntimeException("Must call addLegacyOverflowButton() after setContentView()"); 
    } 

    try { 
    window.addFlags(WindowManager.LayoutParams.class.getField("FLAG_NEEDS_MENU_KEY").getInt(null)); 
    } 
    catch (NoSuchFieldException e) { 
    // Ignore since this field won't exist in most versions of Android 
    } 
    catch (IllegalAccessException e) { 
    Log.w(TAG, "Could not access FLAG_NEEDS_MENU_KEY in addLegacyOverflowButton()", e); 
    } 
} 
関連する問題