इवेंट में हैप्टिक फ़ीडबैक जोड़ें

हैप्टिक के इस्तेमाल के सबसे बुनियादी उदाहरणों में से एक है, उपयोगकर्ता को सुझाव देना इंटरैक्शन. टाइम पिकर, वर्चुअल कीबोर्ड पर दबाया जाने वाला बटन, और टेक्स्ट हैप्टिक फ़ीडबैक के लिए अच्छे इस्तेमाल के उदाहरण हैं. ज़्यादा के लिए हैप्टिक कब और कैसे लगाएं, इसके बारे में जानकारी हैप्टिक डिज़ाइन के सिद्धांत.

इस पेज पर हैप्टिक फ़ीडबैक देने के तीन तरीके बताए गए हैं.

ये तरीके, अच्छी क्वालिटी देने के लिए डिवाइस के लेवल पर तय किए गए प्रिमिटिव का इस्तेमाल करते हैं आपके डिवाइस के हिसाब से तैयार किए गए सुझाव, शिकायत या राय.

हैप्टिक फ़ीडबैक देने के सभी तरीके उपयोगकर्ता की टच फ़ीडबैक सेटिंग के हिसाब से काम करते हैं डिफ़ॉल्ट.

हैप्टिक फ़ीडबैक जनरेट करने के लिए, View कॉम्पोनेंट का इस्तेमाल करें

हैप्टिक फ़ीडबैक जनरेट करने के लिए, View.performHapticFeedback तरीके का इस्तेमाल करें. कॉन्टेंट बनाने HapticFeedbackConstants में तय किए गए हैप्टिक कॉन्सटेंट का फ़ोकस की सुविधा का इस्तेमाल करती है, न कि उस तरह के हैप्टिक इफ़ेक्ट का.

डिवाइस और हार्डवेयर के हिसाब से, लागू करने का तरीका अलग-अलग हो सकता है सुविधाएं मिलती हैं, लेकिन ऐप्लिकेशन को सिर्फ़ यह ध्यान रखना होगा कि किस तरह के सुझाव, राय या शिकायत भेजने के लिए एक खास संदर्भ में रखा जाता है. फ़ंक्शन पर ध्यान देकर, हैप्टिक की सुविधा को चालू किया जा सकता है एक जैसे इंटरैक्शन के लिए सुझाव/शिकायत/राय सबमिट करें. उपयोगकर्ता अलग-अलग मतलब जोड़ना सीखते हैं समय के साथ अलग-अलग हैप्टिक सनसनी महसूस होती है.

ज़रूरी शर्तें: हैप्टिक फ़ीडबैक देने की सुविधा चालू करें

जब तक View दिख रहा होगा, तब तक उसके इवेंट के लिए हैप्टिक फ़ीडबैक का इस्तेमाल किया जा सकता है. कुछ इवेंट, जैसे कि देर तक दबाए रखना, डिफ़ॉल्ट हैप्टिक होते हैं, जो तब ट्रिगर होते हैं, जब व्यू पर लिसनर इवेंट को हैंडल करता है (true दिखाता है).

Android View, हैप्टिक फ़ीडबैक की सुविधा को बंद कर सकता है. ऐसा करने के लिए, false के लिए View.hapticFeedbackEnabled प्रॉपर्टी. यह प्रॉपर्टी बंद की जा रही है के नतीजे डिफ़ॉल्ट रूप से फ़ीडबैक में बदल जाते हैं.

performHapticFeedback तरीका, सिस्टम की सेटिंग के हिसाब से भी काम करता है HAPTIC_FEEDBACK_ENABLED, जिसकी मदद से लोग उन्हें बंद कर सकते हैं ट्रैक करने में मदद मिलती है.

अन्य हैप्टिक एपीआई के उलट, View के साथ HapticFeedbackConstants का इस्तेमाल किया जा रहा है को VIBRATE अनुमति की ज़रूरत नहीं होती.

कोई HapticFeedbackConstant चुनें

HapticFeedbackConstants के साथ View कॉम्पोनेंट का इस्तेमाल करने की कोई ज़रूरत नहीं है ताकि किसी डिवाइस पर काम करने की पूरी क्षमता का आकलन किया जा सके. इसकी वजह यह है कि इन कॉन्सटेंट का फ़ॉलबैक व्यवहार करें. हमें सिर्फ़ आपके हिसाब से, SDK टूल के लेवल पर कॉन्स्टेंट.

उदाहरण 1: कीप्रेस

इस उदाहरण में, View में टच इनपुट में हैप्टिक फ़ीडबैक जोड़ने का तरीका बताया गया है टच लिसनर का इस्तेमाल करके. ये इफ़ेक्ट, बटन और फिर रिलीज़ कर रहा है.

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;
  }
}

