Загрузите GIF с URL в JetPack Compose с использованием катушкиAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Загрузите GIF с URL в JetPack Compose с использованием катушки

Сообщение Anonymous »

Я хочу показать GIF -файлы из URL -адресов в моем приложении JetPack Compose. Из того, что я вижу, катушка - это единственный способ сделать это в настоящее время.
Похоже, что метод Imagerequest.builder (контекст) .data () < /code> принимает httpurl < /code> тип данных, однако я не получил его для работы.
это даже возможно? Если нет, есть ли другой способ сделать это? Я новичок в составлении, так что это может иметь простое решение. Я не получаю никаких ошибок, но сетка не появляется. Я также попробовал очень простую реализацию asyncimage (), но это тоже не сработало. < /P>
Вот мой код: < /p>
@Composable
fun GifGrid(
modifier: Modifier = Modifier,
gifList: List
) {
val context = LocalContext.current
val imageLoader = ImageLoader.Builder(context)
.components {
if (SDK_INT >= 28) {
add(ImageDecoderDecoder.Factory())
} else {
add(GifDecoder.Factory())
}
}
.build()

LazyVerticalStaggeredGrid(
columns = StaggeredGridCells.Fixed(3),
modifier = modifier,
verticalItemSpacing = 12.dp,
horizontalArrangement = Arrangement.spacedBy(12.dp),
contentPadding = PaddingValues(vertical = 8.dp),
content = {
items(gifList) { item ->
Image(
painter = rememberAsyncImagePainter(
ImageRequest.Builder(context).data(item.url.toHttpUrl()).apply(block = {
size(Size.ORIGINAL)
}).build(), imageLoader = imageLoader
),
contentDescription = null,
modifier = Modifier.clip(
RoundedCornerShape(6.dp),
)
)
}
}
)
}
< /code>
класс данных Giphyitem: < /p>
data class GiphyItem(
val id: String = "",
val url: String = ""
)


Подробнее здесь: https://stackoverflow.com/questions/772 ... using-coil
Ответить

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

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

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

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

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