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") }
फ़ोकस हटाएं
फ़िलहाल जिस एलिमेंट पर फ़ोकस है उससे फ़ोकस हटाने के लिए, clearFocus() को कॉल करें. उदाहरण के लिए, जब उपयोगकर्ता Esc बटन दबाता है:
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 बंद होने पर, लिंक टेक्स्ट दिखता है
- फ़ोकस टारगेट
- फ़ोकस ट्रैवर्सल ऑर्डर
- प्रोग्राम के हिसाब से फ़ोकस का अनुरोध करना