검색어 : actionbar , 하단tab
split action bar tabs
AndroidMenifest.xml 에
uiOptions=”splitActionBarWhenNarrow” to your <activity> or<application> manifest element.
<manifest ...>
<activity android:uiOptions="splitActionBarWhenNarrow" ... >
<meta-data android:name="android.support.UI_OPTIONS"
android:value="splitActionBarWhenNarrow" />
</activity>
</manifest>
SplitActionBar를 static하게 지원하는 코드가 4.0부터 추가되어 있으니, 3.x에서 지원을 하려면, 4.0에서 추가된 Window 객체의 setUiOptions()를 추가하면 됩니다..
간단하게 3.x 기반의 코드에 4.0 이상의 기능인 setUiOptions()을 사용하려면..
1. @TargetApi(14) 어노테이션을 통해서 4.0의 코드가 들어가 있다고 알려줘서, 컴파일 에러를 피하구요..
2. 버전 체크를 통해서 4.0 이상인 경우에만 Window 객체에 setUiOptions()으로 SplitActionBar를 만들어 주면 됩니다..
따라서, 아래의 코드를 보시면.. SplitActionBar를 만들어 주는 onLoadSplitActionBar() 에서는 Reflection을 이용해서 4.0 이상의 Window 클래스에서 지원하는 메쏘드인 setUiOptions()를 사용합니다.
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 | @TargetApi ( 14 ) private void onLoadSplitActionBar() { Window w = getWindow(); try { Method m = w.getClass().getMethod( "setUiOptions" , new Class[]{ Integer.TYPE }); m.invoke(w, Integer.valueOf(Window.FEATURE_ACTION_BAR_OVERLAY)); } catch (Exception e) { if (DEBUG) ExceptionUtil.getException(e); } } @Override public void onCreate(Bundle bundle) { super .onCreate(bundle); if (android.os.Build.VERSION.SDK_INT >= 14 ) { this .onLoadSplitActionBar(); } ....... } |
'차근차근 > Android' 카테고리의 다른 글
actionbar 란 (0) | 2015.02.03 |
---|---|
actionbar submenu (0) | 2015.02.03 |
[android] 2.2에서 fragment 사용하기 (0) | 2015.02.03 |
허니컴 이하에서 ActionBar 사용하기 (ActionbarSherlock) (0) | 2015.02.03 |
[Android/안드로이드] ActionBar 고급정보들. (0) | 2015.02.03 |