Загрузить изображение с диска
Используйте компонуемый элемент 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 озвучивает описание контента, поэтому убедитесь, что текст будет понятен при озвучивании и переводе. В приведенном выше примере для загрузки переведенного описания контента из файла strings.xml используется stringResource(). Если визуальный элемент на экране предназначен только для украшения, задайте для атрибута contentDescription значение null, чтобы программа чтения с экрана игнорировала его.
Если вам нужна более низкоуровневая функция ImageBitmap, вы можете использовать ImageBitmap.imageResource() для загрузки растрового изображения. Подробнее об 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
- Графика в режиме создания письма