Загрузите образ с диска
Используйте компонуемое 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()
для загрузки растрового изображения. Дополнительные сведения о ImageBitmap см. в разделе ImageBitmap и ImageVector .
Поддержка рисования
painterResource
в настоящее время поддерживает следующие типы рисования:
-
AnimatedVectorDrawable
-
BitmapDrawable
(PNG, JPG, WEBP) -
ColorDrawable
-
VectorDrawable
Загрузите изображение из Интернета
Чтобы загрузить изображение из Интернета, существует несколько сторонних библиотек, которые помогут вам справиться с этим процессом. Библиотеки загрузки изображений делают за вас большую часть тяжелой работы; они обрабатывают как кэширование (чтобы вы не загружали изображение несколько раз), так и сетевую логику для загрузки изображения и отображения его на экране.
Например, чтобы загрузить изображение с помощью Coil из Instacart, добавьте библиотеку в файл Gradle и используйте AsyncImage
для загрузки изображения по URL-адресу:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
Рекомендуется для вас
- Примечание. Текст ссылки отображается, когда JavaScript отключен.
- Ресурсы в Compose
- Доступность в Compose
- Графика в Compose