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

Загрузите образ с диска.

Используйте компонент 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() для загрузки Bitmap-файла. Для получения дополнительной информации об ImageBitmap см. раздел «ImageBitmap против ImageVector» .

Поддержка рисования

В настоящее время painterResource поддерживает следующие типы изображений:

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

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

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

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

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

{% verbatim %} {% endverbatim %} {% verbatim %} {% endverbatim %}