Wczytuję obrazy

Wczytywanie obrazu z dysku

Użyj komponentu Image, aby wyświetlić grafikę na ekranie. 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 komponentu. Wystarczy, że użyjesz modyfikatorów painterResource w przypadku modyfikatorów Image lub paint.

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, więc musisz zadbać o to, aby tekst miał sens, gdy jest odczytywany na głos i tłumaczony. W powyższym przykładzie znak stringResource() służy do wczytywania przetłumaczonego opisu treści z pliku strings.xml. Jeśli element wizualny na ekranie służy wyłącznie do dekoracji, ustaw wartość contentDescription na null, aby czytnik ekranu go zignorował.

Jeśli potrzebujesz funkcji na niższym poziomie ImageBitmap, możesz użyć ImageBitmap.imageResource(), aby wczytać bitmapę. Więcej informacji o obiektach ImageBitmap znajdziesz w sekcji ImageBitmap a ImageVector.

Obsługa obiektów rysowalnych

painterResource obsługuje te typy obiektów rysowalnych:

Wczytywanie obrazu z internetu

Aby wczytać obraz z internetu, możesz skorzystać z kilku bibliotek innych firm, które pomogą Ci w tym procesie. Biblioteki wczytywania obrazów wykonują za Ciebie większość pracy. Obsługują zarówno buforowanie (aby nie pobierać obrazu wielokrotnie), jak i logikę sieciową, która umożliwia pobranie obrazu i wyświetlenie go na ekranie.

Aby na przykład wczytać obraz z 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 wczytywania obrazów oparta na korutynach Kotlin (Instacart).

Szybka i wydajna biblioteka do wczytywania obrazów na Androidzie, która zapewnia płynne przewijanie (Google).

Dodatkowe materiały