Dostosowywanie aplikacji referencyjnej

W tej sekcji opisujemy, jak dostosować aplikację referencyjną Centrum sterowania i interfejs.

Wzorce przeglądania i interfejs użytkownika

W tej sekcji opisujemy ścieżki użytkownika i sposób uruchamiania Centrum sterowania.

Otwieranie Centrum sterowania

Centrum sterowania możesz uruchomić za pomocą Menu z aplikacjami lub ikony na pasku nawigacyjnym interfejsu systemu. Ikona pojawia się tylko w kompilacjach, w których włączono widoczność użytkowników w tle (więcej informacji znajdziesz w UserHandleAware).

Centrum sterowania możesz wyświetlić w dowolnym momencie. Centrum sterowania składa się z półprzezroczystych okien i przezroczystych teł, dzięki czemu może pojawiać się nad każdą inną aplikacją, w tym nad odtwarzanymi filmami i multimediami. Na stronie docelowej aplikacji:

  • układ ekranów oraz korzystanie z ekranów lokalnych i zdalnych;
  • Ekrany wypełnione multimediami i elementami sterującymi multimediami.
  • Jak każdy ekran wprowadza szczegółowy widok elementów sterujących multimediami (i nie tylko).

Układ ekranów odpowiada ich rozmieszczeniu w pojeździe. Każdy ekran to DevicePickerScreen. Aby dostosować lokalizację i rozmiar każdego ekranu, użyj nakładki zasobów w czasie działania (RRO). Więcej informacji znajdziesz w artykule Zmiana wartości zasobów aplikacji w czasie działania.

Na każdym wyświetlaczu, na którym jest otwarte Centrum sterowania, wyświetla się inny ekran z jasno podświetlonym obramowaniem. To jest ekran lokalny, czyli wyświetlacz, który jest używany.

Każdy drugi ekran to ekran zdalny, który reprezentuje inny wyświetlacz w samochodzie. Możesz go rozpoznać na podstawie układu ekranów w fragmencie. Aby obliczyć łączną liczbę stref pasażerów skonfigurowanych w pojeździe, użyj funkcji CarOccupantZoneManager#getAllOccupantZones.

Każdy ekran definiuje atrybut niestandardowy controlcenter:occupantZoneId, który umożliwia powiązanie danych z odpowiednią strefą pasażera. Gdy aplikacja multimedialna jest odtwarzana na konkretnym wyświetlaczu, na odpowiednim ekranie wyświetla się okładka albumu. Pod ekranem wyświetla się przycisk Odtwórz (lub Wstrzymaj).

Jeśli aktywna aplikacja multimedialna jest widocznym zadaniem (otwartym za Centrum sterowania), przycisk Udostępnij obok przycisku Odtwórz jest włączony, aby otworzyć stronę klonowania. Udostępnij umożliwia udostępnianie ekranu aplikacji do multimediów i jest najbardziej przydatne w przypadku aplikacji do multimediów z wideo.

Elementy ekranu

Dotknięcie ekranu powoduje wyświetlenie szczegółowego widoku multimediów odtwarzanych na wyświetlaczu. Jest to tzw. ekran szczegółów. Wyświetlają się metadane multimediów, takie jak tytuł, postęp odtwarzania i wykonawca. Te przyciski zapewniają dodatkową kontrolę nad strefą pasażera.

  • Wyjście audio pokazuje, które wyjście audio odtwarza multimedia, np. głośniki w samochodzie lub słuchawki. Wyjście audio otwiera okno, w którym możesz zmienić wyjście audio i głośność multimediów.

  • Blokada wprowadzania blokuje wprowadzanie danych na ekranie. Tej operacji nie można zastosować na ekranie kierowcy.

  • Wyłącz zasilanie wyświetlacza wyłącza zasilanie ekranu. Tej operacji nie można zastosować na ekranie kierowcy.

W widoku Szczegóły znajduje się przycisk Udostępnij, który należy kliknąć, gdy multimedia są widocznym zadaniem za aplikacją Centrum sterowania. Po kliknięciu Udostępnij otworzy się strona Klonowanie:

