IT/android

#6 나만 헷갈렸나? Jackpot Compose 테마 적용

내일은교양왕 2025. 5. 20. 08:36

테마 추가 방법

  1. Material Theme Builder 접근
  2. source color 선택 (선택 시 왼쪽 동그라미 칼라 선택)
  3. HCT Color Picker 선택 모달에서 원하는 칼라를 Hex Color에 지정 후 Apply 선택
  4. 오른쪽 아래에 Pick your fonts 선택
  5. 폰트 적절히 선택
  6. Export theme 선택 후 다운로드
  7. 코드에 복사 붙여넣기
  8. 해당 테마 적용

 

테마 적용 시 알아야할 사실

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