যখন ব্যবহারকারীরা হার্ডওয়্যার কিবোর্ড, ডি-প্যাড বা রোটারি কন্ট্রোলার দিয়ে কম্পোজ UI নেভিগেট করেন, তখন টেক্সট ফিল্ডগুলো অন্যান্য ফোকাস টার্গেটের পাশাপাশি ফোকাস নেভিগেশনে অংশগ্রহণ করে।
ডিফল্টভাবে, টেক্সট ফিল্ডে ফোকাস আটকে থাকে না। ব্যবহারকারীদের টেক্সট ফিল্ড থেকে বের হওয়ার সুযোগ দেওয়ার জন্য আপনার কোনো কাস্টম কী ইভেন্ট হ্যান্ডলার ( onKeyEvent বা onPreviewKeyEvent ) যোগ করার প্রয়োজন নেই। ব্যবহারকারীরা সবসময় Shift+Tab ব্যবহার করে অথবা ডিরেকশনাল কী-এর সাহায্যে টেক্সটের সীমানা অতিক্রম করে বেরিয়ে যেতে পারেন।
হার্ডওয়্যার কিবোর্ড নেভিগেশনের সাথে সমন্বয় রেখে একটি স্বজ্ঞাত সফটওয়্যার কিবোর্ড অ্যাকশন প্রদানের জন্য KeyboardOptions ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, ImeAction.Next ফোকাসকে পরবর্তী ফোকাস টার্গেটে নিয়ে যায়।
একমাত্রিক ফোকাস ট্র্যাভার্সাল
একমাত্রিক ফোকাস ট্রাভার্সালের ক্ষেত্রে, ট্যাব কী-এর আচরণ টেক্সট ফিল্ডে কনফিগার করা lineLimits এর উপর নির্ভর করে:
- এক-লাইনের টেক্সট ফিল্ড (
TextFieldLineLimits.SingleLine) ট্যাব কী চাপলে UI-এর পরবর্তী ফোকাস টার্গেটে ফোকাস চলে যায়। - একাধিক লাইনের টেক্সট ফিল্ড (
TextFieldLineLimits.MultiLine()অথবা ডিফল্ট) : ট্যাব কী চাপলে ফোকাস সরানোর পরিবর্তে টেক্সট বাফারে একটি ট্যাব ক্যারেক্টার (\t) যুক্ত হয়। - বিপরীত নেভিগেশন ( Shift+Tab ) : Shift+Tab চাপলে একক-লাইন এবং একাধিক-লাইন উভয় টেক্সট ফিল্ডেই ফোকাস স্বয়ংক্রিয়ভাবে পূর্ববর্তী লক্ষ্যে ফিরে যায়।
// Single-line text field: Tab advances focus to the next focus target BasicTextField( state = singleLineState, lineLimits = TextFieldLineLimits.SingleLine, modifier = Modifier.fillMaxWidth() ) // Multi-line text field: Tab inserts '\t'; Shift + Tab moves to previous target BasicTextField( state = multiLineState, lineLimits = TextFieldLineLimits.MultiLine(), modifier = Modifier.fillMaxWidth() )
দ্বিমাত্রিক ফোকাস ট্র্যাভার্সাল
অ্যারো কী (বা ডি-প্যাড) ব্যবহার করার সময়, ডিরেকশনাল কীগুলো প্রথমে টেক্সট ফিল্ডের মধ্যে টেক্সট কার্সার (ক্যারেট) সরায়:
- উল্লম্ব নেভিগেশন (উপরে / নিচে) :
Downকী চাপলে ক্যারেটটি এক এক করে নিচের দিকে নামে। ক্যারেটটি শেষ লাইনে পৌঁছালে, আবার ডাউন কী চাপলে ফোকাসটি টেক্সট ফিল্ডের নিচে অবস্থিত সংলগ্ন ফোকাস টার্গেটে চলে যায়। প্রথম লাইনে আপ কী চাপলে ফোকাসটি পূর্ববর্তী ফোকাস টার্গেটে চলে যায়। - অনুভূমিক নেভিগেশন (বাম / ডান / শুরু / শেষ) : অনুভূমিক অ্যারো কী চাপলে ক্যারেটটি অক্ষরগুলোর মধ্যে চলাচল করে। যখন ক্যারেটটি টেক্সট বাফারের শুরু বা শেষে পৌঁছায়, তখন আবার ডিরেকশনাল কী চাপলে ফোকাসটি সেই দিকের সংলগ্ন ফোকাস টার্গেটে স্থানান্তরিত হয়।
অ্যান্ড্রয়েড টিভিতে টেক্সট ফিল্ড
অ্যান্ড্রয়েড টিভিতে, ফিজিক্যাল কীবোর্ড ছাড়া ডি-প্যাড কন্ট্রোলার ব্যবহার করে:
- কোনো টেক্সট ফিল্ডে ফোকাস নিয়ে গেলে স্বয়ংক্রিয়ভাবে অন-স্ক্রিন সফটওয়্যার কীবোর্ড প্রদর্শিত হয়।
- ব্যবহারকারী ডি-প্যাড ব্যবহার করে সফটওয়্যার কিবোর্ডের কীগুলো পরিচালনা করেন।
- ব্যাক বাটন চাপলে সফটওয়্যার কীবোর্ডটি অদৃশ্য হয়ে যায়, কিন্তু টেক্সট ফিল্ডের উপর ফোকাস বজায় থাকে।
- সফটওয়্যার কীবোর্ডটি বন্ধ হয়ে গেলে, ডি-প্যাডের ডিরেকশনাল কীগুলো চাপলে স্ক্রিনে থাকা নিকটবর্তী ফোকাস টার্গেটগুলোতে ফোকাস চলে যায়।
- দ্বিতীয়বার ব্যাক বাটন চাপলে সিস্টেমের সাধারণ ব্যাক নেভিগেশন চালু হয়।
আপনার জন্য প্রস্তাবিত
- দ্রষ্টব্য: জাভাস্ক্রিপ্ট বন্ধ থাকলেও লিঙ্কের লেখা প্রদর্শিত হয়।
- ফোকাস লক্ষ্য
- ফোকাস ট্র্যাভার্সাল অর্ডার
- গ্রুপ ফোকাস লক্ষ্য
- পরীক্ষার ফোকাস নেভিগেশন