투케이2K

145. (kotlin/코틀린) [유틸 파일] getDarkMode : 안드로이드 디스플레이 설정 다크 모드 (dark mode) 확인 본문

Kotlin

145. (kotlin/코틀린) [유틸 파일] getDarkMode : 안드로이드 디스플레이 설정 다크 모드 (dark mode) 확인

투케이2K 2023. 1. 1. 14:21

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // TODO [SEARCH FAST] : [RETURN] getDarkMode : 안드로이드 디스플레이 설정 다크 모드 (dark mode) 확인
        fun getDarkMode(mContext: Context): Boolean {

            /**
             * // -----------------------------------------
             * [getDarkMode 메소드 설명]
             * // -----------------------------------------
             * 1. 안드로이드 디스플레이 설정 다크 모드 (dark mode) 확인
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.getDarkMode(this@A_Intro)
             * // -----------------------------------------
             * 3. 리턴 데이터 : 다크 모드 인 경우 true / 아니면 false
             * // -----------------------------------------
             */


            // [리턴 데이터 변수 선언 실시]
            val returnData = false
            var displayMode = ""

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

                // [uiMode / UI_MODE_NIGHT_MASK 사용해 시스템 디스플레이 설정 모드 확인]
                val darkModeCheck = mContext.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK

                displayMode = if (darkModeCheck == Configuration.UI_MODE_NIGHT_YES) {
                    "Display Dark Mode"
                } else if (darkModeCheck == Configuration.UI_MODE_NIGHT_NO) {
                    "Display Light Mode"
                } else {
                    "Display Auto Mode"
                }

            }
            catch (e: Exception) {
                e.printStackTrace()
            }


            // [로그 출력 실시]
            ///*
            Log.i("---","---")
            Log.d("//===========//","================================================")
            Log.i("","\n"+"[C_App >> getDarkMode() :: 안드로이드 디스플레이 설정 다크 모드 (dark mode) 확인]")
            Log.i("","\n"+"--------------------------------")
            Log.i("","\n"+"[DISPLAY :: "+displayMode.toString()+"]")
            Log.i("","\n"+"--------------------------------")
            Log.i("","\n"+"[RETURN :: "+returnData.toString()+"]")
            Log.d("//===========//","================================================")
            Log.i("---","---")
            // */


            // [리턴 반환 실시]
            return returnData
        }
 

[결과 출력]

 

 

반응형
Comments