Wczytuję obrazy

Wczytaj obraz z dysku

Użyj funkcji Image kompozycyjnej, aby wyświetlać grafikę na ekranie. Aby wczytać z dysku obraz (np. PNG, JPEG, WEBP) lub zasób wektorowy, użyj interfejsu API painterResource wraz z informacjami o obrazie. Nie musisz znać typu zasobu. Wystarczy, że użyjesz painterResource w modyfikatorach Image lub paint.

DrawScope:

Image(
    painter = painterResource(id = R.drawable.dog),
    contentDescription = stringResource(id = R.string.dog_content_description)
)

Aby mieć pewność, że aplikacja jest dostępna, podaj contentDescription dla elementów wizualnych widocznych na ekranie. TalkBack odczytuje opis treści, więc musisz zadbać o to, żeby tekst został odczytany na głos i przetłumaczony. W powyższym przykładzie parametr stringResource() służy do wczytania przetłumaczonego opisu treści z pliku strings.xml. Jeśli element wizualny na ekranie służy tylko do dekoracji wizualnej, ustaw contentDescription na null, aby czytnik ekranu go ignorował.

Jeśli potrzebujesz konkretnych funkcji ImageBitmap niższego poziomu, możesz użyć ImageBitmap.imageResource(), aby wczytać mapę bitową. Więcej informacji na temat technologii ImageBitmaps znajdziesz w sekcji ImageBitmap a ImageVector.

Pomoc w formie rysunkowej

painterResource obsługuje obecnie te typy rysowalnych:

Wczytaj obraz z internetu

Jeśli chcesz wczytać obraz z internetu, możesz skorzystać z kilku bibliotek zewnętrznych, które pomogą Ci w tym procesie. Biblioteki wczytywania obrazów wykonują za Ciebie wiele zadań. Obsługują one pamięć podręczną (dzięki czemu nie pobierasz obrazu wiele razy) oraz logikę sieciową, która pobiera obraz i wyświetla go na ekranie.

Jeśli np. chcesz wczytać obraz za pomocą metody Coil z Instacart, dodaj bibliotekę do pliku Gradle i użyj polecenia AsyncImage, by wczytać obraz z adresu URL:

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

Biblioteka wczytywania obrazów wspierana przez Kotlin Coroutines (Instacart).

Szybka i wydajna biblioteka do wczytywania obrazów na Androida koncentrująca się na płynnym przewijaniu (Google).