Einer der einfachsten Anwendungsfälle für die Haptik besteht darin, Nutzenden Feedback zu geben. Interaktionen. Zeitauswahl, Tastendruck auf einer Bildschirmtastatur und Text Auswahl sind gängige Beispiele für gute Anwendungsfälle für haptisches Feedback. Weitere Informationen wann und wie Sie die Haptik anwenden können, Haptik-Designprinzipien
Auf dieser Seite werden drei Möglichkeiten für haptisches Feedback beschrieben.
View
verwenden (empfohlen). Dieser Ansatz ist aktionsorientiert, bietet die größte Unterstützung und benötigt die BerechtigungVIBRATE
nicht.- Vordefinierten
VibrationEffect
verwenden. Dieser Ansatz ist flexibler, hat aber auch Nachteile. - Erweiterte Kompositionen mit Primitiven verwenden Dieses neuer und noch flexibler, erfordert aber ein bestimmtes Gerät Support.
Diese Methoden verwenden Primitive, die auf Geräteebene definiert wurden, um eine hohe Qualität das auf das jeweilige Gerät zugeschnitten ist.
Bei allen Methoden für haptisches Feedback werden die Einstellungen für Touch-Feedback berücksichtigt, Standardeinstellung.
View
-Komponenten für haptisches Feedback verwenden
Verwenden Sie die Methode View.performHapticFeedback
, um haptisches Feedback zu generieren. Die
haptische Konstanten, die vom HapticFeedbackConstants
definiert werden, sind auf ihre
der Anwendung nutzen, und nicht
die Art des durchgeführten haptischen Effekts.
Die zugrunde liegende Implementierung kann je nach Gerät und Hardware variieren. Funktionen, aber die App muss nur die Art des Feedbacks berücksichtigen, in einem bestimmten Kontext. Wenn Sie sich auf die Funktionalität konzentrieren, Feedback zu ähnlichen Interaktionen geben. Nutzende lernen, verschiedene Bedeutungen haptische Empfindungen im Laufe der Zeit.
Voraussetzungen: Haptisches Feedback aktivieren
Solange View
sichtbar ist, kann haptisches Feedback für Ereignisse verwendet werden.
Einige Ereignisse, z. B. langes Drücken, haben eine Standardhaptik, die ausgelöst wird, wenn ein
Listener für die Ansicht verarbeitet das Ereignis (gibt true
zurück).
Ein Android-View
kann haptisches Feedback deaktivieren, indem die
View.hapticFeedbackEnabled
-Property mit false
verknüpft. Diese Property deaktivieren
führt zu Standardfeedback.
Die Methode performHapticFeedback
berücksichtigt auch die Systemeinstellung
HAPTIC_FEEDBACK_ENABLED
, über die der Nutzer sie deaktivieren kann
für das gesamte System.
Im Gegensatz zu anderen haptischen APIs wird HapticFeedbackConstants
mit einem View
verwendet.
ist die Berechtigung VIBRATE
nicht erforderlich.
HapticFeedbackConstant
auswählen
Wenn Sie View
-Komponenten mit HapticFeedbackConstants
verwenden, ist kein
um die Unterstützung spezifischer Geräte zu bewerten, da für diese Konstanten ein Fallback
verhalten. Der einzige Faktor ist das SDK-Level des gewünschten
konstant.
Beispiel 1: Tastendruck
Das ist ein Beispiel dafür, wie du einer Berührungseingabe in View
ein haptisches Feedback hinzufügen kannst
mit Touch-Zuhörern. Die Effekte simulieren das Gefühl,
und lasse sie dann los.
Kotlin
class HapticTouchListener : View.OnTouchListener { override fun onTouch(View view, MotionEvent event) : Boolean { when (event.actionMasked) { MotionEvent.ACTION_DOWN -> view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY) MotionEvent.ACTION_UP -> view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY_RELEASE) } return true } }
Java
class HapticTouchListener implements View.OnTouchListener { @Override public boolean onTouch(View view, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); break; case MotionEvent.ACTION_UP: view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY_RELEASE); break; } return true; } }
Beispiel 2: Schaltfläche „Senden“
Anwendungsfälle für haptisches Feedback gehen über die Simulation einer physischen Interaktion mit dem
. Sie können auch verwendet werden, um eine abstrakte Bedeutung zu vermitteln. Beispiel:
die allgemeine Erwartung an
Der CONFIRM
-Effekt ist ein
Vibration kurz und leicht, während
REJECT
könnte ein
und stärkeres Feedback bei
Fehlern signalisieren. Dies wird in den folgenden
Beispiel für eine Feedback-Schaltfläche „Senden“.
Kotlin
submitButton.setOnClickListener { view -> val successful = performSubmit() if (successful) { view.performHapticFeedback(HapticFeedbackConstants.CONFIRM) } else { view.performHapticFeedback(HapticFeedbackConstants.REJECT) } }
Java
submitButton.setOnClickListener(view -> { boolean successful = performSubmit(); if (successful) { view.performHapticFeedback(HapticFeedbackConstants.CONFIRM); } else { view.performHapticFeedback(HapticFeedbackConstants.REJECT); } });
Vordefiniertes VibrationEffect
verwenden, um haptisches Feedback zu generieren
Beim View
-basierten Ansatz liegt der Fokus auf der Nutzerinteraktion. Es ist
im gesamten System bevorzugt. Spezifische vordefinierte
VibrationEffect
APIs können auch für benutzerdefiniertes haptisches Feedback aufgerufen werden
Effekte.
Vordefinierte Effekte sind verfügbar als VibrationEffect
Konstanten und können
überprüft, ob sie unterstützt wird, und den Vibrator
-Dienst verwendet, wie in der
folgenden Beispielen.
Informationen zur Geräteunterstützung von VibrationEffect
APIs
Im Allgemeinen sollte es nicht erforderlich sein, zu prüfen, ob die jeweilige Person unterstützt wird.
VibrationEffect
-APIs. APIs wie Vibrator.areEffectsSupported
und Vibrator.areAllEffectsSupported
werden verwendet, um festzustellen, ob das Gerät
eine angepasste Implementierung der Konstante. Wenn ein angepasster Effekt nicht
kann deine App dennoch die Effekte wiedergeben und eine von der Plattform
Fallback-Implementierung.
Weitere Informationen finden Sie unter Vordefinierte
VibrationEffect
Voraussetzungen: Vibrator und Berechtigung VIBRATE
laden
Die meisten Vibrationen können mit dem Dienst Vibrator
wiedergegeben werden, der geladen werden kann
wie folgt:
Kotlin
import android.os.Vibrator val vibrator = context.getSystemService(Vibrator::class.java)
Java
import android.os.Vibrator; Vibrator vibrator = context.getSystemService(Vibrator.class);
Die App muss über die
Berechtigung VIBRATE
der Reihe nach
, um das Gerät mit diesem Dienst zu vibrieren. Die Berechtigung kann dem
Manifestdatei der Anwendung:
<uses-permission android:name="android.permission.VIBRATE"/>
Vordefinierten VibrationEffect
wiedergeben
Vordefinierte Effekte können mit VibrationEffect.createPredefined
,
und dann mit einer der vibrate
-Methoden auf Vibrator
wiedergegeben.
In diesem Beispiel wird ein Klickeffekt wiedergegeben.
Kotlin
val vibrator = context.getSystemService(Vibrator::class.java) ... // Requires VIBRATE permission vibrator.vibrate(VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK))
Java
Vibrator vibrator = context.getSystemService(Vibrator.class); ... // Requires VIBRATE permission vibrator.vibrate(VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK));
Erweiterte Kompositionen mit Primitiven verwenden
Die VibrationEffect.Composition
API bietet zusätzliche Möglichkeiten für
haptisches Feedback. Im Gegensatz zu den Effekten haben diese Primitiven
Fallbacks auf Systemebene. Daher ist es wichtig,
die Primitiven und anderen
Funktionen, die das Gerät unterstützt.
Die Verwendung dieser APIs wird ausführlicher in Benutzerdefinierte haptische Effekte erstellen.