Ulepszenia widżetów Androida 12

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 sprawdzić, czy Twój widżet jest zgodny z Androidem 12, a także jako przewodnik po interfejsach API odświeżając istniejący widżet.

Tekst alternatywny

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 następujące warunki:

  • 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 podlega przycięciu. 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 będzie miała wpływ na Twój widżet, zalecamy odświeżenie go za pomocą zaokrąglonych rogów (jak opisano w dalszej sekcji), aby zapewnić bez obaw.

Skorzystaj z próbki

Aby zobaczyć, jak działają wszystkie te interfejsy API, zapoznaj się z przykładowym widżetem listy.

Stosuj zaokrąglone rogi.

Android 12 wprowadza parametry systemowe system_app_widget_background_radiussystem_app_widget_inner_radius, które umożliwiają ustawienie promienia zaokrąglonych rogów widgeta.

Widżet pogody w Tokio
Rysunek 1. Zaokrąglone rogi widżetu i widok wewnątrz widżetu

1 Róg widżetu.

2 Rzut oka na widok wewnątrz widżetu.

Więcej informacji znajdziesz w sekcji Stosowanie zaokrąglonych rogów.

Dodaj motywy urządzenia

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. Zapewnia to płynniejsze przejścia i spójność różnych widżetów.

Więcej informacji znajdziesz w artykule Dodawanie motywów urządzeń.

Widżet w trybie jasnym
Rys. 2. Widżet w jasnym motywie
Widgety w ciemnym motywie
Rysunek 3. Widżet w ciemnym motywie

Ł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 uruchamia tę aktywność natychmiast po dodaniu przez użytkownika na ekranie głównym.

Android 12 dodaje nowe opcje, aby zapewnić użytkownikom dla użytkowników. Patrz: Umożliwianie użytkownikom konfigurowania ustawień widżety.

Dodawanie nowych przycisków złożonych

W Androidzie 12 dodano obsługę zachowań stanowych z użyciem funkcji następujące istniejące komponenty:

Widżet nadal nie ma stanu. Aplikacja musi przechowywać informacje o stanie i zarejestrować się w usłudze zdarzenia zmiany stanu.

Rys. 4. Przykładowy widżet z polami wyboru

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 dopracowanego rozmiaru atrybutów i bardziej elastycznych układów, dzięki możliwości określenia dodatkowych rozmiarów widżetów ograniczeń oraz dzięki zastosowaniu układów elastycznych i precyzyjnych.

Szczegółowe informacje znajdziesz w artykule Tworzenie elastycznych układów widgetów.

Usprawnij selektor widżetó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. Dla: Więcej informacji znajdziesz w sekcji Dodawanie skalowalnych podglądów widżetów do widżetu selektor i Dodaj opis dla widżet.

Włącz płynniejsze przejścia

Od Androida 12 uruchamianie aplikacji z widżetu zapewnia płynniejsze przejście. Patrz sekcja Włącz płynniejsze działanie. przejścia, aby dowiedzieć się więcej.

Używanie uproszczonych kolekcji RemoteViews

Android 12 dodaje setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) która pozwala aplikacji przekazać kolekcję bezpośrednio przy wypełnianiu pola 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 Korzystanie z 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.