Ładowanie obrazu z dysku
Aby wyświetlić grafikę na ekranie, użyj komponentu Image
. Aby załadować 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 w modyfikatorach Image
lub paint
użyjesz wartości painterResource
.
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. Funkcja TalkBack odczytuje opis treści, więc musisz się upewnić, że tekst ma sens, gdy zostanie odczytany na głos i przetłumaczony. 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 wyłącznie do ozdoby, ustaw contentDescription
na null
, aby czytnik ekranu go zignorował.
Jeśli potrzebujesz funkcji ImageBitmap
na niższym poziomie, możesz użyć funkcji ImageBitmap.imageResource()
do załadowania bitmapy. 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
Aby załadować obraz z internetu, możesz skorzystać z kilku bibliotek innych firm. Biblioteki do ładowania 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 załadować obraz z użyciem komponentu Coil z Instacart, dodaj bibliotekę do pliku gradle i użyj AsyncImage
, aby załadować obraz 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 ładowania obrazów na Androida, która zapewnia płynne przewijanie (Google).
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy obsługa JavaScript jest wyłączona
- Zasoby w sekcji Tworzenie
- Ułatwienia dostępu w edytorze
- Grafika w sekcji Nowy post