IT/android
#6 나만 헷갈렸나? Jackpot Compose 테마 적용
내일은교양왕
2025. 5. 20. 08:36
테마 추가 방법
- Material Theme Builder 접근
- source color 선택 (선택 시 왼쪽 동그라미 칼라 선택)
- HCT Color Picker 선택 모달에서 원하는 칼라를 Hex Color에 지정 후 Apply 선택
- 오른쪽 아래에 Pick your fonts 선택
- 폰트 적절히 선택
- Export theme 선택 후 다운로드
- 코드에 복사 붙여넣기
- 해당 테마 적용
테마 적용 시 알아야할 사실
dynamicColor 값이 true이면 우리가 원하는 테마 적용 안됨
@Composable
fun AppTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
// Dynamic color is available on Android 12+
dynamicColor: Boolean = false, // false 여야 colorScheme에서 우리가 설정한 값 적용
content: @Composable() () -> Unit
) {
val colorScheme = when {
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
val context = LocalContext.current
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
}
darkTheme -> darkScheme
else -> lightScheme
}
MaterialTheme(
colorScheme = colorScheme,
typography = AppTypography,
content = content
)
}
dynamicColor 개념
Android 12부터 사용자의 배경화면 색상을 자동으로 앱 테마에 적용하는 기능.
예를 들어 사용자가 보라색 배경화면을 쓰고 있다면, 앱의 primary color도 자동으로 보라 계열로 바뀌는 식.
기본 | 설정 > 배경화면 및 스타일 > 컬러 팔레트 |
![]() |
![]() |
테마적용 (dynamicColor = false)
asis | tobe |
![]() |
![]() |