当键盘显示时,Activity没有调整大小

4
我有一个简单的活动,显示一个大的多行 EditText 和一些其他的控件。当用户在 EditText 中输入时,我希望活动能够调整大小,使按钮不被键盘遮挡。
我已经尝试了网上找到的各种模糊和非模糊的解决方案-但是没有一个有效。
到目前为止,我尝试过以下方法:
  • android:windowSoftInputMode="adjustResize"放入清单中。
  • 在布局根中使用android:fitsSystemWindows="true"
  • 使用RelativeLayout与LinearLayout作为根。
  • 从活动中删除所有主题
  • 创建一个自定义主题,并在其中放置<item name="android:windowFullscreen">false</item>
  • 尝试提议的解决方案here,将我的整个活动布局放在ScrollView中。
还有什么可以尝试的吗?
2个回答

6
将以下代码放在你的onCreate()函数中。
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

当键盘在屏幕中显示/隐藏时,您的活动将自动向上/向下推。

使用清单文件进行设置对我没有起作用。


1
+1000 感谢!简单易行的解决方案居然没有在其他相关帖子中提到,真是让人难以置信。它们都提出了非常复杂和可疑的解决方案——ScrollView、只“解决”这个问题而不是真正解决它的整个类等等。 - Magnus
@BadCash 很高兴收到你的来信。:) - Don Chakkappan
非常感谢!!!由于某些原因,在XML中设置此参数并不会导致相同的结果。谢谢。 - Caterpillaraoz

-1
将您的表单放在ScrollView中。这样当键盘弹出时,您的组件就可以滚动了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接