यदि आप xml का उपयोग नहीं करना चाहते हैं, तो कीबोर्ड को छिपाने के लिए कोटलिन एक्सटेंशन बनाएं
// In onResume, call this
myView.hideKeyboard()
fun View.hideKeyboard() {
val inputMethodManager = context.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(windowToken, 0)
}
उपयोग के मामले पर आधारित विकल्प:
fun Fragment.hideKeyboard() {
view?.let { activity?.hideKeyboard(it) }
}
fun Activity.hideKeyboard() {
// Calls Context.hideKeyboard
hideKeyboard(currentFocus ?: View(this))
}
fun Context.hideKeyboard(view: View) {
view.hideKeyboard()
}
सॉफ्ट कीबोर्ड कैसे दिखाएं
fun Context.showKeyboard() { // Or View.showKeyboard()
val inputMethodManager = context.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.toggleSoftInput(SHOW_FORCED, HIDE_IMPLICIT_ONLY)
}
सरल विधि जब एक साथ एक edittext पर ध्यान देने का अनुरोध करती है
myEdittext.focus()
fun View.focus() {
requestFocus()
showKeyboard()
}
बोनस सरलीकरण:
हमेशा के लिए आवश्यकता को निकालें getSystemService
: स्प्लिट्स लाइब्रेरी
// Simplifies above solution to just
inputMethodManager.hideSoftInputFromWindow(windowToken, 0)
android:windowSoftInputMode="stateHidden"