Android Studio

Android - AppCompatDelegate 사용해서 테마 바꾸기 (라이트모드/다크모드 / 시스템설정)

내손은개발 🐾 2024. 2. 28. 22:06
 

AppCompatDelegate  |  Android Developers

androidx.appsearch.builtintypes.properties

developer.android.com

 

테마 바꾸는 기능을 추가하려고 찾아봤는데 아주 간단했다.

 

먼저

 

res -> colors안에 colors (night)모드를 추가해준다.

 

 

두 파일의 color를 맞춰준 뒤

    private fun changeTheme(mode: Int) {
        AppCompatDelegate.setDefaultNightMode(mode)
    }

 

공식문서처럼 넣어주면 끝

//라이트 모드
changeTheme(AppCompatDelegate.MODE_NIGHT_NO)

//다크 모드
changeTheme(AppCompatDelegate.MODE_NIGHT_YES)

//사용자 지정 모드(기기에서 설정한 테마)
changeTheme(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)

 

 

 

list형식의 alretDialog를 사용해서 3가지를 선택할 수 있게 해주었다.