Я пытаюсь создать определенный макет с двумя представлениями: TextView и ImageView. TextView является динамическим, то есть длина текста может варьироваться. Если длина текста меньше ширины устройства, ImageView должен быть выровнен по концу TextView. Однако если длина текста превышает ширину устройства, ImageView должен располагаться в конце ширины устройства. В зависимости от содержимого текст может занимать несколько строк.
Я только начинаю работать с Jetpack Compose и создал макет с помощью XML ConstraintLayout. Я пытаюсь преобразовать этот макет в Jetpack Compose, но не уверен насчет эквивалентных методов для Layout_constraintHorizontal_bias, Layout_constraintHorizontal_chainStyle и Layout_constrainedWidth в Jetpack Compose.
Вот полный XML-код, с которым я работаю:
Я пробовал:
@Composable
fun CustomLayout(inputText: String) {
ConstraintLayout(modifier = Modifier.fillMaxWidth()) {
val (text, image) = createRefs()
val chain = createHorizontalChain(text,image, chainStyle = ChainStyle.Packed(0F))
constrain(chain){
start.linkTo(text.start)
end.linkTo(image.end)
}
Text(
text = inputText,
modifier = Modifier
.constrainAs(text) {
start.linkTo(parent.start)
end.linkTo(image.start)
top.linkTo(parent.top)
width = Dimension.preferredWrapContent
}.wrapContentSize()
)
Image(
painter = painterResource(id = R.drawable.ic_information_grey),
contentDescription = null,
modifier = Modifier
.size(14.dp)
.constrainAs(image) {
end.linkTo(parent.end)
top.linkTo(text.top)
start.linkTo(text.end)
width = Dimension.wrapContent
}.wrapContentSize()
)
}
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... style-bias
Преобразование макета ограничений XML в Jetpack Compose — стиль цепочки, смещение ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение