Mapowanie stałych HAL-API wprowadzone w kroku 2 listy kontrolnej haptycznej jest oparte na wysoce zalecanych zasadach projektowania UX. Zasady projektowania UX definiują podstawy tego, jak, kiedy i czego używać podczas korzystania z haptycznych interfejsów API systemu Android. Zobacz Advanced Haptics: The When, What and How of New Haptic API , aby dowiedzieć się więcej o tych fundamentalnych zasadach.
Rysunek 1. Mapowanie stałych HAL-API: Model dyskretny
Wybór efektów dotykowych
Przez siłę dotykową ( VibrationEffect
)
EFFECT_CLICK
to najlepsze miejsce do rozpoczęcia określania pożądanej siły dotykowej ( VibrationEffect
): jest to mediana między „lekkimi” EFFECT_TICK
i „ciężkimi” EFFECT_HEAVY_CLICK
. Zaczynając od EFFECT_CLICK
, możesz zwiększyć lub zmniejszyć koncepcyjną energię, dodając siłę za pomocą EFFECT_HEAVY_CLICK
lub zmniejszyć siłę za pomocą EFFECT_TICK
. Pamiętaj, EFFECT_DOUBLE_CLICK
zapewnia najwyższą energię koncepcyjną, ponieważ się powtarza.
Rysunek 2. Ustawienia siły dotyku
Według zdarzeń wejściowych i elementów interfejsu użytkownika ( HapticFeedbackConstants
)
Jeśli Twój cel jest powiązany z określonymi zdarzeniami wejściowymi (np. długie naciśnięcie lub przeciągnięcie) lub elementami interfejsu użytkownika (np. klawiatura), znajdź wstępnie zdefiniowane stałe dotykowe w HapticFeedbackConstants
. Nazwa każdej stałej odnosi się do konkretnych przypadków użycia, takich jak KEYBOARD_PRESS
lub LONG_PRESS
.
Symulowanie zdarzeń naciśnięcia przycisku w świecie rzeczywistym
Dotykowe sprzężenie zwrotne zdarzeń wejściowych (wirtualne przyciski programowe) może symulować naciśnięcia przycisków za pomocą elementów fizycznych (takich jak mechaniczne przyciski twarde).
Zdarzenie wejściowe: przepływ interakcji parami
Zdarzenie kliknięcia zostało zaprojektowane tak, aby symulować zachowanie mechanicznego przycisku, który jest wciskany , a następnie zwalniany . Postrzegana energia impulsu mechanicznego pochodzącego od naciśnięcia przycisku jest wyższa niż przy puszczeniu przycisku. Dlatego dotykowa informacja zwrotna dotycząca naciśnięć przycisków jest silniejsza niż dotykowa informacja zwrotna dotycząca zwalniania przycisków.
Rysunek 3. Efekty dotykowe przez zdarzenie wejścia binarnego
Siła dotykowa: afordancja naciśnięcia przycisku
Zdarzenia wejściowe o krótszym i lżejszym zaangażowaniu są powiązane z lżejszymi doznaniami. Zdarzenia wejściowe z dłuższym i głębszym zaangażowaniem wiążą się z silniejszymi haptykami.
Rysunek 4. Efekty dotykowe według afordancji
Symulowanie wirtualnej tekstury w zdarzeniu wprowadzania gestów
Dane wejściowe oparte na gestach (takie jak szorowanie lub przewijanie) można wyrównać z wirtualnymi teksturami dotykowymi, gdy palec porusza się po ekranie, wraz z wizualnymi interfejsami użytkownika, na przykład generując powtarzające się dotykowe informacje zwrotne, gdy palec porusza się przez całą dobę Interfejs użytkownika z wirtualnym znacznikiem Elementy interfejsu użytkownika.
Efekty dla wirtualnych tekstur dotykowych mają się powtarzać. To często sprawia, że postrzegana energia jest wyższa niż amplituda (gdy efekt jest wywoływany bez powtórzeń lub tylko raz ). Z tego powodu stałe dotykowe zaprojektowane dla wirtualnych tekstur dotykowych (takie jak CLOCK_TICK
lub TEXT_HANDLE_MOVE
) muszą być subtelne , aby zapewnić wrażenie ruchu przez powtarzające się wskazówki.
Rysunek 5. Efekty dotykowe symulujące wirtualną teksturę
W tym sentymenty
Aby uwzględnić pozytywne lub negatywne nastroje w efektach dotykowych, zastosuj silniejsze odczucia do negatywnych nastrojów, aby zwrócić uwagę użytkownika.
Rysunek 6. Efekty dotykowe z sentymentem
Unikanie słyszalnego hałasu spowodowanego długimi wibracjami
Aby uniknąć słyszalnego hałasu spowodowanego długimi wibracjami w celu uzyskania uwagi dotykowej, przyspiesz wzór płynnie, aby uzyskać efekt przyspieszenia. Zrób to za pomocą metody createWaveform(long[] timings, int[] amplitudes, int repeat)
.
Rysunek 7. Długi efekt narastania wibracji