Die in Konstanten zwischen HAL und API zuordnen eingeführte Zuordnung von HAL-API-Konstanten basiert auf dringend empfohlenen UX-Designprinzipien. Die UX-Designprinzipien definieren die Grundlage dafür, wie, wann und was bei der Verwendung von Android-Haptik-APIs verwendet werden soll. Weitere Informationen zu diesen grundlegenden Prinzipien finden Sie unter Advanced Haptics: The When, What, and How of New Haptic APIs.
Abbildung 1. HAL-API-Konstantenzuordnung: Diskretes Modell
Haptische Effekte auswählen
Nach haptischer Stärke (VibrationEffect)
EFFECT_CLICK ist der beste Ausgangspunkt, um die bevorzugte Haptikstärke (VibrationEffect) zu ermitteln. Sie liegt zwischen der leichten Haptik von EFFECT_TICK und der starken Haptik von EFFECT_HEAVY_CLICK. Wenn Sie mit EFFECT_CLICK beginnen, können Sie die konzeptionelle Energie erhöhen oder verringern, indem Sie mit EFFECT_HEAVY_CLICK die Stärke erhöhen oder mit EFFECT_TICK die Stärke verringern. Denken Sie daran, dass EFFECT_DOUBLE_CLICK die höchste konzeptionelle Energie liefert, da es wiederholt wird.
Abbildung 2: Einstellungen für die Stärke des haptischen Feedbacks
Über Eingabeereignisse und UI-Elemente (HapticFeedbackConstants)
Wenn Ihr Ziel mit bestimmten Eingabeereignissen (z. B. langes Drücken oder Wischen) oder UI-Elementen (z. B. Tastatur) verknüpft ist, finden Sie vordefinierte Haptikkonstanten in HapticFeedbackConstants.
Der Name jeder Konstante bezieht sich auf bestimmte Anwendungsfälle wie KEYBOARD_PRESS oder LONG_PRESS.
Tastendruckereignisse aus der Praxis simulieren
Das haptische Feedback bei Berührung von Eingabeereignissen (virtuelle Softkeys) kann das Drücken von Tasten mit physischen Einheiten (z. B. mechanische Hardkeys) simulieren.
Eingabeereignis: Paarweiser Interaktionsablauf
Das Click-Event soll das Verhalten eines mechanischen Buttons simulieren, der zuerst gedrückt und dann losgelassen wird. Die wahrgenommene Energie des mechanischen Impulses beim Drücken einer Taste ist höher als beim Loslassen. Daher ist das haptische Feedback für das Drücken von Tasten stärker als das haptische Feedback für das Loslassen von Tasten.
Abbildung 3: Haptische Effekte nach binärem Eingabeereignis
Haptische Stärke: Der Angebotscharakter des Tastendrucks
Eingabeereignisse mit kürzeren und leichteren Interaktionen sind mit leichteren Haptik-Effekten verbunden. Eingabeereignisse mit längerer und intensiverer Interaktion sind mit stärkeren haptischen Rückmeldungen verbunden.
Abbildung 4: Haptische Effekte nach Affordanz
Virtuelle Textur in Touchgesten-Eingabeereignis simulieren
Gestenbasierte Eingaben (z. B. Wischen oder Scrollen) können mit virtuellen haptischen Texturen synchronisiert werden, während sich der Finger auf dem Display bewegt. Das gilt auch für visuelle Benutzeroberflächen. So kann beispielsweise wiederholtes haptisches Feedback erzeugt werden, während sich ein Finger auf der Uhr-Benutzeroberfläche mit virtuellen Markierungen bewegt.
Effekte für virtuelle haptische Texturen sollen wiederholt werden. Dadurch wird die wahrgenommene Energie oft höher als die Amplitude (wenn der Effekt ohne Wiederholung oder nur einmal genannt wird). Daher müssen haptische Konstanten, die für virtuelle haptische Texturen (z. B. CLOCK_TICK oder TEXT_HANDLE_MOVE) entwickelt wurden, dezent sein, um durch wiederholte Hinweise das Gefühl von Bewegung zu vermitteln.
Abbildung 5: Haptische Effekte zur Simulation virtueller Texturen
Stimmungen einbeziehen
Wenn Sie positive oder negative Stimmungen in haptische Effekte einbeziehen möchten, wenden Sie bei negativen Stimmungen stärkere Empfindungen an, um die Aufmerksamkeit des Nutzers zu erregen.
Abbildung 6. Haptische Effekte mit Sentiment
Vermeiden Sie hörbare Geräusche durch lange Vibrationen.
Um hörbare Geräusche durch lange Vibrationen für aufmerksamkeitsstarke Haptik zu vermeiden, beschleunigen Sie das Muster sanft, um einen Ramp-up-Effekt zu erzielen. Verwenden Sie dazu createWaveform(long[] timings, int[] amplitudes, int repeat).
Abbildung 7. Langer Vibrations-Ramp-up-Effekt