[kotlin] 코틀린 확장 함수를 사용하여 앱의 테마 변경하는 방법은?

아래는 Context를 확장하는 함수를 사용하여 앱의 테마를 변경하는 간단한 예제입니다.

fun Context.setAppTheme(themeResId: Int) {
    setTheme(themeResId)
    // 테마 변경에 필요한 추가적인 작업을 수행할 수 있습니다.
}

위에서 작성한 setAppTheme 함수는 주어진 themeResId에 해당하는 테마를 설정하는 역할을 합니다. 이제 앱 내의 어떤 활동에서든 이 확장 함수를 사용하여 테마를 변경할 수 있습니다.

참고로, 새로운 테마가 적용된 활동이나 앱을 재시작하지 않고 실시간으로 테마를 변경하기 위해서는 확장 함수를 통해 Recreate 메소드를 호출해야 합니다.

fun Context.recreateActivity() {
    if (this is Activity) {
        this.recreate()
    }
}

위의 두 가지 확장 함수를 사용하여 앱의 테마를 변경하고 활동을 다시 로드할 수 있습니다.