ফোকাস সরিয়ে দিন

FocusManager আপনাকে দিকনির্দেশ অনুযায়ী ফোকাস সরাতে বা এটি সম্পূর্ণভাবে মুছে দিতে দেয়। সরাসরি কম্পোনেন্ট টার্গেটিংয়ের জন্য FocusRequester ব্যবহার করুন (প্রোগ্রাম্যাটিক উপায়ে ফোকাস করার অনুরোধ করুন দেখুন)।

FocusManager-এর মাধ্যমে দিকনির্দেশমূলক ফোকাস মুভমেন্ট

আপেক্ষিক দিকে প্রোগ্রাম্যাটিক উপায়ে ফোকাস সরাতে:

  1. LocalFocusManager.current ব্যবহার করে FocusManager ইনস্ট্যান্স পান।
  2. FocusDirection ভ্যালু (Next, Previous, Up, Down, Left, Right, Enter বা Exit) সহ moveFocus() নম্বরে কল করুন।

val focusManager = LocalFocusManager.current

Button(
    onClick = {
        focusManager.moveFocus(FocusDirection.Next)
    }
) {
    Text("Next Field")
}

স্পষ্ট ফোকাস

যে এলিমেন্টে বর্তমানে ফোকাস আছে সেটি থেকে ফোকাস সরিয়ে নিতে (যেমন, ব্যবহারকারী Esc কী প্রেস করলে), clearFocus()-এ কল করুন:

val focusManager = LocalFocusManager.current

Box(
    modifier = Modifier.onPreviewKeyEvent { keyEvent ->
        if (keyEvent.key == Key.Escape && keyEvent.type == KeyEventType.KeyUp) {
            focusManager.clearFocus()
            true
        } else {
            false
        }
    }
)

clearFocus() ফাংশন একটি ঐচ্ছিক force: Boolean = false প্যারামিটার গ্রহণ করে:

  • force = false (ডিফল্ট): ফোকাস লক মেনে চলে এবং অ্যাক্টিভ কম্পোনেন্ট ফোকাস ক্যাপচার করে থাকলে ফোকাস মুছে দেবে না।
  • force = true: কোনও কম্পোনেন্ট ফোকাস ক্যাপচার করে থাকলেও, এটি শর্তহীনভাবে ফোকাস সরিয়ে দেয়।