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.
Zachowanie i kolejność nawigacji
Ś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.
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.surfaceprzy pełnej nieprzezroczystości, aby wskazywać stan wyboru.