Android 12 (poziom interfejsu API 31) aktualizuje obecny interfejs API widżetów, aby zwiększyć wygodę użytkowników i programistów korzystających z platformy i programów uruchamiających. Z tego przewodnika dowiesz się, jak sprawdzić, czy Twój widżet jest zgodny z Androidem 12. Znajdziesz w nim też informacje na temat interfejsów 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 jego rogi były zaokrąglone.
W takiej sytuacji widżet może nie wyświetlać się prawidłowo w jednym z tych przypadków:
Widżet zawiera treści w narożnikach: może to spowodować przycięcie niektórych treści w narożniku.
Widżet używa tła, które nie jest podatne na przycięcie. Dotyczy to przezroczystego tła, pustych widoków i układów oraz innych rodzajów specjalnych tła, które nie są podatne na przycięcie. System może nie być w stanie poprawnie określić tła do użycia.
Jeśli ta zmiana będzie miała wpływ na widżet, zalecamy odświeżenie go z zaokrąglonymi rogami (zgodnie z opisem w kolejnej sekcji), aby mieć pewność, że będzie wyświetlał się prawidłowo.
Skorzystaj z przykładu
Aby zobaczyć, jak działają te interfejsy API, wypróbuj nasz przykładowy widżet z listą.
Stosowanie zaokrąglonych rogów
Android 12 wprowadza parametry systemowe system_app_widget_background_radius
i system_app_widget_inner_radius
, aby ustawić promienie zaokrąglonych rogów widżetu.
1 Króg widżetu.
2 Króg widoku w widżecie.
Szczegółowe informacje znajdziesz w artykule Stosowanie zaokrąglonych rogów.
Dodaj motywy urządzenia
Począwszy 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 jasnych i ciemnych motywów. Zapewnia to płynniejsze przejścia i spójność między różnymi widżetami.
Więcej informacji znajdziesz w artykule Dodawanie motywów urządzenia.
Łatwiejsze personalizację widżetów
Jeśli określisz działanie konfiguracji za pomocą atrybutu configure
o wartości appwidget-provider
, host widżetu aplikacji uruchamia tę aktywność natychmiast po dodaniu widżetu do ekranu głównego przez użytkownika.
Android 12 dodaje nowe opcje, aby zapewnić użytkownikom lepsze wrażenia podczas konfiguracji. Więcej informacji znajdziesz w artykule Zezwalanie użytkownikom na konfigurowanie widżetów.
Dodaj nowe przyciski złożone
Android 12 dodaje obsługę zachowania stanowego przy użyciu tych istniejących komponentów:
Widżet nadal jest bezstanowy. Aplikacja musi przechowywać stan i rejestrować zdarzenia zmiany stanu.
Więcej informacji znajdziesz w artykule na temat obsługi zachowania stanowego.
Używanie ulepszonych interfejsów API do rozmiarów i układów widżetów
Począwszy 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żetów oraz udostępniając elastyczne układy i dokładne układy.
Więcej informacji znajdziesz w artykule Dodawanie elastycznych układów widżetów.
Usprawnij selektor widżetów aplikacji
Android 12 umożliwia ulepszenie selektora widżetów aplikacji przez dodanie dynamicznych podglądów widżetów i opisów widżetów. Więcej informacji 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
Począwszy od Androida 12 program uruchamiający zapewnia płynniejsze przejście, gdy użytkownik uruchamia aplikację z widżetu. Więcej informacji znajdziesz w sekcji Włączanie płynniejszego przejścia.
Użyj uproszczonych kolekcji w usłudze RemoteViews
Android 12 dodaje metodę setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items)
, która umożliwia aplikacji przekazywanie kolekcji bezpośrednio podczas wypełniania właściwości ListView
. Wcześniej podczas korzystania z funkcji ListView
trzeba było zaimplementować i zadeklarować właściwość RemoteViewsService
, która zwraca RemoteViewsFactory
.
Więcej informacji znajdziesz w artykule o używaniu kolekcji RemoteViews
.
Użyj modyfikacji środowiska wykonawczego RemoteViews
Android 12 dodaje kilka metod RemoteViews
, które umożliwiają modyfikowanie atrybutów RemoteViews
w czasie działania. Pełną listę dodanych metod znajdziesz w dokumentacji interfejsu API RemoteViews
.
Więcej informacji znajdziesz w artykule na temat modyfikowania środowiska wykonawczego RemoteViews
.