ফোকাস লক্ষ্য

ফোকাস টার্গেট হলো এমন একটি UI এলিমেন্ট যেখানে কিবোর্ড ফোকাস সরানো যায়। ব্যবহারকারীরা ট্যাব কী অথবা ডিরেকশনাল (অ্যারো) কী ব্যবহার করে কিবোর্ড ফোকাস সরাতে পারেন:

  • Tab বা Shift+Tab — এক-মাত্রিক উপস্থিতির ক্রমে ফোকাসকে সামনে বা পিছনে সরান।
  • দিকনির্দেশক কী — ফোকাসকে দ্বিমাত্রিকভাবে সরান ( উপরে , নিচে , বামে এবং ডানে )।

ইন্টারেক্টিভ UI এলিমেন্টগুলো ডিফল্টরূপে ফোকাস টার্গেট হয়।

একটি ইন্টারেক্টিভ কম্পোনেন্ট ডিফল্টরূপে একটি ফোকাস টার্গেট হয়। অন্য কথায়, একটি UI এলিমেন্ট তখনই ফোকাস টার্গেট হয়, যখন ব্যবহারকারীরা সেটিতে ট্যাপ বা ক্লিক করতে পারেন।

উদাহরণস্বরূপ, তিনটি কার্ড কম্পোনেন্টের কথা বিবেচনা করুন। যদি প্রথম এবং তৃতীয় কার্ড ইন্টারেক্টিভ হয় (অর্থাৎ সেগুলোতে একটি onClick কলব্যাক সংজ্ঞায়িত করা থাকে), কিন্তু দ্বিতীয় কার্ডটি সম্পূর্ণরূপে তথ্যমূলক হয় (অর্থাৎ এতে কোনো ক্লিক হ্যান্ডলিং না থাকে), তাহলে প্রথম কার্ডে ট্যাব কী চাপলে দ্বিতীয় কার্ডটি এড়িয়ে সরাসরি তৃতীয় কার্ডে চলে যাবে।

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 মডিফায়ারটি ক্লিক সেম্যান্টিক্সের প্রয়োজন ছাড়াই একটি কম্পোজেবলকে ফোকাস টার্গেটে পরিণত করে। ব্যবহারকারীরা কিবোর্ড ফোকাসকে পরিবর্তিত কম্পোজেবলটিতে সরাতে পারেন (উদাহরণস্বরূপ, অ্যাক্সেসিবিলিটি টুল দিয়ে কন্টেন্ট পরিদর্শন করতে বা ভিউপোর্ট স্ক্রল করতে), কিন্তু এন্টার বা স্পেস কী চাপলে কোনো ক্লিক অ্যাকশন ট্রিগার হয় না:

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 }
)

{% হুবহু %} {% endverbatim %} {% হুবহু %} {% endverbatim %}