Widżety są kluczowym elementem dostosowywania ekranu głównego. Możesz je traktować jako widok najważniejszych danych i funkcji aplikacji dostępnych bezpośrednio z ekranu głównego. Użytkownicy mogą przesuwać widżety po panelach na ekranie głównym i w razie potrzeby zmieniać ich rozmiar, aby dostosować ilość informacji w widżecie do swoich preferencji.
W tej dokumentacji omawiamy różne typy widżetów, które możesz tworzyć, oraz zasady ich projektowania. Informacje o tym, jak utworzyć widżet aplikacji za pomocą interfejsów Delete View API i układów XML, znajdziesz w sekcji Tworzenie prostego widżetu. Jeśli chcesz utworzyć widżet, korzystając z interfejsów API stylu Kotlin i Compose, przeczytaj artykuł Jetpack Glance.
Typy widżetów
Planując widżet, zastanów się, jaki rodzaj widżetu chcesz utworzyć. Widżety zazwyczaj należą do jednej z tych kategorii:
Widżety informacji
Widżety informacyjne wyświetlają zwykle kluczowe informacje i śledzą, jak te informacje zmieniają się w czasie. Przykładowe widżety informacyjne to widżety pogodowe, zegarowe i sportowe. Kliknięcie widżetów informacji zwykle uruchamia powiązaną aplikację i otwiera szczegółowy widok informacji o widżecie.
Widżety kolekcji
Widżety kolekcji specjalizują się w wyświetlaniu wielu elementów tego samego typu, np. kolekcji zdjęć z aplikacji galerii, kolekcji artykułów z aplikacji z wiadomościami czy kolekcji e-maili lub wiadomości z aplikacji komunikacyjnej. Widżety kolekcji mogą przewijać się w pionie.
Widżety kolekcji zwykle koncentrują się na tych przypadkach użycia:
- Przeglądanie kolekcji.
- otwarcie elementu kolekcji w widoku szczegółów w powiązanej aplikacji,
- interakcję z elementami, np. oznaczanie ich jako gotowych, dzięki obsłudze przycisków złożonych na Androidzie 12 (poziom interfejsu API 31).
Zarządzanie widżetami
Widżet sterowania służy przede wszystkim do wyświetlania często używanych funkcji, tak aby użytkownik mógł je uruchamiać z poziomu ekranu głównego bez konieczności otwierania aplikacji. Widżety te można traktować jako piloty do obsługi aplikacji. Widżet sterowania to widżet, który umożliwia włączanie i wyłączanie światła w domu.
Interakcja z widżetem sterującym może spowodować otwarcie powiązanego widoku szczegółowego w aplikacji. Zależy to od tego, czy funkcja widżetu sterującego generuje jakiekolwiek dane, na przykład w przypadku widżetu wyszukiwania.
Widżety hybrydowe
Niektóre widżety reprezentują 1 z typów wymienionych w poprzednich sekcjach – informacje, gromadzenie lub elementy sterujące – wiele widżetów to hybrydy łączące elementy różnych typów. Na przykład widżet odtwarzacza muzyki jest przede wszystkim widżetem sterującym, ale pokazuje użytkownikowi aktualnie odtwarzany utwór (tak jak widżet informacyjny).
Planując widżet, zaprojektuj go zgodnie z jednym z typów podstawowych i w razie potrzeby dodaj elementy innych typów.
Integracja widżetów z Asystentem Google
W odpowiedzi na polecenia głosowe użytkownika Asystent Google może wyświetlać widżet dowolnego typu. Możesz skonfigurować widżety tak, aby realizować Działania w aplikacji, co umożliwia użytkownikom otrzymywanie szybkich odpowiedzi i interaktywnych funkcji aplikacji na platformach Asystenta, takich jak Android i Android Auto. Więcej informacji o realizacji widżetów Asystenta znajdziesz w artykule Integrowanie akcji w aplikacji z widżetami na Androida.
Ograniczenia widżetu
Choć widżety można rozumieć jako „miniaplikacje”, istnieją pewne ograniczenia, które warto poznać przed zaprojektowaniem widżetu.
Gesty
Widżety znajdują się na ekranie głównym, więc muszą współistnieć z zastosowaną tam nawigacją. Ogranicza to obsługę gestów w widżecie w porównaniu z aplikacjami pełnoekranowymi. Aplikacje mogą umożliwiać użytkownikom poruszanie się między ekranami w poziomie, ale ten gest jest już wykonywany na ekranie głównym i pozwala na nawigację między ekranami.
W przypadku widżetów dostępne są tylko gesty dotyku i przesunięcia w pionie.
Żywioły
Ze względu na ograniczenia dotyczące gestów dostępnych w przypadku widżetów niektóre elementy interfejsu użytkownika korzystające z gestów ograniczonych nie są w nich dostępne. Pełną listę obsługiwanych elementów składowych i więcej informacji o ograniczeniach układu znajdziesz w artykułach Tworzenie układu widżetu i Tworzenie elastycznych układów widżetów.
Wskazówki dotyczące projektowania
Treść widżetu
Widżety to świetny sposób na przyciągnięcie użytkowników do aplikacji przez „reklamowanie” nowych i ciekawych treści, które są w niej dostępne.
Widżety (tak jak zwiastuny na pierwszej stronie gazety) pozwalają konsolidować informacje o aplikacji i prezentować bogatsze szczegóły. Widżet to „przekąska”, a aplikacja – „posiłek”. Zadbaj o to, aby aplikacja wyświetlała więcej szczegółów elementu informacji niż widżet.
Nawigacja w widżecie
Oprócz samej treści informacyjnej warto skonfigurować widżet tak, aby zawierał linki nawigacyjne do często używanych obszarów aplikacji. Pozwoli to użytkownikom szybciej wykonywać zadania i poszerzy zasięg działania aplikacji aż o ekran główny.
Linki nawigacyjne w widżetach dobrze nadają się do:
Funkcje generatywne: to funkcje, które umożliwiają użytkownikom tworzenie nowych treści w aplikacji, np. tworzenie nowego dokumentu lub nowej wiadomości.
Otwórz aplikację na najwyższym poziomie: kliknięcie elementu informacji zwykle przekierowuje użytkownika na ekran szczegółów niższego poziomu. Zapewnianie dostępu do najwyższego poziomu aplikacji zapewnia większą elastyczność nawigacji i może zastąpić dedykowany skrót do aplikacji, którego użytkownicy normalnie używają do przechodzenia do aplikacji z ekranu głównego. Jeśli wyświetlane dane są niejednoznaczne, użycie ikony aplikacji na potrzeby tej funkcji może też zwiększyć przejrzystość widżetu.
Zmiana rozmiaru widżetu
Naciśnięcie i przytrzymanie widżetu z możliwością zmiany rozmiaru, a następnie zwolnienie go włącza tryb zmiany rozmiaru. Użytkownicy mogą ustawić preferowany rozmiar za pomocą uchwytów przeciągania lub narożników widżetów.
Zmiana rozmiaru pozwala użytkownikom dostosowywać wysokość i szerokość widżetu w granicach siatki miejsc docelowych na ekranie głównym. Możesz zdecydować, czy rozmiar widżetu można dowolnie zmieniać, czy też wprowadzać ograniczenia w zakresie zmiany rozmiaru widżetu w poziomie lub w pionie. Nie musisz obsługiwać zmiany rozmiaru, jeśli widżet jest z założenia o stałym rozmiarze.
Umożliwienie użytkownikom zmiany rozmiaru widżetów ma wiele zalet:
- Mogą określić, ile informacji chcą widzieć w każdym widżecie.
- Mogą mieć większy wpływ na układ widżetów i skrótów na panelach głównych.
Zaplanuj strategię zmiany rozmiaru widżetu zgodnie z typem tworzonego widżetu. Widżety kolekcji oparte na liście lub siatce są zwykle proste, ponieważ zmiana rozmiaru widżetu powoduje rozwinięcie lub zwinięcie pionowego obszaru przewijania. Niezależnie od rozmiaru widżetu użytkownik może nadal przewijać w widoku wszystkie elementy informacji.
Widżety informacyjne wymagają bardziej praktycznego planowania, ponieważ nie można ich przewijać, a cała zawartość musi mieścić się w określonym rozmiarze. Zawartość i układ widżetu musisz dynamicznie dostosowywać do rozmiaru określonego przez użytkownika podczas operacji zmiany rozmiaru.
W poniższym przykładzie użytkownik może w 3 krokach zmienić rozmiar widżetu pogody, wyświetlając więcej informacji o pogodzie w bieżącej lokalizacji w miarę rozrastania się widżetu.
Dla każdego rozmiaru widżetu określ, ile informacji o aplikacji będzie wyświetlanych. W przypadku mniejszych elementów skup się na najważniejszych informacjach, a następnie dodawaj informacje kontekstowe w miarę rozwoju widżetu w pionie i poziomie.
Uwagi dotyczące układu
Możesz układać widżety zgodnie z wymiarami siatki miejsc docelowych urządzenia, na którym pracujesz. Może to być przydatne na początek, ale pamiętaj o tych kwestiach:
- Zaplanowanie strategii zmiany rozmiaru widżetów w „grupach rozmiarów” zamiast w zmiennych wymiarach siatki zapewnia najbardziej wiarygodne wyniki.
- Liczba, rozmiar i odstępy komórek mogą być bardzo różne w zależności od urządzenia. Dlatego tak ważne jest, aby widżet był elastyczny i pomieścił w nim więcej lub mniej miejsca, niż oczekiwano.
- Gdy użytkownik zmienia rozmiar widżetu, system w odpowiedzi podaje zakres rozmiaru dp, w którym widżet może się ponownie rysować.
- Począwszy od Androida 12 możesz oferować bardziej precyzyjne atrybuty rozmiaru i bardziej elastyczne układy. Obejmuje to m.in.:
- Określanie ograniczeń rozmiaru widżetu. Możesz na przykład określić docelowy rozmiar widżetu – w komórkach siatki – oraz jego maksymalny możliwy rozmiar.
- udostępnienie układów elastycznych, które zmieniają się w zależności od rozmiaru widżetu.
- Udostępnia układy o dokładnym rozmiarze, dzięki którym Menu z aplikacjami może wyświetlać opcje rozmiaru w trybie pionowym i poziomym, w przypadku telefonów lub w 4 rozmiarach urządzeń składanych.
- Skorzystanie ze zaktualizowanych wskazówek i nowych interfejsów API w celu określenia prawidłowych rozmiarów widżetu.
Konfiguracja widżetu przez użytkowników
Czasami użytkownik musi skonfigurować widżet, zanim będzie mógł się przydać. Pomyśl o widżecie poczty e-mail, w którym użytkownik musi wybrać folder poczty, aby móc wyświetlić skrzynkę odbiorczą, lub nieruchomym widżecie ze zdjęciami, do którego użytkownik musi przypisać zdjęcie z galerii, które ma być wyświetlane. Widżety na Androida wyświetlają swój wybór konfiguracji natychmiast po upuszczeniu widżetu na ekran główny.
Lista kontrolna projektu widżetu
- Skup się na niewielkich fragmentach łatwo dostępnych informacji w widżecie. Rozwiń informacje w aplikacji.
- Wybierz odpowiedni typ widżetu do danego celu.
- Zaplanuj, jak zawartość widżetu ma być dostosowywana do różnych rozmiarów.
- Zadbaj o to, aby układ widżetu był niezależny od orientacji i urządzenia, upewniając się, że układ może się rozciągać i zmniejszać.
- Zastanów się, czy Twój widżet wymaga dodatkowej konfiguracji.