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, launcher automatycznie identyfikuje tło widżetu i przycina je, aby uzyskać zaokrąglone rogi.
W takim przypadku widżet może nie wyświetlać się prawidłowo w jednym z tych przypadków:
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. Dotyczy to przezroczystego tła, pustych widoków lub układów oraz innych rodzajów specjalnych teł, które nie są podatne na przycinanie. 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 Rzut oka na widok wewnątrz widżetu.
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 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ść konfiguracji za pomocą atrybutu configure
w appwidget-provider
, gospodarz widżetu aplikacji uruchomi tę aktywność natychmiast po dodaniu widżetu przez użytkownika do ekranu głównego.
Android 12 zawiera nowe opcje, które umożliwiają lepsze konfigurowanie aplikacji przez użytkowników. Więcej informacji znajdziesz w artykule Umożliwienie użytkownikom 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 zależnego od stanu.
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żetu oraz podają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. Więcej informacji znajdziesz w artykułach Dodawanie dostępnych do skalowania podglądów widżetów do selektora widżetów i Dodawanie opisu widżetu.
Włącz płynniejsze przejścia
Od Androida 12 uruchamianie aplikacji z widżetu jest płynniejsze. 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, gdy używano funkcji ListView
, konieczne było zaimplementowanie i ogłoszenie funkcji RemoteViewsService
, aby zwracała 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 wykonywania. Pełną listę dodanych metod znajdziesz w dokumentacji RemoteViews
interfejsu API.
Więcej informacji znajdziesz w artykule Używanie modyfikacji w czasie wykonywania koduRemoteViews
.