एंड्रॉइड कीबोर्ड छुपाने का परिचय
एंड्रॉइड एप्लिकेशन विकसित करते समय, कई बार आपको सॉफ्ट कीबोर्ड को प्रोग्रामेटिक रूप से छिपाने की आवश्यकता होती है। यह विशेष रूप से तब उपयोगी होता है जब आपके लेआउट में एक EditText और एक बटन होता है और आप चाहते हैं कि बटन पर क्लिक करने के बाद कीबोर्ड गायब हो जाए।
इस गाइड में, हम इस कार्यक्षमता को प्राप्त करने के सरल और प्रभावी तरीकों का पता लगाएंगे। दिए गए चरणों का पालन करके, आप कीबोर्ड दृश्यता को कुशलतापूर्वक प्रबंधित करके अपने ऐप के उपयोगकर्ता अनुभव को बढ़ाने में सक्षम होंगे।
| आज्ञा | विवरण |
|---|---|
| getSystemService | नाम से सिस्टम-स्तरीय सेवा पुनर्प्राप्त करता है; यहां, इसका उपयोग कीबोर्ड को प्रबंधित करने के लिए InputMethodManager प्राप्त करने के लिए किया जाता है। |
| hideSoftInputFromWindow | पैरामीटर के रूप में टोकन और फ़्लैग लेते हुए, सॉफ्ट कीबोर्ड को विंडो से छुपाता है। |
| getCurrentFocus | गतिविधि में वर्तमान केंद्रित दृश्य लौटाता है, जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि कीबोर्ड को कहां छिपाना चाहिए। |
| onClickListener | एक कॉलबैक सेट करता है जो किसी दृश्य (उदाहरण के लिए, बटन) पर क्लिक करने पर ट्रिगर होता है। |
| dispatchTouchEvent | टच स्क्रीन मोशन इवेंट को विंडो पर भेजे जाने से पहले इंटरसेप्ट करता है, जो कस्टम टच हैंडलिंग के लिए उपयोगी है। |
| windowToken | एक टोकन लौटाता है जो दृश्य से जुड़ी विंडो की विशिष्ट पहचान करता है, जो कीबोर्ड को छिपाने के लिए आवश्यक है। |
एंड्रॉइड कीबोर्ड को छिपाने का तरीका समझना
जावा उदाहरण में, स्क्रिप्ट पहले आवश्यक कक्षाएं आयात करती है जैसे , , और . onCreate विधि लेआउट सेट करती है और प्रारंभ करती है और . जब बटन क्लिक किया जाता है, विधि कहलाती है. इस विधि का उपयोग करके वर्तमान केंद्रित दृश्य को पुनः प्राप्त किया जाता है getCurrentFocus, और यदि कोई दृश्य केंद्रित है, तो इसका उपयोग होता है सॉफ्ट कीबोर्ड को कॉल करके छुपाना . बटन क्लिक करने पर यह प्रभावी रूप से कीबोर्ड बंद कर देता है।
कोटलिन उदाहरण में, समान कार्यक्षमता प्राप्त की जाती है। स्क्रिप्ट इसे ओवरराइड करती है सामग्री दृश्य सेट करने और प्रारंभ करने की विधि और . बटन क्लिक श्रोता कॉल करता है hideKeyboard तरीका। इसके अतिरिक्त, बाहर छूने पर कीबोर्ड को छिपाने के लिए विधि को ओवरराइड किया गया है। यह विधि जांच करती है कि कोई दृश्य केंद्रित है या नहीं और कीबोर्ड का उपयोग करके छुपाता है . ये स्क्रिप्ट सॉफ्ट कीबोर्ड की दृश्यता को कुशलतापूर्वक प्रबंधित करके उपयोगकर्ता अनुभव को बढ़ाती हैं।
एंड्रॉइड सॉफ्ट कीबोर्ड को प्रोग्रामेटिक रूप से बंद करना
Android विकास के लिए जावा
import android.app.Activity;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.widget.Button;import android.widget.EditText;import android.os.Bundle;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);EditText editText = findViewById(R.id.editText);Button button = findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {hideKeyboard();}});}private void hideKeyboard() {View view = this.getCurrentFocus();if (view != null) {InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(view.getWindowToken(), 0);}}}
बाहर छूने पर कीबोर्ड छिपा दें
Android विकास के लिए कोटलिन
import android.app.Activityimport android.os.Bundleimport android.view.MotionEventimport android.view.Viewimport android.view.inputmethod.InputMethodManagerimport android.widget.EditTextimport android.widget.Buttonclass MainActivity : Activity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val editText = findViewById<EditText>(R.id.editText)val button = findViewById<Button>(R.id.button)button.setOnClickListener { hideKeyboard() }}private fun hideKeyboard() {val view = this.currentFocusview?.let { v ->val imm = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManagerimm.hideSoftInputFromWindow(v.windowToken, 0)}}override fun dispatchTouchEvent(ev: MotionEvent): Boolean {if (currentFocus != null) {val imm = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManagerimm.hideSoftInputFromWindow(currentFocus!!.windowToken, 0)}return super.dispatchTouchEvent(ev)}}
एंड्रॉइड कीबोर्ड को प्रबंधित करने के लिए उन्नत तकनीकें
एंड्रॉइड सॉफ्ट कीबोर्ड को प्रबंधित करने का एक अन्य महत्वपूर्ण पहलू विभिन्न उपयोगकर्ता इंटरैक्शन और कॉन्फ़िगरेशन के जवाब में इसकी दृश्यता को संभालना है। उदाहरण के लिए, हो सकता है कि आप चाहें कि जब कोई हो तो कीबोर्ड स्वचालित रूप से दिखाई दे विभिन्न यूआई घटकों के बीच नेविगेट करते समय फ़ोकस प्राप्त करना या यह सुनिश्चित करना कि यह छिप जाए। का उपयोग करके इसे प्राप्त किया जा सकता है जैसे जीवनचक्र कॉलबैक के साथ और onPause.
इसके अलावा, आप इसे समायोजित करके कीबोर्ड व्यवहार को नियंत्रित कर सकते हैं आपकी गतिविधि की मैनिफ़ेस्ट फ़ाइल में विशेषता। यह विशेषता आपको यह निर्दिष्ट करने की अनुमति देती है कि क्या कीबोर्ड को गतिविधि के लेआउट को समायोजित करना चाहिए या स्पष्ट रूप से अनुरोध किए जाने तक छिपा रहना चाहिए। इन कॉन्फ़िगरेशन का उपयोग करके अधिक सहज और प्रतिक्रियाशील इंटरफ़ेस प्रदान करके उपयोगकर्ता अनुभव में काफी सुधार किया जा सकता है।
- जब कोई हो तो मैं कीबोर्ड को कैसे छिपाऊं? फोकस खो देता है?
- आप इसे ओवरराइड कर सकते हैं के श्रोता और कॉल करें .
- क्या मैं स्वचालित रूप से कीबोर्ड दिखा सकता हूँ जब a फोकस प्राप्त होता है?
- हाँ, प्रयोग करें में श्रोता.
- मैं कीबोर्ड को एक टुकड़े में कैसे छुपा सकता हूँ?
- पुकारना खंड के दृश्य के संदर्भ में।
- क्या है के लिए इस्तेमाल होता है?
- यह निर्दिष्ट करता है कि कीबोर्ड गतिविधि के लेआउट के साथ कैसे इंटरैक्ट करता है, जैसे आकार बदलना या छिपा रहना।
- किसी बाहरी चीज़ को छूते समय मैं कीबोर्ड को कैसे छिपाऊं? ?
- अवहेलना अपनी गतिविधि में बाहर स्पर्श घटनाओं की जाँच करने के लिए .
- क्या मैं कीबोर्ड को छुपे रहने के लिए बाध्य कर सकता हूँ?
- हाँ, सेटिंग करके को प्रकट में.
- मैं कैसे पता लगाऊं कि कीबोर्ड वर्तमान में दृश्यमान है?
- उपयोग स्क्रीन के दृश्य क्षेत्र की तुलना रूट दृश्य की ऊंचाई से करने के लिए।
- क्या एक बटन क्लिक पर कीबोर्ड को प्रोग्रामेटिक रूप से छिपाना संभव है?
- हाँ, कॉल करें बटन में .
अंत में, आपके एप्लिकेशन में उपयोगकर्ता अनुभव को बढ़ाने के लिए एंड्रॉइड सॉफ्ट कीबोर्ड को प्रबंधित करना महत्वपूर्ण है। का उपयोग करके , आप बटन क्लिक या स्पर्श घटनाओं जैसे उपयोगकर्ता इंटरैक्शन के आधार पर कीबोर्ड को प्रोग्रामेटिक रूप से छिपा या दिखा सकते हैं। इसके अतिरिक्त, कॉन्फ़िगर करना आपकी मेनिफेस्ट फ़ाइल में विशेषता आपको कीबोर्ड के व्यवहार को अधिक सटीक रूप से नियंत्रित करने की अनुमति देती है। इन तरीकों को लागू करने से यह सुनिश्चित होता है कि कीबोर्ड की उपस्थिति ऐप की उपयोगिता में हस्तक्षेप नहीं करती है, जिससे उपयोगकर्ताओं के लिए एक सहज और सहज इंटरफ़ेस प्रदान होता है।