दूसरा उदाहरण: 'सबमिट करें' बटन

हैप्टिक फ़ीडबैक के इस्तेमाल के उदाहरण, डिवाइस. इनका इस्तेमाल, कॉन्टेंट का मतलब बताने के लिए भी किया जा सकता है. उदाहरण के लिए, हर किसी की उम्मीद CONFIRM इफ़ेक्ट कम या कम समय के लिए वाइब्रेशन हो, जबकि REJECT एक अच्छा सिग्नल मिल रहा है. इस इमेज में दिखाया गया है कि उदाहरण के लिए, 'सबमिट करें' बटन पर सुझाव/शिकायत/राय.

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);
  }
});

हैप्टिक फ़ीडबैक जनरेट करने के लिए, पहले से तय VibrationEffect का इस्तेमाल करें

View पर आधारित तरीके का इस्तेमाल करने का फ़ोकस, उपयोगकर्ता के इंटरैक्शन पर होता है. हां को प्राथमिकता दी जाती है. इससे पूरे सिस्टम में एक जैसा अनुभव मिलता है. हालांकि, पहले से तय VibrationEffect पसंद के मुताबिक हैप्टिक फ़ीडबैक देने के लिए भी एपीआई इस्तेमाल किए जा सकते हैं इफ़ेक्ट.

पहले से तय इफ़ेक्ट VibrationEffect के तौर पर उपलब्ध हैं कॉन्सटेंट के साथ-साथ सहायता के लिए जाँच की गई है और Vibrator सेवा के साथ चलाया गया है ये उदाहरण देखें.

डिवाइस पर VibrationEffect एपीआई के साथ काम करने की सुविधा को समझना

बुनियादी इस्तेमाल के दौरान, किसी व्यक्ति की सहायता की जांच करने की ज़रूरत नहीं होनी चाहिए VibrationEffect एपीआई. Vibrator.areEffectsSupported जैसे एपीआई और Vibrator.areAllEffectsSupported का इस्तेमाल यह पता लगाने के लिए किया जाता है कि डिवाइस में कॉन्स्टेंट को अपने हिसाब से लागू करने की सुविधा. अगर कस्टमाइज़ किया गया इफ़ेक्ट पेश है, तब भी आपका ऐप्लिकेशन इफ़ेक्ट को चला सकता है और प्लैटफ़ॉर्म के दिशा-निर्देशों का इस्तेमाल कर सकता है फ़ॉलबैक को लागू करना.

ज़्यादा जानकारी के लिए, पहले से उपलब्ध है VibrationEffect.

ज़रूरी शर्तें: वाइब्रेटर और VIBRATE अनुमति लोड करें

ज़्यादातर वाइब्रेशन, Vibrator सेवा की मदद से चलाए जा सकते हैं. हालांकि, इस सेवा को लोड भी किया जा सकता है इस तरह से:

Kotlin

import android.os.Vibrator

val vibrator = context.getSystemService(Vibrator::class.java)

Java

import android.os.Vibrator;

Vibrator vibrator = context.getSystemService(Vibrator.class);

ऐप्लिकेशन में यह होना चाहिए VIBRATE अनुमति ताकि इस सेवा का उपयोग करके डिवाइस को वाइब्रेट किया जा सके. अनुमति को ऐप्लिकेशन मेनिफ़ेस्ट फ़ाइल:

<uses-permission android:name="android.permission.VIBRATE"/>

पहले से तय किया गया VibrationEffect चलाएं

पहले से तय इफ़ेक्ट VibrationEffect.createPredefined का इस्तेमाल करके बनाए जा सकते हैं. फिर Vibrator पर vibrate में से किसी एक तरीके का इस्तेमाल करके चलाया गया.

इस उदाहरण में क्लिक इफ़ेक्ट का इस्तेमाल किया गया है.

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));

प्रिमिटिव के साथ बेहतर कंपोज़िशन का इस्तेमाल करना

VibrationEffect.Composition एपीआई, हैप्टिक फ़ीडबैक दें. हालांकि, प्रभावों के उलट, इन प्रिमिटिव में सिस्टम-लेवल पर वापस आ जाते हैं. इसका मतलब है कि उन कार्रवाइयों पर सावधानी से ध्यान डिवाइस के साथ काम करने वाले प्रिमिटिव और अन्य क्षमताएं.

इन एपीआई का इस्तेमाल करने के बारे में, यहां ज़्यादा जानकारी दी गई है: कस्टम हैप्टिक इफ़ेक्ट बनाना.