2010-04-01 121 views
7

我想在彈出軟鍵盤時能夠在Android上調整我的UI屏幕。Android - 彈出鍵盤時調整屏幕?

所以在這一刻我有一些類似於下面的第一張圖片和我在屏幕底部的EditText,當用戶點擊EditText時,我想要和第二張圖片中發生的一樣。

這就是說,EditText被向上移動並似乎「坐」在軟鍵盤的頂部,當軟鍵盤消失後應該返回到其先前的狀態。

任何人都可以讓我知道最好的方法來處理和實現這個?

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


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

回答

15

您需要添加android:windowSoftInputMode="adjustResize"到您的標記在AndroidManifest.xml文件。

+0

其中標籤???我想'''標籤,但它沒有做任何事情。請回復。 – 2013-11-21 06:18:53

+0

是的,它屬於活動標籤(請參閱[文檔](http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft),正如@Samuh在他的回答中所述。不知道爲什麼它不適合你,對不起 – rascalking 2013-11-21 14:59:26

+0

我們已經在清單文件中寫了這行代碼,並且在縱向模式下鍵盤工作正常,但在橫向模式下,鍵盤隱藏了輸入字段。 – Deeps 2017-09-08 11:38:42

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); 

相信我它的工作原理。