हैप्टिक के इस्तेमाल के सबसे बुनियादी उदाहरणों में से एक है, उपयोगकर्ता को सुझाव देना इंटरैक्शन. टाइम पिकर, वर्चुअल कीबोर्ड पर दबाया जाने वाला बटन, और टेक्स्ट हैप्टिक फ़ीडबैक के लिए अच्छे इस्तेमाल के उदाहरण हैं. ज़्यादा के लिए हैप्टिक कब और कैसे लगाएं, इसके बारे में जानकारी हैप्टिक डिज़ाइन के सिद्धांत.
इस पेज पर हैप्टिक फ़ीडबैक देने के तीन तरीके बताए गए हैं.
View
का इस्तेमाल करें (सुझाया गया). यह तरीका ऐक्शन पर आधारित है, के पास सबसे ज़्यादा सुविधाएं हैं. साथ ही, इसके लिएVIBRATE
की अनुमति की ज़रूरत नहीं होती.- पहले से तय
VibrationEffect
का इस्तेमाल करें. इस तरीके में बदलाव करना आसान है, लेकिन इसमें कुछ बदलाव भी हो सकते हैं. - प्रिमिटिव के साथ बेहतर कंपोज़िशन का इस्तेमाल करना. यह यह तरीका नया है और इसे इस्तेमाल करना ज़्यादा आसान है. हालांकि, इसके लिए खास डिवाइस की ज़रूरत होती है सहायता.
ये तरीके, अच्छी क्वालिटी देने के लिए डिवाइस के लेवल पर तय किए गए प्रिमिटिव का इस्तेमाल करते हैं आपके डिवाइस के हिसाब से तैयार किए गए सुझाव, शिकायत या राय.
हैप्टिक फ़ीडबैक देने के सभी तरीके उपयोगकर्ता की टच फ़ीडबैक सेटिंग के हिसाब से काम करते हैं डिफ़ॉल्ट.
हैप्टिक फ़ीडबैक जनरेट करने के लिए, View
कॉम्पोनेंट का इस्तेमाल करें
हैप्टिक फ़ीडबैक जनरेट करने के लिए, View.performHapticFeedback
तरीके का इस्तेमाल करें. कॉन्टेंट बनाने
HapticFeedbackConstants
में तय किए गए हैप्टिक कॉन्सटेंट का फ़ोकस
की सुविधा का इस्तेमाल करती है, न कि उस तरह के हैप्टिक इफ़ेक्ट का.
डिवाइस और हार्डवेयर के हिसाब से, लागू करने का तरीका अलग-अलग हो सकता है सुविधाएं मिलती हैं, लेकिन ऐप्लिकेशन को सिर्फ़ यह ध्यान रखना होगा कि किस तरह के सुझाव, राय या शिकायत भेजने के लिए एक खास संदर्भ में रखा जाता है. फ़ंक्शन पर ध्यान देकर, हैप्टिक की सुविधा को चालू किया जा सकता है एक जैसे इंटरैक्शन के लिए सुझाव/शिकायत/राय सबमिट करें. उपयोगकर्ता अलग-अलग मतलब जोड़ना सीखते हैं समय के साथ अलग-अलग हैप्टिक सनसनी महसूस होती है.
ज़रूरी शर्तें: हैप्टिक फ़ीडबैक देने की सुविधा चालू करें
जब तक View
दिख रहा होगा, तब तक उसके इवेंट के लिए हैप्टिक फ़ीडबैक का इस्तेमाल किया जा सकता है.
कुछ इवेंट, जैसे कि देर तक दबाए रखना, डिफ़ॉल्ट हैप्टिक होते हैं, जो तब ट्रिगर होते हैं, जब
व्यू पर लिसनर इवेंट को हैंडल करता है (true
दिखाता है).
Android View
, हैप्टिक फ़ीडबैक की सुविधा को बंद कर सकता है. ऐसा करने के लिए,
false
के लिए View.hapticFeedbackEnabled
प्रॉपर्टी. यह प्रॉपर्टी बंद की जा रही है
के नतीजे डिफ़ॉल्ट रूप से फ़ीडबैक में बदल जाते हैं.
performHapticFeedback
तरीका, सिस्टम की सेटिंग के हिसाब से भी काम करता है
HAPTIC_FEEDBACK_ENABLED
, जिसकी मदद से लोग उन्हें बंद कर सकते हैं
ट्रैक करने में मदद मिलती है.
अन्य हैप्टिक एपीआई के उलट, View
के साथ HapticFeedbackConstants
का इस्तेमाल किया जा रहा है
को VIBRATE
अनुमति की ज़रूरत नहीं होती.
कोई HapticFeedbackConstant
चुनें
HapticFeedbackConstants
के साथ View
कॉम्पोनेंट का इस्तेमाल करने की कोई ज़रूरत नहीं है
ताकि किसी डिवाइस पर काम करने की पूरी क्षमता का आकलन किया जा सके. इसकी वजह यह है कि इन कॉन्सटेंट का फ़ॉलबैक
व्यवहार करें. हमें सिर्फ़ आपके हिसाब से, SDK टूल के लेवल पर
कॉन्स्टेंट.
उदाहरण 1: कीप्रेस
इस उदाहरण में, View
में टच इनपुट में हैप्टिक फ़ीडबैक जोड़ने का तरीका बताया गया है
टच लिसनर का इस्तेमाल करके. ये इफ़ेक्ट,
बटन और फिर रिलीज़ कर रहा है.
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
}
}
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
एक अच्छा सिग्नल मिल रहा है. इस इमेज में दिखाया गया है कि
उदाहरण के लिए, 'सबमिट करें' बटन पर सुझाव/शिकायत/राय.
submitButton.setOnClickListener { view ->
val successful = performSubmit()
if (successful) {
view.performHapticFeedback(HapticFeedbackConstants.CONFIRM)
} else {
view.performHapticFeedback(HapticFeedbackConstants.REJECT)
}
}
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
सेवा की मदद से चलाए जा सकते हैं. हालांकि, इस सेवा को लोड भी किया जा सकता है
इस तरह से:
import android.os.Vibrator
val vibrator = context.getSystemService(Vibrator::class.java)
import android.os.Vibrator;
Vibrator vibrator = context.getSystemService(Vibrator.class);
ऐप्लिकेशन में यह होना चाहिए
VIBRATE
अनुमति
ताकि इस सेवा का उपयोग करके डिवाइस को वाइब्रेट किया जा सके. अनुमति को
ऐप्लिकेशन मेनिफ़ेस्ट फ़ाइल:
<uses-permission android:name="android.permission.VIBRATE"/>
पहले से तय किया गया VibrationEffect
चलाएं
पहले से तय इफ़ेक्ट VibrationEffect.createPredefined
का इस्तेमाल करके बनाए जा सकते हैं.
फिर Vibrator
पर vibrate
में से किसी एक तरीके का इस्तेमाल करके चलाया गया.
इस उदाहरण में क्लिक इफ़ेक्ट का इस्तेमाल किया गया है.
val vibrator = context.getSystemService(Vibrator::class.java)
...
// Requires VIBRATE permission
vibrator.vibrate(VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK))
Vibrator vibrator = context.getSystemService(Vibrator.class);
...
// Requires VIBRATE permission
vibrator.vibrate(VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK));
प्रिमिटिव के साथ बेहतर कंपोज़िशन का इस्तेमाल करना
VibrationEffect.Composition
एपीआई,
हैप्टिक फ़ीडबैक दें. हालांकि, प्रभावों के उलट, इन प्रिमिटिव में
सिस्टम-लेवल पर वापस आ जाते हैं. इसका मतलब है कि उन कार्रवाइयों पर सावधानी से ध्यान
डिवाइस के साथ काम करने वाले प्रिमिटिव और अन्य क्षमताएं.
इन एपीआई का इस्तेमाल करने के बारे में, यहां ज़्यादा जानकारी दी गई है: कस्टम हैप्टिक इफ़ेक्ट बनाना.