বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

ফোকাস নেভিগেশনের জন্য ডিজাইন

শুধুমাত্র টাচস্ক্রিনকে একা একা সাপোর্ট না করে আপনার অ্যাপরিকেশনের উচিত নেবিগেশনের আরও পদ্ধতিকে সাপোর্ট করা। অনেক ডিভাইস টাচস্ক্রিনের চেয়ে নেভিগেশন হার্ডওয়ারের সাথে আসে, যেমন একটি D-pad, অ্যারো কি, বা একটি ট্র্যাক বল। অধিকন্তু, অ্যান্ড্রয়েডের পরবর্তী সংস্করনগুলো বহিরাগত কানেকশন ডিভাইস কে সাপোর্ট করে, যেমন USB বা ব্লুটুথ দিয়ে কিবোর্ড।

এই ধরনের নেভিগেশন সক্রিয় করার জন্য, সকল নেভিগেশনাল উপাদান যাতে ইউজারের নেভিগেট করার সামর্থ থাকা উচিত সেগুলো ফোকাসযোগ্য হিসাবে সেট করা প্রয়োজন। ঐ ইউআই কন্ট্রোলে View.setFocusable()পদ্ধতি ব্যবহার করে রানটাইমে এই পরিবর্তন সম্পাদন হতে পারে অথবা আপনার XML লেআউট ফাইলে android:focusable এট্রিবিউট সেট করার মাধ্যমে।

এছাড়াও, প্রতিটা ইউআই কন্ট্রোলে (নিয়ন্ত্রনে) ৪টা এট্রিবিউট থাকে, android:nextFocusUp, android:nextFocusDown, android:nextFocusLeft এবং android:nextFocusRight, যা আপনি ফোকাস গ্রহণ করতে পরবর্তী ভিই মনোনিত করতে ব্যবহার করতে পারেন যখন ইউজার এই ডিরেকশনে নেভিগেট করে। যে সময়ে প্লাটফর্ম, লেআউট প্রক্সিমিটির উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে নেভিগেশন সিকোয়েন্স (অনুক্রম) ঠিক করে, ওই সিকোয়ন্সগুলি ওভাররাইড করতে আপনি এই এট্রিবিউটগুলি ব্যবহার করতে পারেন যদি আপনার অ্যাপলিকেশনে এগুলো যথাযথ না হয়।

উদাহরনস্বরূপ, এখানে আছে কীভাবে আপনি একটি বাটন এবং লেবেল উভয়কে ফোকাসযোগ্য করে পরিবেশন করতে পারেন, যেমন ডাউনে প্রেস করা আপনাকে বাটন থেকে টেক্সট ভিউয়ে নিয়ে যাবে এবং আপ প্রেস করলে আপনাকে বাটনে ফেরত নিয়ে আসবে।

<Button android:id="@+id/doSomething"
    android:focusable="true"
    android:nextFocusDown=”@id/label”
    ... />
<TextView android:id="@+id/label"
    android:focusable=”true”
    android:text="@string/labelText"
    android:nextFocusUp=”@id/doSomething”
    ... />

যাচাই করুন যে আপনার অ্যপরিকেশন এই অবস্থায় সহজভাবে কাজ করছে। সহজ উপায় হচ্ছে শুধু আপনার অ্যাপলিকেশন অ্যান্ড্রয়েড ইম্যুলেটরে রান করুন, এবং ইম্যুলেটরের অ্যারো কি দিয়ে ইউআই এ নেভিগেট করুন, ইউআই কন্ট্রোল নির্বাচন করতে টাচের একটি প্রতিস্থাপন হিসাবে OK বাটন ব্যবহার করুন।