Wczytuję obrazy

Wczytywanie obrazu z dysku

Aby wyświetlić grafikę na ekranie, użyj komponentu Image. Aby wczytać obraz (np. PNG, JPEG, WEBP) lub zasób wektorowy z dysku, użyj interfejsu API painterResource z odwołaniem do obrazu. Nie musisz znać typu zasobu. Wystarczy, że użyjesz painterResource w Image lub paint modyfikatorach.

DrawScope:

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

Aby zapewnić dostępność aplikacji, podaj contentDescription dla elementów wizualnych na ekranie. TalkBack odczytuje opis treści, dlatego musisz się upewnić, że tekst jest zrozumiały, gdy jest odczytywany na głos i tłumaczony. W powyższym przykładzie do wczytania przetłumaczonego opisu treści z pliku strings.xml użyto stringResource(). Jeśli element wizualny na ekranie służy wyłącznie do dekoracji, ustaw contentDescription na null, aby czytnik ekranu go ignorował.

Jeśli potrzebujesz funkcji specyficznych dla ImageBitmap na niższym poziomie, możesz użyć ImageBitmap.imageResource() do wczytania mapy bitowej. Więcej informacji o ImageBitmap znajdziesz w sekcji ImageBitmap a ImageVector.

Obsługa obiektów rysowalnych

painterResource obsługuje obecnie te typy elementów rysowalnych:

Wczytywanie obrazu z internetu

Aby wczytać obraz z internetu, możesz skorzystać z kilku bibliotek innych firm. Biblioteki do wczytywania obrazów wykonują za Ciebie większość pracy. Obsługują zarówno buforowanie (dzięki czemu nie musisz pobierać obrazu wielokrotnie), jak i logikę sieciową, aby pobrać obraz i wyświetlić go na ekranie.

Aby na przykład wczytać obraz za pomocą Coil z Instacart, dodaj bibliotekę do pliku Gradle i użyj AsyncImage, aby wczytać obraz z adresu URL:

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

Biblioteka do wczytywania obrazów oparta na korutynach Kotlin (Instacart).

Szybka i wydajna biblioteka do wczytywania obrazów na Androida, która koncentruje się na płynnym przewijaniu (Google).

Dodatkowe materiały