본문 바로가기
개발자의 정보/Mobile App

Android 에서 [Full screen mode] 전체화면 설정, 해제

by pastory 2020. 2. 7.

Kotlin

private fun hideSystemUI() {
    // Enables regular immersive mode.
    // For "lean back" mode, remove SYSTEM_UI_FLAG_IMMERSIVE.
    // Or for "sticky immersive," replace it with SYSTEM_UI_FLAG_IMMERSIVE_STICKY
    window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_IMMERSIVE
            // Set the content to appear under the system bars so that the
            // content doesn't resize when the system bars hide and show.
            or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            // Hide the nav bar and status bar
            or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            or View.SYSTEM_UI_FLAG_FULLSCREEN)
}

// Shows the system bars by removing all the flags
// except for the ones that make the content appear under the system bars.
private fun showSystemUI() {
    window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
}

 

Java

private void hideSystemUI() {
    // Enables regular immersive mode.
    // For "lean back" mode, remove SYSTEM_UI_FLAG_IMMERSIVE.
    // Or for "sticky immersive," replace it with SYSTEM_UI_FLAG_IMMERSIVE_STICKY
    View decorView = getWindow().getDecorView();
    decorView.setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_IMMERSIVE
            // Set the content to appear under the system bars so that the
            // content doesn't resize when the system bars hide and show.
            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            // Hide the nav bar and status bar
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_FULLSCREEN);
}

// Shows the system bars by removing all the flags
// except for the ones that make the content appear under the system bars.
private void showSystemUI() {
    View decorView = getWindow().getDecorView();
    decorView.setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}

 

자세한 설명과 방법은 아래의 안드로이드 가이드를 참고하면 된다.

 

https://developer.android.com/training/system-ui/immersive?hl=ko#java

 

전체 화면 모드 사용 설정  |  Android 개발자  |  Android Developers

동영상, 게임, 이미지 갤러리, 책, 프레젠테이션 슬라이드 같은 콘텐츠를 이용하기에 최적의 환경은 전체 화면입니다. 이 페이지에서는 전체 화면에서 사용자를 콘텐츠에 더욱 몰입하게 하는 방법과 사용자가 앱을 실수로 종료하지 않도록 하는 방법을 설명합니다. 앱에 화면 공간을 최대한 활용하겠다는 단순한 이유로 전체 화면 모드를 사용 설정하려고 할 수 있습니다. 하지만 사용자가 알림 확인이나 즉흥적인 검색 등을 위해 얼마나 자주 앱을 시작하고 종료하는지 고려해야

developer.android.com

 

 

'개발자의 정보 > Mobile App' 카테고리의 다른 글

[Flutter] InkWell vs GestureDetector - 다른점은?  (0) 2021.09.18
EditText focus issue.  (0) 2020.02.01

댓글