2

在我的 android 应用程序中,我有一个 EditText。当我单击此字段时,会出现软键盘,从屏幕底部展开。它似乎实际上修改了我的布局,将内容向上推。当我关闭键盘时,它会缩回,我看到我的布局重新展开以占用它之前占用的空间。

有没有办法让键盘简单地出现在我的布局“顶部”,这样我就不会得到这个有点令人不快的重新布局动画?EditText 固定在屏幕的最顶部,所以我不必担心键盘会隐藏它。

谢谢

4

3 回答 3

2

默认情况下,Android应该使用“平移和扫描”,这或多或少会像您描述的那样工作。键盘显示在您的视图上,您​​可以在后台滚动视图。如果您为您的 Activity 覆盖 windowInputMode,或者 Android 确定您的 Activity 可调整大小(因为存在可调整大小的字段... ListView、ScrollViews 等),它可能会改为调整您的视图大小,这听起来就像您'正在运行。要强制它平移和扫描,请尝试添加:

android:windowSoftInputMode="adjustPan"

作为 xml 布局中 Activity 元素的属性。

还有第三种选择。You can specify that when an EditText is selected it will be edited in full screen mode. 您视图中的其他控件将被隐藏,用户将只看到键盘、一个 EditText 控件以及可选的其他一些受限控件。如果您的 EditText 不需要来自视图的其他元素的大量上下文,则可能会妨碍更清晰的用户界面。更多详情,请参阅:http ://android-developers.blogspot.com/2009/04/updating-applications-for-on-screen.html

于 2009-11-13T08:04:46.910 回答
0

添加:

android:windowSoftInputMode="adjustResize"

到 manifest.xml 中的活动属性。希望它会有所帮助。

于 2010-08-12T03:25:48.120 回答
0

这个问题似乎表明调整大小是不可取的。我有同样的问题,但添加

android:windowSoftInputMode="adjustNothing"

到清单文件反而解决了我的问题。

于 2015-06-25T20:47:40.963 回答