반응형
본 글은 정확하지 않을 수 있습니다. 참고용으로만 봐주시면 감사하겠습니다.
다른 화면에서는 발생하지 않았던 문제가 위 화면에서는 발생하였다.
위 문제는 modifier에 대한 이해 부족으로 발생한 문제로 쉽게 해결할 수 있었다.
해결법
@Composable
fun MainScreen(
modifier: Modifier = Modifier,
) {
Scaffold(
topBar = {
MbitTopAppBar(
...
)
},
) { innerPadding ->
MainBody(
modifier = Modifier
.padding(innerPadding) // 패딩 전달
.fillMaxSize()
)
}
}
@Composable
fun MainBody(
modifier: Modifier = Modifier
) {
LazyColumn(
modifier = modifier // !!! 추가 !!!
) {
itemsIndexed(...) { index, data ->
Card(...) {
Row(...) {
Text(text = data)
}
}
}
}
}
TopAppBar와 LazyColumn이 겹치지 않도록 하려면 Scaffold에서 제공하는 innerPadding을 LazyColumn에 패딩으로 적용해야 한다. 이를 위해 ResultsByQuestionBody에서 받은 modifier를 LazyColumn에 전달하여 패딩을 적용해야 한다.
반응형
'Jetpack Compose' 카테고리의 다른 글
Jetpack Compose Icon 이미지 검은색 문제 (0) | 2023.09.24 |
---|---|
[Jetpack Compose] Text가 너무 길어서 공간을 벗어날 때 텍스트를 자르고 "..." 넣기 (0) | 2023.07.26 |
Jetpack Compose에서 Room 사용 | DB 사용 (0) | 2023.07.18 |
Jetpack Compose 뒤로가기 눌렀을 때 창 나오도록 하기 (0) | 2023.07.15 |
Jetpack Compose 아키텍처 가이드 정리 (0) | 2023.07.09 |
댓글