在我的 android 应用程序中,我有一个 EditText。当我单击此字段时,会出现软键盘,从屏幕底部展开。它似乎实际上修改了我的布局,将内容向上推。当我关闭键盘时,它会缩回,我看到我的布局重新展开以占用它之前占用的空间。
有没有办法让键盘简单地出现在我的布局“顶部”,这样我就不会得到这个有点令人不快的重新布局动画?EditText 固定在屏幕的最顶部,所以我不必担心键盘会隐藏它。
谢谢
在我的 android 应用程序中,我有一个 EditText。当我单击此字段时,会出现软键盘,从屏幕底部展开。它似乎实际上修改了我的布局,将内容向上推。当我关闭键盘时,它会缩回,我看到我的布局重新展开以占用它之前占用的空间。
有没有办法让键盘简单地出现在我的布局“顶部”,这样我就不会得到这个有点令人不快的重新布局动画?EditText 固定在屏幕的最顶部,所以我不必担心键盘会隐藏它。
谢谢
默认情况下,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
添加:
android:windowSoftInputMode="adjustResize"
到 manifest.xml 中的活动属性。希望它会有所帮助。
这个问题似乎表明调整大小是不可取的。我有同样的问题,但添加
android:windowSoftInputMode="adjustNothing"
到清单文件反而解决了我的问题。