Android 12 (poziom API 31) wprowadza zmiany w dotychczasowym interfejsie API widżetów, aby zwiększyć wygodę użytkowników i deweloperów na platformie i w programach uruchamiających. Z tego przewodnika dowiesz się, jak zadbać o to, aby widżet był zgodny z Androidem 12. Znajdziesz w nim też informacje o interfejsach API służących do odświeżania istniejącego widżetu.
Sprawdź, czy 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, program uruchamiający automatycznie rozpoznaje tło widżetu i przycina je, aby miało zaokrąglone rogi.
W takim przypadku widżet może nie wyświetlać się prawidłowo w żadnej z tych sytuacji:
Widżet zawiera treści w rogach: może to spowodować przycięcie niektórych treści w obszarze rogu.
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 specjalnego tła, które nie jest podatne na przycinanie. System może nie być w stanie prawidłowo zidentyfikować tła do użycia.
Jeśli ta zmiana wpłynie na Twój widżet, zalecamy odświeżenie go za pomocą zaokrąglonych rogów (zgodnie z opisem w następnej sekcji), aby zapewnić jego prawidłowe wyświetlanie.
Korzystanie z próbki
Aby zobaczyć, jak działają te interfejsy API, zapoznaj się z naszym przykładowym widżetem listy.
Implementowanie zaokrąglonych narożników
W Androidzie 12 wprowadziliśmy parametry systemowe system_app_widget_background_radius i system_app_widget_inner_radius, które umożliwiają ustawianie promieni zaokrąglonych rogów widżetu.
1 Róg widżetu.
2 Róg widoku w widżecie.
Więcej informacji znajdziesz w sekcji Implementowanie zaokrąglonych rogów.
Dodawanie motywów urządzeń
Od Androida 12 widżet może używać kolorów motywu urządzenia w przypadku przycisków, tła i innych komponentów, w tym motywów jasnych i ciemnych. Umożliwia to płynniejsze przejścia i spójność różnych widżetów.
Więcej informacji znajdziesz w artykule Dodawanie motywów urządzenia.
Łatwiejsze personalizowanie widżetów
Jeśli określisz działanie konfiguracyjne z atrybutem configure o wartości appwidget-provider, host widżetu aplikacji uruchomi to działanie natychmiast po dodaniu widżetu przez użytkownika do ekranu głównego.
Android 12 wprowadza nowe opcje, które pozwalają zapewnić użytkownikom lepsze wrażenia podczas konfigurowania. Więcej informacji znajdziesz w artykule Umożliwianie użytkownikom konfigurowania widżetów.
Dodawanie nowych przycisków złożonych
Android 12 wprowadza nowe funkcje obsługi zachowań stanowych za pomocą tych komponentów:
Widżet nadal nie ma stanu. Aplikacja musi przechowywać stan i rejestrować zdarzenia zmiany stanu.
Więcej informacji znajdziesz w sekcji Obsługa zachowania stanowego.
Korzystanie z ulepszonych interfejsów API do określania rozmiarów i układów widżetów
Od Androida 12 możesz korzystać z bardziej precyzyjnych atrybutów rozmiaru i bardziej elastycznych układów, określając dodatkowe ograniczenia rozmiaru widżetu oraz udostępniając układy elastyczne i dokładne.
Więcej informacji znajdziesz w artykule Zapewnianie elastycznych układów widżetów.
Ulepszanie selektora widżetów w aplikacji
Android 12 umożliwia ulepszenie selektora widżetów w aplikacji przez dodanie dynamicznych podglądów widżetów i ich opisów. Więcej informacji znajdziesz w artykułach Dodawanie skalowalnych podglądów widżetów do selektora widżetów i Dodawanie opisu widżetu.
Włączanie płynniejszych przejść
Od Androida 12 programy uruchamiające zapewniają płynniejsze przejście, gdy użytkownik uruchamia aplikację z widżetu. Szczegółowe informacje znajdziesz w artykule Włączanie płynniejszych przejść.
Używanie uproszczonych RemoteViews kolekcji
W Androidzie 12 dodaliśmy metodę
setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items), która umożliwia aplikacji przekazywanie kolekcji bezpośrednio podczas wypełniania elementu
ListView. Wcześniej podczas korzystania z funkcji ListView konieczne było wdrożenie i zadeklarowanie funkcji RemoteViewsService, aby zwracać wartość RemoteViewsFactory.
Więcej informacji znajdziesz w artykule Korzystanie z kolekcji RemoteViews.
Używanie modyfikacji w czasie działania RemoteViews
Android 12 dodaje kilka RemoteViews metod, które umożliwiają modyfikowanie atrybutów RemoteViews w czasie działania. Pełną listę dodanych metod znajdziesz w RemoteViewsdokumentacji API.
Więcej informacji znajdziesz w sekcji Używanie modyfikacji w czasie działaniaRemoteViews.