Android - 键盘弹出时调整屏幕?
Posted
技术标签:
【中文标题】Android - 键盘弹出时调整屏幕?【英文标题】:Android - Adjust screen when keyboard pops up? 【发布时间】:2011-02-03 07:05:00 【问题描述】:当软键盘弹出时,我希望能够在 android 上调整我的 UI 屏幕。
所以现在我有一些类似于下面的第一张图片和屏幕底部的 EditText 的东西,当用户点击 EditText 时,我想要与第二张图片中发生的相同。
也就是说,EditText 被向上移动并看起来“坐在”软键盘的顶部,当软键盘消失时,它应该返回到之前的状态。
谁能告诉我处理和实施此问题的最佳方法?
alt text http://img40.imageshack.us/img40/2300/keyboarddown.png
alt text http://img46.imageshack.us/img46/9339/keyboardup.png
【问题讨论】:
【参考方案1】:看看android:windowSoftInputMode
【讨论】:
【参考方案2】:您需要将android:windowSoftInputMode="adjustResize"
添加到您在AndroidManifest.xml 文件中的标签中。
【讨论】:
在哪个标签中???我认为<activity>
标签,但它没有做任何事情。请回复。
是的,它属于活动标签(见the docs,正如@Samuh 在他的回答中提到的那样。不知道为什么它不适合你,抱歉。
我们已经在manifest文件中写了这一行,键盘在竖屏模式下可以正常工作。但在横向模式下,键盘会隐藏输入字段。【参考方案3】:
我根据 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);
相信我它有效。
【讨论】:
以上是关于Android - 键盘弹出时调整屏幕?的主要内容,如果未能解决你的问题,请参考以下文章
Android - 当键盘为 android 5.0 (棒棒糖) 启动时调整滚动视图
如何防止 Android Firefox 浏览器在打开软键盘时调整窗口大小