Если вы добавите android:configChanges="uiMode"
к своим действиям в манифесте, когда пользователь меняет тему, вызывается метод onConfigurationChanged
. Если вы переопределите это, вы можете выполнить всю связанную с этим работу. Чтобы проверить текущую тему, вы можете сделать следующее:
val currentNightMode = configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
when (currentNightMode) {
Configuration.UI_MODE_NIGHT_NO -> {} // Night mode is not active, we're using the light theme
Configuration.UI_MODE_NIGHT_YES -> {} // Night mode is active, we're using dark theme
}
( source )