Skupienie w Jetpack Compose Glimmer

Odpowiednie urządzenia XR
Te wskazówki pomogą Ci tworzyć treści na te urządzenia XR.
Okulary AI

Wszystkie komponenty Glimmer w Jetpack Compose są zaprojektowane do współpracy ze standardowymi metodami wprowadzania danych, takimi jak dotknięcie lub przesunięcie palcem po touchpadzie okularów AI, a także do odbierania poleceń wejściowych niższego poziomu, które są specyficzne dla sprzętu okularów AI. Komponenty Jetpack Compose Glimmer automatycznie obsługują niezbędne zdarzenia wejściowe. W przypadku komponentów niestandardowych możesz używać istniejących interfejsów API Compose, takich jak Modifier.draggable lub Modifier.scrollable, aby wdrażać określone zachowania interakcji.

W przypadku okularów z AI z wyświetlaczem wskazywanie może wpływać na ostrość:

  • Kliknięcie: bezpośrednia interakcja w celu aktywowania elementu. Fokus przenosi się na element, gdy użytkownik wchodzi z nim w interakcję.
  • Przesuwanie: służy do nawigacji i przewijania. Nieobsługiwane gesty przesuwania są automatycznie przekształcane w ruchy ostrości, co umożliwia płynną nawigację po interfejsie bez bezpośredniego wprowadzania danych wskaźnika.

Śledź ruch fokusu i zmiany kolejności, gdy użytkownik porusza się po aplikacji.

Przesuwanie zaznaczenia

W przypadku kontenera z paskiem przewijania zaznaczenie przesuwa się w sposób ciągły podczas przesuwania palcem po touchpadzie. W przypadku elementów dyskretnych, takich jak wiersz przycisków, każde przesunięcie powoduje przeniesienie fokusu na kolejny element.

Kolejność zaznaczania

Podobnie jak w Jetpack Compose, Jetpack Compose Glimmer używa jednowymiarowego wyszukiwania fokusu. Więcej informacji o kolejności przechodzenia między elementami znajdziesz w artykule Zmiana kolejności przechodzenia między elementami.

Aby zmienić element, na którym początkowo skupia się fokus, możesz dodać element najwyższego poziomu Modifier.focusGroup() i określić niestandardowy element onEnter focusProperty:

Modifier.focusProperties {
    onEnter = {
        initialFocus.requestFocus()
        cancelFocusChange()
    }
}
.focusGroup()

Kontenery z przewijaniem

Aby zapewnić optymalną wygodę użytkowników, kontenery przewijania, takie jak listy, powinny być jedynym głównym komponentem na ekranie. Nie umieszczaj listy z możliwością przewijania bezpośrednio nad ani pod innymi elementami interaktywnymi, takimi jak przyciski. Pozwoli to uniknąć nieporozumień związanych z nawigacją i zapewni płynne, przewidywalne przenoszenie fokusu.

Domyślne stany aktywne

Glimmer w Jetpack Compose implementuje domyślne stany fokusu w swoich komponentach interaktywnych, w tym w powierzchniach, kartach i elementach listy, zapewniając spójne i wyraźne wizualne informacje zwrotne podczas interakcji użytkownika.

Rysunek 1. 3 stany skupienia w Glimmer w Jetpack Compose, które są rozróżniane za pomocą wizualnych informacji zwrotnych opartych na konturach.
  • Domyślny: kolor tła przycisku jest wyliczany na podstawie GlimmerTheme.colors.surface, jego główna treść oblicza kolor treści tej powierzchni, a ikony są GlimmerTheme.colors.primary.

  • Zaznaczony: szerokość obramowania jest zwiększona, aby wskazywać zaznaczenie.

  • Skupienie + naciśnięcie: tło jest ustawione na GlimmerTheme.colors.surface przy pełnej nieprzezroczystości, aby wskazywać stan wyboru.