본문 바로가기
개발/안드로이드

나이트 모드의 현재 상태 확인하는 방법 두가지

by 장모 2020. 11. 24.

정석적인 방법

  fun isNightMode(): Boolean {
      return when (context.resources.configuration.uiMode and 
Configuration.UI_MODE_NIGHT_MASK) {
         Configuration.UI_MODE_NIGHT_YES -> true
         Configuration.UI_MODE_NIGHT_NO -> false
         Configuration.UI_MODE_NIGHT_UNDEFINED -> false
         else -> false
     }
 }

 

 

어떤 리소스가 사용됐는지로 확인하는 꼼수

 

- values/strings.xml

<string name="day_or_night">day</string> 

- values-night/strings.xml

<string name="day_or_night">night</string> 

 

fun isNightMode(): Boolean {
    return when (context.getString(R.string.day_or_night)) {
        "day" -> false
        "night" -> true
        else -> false
    }
}

 

댓글