获取软键盘以停止在显示屏上修改LinearLayout?

时间:2009-11-12 16:14:35

标签: android android-widget

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

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

由于

3 个答案:

答案 0 :(得分:2)

默认情况下,Android 使用“平移和扫描”,这可能会或多或少地影响您的描述。键盘显示在视图上,您​​可以在后台滚动视图。如果您为Activity重写windowInputMode,或Android确定您的Activity可调整大小(由于存在可调整大小的字段... ListView,ScrollViews等),它可能会调整您的视图大小,听起来就像是你的'遇到了。要强制它进行平移和扫描,请尝试添加:

  

机器人:windowSoftInputMode = “adjustPan”

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

还有第三种选择。您可以指定在选择EditText时,它将以全屏模式进行编辑。视图中的其他控件将被隐藏,用户将只看到键盘,EditText控件以及可选的其他一些有限控件。如果您的EditText不需要视图中其他元素的大量上下文,则可能会阻止更清晰的用户界面。有关详细信息,请参阅:http://android-developers.blogspot.com/2009/04/updating-applications-for-on-screen.html

答案 1 :(得分:0)

添加:

android:windowSoftInputMode="adjustResize"

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

答案 2 :(得分:0)

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

android:windowSoftInputMode="adjustNothing"

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