2011-12-14 2 views
5

메뉴 버튼을 사용하여 옵션을 표시하는 전체 화면 뷰어가있는 기존 앱이 있습니다. android : targetSdkVersion을 14로 설정하여 전체 앱 테마를 기본 ICS APP처럼 보이게 만들었습니다.android : targetSdkVersion을 유지하면서 ICS에 메뉴 버튼 표시 14

전체 화면으로 활동 스타일을 설정할 때 메뉴 버튼이 없으며 ActionBar를 표시하면 앱이 너무 많은 화면 공간 만 차지하므로 메뉴가 표시됩니다.

ICS의 전체 화면에서 일반 메뉴 버튼을 유지할 수있는 방법이 있습니까?

답변

2

ICS의 동작 표시 줄의 작은 부분 만 표시 할 수있는 방법이 없다고 생각합니다. 적어도 이상하게 보일 것입니다. 가장 좋은 방법은 앱의 "메뉴 버튼"에 어딘가에 생성하는 것입니다. 하드웨어 메뉴 버튼이있는 휴대폰의 경우이 버튼을 숨기려면 SDK 버전을 확인하는 옵션이 있습니다. android.os.Build.VERSION.SDK_INT

2

해킹 및 반성에 익숙한 사용자를 위해서는 방법이 있습니다. Daniel Lew에는 his blog에 언급되어 있습니다. 그는 이것이 생산 코드와 함께 사용되는 것이 아니라는 점을 적절하게 언급합니다. 안드로이드 개발자는 앞으로이 기능을 제거 할 것입니다.

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); 
    } 
} 
관련 문제