Загрузка изображений

Загрузить изображение с диска

Используйте компонуемый объект 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 поддерживает следующие типы рисунков:

Загрузить изображение из интернета

Для загрузки изображения из интернета существует несколько сторонних библиотек, которые помогут вам справиться с этим процессом. Библиотеки загрузки изображений берут на себя большую часть работы: они отвечают за кэширование (чтобы вам не приходилось загружать изображение несколько раз) и сетевую логику для загрузки изображения и его отображения на экране.

Например, чтобы загрузить изображение с помощью Coil из Instacart, добавьте библиотеку в свой файл Gradle и используйте AsyncImage для загрузки изображения с URL-адреса:

AsyncImage(
    model = "https://example.com/image.jpg",
    contentDescription = "Translated description of what the image contains"
)

Дополнительные ресурсы

{% дословно %} {% endverbatim %} {% дословно %} {% endverbatim %}