Mapowanie stałych HAL-API wprowadzone w kroku 2 listy kontrolnej haptyki opiera się na wysoce zalecanych zasadach projektowania UX. Zasady projektowania UX definiują podstawy tego, jak, kiedy i czego używać podczas korzystania z interfejsów API dotykowych systemu Android. Zobacz Advanced Haptics: Kiedy, co i jak nowych interfejsów API Haptic, aby dowiedzieć się więcej o tych podstawowych zasadach.
Rysunek 1. Mapowanie stałych HAL-API: Model dyskretny
Wybierz efekty dotykowe
Według siły dotyku ( VibrationEffect
)
EFFECT_CLICK
to najlepsze miejsce na rozpoczęcie określania preferowanej siły dotyku ( VibrationEffect
): jest to mediana między „lekką” haptyką EFFECT_TICK
i „ciężką” haptyką EFFECT_HEAVY_CLICK
. Zaczynając od EFFECT_CLICK
, możesz zwiększyć lub zmniejszyć energię koncepcyjną, dodając siłę za pomocą EFFECT_HEAVY_CLICK
lub zmniejszyć siłę za pomocą EFFECT_TICK
. Pamiętaj, że EFFECT_DOUBLE_CLICK
zapewnia najwyższą energię koncepcyjną, ponieważ jest powtarzalny.
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 (takimi jak długie naciśnięcie lub przeciągnięcie) lub elementami interfejsu użytkownika (takimi jak klawiatura), znajdź predefiniowane 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
.
Symuluj zdarzenia związane z naciśnięciem przycisku w świecie rzeczywistym
Dotykowe sprzężenie zwrotne zdarzeń wejściowych (wirtualne miękkie przyciski) może symulować naciśnięcia przycisków przy użyciu elementów fizycznych (takich jak mechaniczne przyciski twarde).
Zdarzenie wejściowe: przepływ interakcji parami
Zdarzenie kliknięcia ma za zadanie symulować zachowanie mechanicznego przycisku, który zostaje naciśnięty , a następnie zwolniony . Postrzegana energia impulsu mechanicznego wywołanego naciśnięciem przycisku jest wyższa niż energia zwolnienia przycisku. Dlatego też reakcja dotykowa po naciśnięciu przycisku jest silniejsza niż reakcja dotykowa po zwolnieniu przycisku.
Rysunek 3. Efekty dotykowe wywołane binarnym zdarzeniem wejściowym
Siła dotyku: dostępność naciśnięcia przycisku
Zdarzenia wejściowe o krótszym i lżejszym zaangażowaniu są powiązane z lżejszą haptyką. Zdarzenia wejściowe z dłuższym i głębszym zaangażowaniem są powiązane z silniejszą haptyką.
Rysunek 4. Efekty dotykowe według afordancji
Symuluj wirtualną teksturę w zdarzeniu wprowadzania gestów
Wprowadzanie oparte na gestach (takie jak szorowanie lub przewijanie) można dostosować do wirtualnych tekstur dotykowych, gdy palec porusza się po ekranie, wraz z wizualnymi interfejsami użytkownika, na przykład generując powtarzające się reakcje dotykowe, gdy palec porusza się przez całą dobę. Interfejs użytkownika z wirtualnym znacznikiem Elementy interfejsu użytkownika.
Efekty wirtualnych tekstur dotykowych mają się powtarzać. Często powoduje to, że postrzegana energia jest wyższa niż amplituda (kiedy 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 zapewniać wrażenie ruchu poprzez powtarzające się wskazówki.
Rysunek 5. Efekty dotykowe symulujące wirtualną teksturę
Uwzględnij uczucia
Aby uwzględnić pozytywne lub negatywne odczucia w efektach dotykowych, zastosuj silniejsze wrażenia w przypadku negatywnych opinii, aby przyciągnąć uwagę użytkownika.
Rysunek 6. Efekty dotykowe z sentymentem
Unikaj słyszalnego hałasu spowodowanego długimi wibracjami
Aby uniknąć słyszalnego hałasu spowodowanego długimi wibracjami i ze względu na dotyk, należy płynnie przyspieszać wzór, aby uzyskać efekt przyspieszenia. Zrób to za pomocą createWaveform(long[] timings, int[] amplitudes, int repeat)
.
Rysunek 7. Efekt długiego narastania wibracji