Składane urządzenia stwarzają możliwości innowacyjnego tworzenia aplikacji. Duże i małe ekrany na tym samym urządzeniu zapewniają uzupełniające się, ale odmienne interakcje. Funkcje składania, takie jak tryb stołowy i tryb książki, umożliwiają tworzenie pomysłowych układów i niekonwencjonalnych interfejsów użytkownika.
Elastyczne/adaptacyjne projektowanie
Obsługa urządzeń składanych zaczyna się od projektu elastycznego. Układy elastyczne
sprawiają, że aplikacja wygląda i działa świetnie na ekranach o różnych rozmiarach. Wdróż elastyczne projektowanie za pomocą komponentu BoxWithConstraints.
Aby jednak optymalnie obsługiwać złożony i rozłożony ekran urządzenia składanego, układ musi się dostosowywać. Różnice w rozmiarze i formacie obrazu ekranów po złożeniu i rozłożeniu urządzenia mogą być dość duże, przez co nawet elastyczny układ nie będzie w stanie odpowiednio dopasować się do obu wyświetlaczy. Projektowanie adaptacyjne polega na tworzeniu alternatywnych układów zoptymalizowanych pod kątem różnych rozmiarów i konfiguracji ekranu. Układy adaptacyjne zapewniają optymalne wrażenia użytkownikom, gdy urządzenie składane jest złożone lub rozłożone, w orientacji pionowej lub poziomej, w trybie stołowym lub w trybie książki.
Na przykład rozłożone urządzenie składane z dużym ekranem w orientacji poziomej przypomina tablet. Układ z 2 panelami i paskiem nawigacyjnym doskonale wykorzystuje szeroki ekran. Po złożeniu urządzenie przypomina standardowy telefon. Układ z jedną kolumną i dolnym paskiem nawigacyjnym jest prosty, ale skuteczny. Układy są oddzielne, więc możesz zoptymalizować każdy z nich pod kątem konkretnego zastosowania.
Urządzenia składane można składać na różne sposoby, np. do wewnątrz, tak aby wyświetlacz był schowany w środku urządzenia, lub na zewnątrz, tak aby wyświetlacz owijał urządzenie. Elastyczny lub adaptacyjny projekt sprawia, że aplikacja obsługuje wszystkie rodzaje urządzeń składanych.
Więcej informacji o projektowaniu elastycznym/adaptacyjnym na urządzenia składane znajdziesz w tych artykułach:
- Obsługa różnych rozmiarów wyświetlacza
- Material Design – stosowanie układu
Stany i pozycje urządzenia składanego
Zagięcie urządzenia składanego dzieli ekran na 2 części. Zagięcie może być elastycznym obszarem ekranu lub, w przypadku urządzeń z 2 ekranami, zawiasem, który oddziela 2 wyświetlacze.
Zawias ma wymiar i właściwość occlusionType, która określa, czy zasłania on część wyświetlacza. Na urządzeniach z 2 ekranami occlusionType jest FULL, a w obszarze zgięcia (zawiasu) nie widać żadnych treści, nawet jeśli aplikacja zajmuje oba ekrany.
Urządzenia składane mogą być w różnych stanach złożenia, np. FLAT (całkowicie otwarte) lub HALF_OPENED (pomiędzy całkowicie otwartym a całkowicie zamkniętym).
Gdy urządzenie jest w stanie HALF_OPENED, możliwe są 2 pozycje, w zależności od orientacji zgięcia: pozycja stołu (zgięcie poziome) i pozycja książki (zgięcie pionowe).
Tryby stołowy i książkowy dają nowe możliwości układu, ale stan urządzenia HALF_OPENED
narzuca też pewne ograniczenia. Na przykład elementy sterujące interfejsu w pobliżu zagięcia mogą być trudne do użycia, a tekst nakładający się na zagięcie może być trudny do odczytania (lub nieczytelny, jeśli occlusionType ma wartość FULL).
Zaprojektuj układy tak, aby elementy interfejsu były dostępne we wszystkich stanach urządzenia. Umieszczaj okna dialogowe i menu wyskakujące tak, aby nie zasłaniały części strony widocznej na ekranie. Upewnij się, że ważne treści są widoczne, gdy urządzenie jest częściowo złożone. Podziel treść na 2 obszary, gdy urządzenie jest otwarte w połowie – górny i dolny w trybie stołowym oraz lewy i prawy w trybie książki.
Więcej informacji o złożeniach i pozycjach urządzeń składanych znajdziesz w artykule Dostosowywanie aplikacji do urządzeń składanych.
Ciągłość aplikacji
Aplikacja zatrzymuje się i uruchamia ponownie podczas przechodzenia z jednego ekranu na drugi, gdy urządzenie jest składane lub rozkładane. Aby zapewnić użytkownikowi ciągłość, aplikacja powinna przywracać swój stan podczas ponownego tworzenia układu na złożonym lub rozłożonym ekranie. Aplikacje powinny na przykład:
- Zachowywanie tekstu wpisanego w polach
- Przywracanie stanu klawiatury
- Przywracanie pozycji przewijania pól, które można przewijać
- wznawiać odtwarzanie multimediów w miejscu, w którym zostało przerwane po zatrzymaniu aplikacji;
Różne układy ekranu urządzenia składanego powinny się uzupełniać. Jeśli na przykład na złożonym ekranie wyświetla się obraz i opis produktu ze sklepu internetowego, po rozłożeniu ekranu powinny być widoczne te same obraz i opis, ale także dodatkowe treści, takie jak specyfikacje produktu czy opinie.
Więcej informacji o zarządzaniu stanem aplikacji i ciągłością znajdziesz w artykułach Zapisywanie stanów interfejsu i Obsługa zmian konfiguracji.
Wielozadaniowość
Urządzenia składane z dużym ekranem mają ekran o rozmiarze tabletu, który idealnie nadaje się do wielozadaniowości w trybie wielu okien. Urządzenia składane obsługują tryb podzielonego ekranu, a niektóre nawet tryb okien na pulpicie, w którym aplikacje są umieszczane w ruchomych oknach o zmienianym rozmiarze, podobnie jak w systemie okienkowym na komputerze.
|
|
|
|
|
Android 12 (poziom API 31) i nowsze wersje domyślnie działają w trybie wielu okien – na dużych ekranach wszystkie aplikacje działają w trybie wielu okien niezależnie od konfiguracji aplikacji. W przypadku starszych wersji, aż do Androida 7.0 (poziom interfejsu API 24), musisz skonfigurować aplikację tak, aby można było zmieniać jej rozmiar i aby obsługiwała tryb wielu okien.
Więcej informacji o wielozadaniowości w trybie wielu okien znajdziesz w sekcji Obsługa trybu wielu okien.
Przeciąganie i upuszczanie
Urządzenia składane z dużym ekranem zapewniają wystarczająco dużo miejsca na ekranie do interakcji typu „przeciągnij i upuść”. Tryb wielu okien na urządzeniach składanych umożliwia przeciąganie i upuszczanie między aplikacjami.
Interakcje typu „przeciągnij i upuść” zapewniają produktywność i angażują użytkowników. Dodaj do aplikacji funkcje przeciągania i upuszczania za pomocą platformy przeciągania i upuszczania w Androidzie. Więcej informacji znajdziesz w artykule Włączanie przeciągania i upuszczania.