软键盘弹出时,视图随之移动,遮挡其他UI元素。

7
我有一个容器视图,希望它始终保持在我的视图底部,位于ScrollView下方。 ScrollView有一些UI对象,其中之一是EditText对象。 目前,当用户点击EditText对象内部时,android-softkeyboard出现,并将容器视图带来,并阻止了一些UI对象。 我如何使该容器视图始终保持在布局底部,并在键盘出现时不随之移动?
这里是屏幕截图 - http://d.pr/3LQ2 这是我的layout.xml - http://d.pr/HmXC 提前感谢,Cole

5
你的图片链接已经失效了。你应该通过stackoverflow添加它们,这样它们就会保留下来。 - Warpzit
2个回答

16

在清单文件中添加以下代码到 activity 标签中:

android:windowSoftInputMode="adjustPan"

好的解决方案,为什么会被称为“脏”? - Hector

0

尝试将容器视图移动到滚动视图内部。您的视图向上移动,因为Android将滚动视图视为“可调整大小”(因为它是可滚动的,高度无关紧要),因此其他对象将推动它向上。

所以要么:

1)将您的容器放在滚动视图内部,或者

2)删除滚动视图包装器。

或者找到其他解决方法。:)


通过将容器视图移动到ScrollView内部,我遇到了这个错误:ERROR/AndroidRuntime(31727): Caused by: java.lang.IllegalStateException: ScrollView只能托管一个直接子级。 - Cole
没错 - ScrollView 只能有一个直接子元素,但是你可以在 ScrollView 中使用单个 Layout 包装多个子元素。 - Nathan Fig

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