Ładowanie obrazu z dysku
Aby wyświetlić grafikę na ekranie, użyj funkcji kompozycyjnej Image
. Aby wczytać z dysku obraz (np. PNG, JPEG, WEBP) lub zasób wektorowy, użyj interfejsu API painterResource
wraz z odwołaniem do obrazu. Nie musisz znać typu zasobu. Wystarczy, że użyjesz wartości 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 Twoja aplikacja jest dostępna, podaj contentDescription
dla elementów wizualnych na ekranie. TalkBack odczytuje opis treści, więc musisz zadbać o to, aby tekst odczytywany na głos i przetłumaczony miał dla Ciebie odpowiednie znaczenie. W tym przykładzie element 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 funkcji ImageBitmap
na niższym poziomie, możesz użyć funkcji ImageBitmap.imageResource()
do załadowania pliku Bitmap. Więcej informacji o obrazach typu ImageBitmap znajdziesz w sekcji ImageBitmap a ImageVector.
Obsługa rysowania
painterResource
obsługuje obecnie te typy obiektów do rysowania:
AnimatedVectorDrawable
BitmapDrawable
(PNG, JPG, WEBP)ColorDrawable
VectorDrawable
Wczytywanie obrazu z internetu
Obraz możesz wczytać z internetu, jeśli możesz skorzystać z kilku bibliotek zewnętrznych. Biblioteki do wczytywania obrazów wykonują za Ciebie wiele ciężkiej pracy. Zajmują się zarówno buforowaniem (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ą narzędzia Coil z Instacart, dodaj bibliotekę do pliku Gradle i użyj AsyncImage
do wczytywania obrazu z adresu URL:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
Cewka
Biblioteka do wczytywania obrazów obsługiwana przez Kotlin Coroutines (Instacart).
Glide
Szybka i wydajna biblioteka do ładowania obrazów na Androida, która zapewnia płynne przewijanie (Google).
Polecane dla Ciebie
- Uwaga: tekst linku wyświetla się, gdy JavaScript jest wyłączony
- Zasoby w funkcji Compose
- Ułatwienia dostępu w edytorze
- Grafika w Compose