개발/안드로이드
나이트 모드의 현재 상태 확인하는 방법 두가지
장모
2020. 11. 24. 00:07
정석적인 방법
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
}
}