Jetpack Compose 애니메이션 Codelab을 하던 중 AnimatedVisibility()이 보이지 않는 문제를 겪었다.
Codelab은 Material2를 기준으로 되어 있었고, 나는 Material3에 맞춰서 진행을 하고 있었는데 AnimatedVisibility가 화면에 표시되지 않았다. Codelab의 코드와 하나씩 비교를 해도 원인을 찾지 못하다가 AnimatedVisibility의 높이를 늘려보고 이유를 찾았다.
내가 직접 작성한 코드와 Codelab의 코드 중 차이점은 Material3를 사용하는가였는데, Material3의 경우 Scaffold에서 Modifier를 정의하지 않으면 내부 블록의 UI가 중첩되고 있었다.
Modifer를 정의하는 대신 Scaffold-topBar에 Column Composable 함수로 랩핑 하는 것으로 해결할 수 있다.
Scaffold(
topBar = {
Column {
HomeTabBar(
backgroundColor = backgroundColor,
tabPage = tabPage,
onTabSelected = { tabPage = it }
)
EditMessage(editMessageShown)
}
},
containerColor = backgroundColor,
// ...
}
'작업 일지' 카테고리의 다른 글
[Android] 내비게이션의 다음 경로 정보 구하기#2 (0) | 2024.03.07 |
---|---|
[Android] 내비게이션의 다음 경로 정보 구하기#1 (5) | 2024.03.05 |
[Android] 리스트에서 아이템 삭제 후 페이징할 때 조심할 점 (0) | 2023.01.02 |
[Android] Mqtt, subjectAltNames에 대한 고민 (0) | 2022.12.21 |
[Android] ExifInterface와 Matrix로 이미지 회전 시키기 (2) | 2022.11.29 |
댓글