투케이2K

478. (kotlin/코틀린) [유틸 파일] setActivityFullScreen : 안드로이드 액티비티 전체 화면 설정 (상단 , 하단 상태창 지우기) 본문

Kotlin

478. (kotlin/코틀린) [유틸 파일] setActivityFullScreen : 안드로이드 액티비티 전체 화면 설정 (상단 , 하단 상태창 지우기)

투케이2K 2024. 4. 11. 14:55

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [VOID] setActivityFullScreen : 안드로이드 액티비티 전체 화면 설정 (상단 , 하단 상태창 지우기)
        // -----------------------------------------------------------------------------------------
        fun setActivityFullScreen(activity: Activity) {

            /**
             * // -----------------------------------------
             * [setActivityFullScreen 메소드 설명]
             * // -----------------------------------------
             * 1. setActivityFullScreen : 안드로이드 액티비티 전체 화면 설정 (상단 , 하단 상태창 지우기)
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.setActivityFullScreen(A_Main@this)
             *
             * // -----------------------------------------
             */


            // [설정 값 확인]
            var setting = ""


            // [로직 처리 실시]
            try {

                // [상단, 하단 상태바 지우기]
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
                    activity.window.insetsController!!.hide(WindowInsets.Type.statusBars())
                    activity.window.insetsController!!.hide(WindowInsets.Type.navigationBars())
                } else {
                    activity.window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)

                    val decorView = activity.window.decorView
                    decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_IMMERSIVE or
                            View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
                            View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
                            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or
                            View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
                            View.SYSTEM_UI_FLAG_FULLSCREEN
                }
                setting = "Success"

            } catch (e: Exception) {
                S_Log._printStackTrace_(activity, S_FinalMsg.LOG_BUG_STATE, null, e)
                setting = "Error"
            }


            // [로그 출력 실시]
            ///*
            // ===============================================================
            S_Log._D_("안드로이드 액티비티 전체 화면 설정 (상단 및 하단 상태창 지우기)", arrayOf(
                "SETTINGS :: $setting"
            ))
            // ===============================================================
            // */
        }

 

반응형
Comments