안드로이드 풀 스크린 모드
출처 : https://black-jin0427.tistory.com/15
안드로이드에서 풀스크린 모드가 있다.
이 풀스린 모드도 2개로 나뉘는데
상단 상태바가 없어진 풀스크린 모드와 하단 소프트 키까지 없어진 몰입 모드이다.
아래는 이와 관련하여 잘 정리되어 있는 링크이다.
http://cloudylab.blogspot.kr/2015/02/android-full-screen.html
위 설명에서 중요한 코드는 다음과 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public class MainActivity extends Activity {
private View decorView; private int uiOption;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
decorView = getWindow().getDecorView(); uiOption = getWindow().getDecorView().getSystemUiVisibility(); if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH ) uiOption |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN ) uiOption |= View.SYSTEM_UI_FLAG_FULLSCREEN; if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT ) uiOption |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility( uiOption ); } } |
cs |
각 버전별로
1. SYSTEM_UI_FLAG_HIDE_NAVIGATION
2. SYSTEM_UI_FLAG_FULLSCREEN
3. SYSTEM_UI_FLAG_IMMERSIVE_STICKY
과 같은 값을 설정하여 화면 모드를 설정 할 수 있다.
< 다른 방법 으로 풀 스크린 만드는 2가지 방법 >
1. 플래그를 추가하여 설정해 줄수 있다.
해당 Activity 의 onCreate 에
Flage -> WindowManger.LayoutParams.FLAG_FULLSCREEN 을 설정해 준다.
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_push);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
2. Theme 를 만들어 설정해 줄 수 있다.
- styles.xml 에 아래 코드를 추가해 준다.
<style name="FullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowFullscreen">true</item>
</style>
- AndroidManifest.xml 에서 해당 Activity 에 테마를 설정해 준다.
<activity android:name="MainActivity"
android:theme="@style/FullScreenTheme"/>