2010-04-01 123 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); 

相信我它的工作原理。