সমর্থন কীবোর্ড নেভিগেশন

সফ্ট ইনপুট পদ্ধতিগুলি ছাড়াও—যেমন অন-স্ক্রীন কীবোর্ড—অ্যান্ড্রয়েড ডিভাইসের সাথে সংযুক্ত ফিজিক্যাল কীবোর্ড সমর্থন করে। একটি কীবোর্ড পাঠ্য ইনপুটের জন্য একটি সুবিধাজনক মোড এবং ব্যবহারকারীদের আপনার অ্যাপের সাথে নেভিগেট এবং ইন্টারঅ্যাক্ট করার একটি উপায় প্রদান করে। যদিও বেশিরভাগ হাতে ধরা ডিভাইস যেমন ফোনগুলি ইন্টারঅ্যাকশনের প্রাথমিক মোড হিসাবে স্পর্শ ব্যবহার করে, ট্যাবলেট এবং অনুরূপ ডিভাইসগুলি জনপ্রিয় এবং অনেক ব্যবহারকারী তাদের সাথে কীবোর্ড আনুষাঙ্গিক সংযুক্ত করতে পছন্দ করে।

যেহেতু আরও Android-চালিত ডিভাইসগুলি এই ধরনের অভিজ্ঞতা প্রদান করে, এটি গুরুত্বপূর্ণ যে আপনি একটি কীবোর্ডের মাধ্যমে মিথস্ক্রিয়া সমর্থন করার জন্য আপনার অ্যাপটি অপ্টিমাইজ করুন৷ এই নথিটি বর্ণনা করে কিভাবে আপনি একটি কীবোর্ড দিয়ে নেভিগেশন উন্নত করতে পারেন।

আপনার অ্যাপ পরীক্ষা করুন

ব্যবহারকারীরা ইতিমধ্যেই একটি কীবোর্ড ব্যবহার করে আপনার অ্যাপটি নেভিগেট করতে সক্ষম হতে পারে, কারণ অ্যান্ড্রয়েড সিস্টেম ডিফল্টরূপে বেশিরভাগ প্রয়োজনীয় আচরণ সক্ষম করে।

অ্যান্ড্রয়েড ফ্রেমওয়ার্ক দ্বারা প্রদত্ত সমস্ত ইন্টারেক্টিভ উইজেট—যেমন Button এবং EditText —ফোকাসযোগ্য। এর অর্থ ব্যবহারকারীরা ডি-প্যাড বা কীবোর্ডের মতো নিয়ন্ত্রণ ডিভাইসগুলির সাথে নেভিগেট করতে পারে এবং প্রতিটি উইজেট জ্বলে ওঠে বা অন্যথায় যখন এটি ইনপুট ফোকাস লাভ করে তখন তার চেহারা পরিবর্তন করে।

আপনার অ্যাপ পরীক্ষা করতে, নিম্নলিখিত পদ্ধতিটি সম্পাদন করুন:

  1. একটি হার্ডওয়্যার কীবোর্ড অফার করে এমন একটি ডিভাইসে আপনার অ্যাপ ইনস্টল করুন।

    আপনার যদি কীবোর্ড সহ একটি হার্ডওয়্যার ডিভাইস না থাকে তবে একটি ব্লুটুথ কীবোর্ড বা একটি USB কীবোর্ড সংযুক্ত করুন৷

    আপনি অ্যান্ড্রয়েড এমুলেটরও ব্যবহার করতে পারেন:

    1. AVD ম্যানেজারে, হয় নতুন ডিভাইসে ক্লিক করুন অথবা একটি বিদ্যমান প্রোফাইল নির্বাচন করুন এবং ক্লোন ক্লিক করুন।
    2. প্রদর্শিত উইন্ডোতে, নিশ্চিত করুন কীবোর্ড এবং DPad সক্রিয় আছে।
  2. আপনার অ্যাপ পরীক্ষা করতে, আপনার UI এর মাধ্যমে নেভিগেট করতে শুধুমাত্র ট্যাব কী ব্যবহার করুন। নিশ্চিত করুন যে প্রতিটি UI নিয়ন্ত্রণ প্রত্যাশা অনুযায়ী ফোকাস পায়।

    ফোকাস একটি অপ্রত্যাশিত পদ্ধতিতে সরানো যে কোনো উদাহরণ জন্য দেখুন.

  3. আপনার অ্যাপের শুরু থেকে আবার শুরু করুন এবং কীবোর্ডের তীর কীগুলির মতো দিকনির্দেশ নিয়ন্ত্রণগুলি ব্যবহার করে আপনার UI এর মাধ্যমে নেভিগেট করুন৷ আপনার UI এর প্রতিটি ফোকাসযোগ্য উপাদান থেকে, উপরে , নিচে , বাম এবং ডানে টিপুন।

    ফোকাস একটি অপ্রত্যাশিত পদ্ধতিতে সরানো যে কোনো উদাহরণ জন্য দেখুন.

