शुरू में मैं अपने गतिविधि सेट निम्न कोड के साथ इमर्सिव मोड में होने की जब नरम कुंजीपटल गायब हो जाता है प्रकट होता है एडिटटेक्स्ट पर क्लिक और सॉफ्ट कीबोर्ड दिखाई देता है। यह स्थिति बार को शीर्ष पर चिपकने का कारण बनता है और मुलायम कीबोर्ड गायब होने के बाद भी कभी पीछे नहीं छिपाता है। आश्चर्यजनक रूप से पर्याप्त, मुझे केवल एलजी/सैमसंग फोन पर इस समस्या का सामना करना पड़ता है, सोनी फोन को इसके साथ कोई समस्या नहीं है। किसी के बारे में इस बारे में कोई विचार है?स्थिति पट्टी जब नरम कुंजीपटल दिखाई देता है लेकिन वापस नहीं छिपा हुआ है, जबकि इमर्सिव मोड में
उत्तर
इस तरह इमर्सिव मोड का उपयोग करें।
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
immersiveMode();
getWindow().getDecorView().setOnSystemUiVisibilityChangeListener
(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
immersiveMode();
}
});
}
यहां आपका इमर्सिव मोड फ़ंक्शन है।
public void immersiveMode() {
final View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE);
}
इसके अलावा OnResume में immersiveMode()() कहते हैं; अब स्टेटस बार गायब हो जाएगा क्योंकि आपका सॉफ्ट कुंजी बोर्ड गायब हो जाता है।
मूल रूप से सही है, लेकिन ओवरकिल का थोड़ा सा: 1) बस अपने ऑनक्रेट() में श्रोता जोड़ें, इसे जोड़ने की आवश्यकता नहीं है; 2) दृश्यता> 0 अगर आपको केवल इमर्सिव मोड() को कॉल करने की आवश्यकता है –
यहां मेरा समाधान है;
getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(r);
int screenHeight = getWindow().getDecorView().getRootView().getHeight();
int keypadHeight = screenHeight - r.bottom;
//Log.d(TAG, "keypadHeight = " + keypadHeight);
if (keypadHeight > screenHeight * 0.15) {
//Keyboard is opened
hideNavBar();
}
else {
// keyboard is closed
}
}
});
और मैं जब मुलायम कीबोर्ड दिखाया है एक hideNavBar() विधि शुरू किया जा करने के लिए है: सबसे पहले मैं अगर मुलायम कीबोर्ड दिखाया या नहीं है की जाँच की।
private void hideNavBar() {
if (Build.VERSION.SDK_INT >= 19) {
View v = getWindow().getDecorView();
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
यह नेविगेशन पट्टी हो रही है, जबकि वहाँ एक Edittext टाइप किया जा रहा है की समस्या का हल।
- 1. jQuery दिखाई देता है लेकिन छिपा तत्वों
- 2. नकली स्थिति बार रंग जब नेविगेशन बार छिपा हुआ है
- 3. Android नरम कुंजीपटल उद्घाटन
- 4. प्रतिक्रियात्मक मूल: जब इसके ऊपर अलर्ट दिखाई देता है तो मॉडल छिपा नहीं होता है
- 5. सीमा दृष्टिकोण 2010 में दिखाई नहीं देता है, लेकिन थंडरबर्ड
- 6. भी inputmanager साथ एंड्रॉयड नरम कुंजीपटल छिपाया नहीं जा सकता
- 7. स्थिति पट्टी के बाद मोडल दृश्य को खारिज छिपा हुआ और दिखाई देने के बाद कुछ सेकंड
- 8. Actionbar लटकती दिखाई देता है जब मेनू
- 9. स्थिति पट्टी पृष्ठभूमि गायब हो जाता है, जबकि आईओएस 11
- 10. घटना जब घटक दिखाई देता है
- 11. हाइचार्ट्स टूलटिप ओवरफ़्लो छिपा हुआ है
- 12. का पता लगाने जब सिस्टम बटन मेरी गतिविधियों में से एक के लिए 'इमर्सिव मोड'
- 13. एंड्रॉयड - पूर्ण स्क्रीन नरम कुंजीपटल मजबूर
- 14. यूएसबी ड्राइव lsusb में दिखाई देता है लेकिन fdisk
- 15. ओवरफ्लो-वाई: ओवरफ्लो-एक्स: छुपा हुआ है जब दिखाई नहीं दे रहा है
- 16. jQuery.validate मान्य नहीं है अगर कंटेनर छिपा हुआ है
- 17. एंड्रॉइड सॉफ्ट कीबोर्ड दिखाया गया है या छिपा हुआ
- 18. स्थिति पट्टी
- 19. गूगल के नक्शे दिखाई नहीं देता है
- 20. WebView onPageFinished नहीं कहा जाता है जब MapView दिखाई देता है
- 21. dismissModalViewController स्थिति पट्टी
- 22. इमर्सिव मोड में फोर्स एंड्रॉइड libgdx
- 23. गतिविधि बदलते समय एंड्रॉइड इमर्सिव मोड रीसेट
- 24. Android BottomNavigationView क्यों दिखाई नहीं देता है?
- 25. जेएआर EXE के अंदर छिपा हुआ है?
- 26. Jquery: यदि तत्व छिपा हुआ है, तो कार्रवाई करें?
- 27. पर ध्यान न दें इमर्सिव मोड कड़ी चोट
- 28. एक्सिस लेबल प्लस में अक्ष द्वारा छिपा हुआ है?
- 29. क्या अतिप्रवाह है: छिपा हुआ 'पूर्ण बच्चों की स्थिति बदल रहा है?
- 30. स्वाइप रीफ्रेश लयआउट खाली रीसाइक्लर पर छिपा हुआ है
क्या आपको कोई समाधान मिला? – user18853
हां :) स्पष्ट रूप से मुझे- true
को मेरी गतिविधि के xml –
@AndriantoLie में जोड़ने की आवश्यकता है आपकी टिप्पणी सही है। कृपया इसे एक उत्तर के रूप में जोड़ें और भविष्य के पाठकों के लिए इसे स्वीकार करें। –