Сохранять размер изображений ошибок, если изображения не удалось загрузить с помощью загрузчика изображений.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Сохранять размер изображений ошибок, если изображения не удалось загрузить с помощью загрузчика изображений.

Сообщение Anonymous »

Я использую KamelImage для загрузки изображений в LazyRow. Однако, если изображения не удалось загрузить, я покажу изображение с ошибкой. Однако проблема в том, что это изображение ошибки никогда не бывает той же высоты, что и изображения успеха.
Можно ли как-нибудь сделать их одинаковыми, чтобы высота была одинаковой для всех изображений?LazyRow

Код: Выделить всё

LazyRow(
state = rememberLazyListState(),
modifier = Modifier.fillMaxWidth().padding(horizontal = 8.dp),
horizontalArrangement = Arrangement.spacedBy(8.dp),
verticalAlignment = Alignment.CenterVertically
) {
items(
items = credits.cast.take(9),
key = { cast ->
cast.id
}
) { cast ->
CastItem(
cast = cast
) {
println("ID is $it")
}
}

item {
TextButton(
onClick = {}
) {
Text(
text = "View More ->", fontSize = 18.sp, color = Color.Black,
textAlign = TextAlign.Center)
}
}
}
Это элементы в LazyRow

Код: Выделить всё

fun CastItem(
cast: Cast,
modifier: Modifier = Modifier,
onCastClicked: (id: Int) -> Unit
) {

Card(
modifier = modifier
.fillMaxHeight()
.clickable {
onCastClicked(cast.id)
},
elevation = 2.dp
) {
Column(
modifier = Modifier.padding(top = 4.dp, bottom = 10.dp, start = 6.dp, end = 6.dp),
verticalArrangement = Arrangement.Top,
) {
KamelImage(
resource = { asyncPainterResource(data = cast.profilePath) },
contentDescription = cast.name,
modifier = Modifier
.aspectRatio(16f/9f)
.align(Alignment.CenterHorizontally),
contentScale = ContentScale.Crop,
contentAlignment = Alignment.Center,
onLoading = { _ ->
CircularProgressIndicator(
modifier = Modifier.align(Alignment.Center),
color = Color.Blue
)
},
onFailure = {
Image(
modifier = Modifier.fillMaxSize(),
contentScale = ContentScale.Crop,
painter = painterResource(Res.drawable.person),
contentDescription = "Fall back image"
)
it.printStackTrace()
},
)

Spacer(modifier = Modifier.height(6.dp))

Text(
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Start,
text = cast.name,
fontWeight = FontWeight.Bold,
fontSize = 14.sp
)

Text(
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Start,
text = cast.character,
fontSize = 14.sp
)
}
}
}
Изображение


Подробнее здесь: https://stackoverflow.com/questions/791 ... mage-loade
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»