2010-04-01 14 views
7

जब मैं सॉफ्ट कीबोर्ड पॉप अप करता हूं तो मैं एंड्रॉइड पर अपनी यूआई स्क्रीन को समायोजित करने में सक्षम होना चाहता हूं।एंड्रॉइड - कीबोर्ड पॉप अप होने पर स्क्रीन समायोजित करें?

तो मिनट में मेरे पास नीचे की पहली तस्वीर के समान कुछ है जहां मेरे पास स्क्रीन के निचले भाग में और एडिटटेक्स्ट है और जब कोई उपयोगकर्ता एडिटटेक्स्ट को टैप करता है तो मैं दूसरी तस्वीर में जो भी होता हूं वही चाहता हूं।

यह है कि एडिटटेक्स्ट ऊपर हो जाता है और मुलायम कीबोर्ड के शीर्ष पर "बैठे" दिखाई देता है, जब सॉफ्ट कीबोर्ड गायब हो जाता है तो उसे अपनी पूर्व स्थिति में वापस जाना चाहिए।

क्या कोई मुझे इस दृष्टिकोण को लागू करने और कार्यान्वित करने का सबसे अच्छा तरीका बता सकता है?

alt text http://img40.imageshack.us/img40/2300/keyboarddown.png


alt text http://img46.imageshack.us/img46/9339/keyboardup.png

उत्तर

15

पर एक नज़र आप AndroidManifest.xml फ़ाइल में अपने टैग में android:windowSoftInputMode="adjustResize" जोड़ने की जरूरत है ले लो।

+0

किस टैग में ??? मुझे लगता है कि '' टैग, लेकिन यह कुछ भी नहीं किया। कृपया उत्तर दें। –

+0

यूप, यह गतिविधि टैग में है (देखें [डॉक्स] (http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft), जैसा कि उनके जवाब में @ सैमुह ने उल्लेख किया है। यकीन नहीं है कि यह आपके लिए क्यों काम नहीं कर रहा है, क्षमा करें। – rascalking

+0

हमने पहले से ही इस पंक्ति को मैनिफेस्ट फ़ाइल में लिखा है, और कीबोर्ड पोर्ट्रेट मोड में ठीक काम करता है। लेकिन लैंडस्केप मोड में, कीबोर्ड इनपुट फ़ील्ड को छुपाता है। – Deeps

2

मैंने इस समस्या को rascalking के जवाब के अनुसार हल किया।

Dialog dialog = new Dialog(context); 
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
dialog.setContentView(R.layout.pop_window_service); 
WebView webview = (WebView) dialog.findViewById(R.id.pop_webview); 
webview.loadUrl(url); 

मेरा मानना ​​है कि यह काम करता है।

संबंधित मुद्दे