जब भी किसी डिवाइस से कीबोर्ड अटैच या डिटैच किया जाता है, तब Android सिस्टम कॉन्फ़िगरेशन में बदलाव करता है. उपयोगकर्ताओं को बेहतर अनुभव देने और डिटैच किए जा सकने वाले कीबोर्ड वाले बड़े स्क्रीन वाले डिवाइसों पर उनकी प्रॉडक्टिविटी बढ़ाने के लिए, आपके ऐप्लिकेशन को कीबोर्ड कॉन्फ़िगरेशन में होने वाले बदलावों को असरदार तरीके से मैनेज करना होगा.
नतीजे
आपका ऐप्लिकेशन, बाहरी कीबोर्ड को अटैच या डिटैच करने पर जवाब देता है. इसके लिए, उसे चालू गतिविधि को फिर से बनाने की ज़रूरत नहीं पड़ती.
वर्शन के साथ काम करने की सुविधा
इस सुविधा को लागू करने के लिए, अपने प्रोजेक्ट के minSDK को एपीआई लेवल 8 पर सेट करें (View#onConfigurationChanged() देखें).
डिपेंडेंसी
कोई नहीं.
कीबोर्ड बदलने पर गतिविधि को फिर से शुरू होने से रोकना
डिटैच किए जा सकने वाले कीबोर्ड को अटैच या डिटैच करने पर, आपकी गतिविधि को फिर से शुरू होने से रोकने के लिए, अपने ऐप्लिकेशन के मेनिफ़ेस्ट के configChanges एट्रिब्यूट में कीबोर्ड से जुड़ी वैल्यू जोड़ें. साथ ही, गतिविधि की व्यू हैरारकी में एक व्यू जोड़ें, ताकि आपका ऐप्लिकेशन कॉन्फ़िगरेशन में होने वाले बदलावों को सुन सके.
1. configChanges एट्रिब्यूट की वैल्यू सेट करना
ऐप्लिकेशन मेनिफ़ेस्ट में <activity> एलिमेंट को अपडेट करें. इसके लिए, पहले से मैनेज किए गए कॉन्फ़िगरेशन में किए गए बदलावों की सूची में keyboard|keyboardHidden वैल्यू जोड़ें:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. व्यू हैरारकी में एक खाली व्यू जोड़ना
एक नया व्यू घोषित करें और व्यू के onConfigurationChanged() तरीके में अपना हैंडलर कोड जोड़ें:
Kotlin
val v = object : View(this) {
override fun onConfigurationChanged(newConfig: Configuration?) {
super.onConfigurationChanged(newConfig)
// Handler code here.
}
}
Java
View v = new View(this) {
@Override
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Handler code here.
}
};
प्रमुख बिंदु
android:configChanges: यह ऐप्लिकेशन मेनिफ़ेस्ट के<activity>एलिमेंट का एट्रिब्यूट है. यह कुकी, सिस्टम को उन कॉन्फ़िगरेशन बदलावों के बारे में सूचना देती है जिन्हें ऐप्लिकेशन मैनेज करता है.View#onConfigurationChanged(): यह एक ऐसा तरीका है जो ऐप्लिकेशन के नए कॉन्फ़िगरेशन के लागू होने पर काम करता है.
ऐसे कलेक्शन जिनमें यह गाइड शामिल है
यह गाइड, चुनी गई क्विक गाइड के इन कलेक्शन का हिस्सा है. इनमें Android डेवलपमेंट के ज़्यादातर लक्ष्यों के बारे में बताया गया है: