Android 12 (poziom interfejsu API 31) odświeża istniejące interfejsy API widgetów, aby poprawić wrażenia użytkowników i deweloperów na platformie oraz w wyrzutniach. Z tego przewodnika dowiesz się, jak zapewnić zgodność widżetu z Androidem 12. Możesz też skorzystać z tego przewodnika jako odniesienia do interfejsów API służących do odświeżania dotychczasowego widżetu.
Upewnij się, że widżet jest zgodny z Androidem 12
Widżety w Androidzie 12 mają zaokrąglone rogi. Gdy widżet aplikacji jest używany na urządzeniu z Androidem 12 lub nowszym, Menu z aplikacjami automatycznie identyfikuje tło widżetu i przycina je tak, by miały zaokrąglone rogi.
W takim przypadku widżet może wyświetlać się nieprawidłowo w następujących sytuacjach:
Widżet zawiera treści w rogu: może to spowodować przycięcie części treści w tym obszarze.
Widżet używa tła, które nie jest podatne na przycinanie. Obejmuje to przezroczyste tło, puste widoki lub układy oraz wszelkie inne specjalne tło, które nie są podatne na przycięcie. System może nie być w stanie poprawnie zidentyfikować tła do użycia.
Jeśli ta zmiana wpłynie na Twój widget, zalecamy jego odświeżenie z zaokrąglonymi rogami (jak opisano w następnej sekcji), aby mieć pewność, że będzie on wyświetlany prawidłowo.
Korzystanie z próbki
Aby zobaczyć wszystkie te interfejsy API w działaniu, skorzystaj z przykładowego widżetu listy.
Zastosowanie zaokrąglonych narożników
Android 12 wprowadza parametry systemowe system_app_widget_background_radius
i system_app_widget_inner_radius
, które umożliwiają ustawienie promienia zaokrąglonych rogów widgeta.
1 Róg widżetu.
2 Róg widoku w widżecie.
Więcej informacji znajdziesz w artykule Stosowanie zaokrąglonych narożników.
Dodawanie motywów urządzeń
Od Androida 12 widżet może używać kolorów motywu urządzenia do przycisków, tła i innych komponentów, w tym do motywów jasnych i ciemnych. Dzięki temu możesz płynnie przechodzić między różnymi widżetami i utrzymywać spójność.
Więcej informacji znajdziesz w artykule Dodawanie motywów urządzeń.
Łatwiejsza personalizacja widżetów
Jeśli określisz aktywność związaną z konfiguracją z atrybutem configure
o wartości appwidget-provider
, host widżetu aplikacji uruchomi tę aktywność natychmiast po tym, jak użytkownik doda widżet do swojego ekranu głównego.
Android 12 zawiera nowe opcje, które umożliwiają lepsze konfigurowanie aplikacji przez użytkowników. Szczegółowe informacje znajdziesz w artykule Włączanie przez użytkowników konfigurowania widżetów.
Dodawanie nowych złożonych przycisków
Android 12 dodaje nową obsługę zachowania zależnego od stanu za pomocą tych istniejących komponentów:
Widżet nadal nie ma stanu. Aplikacja musi przechowywać stan i rejestrować zdarzenia zmiany stanu.
Więcej informacji znajdziesz w artykule Obsługa zachowania stanowego.
Używanie ulepszonych interfejsów API do obsługi rozmiarów i układów widżetów
Od Androida 12 możesz korzystać z bardziej dopracowanych atrybutów rozmiaru i bardziej elastycznych układów, określając dodatkowe ograniczenia rozmiaru widżetów oraz udostępniając układy responsywne i dokładne.
Szczegółowe informacje znajdziesz w artykule Tworzenie elastycznych układów widgetów.
Ulepszanie funkcji selektora widżetów w aplikacji
Android 12 umożliwia ulepszenie funkcji wyboru widżetów w aplikacji przez dodanie dynamicznych podglądów i opisów widżetów. Szczegółowe informacje znajdziesz w artykułach Dodawanie skalowalnych podglądów widżetów do selektora widżetów oraz Dodawanie opisu widżetu.
Włącz płynniejsze przejścia
Od Androida 12 uruchamianie aplikacji z widżetu zapewnia płynniejsze przejście. Szczegółowe informacje znajdziesz w artykule Włączanie płynniejszych przejść.
Używanie uproszczonych kolekcji RemoteViews
Android 12 dodaje metodę setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items)
, która umożliwia aplikacji przekazywanie kolekcji bezpośrednio podczas wypełniania ListView
. Wcześniej, podczas korzystania z funkcji ListView
, konieczne było zaimplementowanie i ogłoszenie funkcji RemoteViewsService
, aby zwrócić wartość RemoteViewsFactory
.
Więcej informacji znajdziesz w artykule Używanie kolekcji RemoteViews
.
Używanie modyfikacji RemoteViews
w czasie wykonywania
Android 12 dodaje kilka metod RemoteViews
, które umożliwiają modyfikowanie atrybutów RemoteViews
w czasie działania aplikacji. Pełną listę dodanych metod znajdziesz w dokumentacji RemoteViews
interfejsu API.
Więcej informacji znajdziesz w artykule na temat modyfikowania środowiska wykonawczego RemoteViews
.