Wczytuję obrazy

Wczytywanie obrazu z dysku

Użyj funkcji kompozycyjnej Image, aby wyświetlić grafikę na ekranie. Aby wczytać z dysku obraz (np. PNG, JPEG, WEBP) lub zasób wektorowy, użyj interfejsu API painterResource z odwołaniem do obrazu. Nie musisz znać typu komponentu. Wystarczy, że użyjesz modyfikatorów painterResourceImage 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 był zrozumiały po odczytaniu na głos i przetłumaczeniu. W przykładzie powyżej tag stringResource() służy do wczytywania opisu przetłumaczonych 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 ignorował.

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

Obsługa elementów rysowalnych

painterResource obsługuje obecnie te typy elementów do rysowania:

Wczytywanie obrazu z internetu

Aby wczytać obraz z internetu, możesz skorzystać z kilku bibliotek innych firm, które ułatwią Ci ten proces. Biblioteki 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 wczytywania obrazów oparta na Kotlin Coroutines (Instacart).

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

Dodatkowe materiały