আপনি যদি এমন কোনো দৃষ্টান্তের সম্মুখীন হন যেখানে ট্যাব কী বা দিক নিয়ন্ত্রণের সাহায্যে নেভিগেট করা আপনার প্রত্যাশা অনুযায়ী কাজ করে না, তাহলে নিম্নোক্ত বিভাগে যেমন আলোচনা করা হয়েছে আপনার লেআউটে ফোকাস কোথায় থাকা উচিত তা নির্দিষ্ট করুন।

ট্যাব নেভিগেশন হ্যান্ডেল

যখন একজন ব্যবহারকারী কীবোর্ড ট্যাব কী ব্যবহার করে আপনার অ্যাপটি নেভিগেট করেন, তখন সিস্টেমটি লেআউটে যে ক্রমানুসারে উপস্থিত হয় তার উপর ভিত্তি করে উপাদানগুলির মধ্যে ইনপুট ফোকাস পাস করে৷ আপনি যদি একটি আপেক্ষিক বিন্যাস ব্যবহার করেন, উদাহরণস্বরূপ, এবং স্ক্রিনে উপাদানগুলির ক্রম ফাইলের ক্রম থেকে ভিন্ন হয়, তাহলে আপনাকে ম্যানুয়ালি ফোকাস অর্ডার নির্দিষ্ট করতে হতে পারে।

উদাহরণস্বরূপ, নিম্নলিখিত লেআউটে, দুটি বোতাম ডানদিকে সারিবদ্ধ করা হয়েছে, এবং একটি পাঠ্য ক্ষেত্র দ্বিতীয় বোতামের বাম দিকে সারিবদ্ধ করা হয়েছে। প্রথম বোতাম থেকে টেক্সট ফিল্ডে এবং তারপরে দ্বিতীয় বোতামে ফোকাস পাঠাতে, লেআউটটিকে android:nextFocusForward অ্যাট্রিবিউট সহ প্রতিটি ফোকাসযোগ্য উপাদানের জন্য ফোকাস ক্রম স্পষ্টভাবে সংজ্ঞায়িত করতে হবে।

<androidx.constraintlayout.widget.ConstraintLayout ...>
    <Button
        android:id="@+id/button1"
        android:nextFocusForward="@+id/editText1"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        ... />
    <Button
        android:id="@+id/button2"
        android:nextFocusForward="@+id/button1"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/button1"
        ... />
    <EditText
        android:id="@id/editText1"
        android:nextFocusForward="@+id/button2"
        app:layout_constraintBottom_toBottomOf="@+id/button2"
        app:layout_constraintRight_toLeftOf="@id/button2
        ...  />
    ...
</androidx.constraintlayout.widget.ConstraintLayout>

এখন, ফোকাসটি button1 থেকে button2 এবং তারপর editText1 সরানোর পরিবর্তে, এটি যথাযথভাবে স্ক্রিনের উপস্থিতি অনুসারে সরে যায়: button1 থেকে editText1 এবং তারপর button2

দিকনির্দেশনামূলক নেভিগেশন পরিচালনা করুন

ব্যবহারকারীরা একটি কীবোর্ডের তীর কীগুলি ব্যবহার করে আপনার অ্যাপটি নেভিগেট করতে পারে, যা ডি-প্যাড বা ট্র্যাকবল দিয়ে নেভিগেট করার সময় একই আচরণ করে। সিস্টেমটি একটি "সর্বোত্তম অনুমান" প্রদান করে যার জন্য স্ক্রীনে ভিউগুলির লেআউটের উপর ভিত্তি করে একটি প্রদত্ত দিকে ফোকাস দিতে হবে৷ যাইহোক, কখনও কখনও সিস্টেম ভুল অনুমান.

প্রদত্ত দিক দিয়ে নেভিগেট করার সময় সিস্টেমটি যথাযথ ভিউতে ফোকাস না পাঠালে, নিম্নলিখিত বৈশিষ্ট্যগুলির সাথে কোন ভিউটি অবশ্যই ফোকাস পাবে তা নির্দিষ্ট করুন:

প্রতিটি বৈশিষ্ট্য ফোকাস পাওয়ার জন্য পরবর্তী ভিউকে মনোনীত করে যখন ব্যবহারকারী সেই দিকে নেভিগেট করে, যেমন ভিউ আইডি দ্বারা নির্দিষ্ট করা হয়েছে। এটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

<Button
    android:id="@+id/button1"
    android:nextFocusRight="@+id/button2"
    android:nextFocusDown="@+id/editText1"
    ... />
<Button
    android:id="@id/button2"
    android:nextFocusLeft="@id/button1"
    android:nextFocusDown="@id/editText1"
    ... />
<EditText
    android:id="@id/editText1"
    android:nextFocusUp="@id/button1"
    ...  />

অতিরিক্ত সম্পদ

নিম্নলিখিত সম্পর্কিত সংস্থান পড়ুন: