ফোকাস টার্গেট হল একটি UI এলিমেন্ট যেখানে কীবোর্ড ফোকাস যেতে পারে। ব্যবহারকারীরা Tab কী বা দিকনির্দেশক (তীরচিহ্ন) কী ব্যবহার করে কীবোর্ড ফোকাস সরাতে পারবেন:
- Tab বা Shift+Tab — এক-ডাইমেনশনাল দৃশ্যমানতার ক্রমে ফোকাস এগিয়ে বা পিছিয়ে নিয়ে যান।
- দিকনির্দেশক কী — দ্বিমাত্রিক ফোকাস সরান (উপরে, নিচে, বাঁদিকে এবং ডানদিকে)।
ইন্টার্যাক্টিভ UI এলিমেন্ট ডিফল্ট হিসেবে ফোকাস টার্গেট হয়
ইন্টার্যাক্টিভ কম্পোনেন্ট ডিফল্ট হিসেবে ফোকাস টার্গেট হয়। অন্যভাবে বলতে গেলে, কোনও UI এলিমেন্ট তখনই ফোকাস টার্গেট হয় যখন ব্যবহারকারী তাতে ট্যাপ বা ক্লিক করতে পারেন।
যেমন, তিনটি কার্ড কম্পোনেন্ট বিবেচনা করুন। প্রথম ও তৃতীয় কার্ড ইন্ট্যার্যাক্টিভ (সেগুলিতে onClick কলব্যাক আছে) হলেও দ্বিতীয় কার্ডটি
সম্পূর্ণ তথ্যমূলক (সেটিতে ক্লিক হ্যান্ডলিং নেই), প্রথম কার্ডে Tab কী টিপলে
দ্বিতীয় কার্ডটি এড়িয়ে যাওয়া হয় এবং সরাসরি তৃতীয় কার্ডে চলে যাওয়া হয়।
Card(onClick = { /* First card action */ }) { Text("Card 1 (Interactive)") } Card { Text("Card 2 (Informational - not focusable)") } Card(onClick = { /* Third card action */ }) { Text("Card 3 (Interactive)") }
আপনি onClick
প্যারামিটার প্রদান করে দ্বিতীয় কার্ডটিকে ফোকাস টার্গেট করতে পারেন:
Card(onClick = { /* Second card action */ }) { Text("Card 2 (Now interactive and focusable)") }
clickable মডিফায়ার কাস্টম বা স্ট্যান্ডার্ড UI এলিমেন্টকেও
ফোকাস টার্গেটে পরিণত করে। বিবরণের জন্য ট্যাপ ও প্রেস করুন দেখুন।
Box( modifier = Modifier .clickable { /* Handle click */ } ) { Text("Custom interactive element") }
কম্পোজ করার উপযুক্ত আইটেমকে ক্লিক করা যায় না এমন ফোকাস টার্গেট হিসেবে সেট করা
focusable মডিফায়ার কম্পোজ করার মতো আইটেমকে ফোকাস টার্গেট করে তোলে, এর জন্য
ক্লিক সিম্যান্টিক প্রয়োজন হয় না। ব্যবহারকারী পরিবর্তিত কম্পোজেবলে কীবোর্ড ফোকাস সরাতে পারেন (যেমন, অ্যাক্সেসিবিলিটি টুল দিয়ে কন্টেন্ট পরিদর্শন করা বা ভিউপোর্ট স্ক্রল করা),
কিন্তু Enter বা Space কী প্রেস করলে
ক্লিক অ্যাকশন ট্রিগার হয় না:
Box( modifier = Modifier .focusable() ) { Text("Non-clickable focus target") }
কম্পোজ করা যায় এমন আইটেমকে আনফোকাস করা
কিছু পরিস্থিতিতে, আপনি হয়ত পয়েন্টার বা ক্লিক ইভেন্ট বন্ধ না করেই কীবোর্ড
নেভিগেশন থেকে কোনও ইন্ট্যার্যাক্টিভ এলিমেন্ট বাদ দিতে চাইবেন। আপনি
focusProperties মডিফায়ারের মধ্যে canFocus = false সেট করে কোনও
কম্পোনেন্টকে ফোকাস পাওয়ার থেকে আটকাতে পারেন:
var checked by remember { mutableStateOf(false) } Switch( checked = checked, onCheckedChange = { checked = it }, // Prevent component from being focused modifier = Modifier .focusProperties { canFocus = false } )
আপনার জন্য সাজেস্ট করা হয়েছে
- মনে রাখবেন: জাভাস্ক্রিপ্ট বন্ধ থাকলে লিঙ্ক টেক্সট দেখানো হয়
- ফোকাস ট্রাভার্সাল অর্ডার
- টেক্সট ফিল্ডে ফোকাস করা
- গ্রুপ ফোকাস টার্গেট
- ফোকাস স্টেট নির্দেশ করে
- ফোকাস নেভিগেশন পরীক্ষা করা