Как загрузить изображение с диска
Используйте composable-функцию Image, чтобы показать изображение на экране. Чтобы загрузить изображение (например, PNG, JPEG, WEBP) или векторный ресурс с диска, используйте API painterResource со ссылкой на изображение. Вам не нужно знать тип объекта, просто используйте painterResource в модификаторах Image или paint.
DrawScope:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
Чтобы обеспечить доступность приложения, добавьте contentDescription для визуальных элементов на экране. TalkBack озвучивает описание контента, поэтому текст должен быть понятным при чтении вслух и переводе. В примере выше stringResource() используется для загрузки переведенного описания контента из файла strings.xml. Если визуальный элемент на экране используется только для декоративных целей, задайте для contentDescription значение null, чтобы программа чтения с экрана игнорировала его.
Если вам нужны функции более низкого уровня, относящиеся к ImageBitmap, вы можете использовать ImageBitmap.imageResource() для загрузки Bitmap. Дополнительную информацию об ImageBitmap можно найти в разделе ImageBitmap и ImageVector.
Поддержка Drawable
painterResource поддерживает следующие типы объектов Drawable:
AnimatedVectorDrawableBitmapDrawable(PNG, JPG, WEBP)ColorDrawableVectorDrawable
Как загрузить изображение из интернета
Чтобы загрузить изображение из интернета, можно использовать сторонние библиотеки. Библиотеки загрузки изображений выполняют за вас большую часть работы: они обрабатывают как кэширование (чтобы вы не загружали изображение несколько раз), так и сетевую логику для загрузки изображения и отображения его на экране.
Например, чтобы загрузить изображение с помощью Coil из Instacart, добавьте библиотеку в файл gradle и используйте AsyncImage для загрузки изображения по URL:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
Спирали
Библиотека загрузки изображений на основе сопрограмм Kotlin (Instacart).
Glide
Быстрая и эффективная библиотека для загрузки изображений на Android, которая обеспечивает плавную прокрутку (Google).
Дополнительные ресурсы
Рекомендуем
- Примечание. Текст ссылки показывается, когда JavaScript отключен.
- Ресурсы в Compose
- Специальные возможности в Compose
- Графика в Compose