ক্যাপচার এবং ফোকাস ছেড়ে

বিশেষায়িত ইন্টারঅ্যাকশন মোডগুলিতে (যেমন একটি এমবেডেড ড্রয়িং ক্যানভাস, গেম কন্ট্রোলার সারফেস, বা মোডাল ইনপুট ডায়ালগ), আপনার অ্যাপের সাময়িকভাবে একটি নির্দিষ্ট কম্পোনেন্টে ফোকাস লক করার এবং ট্যাব বা ডিরেকশনাল কী ব্যবহার করে অন্য কোথাও চলে যাওয়া আটকানোর প্রয়োজন হতে পারে।

ফোকাস ক্যাপচার করুন

ফোকাস দখল করতে, একটি FocusRequester উপর captureFocus() কল করুন:

val focusRequester = remember { FocusRequester() }

Box(
    modifier = Modifier
        .focusRequester(focusRequester)
        .focusable()
        .onFocusChanged { focusState ->
            if (focusState.isFocused) {
                focusRequester.captureFocus()
            }
        }
)

ফোকাস দখল করা থাকলে, সাধারণ ফোকাস নেভিগেশন কী (যেমন ট্যাব ) পার্শ্ববর্তী কম্পোনেন্টগুলিতে ফোকাস স্থানান্তর করে না।

ফোকাস ছেড়ে দিন

ক্যাপচার করা অবস্থা থেকে বেরিয়ে আসতে এবং UI জুড়ে স্বাভাবিক ফোকাস নেভিগেশন পুনরুদ্ধার করতে, freeFocus() কল করুন:

IconButton(
    onClick = {
        focusRequester.freeFocus()
    }
) {
    Icon(Icons.Default.Close, contentDescription = "Exit focus lock")
}

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