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

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

Используйте Image composable для отображения графики на экране. Чтобы загрузить изображение (например: 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. Для получения дополнительной информации об ImageBitmaps прочтите раздел 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 %}