Resource 와 Context 사용 구분 필요
Composable 안에서 다음과 같이 문자열을 가져올 수 있습니다.
val message = stringResource(R.string.login_success)
// LaunchedEffect 같은 side-effect 내부에서는 stringResource()를 직접 호출 불가
val context = LocalContext.current
LaunchedEffect(Unit) {
val message = context.getString(R.string.login_success)
}
그러나 Context의 경우에는 Configuration (지역, 다크모드 등)이 변경되더라도 Resource가 변경되지 않는 문제가 발생하여, 이전에 표시되던 값이 유지될 수 있습니다.
따라서 다음과 같이 적용이 필요합니다.
val resources = LocalResources.current
LaunchedEffect(resources) {
val message = resources.getString(R.string.login_success)
}
'Android > Compose' 카테고리의 다른 글
| [Compose] AI가 작성한 LaunchedEffect의 문제점, rememberUpdatedState (0) | 2026.07.23 |
|---|---|
| [Android] Compose를 활용한 Collapsing Toolbar Scaffold 제작기 (1) | 2023.07.23 |
| [안드로이드 Compose] 텍스트 중앙 정렬 맞추기 (1) | 2022.12.14 |
| [안드로이드 Compose] 애니메이션 생성 시 context by implicit receiver 에러 (0) | 2022.11.22 |
댓글