Android कीबोर्ड लपविण्याचा परिचय
अँड्रॉइड ॲप्लिकेशन्स डेव्हलप करताना, असे काही वेळा येतात जेव्हा तुम्हाला सॉफ्ट कीबोर्ड प्रोग्रामॅटिकरित्या लपवावे लागते. तुमच्या लेआउटमध्ये एडिट टेक्स्ट आणि एक बटण असेल आणि बटण क्लिक केल्यानंतर कीबोर्ड गायब होऊ इच्छित असेल तेव्हा हे विशेषतः उपयुक्त आहे.
या मार्गदर्शकामध्ये, आम्ही ही कार्यक्षमता साध्य करण्यासाठी साधे आणि प्रभावी मार्ग शोधू. प्रदान केलेल्या चरणांचे अनुसरण करून, आपण कीबोर्ड दृश्यमानता कार्यक्षमतेने व्यवस्थापित करून आपल्या ॲपचा वापरकर्ता अनुभव वर्धित करण्यात सक्षम व्हाल.
आज्ञा | वर्णन |
---|---|
getSystemService | नावाने सिस्टम-स्तरीय सेवा पुनर्प्राप्त करते; येथे, कीबोर्ड व्यवस्थापित करण्यासाठी InputMethodManager मिळविण्यासाठी वापरले जाते. |
hideSoftInputFromWindow | पॅरामीटर्स म्हणून टोकन आणि ध्वज घेऊन विंडोमधून सॉफ्ट कीबोर्ड लपवतो. |
getCurrentFocus | कीबोर्ड कुठून लपवायचा हे निर्धारित करण्यासाठी वापरल्या जाणाऱ्या क्रियाकलापातील वर्तमान फोकस केलेले दृश्य परत करते. |
onClickListener | व्ह्यू (उदा. बटण) क्लिक केल्यावर ट्रिगर करणारा कॉलबॅक सेट करतो. |
dispatchTouchEvent | खिडकीवर पाठवण्यापूर्वी टच स्क्रीन मोशन इव्हेंट्स इंटरसेप्ट करते, कस्टम टच हाताळणीसाठी उपयुक्त. |
windowToken | कीबोर्ड लपवण्यासाठी आवश्यक असलेल्या दृश्याशी संबंधित विंडो अनन्यपणे ओळखणारे टोकन परत करते. |
Android कीबोर्ड कसा लपवायचा हे समजून घेणे
Java उदाहरणामध्ये, स्क्रिप्ट प्रथम आवश्यक वर्ग आयात करते जसे की InputMethodManager, १, आणि EditText. द onCreate पद्धत लेआउट सेट करते आणि आरंभ करते EditText आणि ५. बटण क्लिक केल्यावर, द hideKeyboard पद्धत म्हणतात. ही पद्धत वापरून वर्तमान केंद्रित दृश्य पुनर्प्राप्त करते ७, आणि जर एखादे दृश्य केंद्रित असेल तर ते वापरते InputMethodManager कॉल करून सॉफ्ट कीबोर्ड लपवण्यासाठी ९. जेव्हा बटण क्लिक केले जाते तेव्हा हे प्रभावीपणे कीबोर्ड बंद करते.
कोटलिन उदाहरणामध्ये, समान कार्यक्षमता प्राप्त केली जाते. स्क्रिप्ट ओव्हरराइड करते onCreate सामग्री दृश्य सेट करण्यासाठी आणि प्रारंभ करण्यासाठी पद्धत EditText आणि ५. बटण क्लिक ऐकणारा कॉल करतो hideKeyboard पद्धत याव्यतिरिक्त, द dispatchTouchEvent बाहेर स्पर्श करताना कीबोर्ड लपवण्यासाठी पद्धत ओव्हरराइड केली जाते. ही पद्धत एखादे दृश्य केंद्रित आहे का ते तपासते आणि कीबोर्ड वापरून लपवते InputMethodManager. या स्क्रिप्ट सॉफ्ट कीबोर्डची दृश्यमानता कार्यक्षमतेने व्यवस्थापित करून वापरकर्त्याचा अनुभव वाढवतात.
अँड्रॉइड सॉफ्ट कीबोर्ड प्रोग्रामॅटिकली बंद करत आहे
Android विकासासाठी Java
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 {
@Override
protected 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() {
@Override
public 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 विकासासाठी Kotlin
१
Android कीबोर्ड व्यवस्थापित करण्यासाठी प्रगत तंत्रे
Android सॉफ्ट कीबोर्ड व्यवस्थापित करण्याचा आणखी एक महत्त्वाचा पैलू म्हणजे विविध वापरकर्ता परस्परसंवाद आणि कॉन्फिगरेशनच्या प्रतिसादात त्याची दृश्यमानता हाताळणे. उदाहरणार्थ, जेव्हा a EditText विविध UI घटकांदरम्यान नेव्हिगेट करताना फोकस मिळवणे किंवा ते लपते याची खात्री करण्यासाठी. वापरून हे साध्य करता येते InputMethodManager लाइफसायकल कॉलबॅकसह जसे की १८ आणि onPause.
शिवाय, आपण समायोजित करून कीबोर्ड वर्तन नियंत्रित करू शकता android:windowSoftInputMode तुमच्या क्रियाकलापाच्या मॅनिफेस्ट फाइलमध्ये विशेषता. ही विशेषता तुम्हाला कीबोर्डने क्रियाकलापाचे लेआउट समायोजित करावे किंवा स्पष्टपणे विनंती करेपर्यंत लपवलेले राहावे हे निर्दिष्ट करण्यास अनुमती देते. या कॉन्फिगरेशनचा वापर केल्याने अधिक अंतर्ज्ञानी आणि प्रतिसाद देणारा इंटरफेस प्रदान करून वापरकर्ता अनुभव लक्षणीयरीत्या सुधारू शकतो.
Android कीबोर्ड लपविण्याबद्दल सामान्य प्रश्न
- मी कीबोर्ड कसा लपवू शकतो जेव्हा ए EditText लक्ष गमावते?
- तुम्ही ओव्हरराइड करू शकता onFocusChange चे श्रोते EditText आणि कॉल करा २४.
- मी स्वयंचलितपणे कीबोर्ड दर्शवू शकतो का जेव्हा ए EditText लक्ष केंद्रित करते?
- होय, वापरा २६ मध्ये onFocusChange ऐकणारा
- मी एका तुकड्यात कीबोर्ड कसा लपवू शकतो?
- कॉल करा २४ तुकड्याच्या दृश्याच्या संदर्भात.
- काय आहे android:windowSoftInputMode साठी वापरतात?
- कीबोर्ड क्रियाकलापाच्या मांडणीशी कसा संवाद साधतो, जसे की आकार बदलणे किंवा लपलेले राहणे हे निर्दिष्ट करते.
- बाहेर स्पर्श करताना मी कीबोर्ड कसा लपवू शकतो EditText?
- ओव्हरराइड करा dispatchTouchEvent च्या बाहेरील स्पर्श इव्हेंट तपासण्यासाठी आपल्या क्रियाकलापामध्ये EditText.
- मी कीबोर्डला लपवून ठेवण्यासाठी सक्ती करू शकतो का?
- होय, सेटिंग करून android:windowSoftInputMode करण्यासाठी ३४ मॅनिफेस्ट मध्ये.
- कीबोर्ड सध्या दिसत आहे की नाही हे मी कसे शोधू?
- वापरा getWindowVisibleDisplayFrame स्क्रीनच्या दृश्यमान क्षेत्राची रूट दृश्याच्या उंचीशी तुलना करण्यासाठी.
- बटण क्लिकवर प्रोग्रामॅटिकली कीबोर्ड लपवणे शक्य आहे का?
- होय, कॉल करा २४ बटण मध्ये ३७.
अँड्रॉइड कीबोर्ड लपविण्याबाबत महत्त्वाचे उपाय
शेवटी, तुमच्या ऍप्लिकेशनमध्ये वापरकर्ता अनुभव वाढवण्यासाठी Android सॉफ्ट कीबोर्ड व्यवस्थापित करणे महत्त्वाचे आहे. वापरून InputMethodManager, तुम्ही बटण क्लिक किंवा टच इव्हेंट यासारख्या वापरकर्त्याच्या परस्परसंवादावर आधारित कीबोर्ड प्रोग्रामॅटिकरित्या लपवू किंवा दाखवू शकता. याव्यतिरिक्त, कॉन्फिगर करत आहे android:windowSoftInputMode तुमच्या मॅनिफेस्ट फाइलमधील विशेषता तुम्हाला कीबोर्डचे वर्तन अधिक अचूकपणे नियंत्रित करण्यास अनुमती देते. या पद्धतींची अंमलबजावणी केल्याने कीबोर्डची उपस्थिती ॲपच्या वापरण्यामध्ये व्यत्यय आणत नाही याची खात्री करते, वापरकर्त्यांसाठी एक गुळगुळीत आणि अंतर्ज्ञानी इंटरफेस प्रदान करते.