FocusManager की मदद से, फ़ोकस को किसी दिशा में ले जाया जा सकता है या पूरी तरह से हटाया जा सकता है.
कॉम्पोनेंट को सीधे तौर पर टारगेट करने के लिए, FocusRequester का इस्तेमाल करें. इसके बारे में जानने के लिए, प्रोग्राम के हिसाब से फ़ोकस करने का अनुरोध करना लेख पढ़ें.
FocusManager की मदद से, फ़ोकस को किसी दिशा में ले जाना
फ़ोकस को प्रोग्राम के हिसाब से, किसी दूसरी जगह पर ले जाने के लिए:
LocalFocusManager.currentका इस्तेमाल करके,FocusManagerइंस्टेंस पाएं.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: यह फ़ोकस को बिना किसी शर्त के हटा देता है. भले ही, किसी कॉम्पोनेंट ने फ़ोकस कैप्चर किया हो.
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक का टेक्स्ट दिखता है
- फ़ोकस टारगेट
- फ़ोकस ट्रैवर्सल ऑर्डर
- प्रोग्राम के हिसाब से फ़ोकस करने का अनुरोध करना