হ্যাপটিক্সের জন্য সবচেয়ে মৌলিক ব্যবহারের ক্ষেত্রে একটি হল ব্যবহারকারীর মিথস্ক্রিয়ায় প্রতিক্রিয়া প্রদান করা। টাইম পিকার, ভার্চুয়াল কীবোর্ডের কী প্রেস এবং টেক্সট নির্বাচন হ্যাপটিক ফিডব্যাকের জন্য ভালো ব্যবহারের ক্ষেত্রে সাধারণ উদাহরণ। কখন এবং কীভাবে হ্যাপটিক্স প্রয়োগ করতে হবে সে সম্পর্কে আরও তথ্যের জন্য, হ্যাপটিক্স ডিজাইনের নীতিগুলি পড়ুন।
এই পৃষ্ঠাটি হ্যাপটিক প্রতিক্রিয়া প্রদানের তিনটি উপায় বর্ণনা করে।
- একটি
View
ব্যবহার করুন (প্রস্তাবিত) । এই পদ্ধতিটি অ্যাকশন-ভিত্তিক, এর ব্যাপক সমর্থন রয়েছে এবংVIBRATE
অনুমতির প্রয়োজন নেই। - একটি পূর্বনির্ধারিত
VibrationEffect
ব্যবহার করুন । এই পদ্ধতির আরো নমনীয়তা আছে, কিন্তু কিছু ট্রেড-অফ সহ। - আদিম সহ উন্নত রচনাগুলি ব্যবহার করুন ৷ এই পদ্ধতিটি নতুন এবং এমনকি আরও নমনীয়, তবে নির্দিষ্ট ডিভাইস সমর্থন প্রয়োজন।
এই পদ্ধতিগুলি ডিভাইস স্তরে সংজ্ঞায়িত আদিম ব্যবহার করে হাতে থাকা ডিভাইসের সাথে মানানসই উচ্চ মানের প্রতিক্রিয়া প্রদান করতে।
সমস্ত হ্যাপটিক প্রতিক্রিয়া পদ্ধতি ডিফল্টরূপে ব্যবহারকারীর স্পর্শ প্রতিক্রিয়া সেটিংসকে সম্মান করে।
হ্যাপটিক প্রতিক্রিয়া তৈরি করতে View
উপাদান ব্যবহার করুন
হ্যাপটিক প্রতিক্রিয়া তৈরি করতে View.performHapticFeedback
পদ্ধতি ব্যবহার করুন। HapticFeedbackConstants
দ্বারা সংজ্ঞায়িত হ্যাপটিক ধ্রুবকগুলি একটি অ্যাপ্লিকেশনে তাদের কার্যকারিতার উপর দৃষ্টি নিবদ্ধ করে, সঞ্চালিত হ্যাপটিক প্রভাবের ধরন নয়।
অন্তর্নিহিত বাস্তবায়ন ডিভাইস এবং হার্ডওয়্যার ক্ষমতার উপর নির্ভর করে পরিবর্তিত হতে পারে, তবে অ্যাপটিকে শুধুমাত্র একটি নির্দিষ্ট প্রসঙ্গে প্রদান করার জন্য প্রতিক্রিয়ার ধরন বিবেচনা করতে হবে। কার্যকারিতার উপর ফোকাস করে, আপনি অনুরূপ মিথস্ক্রিয়াগুলির জন্য হ্যাপটিক প্রতিক্রিয়া সক্ষম করতে পারেন। ব্যবহারকারীরা সময়ের সাথে সাথে বিভিন্ন হ্যাপটিক সংবেদনের সাথে বিভিন্ন অর্থ যুক্ত করতে শেখে।
পূর্বশর্ত: হ্যাপটিক প্রতিক্রিয়া সক্ষম করুন
যতক্ষণ View
দৃশ্যমান হয়, হ্যাপটিক ফিডব্যাক এর ইভেন্টের জন্য ব্যবহার করা যেতে পারে। কিছু ইভেন্ট, যেমন লং প্রেস, ডিফল্ট হ্যাপটিক্স থাকে যেটি ট্রিগার হয় যদি ভিউতে থাকা একজন শ্রোতা ঘটনাটি পরিচালনা করে ( true
ফিরে আসে)।
একটি অ্যান্ড্রয়েড View
View.hapticFeedbackEnabled
প্রপার্টি false
সেট করে হ্যাপটিক প্রতিক্রিয়া নিষ্ক্রিয় করতে পারে। এই সম্পত্তি নিষ্ক্রিয় ডিফল্ট প্রতিক্রিয়া ফলাফল.
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; } }
উদাহরণ 2: জমা দেওয়ার বোতাম
হ্যাপটিক ফিডব্যাক ব্যবহারের ক্ষেত্রে ডিভাইসের সাথে শারীরিক মিথস্ক্রিয়া অনুকরণের বাইরে চলে যায়। এগুলি একটি বিমূর্ত অর্থ বোঝাতেও ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, একটি 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
API-এর ডিভাইস সমর্থন বুঝুন
মৌলিক ব্যবহারে, পৃথক 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
API হ্যাপটিক প্রতিক্রিয়ার জন্য অতিরিক্ত সম্ভাবনা প্রদান করে। যাইহোক, প্রভাবগুলির বিপরীতে, এই আদিমগুলির সিস্টেম-স্তরের ফলব্যাক নেই, যার অর্থ হল ডিভাইস দ্বারা সমর্থিত আদিম এবং অন্যান্য ক্ষমতাগুলির প্রতি যত্নবান মনোযোগ দেওয়া প্রয়োজন৷
এই APIs ব্যবহার করে কাস্টম হ্যাপটিক ইফেক্ট তৈরিতে আরও বিস্তারিত আলোচনা করা হয়েছে।