정상에서 IT를 외치다

[Android, Fullscreen] 풀스크린 모드 본문

안드로이드

[Android, Fullscreen] 풀스크린 모드

Black-Jin 2018. 3. 26. 23:18
반응형


안드로이드에서 풀스크린 모드가 있다.


이 풀스린 모드도 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"/>


반응형
Comments