Haptisches UX-Design

Die in Schritt 2 der Haptik-Checkliste eingeführte HAL-API-Konstantenzuordnung basiert auf dringend empfohlenen UX-Designprinzipien. Die UX-Designprinzipien legen die Grundlage dafür fest, wie, wann und was bei der Verwendung von Android-Haptik-APIs verwendet werden soll. Weitere Informationen zu diesen Grundprinzipien finden Sie unter „Erweiterte Haptik: Das Wann, Was und Wie neuer Haptik-APIs“ .

Konstante Zuordnung

Abbildung 1. HAL-API-Konstantenzuordnung: Diskretes Modell

Haptische Effekte auswählen

Durch haptische Stärke ( VibrationEffect )

EFFECT_CLICK ist der beste Ausgangspunkt für die Bestimmung Ihrer bevorzugten Haptikstärke ( VibrationEffect ): Es ist der Mittelwert zwischen der „leichten“ Haptik von EFFECT_TICK und der „schweren“ 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 Stärke hinzufügen, oder Stärke mit EFFECT_TICK verringern. Bedenken Sie, dass EFFECT_DOUBLE_CLICK die höchste konzeptionelle Energie liefert, weil es wiederholt wird.

Haptische Stärke

Abbildung 2. Einstellungen der Haptikstärke

Durch Eingabeereignisse und UI-Elemente ( HapticFeedbackConstants )

Wenn Ihr Ziel mit bestimmten Eingabeereignissen (wie langes Drücken oder Wischen) oder UI-Elementen (wie Tastatur) verknüpft ist, finden Sie in HapticFeedbackConstants vordefinierte haptische Konstanten. Der Name jeder Konstante bezieht sich auf bestimmte Anwendungsfälle wie KEYBOARD_PRESS oder LONG_PRESS .

Simulieren Sie reale Tastendruckereignisse

Das haptische Touch-Feedback von Eingabeereignissen (virtuelle Softbuttons) kann Tastendrücke mithilfe physischer Einheiten (z. B. mechanischer Hardbuttons) simulieren.

Eingabeereignis: Paarweiser Interaktionsfluss

Das Klickereignis soll das Verhalten einer mechanischen Taste simulieren, die gedrückt und dann losgelassen wird . Die wahrgenommene Energie des mechanischen Impulses beim Drücken einer Taste ist höher als die beim Loslassen der Taste. Daher ist das haptische Feedback beim Drücken einer Taste stärker als das haptische Feedback beim Loslassen der Taste.

Haptik der Veranstaltungspresse und -mitteilung

Abbildung 3. Haptische Effekte durch binäres Eingabeereignis

Haptische Stärke: Die Erschwinglichkeit des Knopfdrucks

Eingabeereignisse mit kürzerer und leichterer Interaktion gehen mit einer leichteren Haptik einher. Eingabeereignisse mit längerem und tieferem Engagement gehen mit einer stärkeren Haptik einher.

Drücken Sie Affordance Haptics

Abbildung 4. Haptische Effekte nach Affordanz

Simulieren Sie eine virtuelle Textur im Gesteneingabeereignis

Gestenbasierte Eingaben (wie Scrubben oder Scrollen) können an virtuellen haptischen Texturen ausgerichtet werden, während sich der Finger auf dem Bildschirm bewegt, zusammen mit visuellen Benutzeroberflächen. So wird beispielsweise wiederholtes haptisches Feedback generiert, während sich ein Finger rund um die Uhr bewegt. Benutzeroberfläche mit virtuellem Häkchen UI-Elemente.

Effekte für virtuelle haptische Texturen sollen wiederholt werden. Dadurch ist die wahrgenommene Energie oft höher als die Amplitude (wenn der Effekt ohne Wiederholung oder nur einmal aufgerufen wird). Aus diesem Grund müssen haptische Konstanten, die für virtuelle haptische Texturen entwickelt wurden (wie CLOCK_TICK oder TEXT_HANDLE_MOVE ), subtil sein, um durch wiederholte Hinweise das Gefühl von Bewegung zu vermitteln.

Virtuelle Textur

Abbildung 5. Haptische Effekte zur Simulation virtueller Texturen

Beziehen Sie Gefühle mit ein

Um positive oder negative Gefühle in haptische Effekte einzubeziehen, wenden Sie stärkere Empfindungen auf negative Gefühle an, um die Aufmerksamkeit des Benutzers zu erregen.

Haptisches Gefühl

Abbildung 6. Haptische Effekte mit Gefühl

Vermeiden Sie hörbare Geräusche durch lange Vibrationen

Um hörbare Geräusche durch lange Vibrationen für eine aufmerksamkeitsstarke Haptik zu vermeiden, beschleunigen Sie das Muster sanft, um einen Ramp-up-Effekt zu erzeugen. Verwenden Sie dazu createWaveform(long[] timings, int[] amplitudes, int repeat) .

Lange Vibration

Abbildung 7. Langer Vibrationsanstiegseffekt