반응형
간단하게 Card로 구현한 예시입니다.
Card(
modifier = Modifier
.fillMaxWidth()
.padding(4.dp)
) {
Row(
modifier = Modifier.padding(18.dp)
.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween,
) {
Text(
text = "안녕하세요",
)
}
}
현재 상태에서는 아무런 문제가 없지만 text의 양이 길어지면 문제가 발생합니다.
위 문제는 간단하게 Text의 매개변수인 maxLines와 overflow 설정해 주면 됩니다.
Card(
modifier = Modifier
.fillMaxWidth()
.padding(4.dp)
) {
Row(
modifier = Modifier.padding(18.dp)
.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween,
) {
Text(
text = "안녕하세요안녕하세요안녕하세요안녕하세요안녕하안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요",
maxLines = 1, // 최대 라인 설정
overflow = TextOverflow.Ellipsis, // text 넘칠 경우 "..." 표시
)
}
}
추가적으로 Text 옆에 좋아요 수를 넣어주고 싶어서 Text 밑에 Text를 하나 더 추가해 주었습니다.
Card(
modifier = Modifier
.fillMaxWidth()
.padding(4.dp)
) {
Row(
modifier = Modifier.padding(18.dp)
.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween,
) {
Text(
text = "안녕하세요안녕하세요안녕하세요안녕하세요안녕하안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요",
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
Text(
text = "192",
)
}
}
다음과 같이 Card의 크기가 커지고 좋아요 수가 제대로 나타나지 않는 문제가 발생합니다.
이 문제 또한 weight 설정으로 간단하게 해결할 수 있습니다.
Card(
modifier = Modifier
.fillMaxWidth()
.padding(4.dp)
) {
Row(
modifier = Modifier.padding(18.dp)
.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween,
) {
Text(
text = "안녕하세요안녕하세요안녕하세요안녕하세요안녕하안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요안녕하세요",
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.weight(1f) // 행의 다른 형제 요소에 상대적인 가중치 1로 설정
)
Text(
text = "192",
)
}
}
반응형
'Jetpack Compose' 카테고리의 다른 글
Jetpack Compose Icon 이미지 검은색 문제 (0) | 2023.09.24 |
---|---|
Jetpack Compose에세 topBar가 하위 컴포지션을 가리는 문제 (간단) (0) | 2023.07.24 |
Jetpack Compose에서 Room 사용 | DB 사용 (0) | 2023.07.18 |
Jetpack Compose 뒤로가기 눌렀을 때 창 나오도록 하기 (0) | 2023.07.15 |
Jetpack Compose 아키텍처 가이드 정리 (0) | 2023.07.09 |
댓글