Проблема в том, что я использую фиксированный размер как для изображения, так и для AsyncImage, но иногда API дает мне очень широкие изображения, из-за чего в пользовательском интерфейсе возникает следующая несогласованность:
Как я могу сделать так, чтобы мои изображения отображались точно так же? Я пробовал использовать все виды кадрирования, но результат испортил мое изображение.
У меня есть следующий составной элемент, представляющий модель списка: [code]@Composable fun DashboardCard( modifier: Modifier = Modifier, model: DashboardCardModel, onCardClicked: (model: DashboardCardModel) -> Unit ) {
Column( modifier = modifier .size(200.dp, 200.dp) .background(Color.Transparent) .padding(16.dp) .clickable { onCardClicked(model) }, horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.SpaceAround ) { if (model.showDefaultThumbnail) { AsyncImage( modifier = Modifier .size(90.dp) .clip(RoundedCornerShape(10.dp)), model = model.thumbnailUrl, contentDescription = "" ) } else { Image( modifier = Modifier .size(90.dp) .clip(RoundedCornerShape(10.dp)), painter = painterResource(id = com.tinytap.R.drawable.tinytap), contentDescription = "" ) } Image( modifier = Modifier .size(25.dp) .padding(top = 10.dp) .alpha(if (model.isCurrentPostOfInterest) 1f else 0f), painter = painterResource(id = com.tinytap.R.drawable.post_of_interest), contentDescription = null ) Text( modifier = Modifier.padding(top = 10.dp), fontSize = 16.sp, color = Color.White, text = model.title, maxLines = 1, overflow = TextOverflow.Ellipsis ) Text( text = model.author, fontSize = 12.sp, color = Color.LightGray, maxLines = 1, overflow = TextOverflow.Ellipsis ) } } [/code] Проблема в том, что я использую фиксированный размер как для изображения, так и для AsyncImage, но иногда API дает мне очень широкие изображения, из-за чего в пользовательском интерфейсе возникает следующая несогласованность: [img]https://i.sstatic.net/U2oNN.jpg[/img]
[img]https://i.sstatic.net/qXLW4.jpg[/img]
Как я могу сделать так, чтобы мои изображения отображались точно так же? Я пробовал использовать все виды кадрирования, но результат испортил мое изображение.