Proces dublowania i wspólnego oglądania między nadawcą (u góry) a odbiorcą (u dołu)
Rysunek 2. Strona z funkcją dublowania i wspólne oglądanie treści przez nadawcę (u góry) i odbiorcę (u dołu).

Rozpoczynanie sesji wspólnego oglądania

Strona odzwierciedlająca jest podobna do strony docelowej, ponieważ korzysta z RRO.

Aby dodać ekran do wspólnego oglądania, kliknij go, a potem kliknij Gotowe.

Spowoduje to otwarcie Mirroring Activity, w którym będzie hostowana udostępniona aplikacja. Pojawią się też pływające, tymczasowe elementy sterujące, które pozwolą opuścić sesję wspólnego oglądania lub wrócić na stronę Klonowanie, aby dodać lub usunąć uczestników.

Klonowanie aktywności wyświetlającej udostępnioną aplikację z pływającymi elementami sterującymi do zarządzania sesją na zegarku.
Rysunek 3. Klonowanie aktywności z przejściowymi pływającymi elementami sterującymi.

Podsumowanie

Poniżej znajdziesz podsumowanie różnych stron w Centrum sterowania.

Schemat blokowy przedstawiający różne strony i przejścia w aplikacji Centrum sterowania.
Rysunek 4. strony Centrum sterowania
.

Wskazówki dotyczące dostosowywania

Centrum sterowania korzysta z biblioteki interfejsu samochodu, która umożliwia dostosowywanie i zapewnia podstawowy motyw oraz strukturę, które można zastosować w niezmienionej postaci lub zmodyfikować zgodnie z tymi ograniczeniami.

Dostosowywanie Opis
SHOULD

Dostosuj ogólne motywy i style za pomocą nakładki RRO, np.:

  • Palety kolorów
  • Dobieranie rozmiaru
  • Wygląd tekstu
  • Wygląd okna
  • Obiekty rysowalne
  • Wartości konfiguracji
MAY Modyfikowanie struktury interfejsu Centrum sterowania.

Centrum sterowania należy do pakietu aplikacji systemowych, który obejmuje Media, Centrum powiadomień i Menu z aplikacjami. Te aplikacje korzystają ze stylów i zasobów zdefiniowanych na różnych poziomach struktury AOSP:

framework/base/core
Wszystkie podstawowe style Androida są zdefiniowane tutaj. Wszystkie motywy aplikacji systemowych są oparte na Theme.DeviceDefault, czyli motywie przeznaczonym dla producentów OEM do dostosowywania domyślnego wyglądu urządzenia.

packages/services/Car/car_product/overlay:
Ten folder zawiera zastąpienia Theme.DeviceDefault, które są używane do tworzenia wyglądu i działania Androida Automotive w wersji AOSP. Producenci OEM mogą zrezygnować z tej nakładki i używać własnej.

packages/apps/Car/libs/car-ui-lib:
Ta biblioteka definiuje komponenty i zasoby AAOS wspólne dla aplikacji systemowych i aplikacji niepowiązanych, które można dostosowywać. Więcej informacji znajdziesz w przewodniku po integracji biblioteki Car UI.

packages/apps/Car/libs/car-apps-common:
Wspólne kolory i style udostępniane przez aplikacje systemowe dostarczane przez AOSP. Możesz używać nakładek, aby dostosowywać te elementy (podobnie jak w przypadku packages/services/Car/car_product/overlay).

packages/apps/Car/MultiDisplay/ControlCenter:
Wszystkie aplikacje systemowe mają motyw, który rozciąga się od Theme.CarUi i jest zdefiniowany w car-ui-lib. ControlCenterActivity używa niestandardowego Theme.Transparent, który rozszerza Theme.CarUi.

Aby obsługiwać przepływ (np. wspólne oglądanie, które wymaga widoczności odzwierciedlonego zadania), Centrum sterowania używa kombinacji półprzezroczystych okien i przezroczystych teł, które nie wysyłają aplikacji w tle ani nie wysyłają Lifecycle events.

<style name="Theme.Transparent" parent="@style/Theme.CarUi.NoToolbar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
</style>