[kotlin] 코틀린 확장 함수를 사용하여 앱의 테마 변경하는 방법은?
아래는 Context
를 확장하는 함수를 사용하여 앱의 테마를 변경하는 간단한 예제입니다.
fun Context.setAppTheme(themeResId: Int) {
setTheme(themeResId)
// 테마 변경에 필요한 추가적인 작업을 수행할 수 있습니다.
}
위에서 작성한 setAppTheme
함수는 주어진 themeResId
에 해당하는 테마를 설정하는 역할을 합니다. 이제 앱 내의 어떤 활동에서든 이 확장 함수를 사용하여 테마를 변경할 수 있습니다.
참고로, 새로운 테마가 적용된 활동이나 앱을 재시작하지 않고 실시간으로 테마를 변경하기 위해서는 확장 함수를 통해 Recreate 메소드를 호출해야 합니다.
fun Context.recreateActivity() {
if (this is Activity) {
this.recreate()
}
}
위의 두 가지 확장 함수를 사용하여 앱의 테마를 변경하고 활동을 다시 로드할 수 있습니다.