android - 获取软键盘以停止修改我显示的 LinearLayout?

标签 android android-widget

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

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

谢谢

最佳答案

默认情况下,Android 应该使用“平移和扫描”,这或多或少会像您描述的那样工作。键盘显示在您的 View 上方,您可以在后台 ScrollView 。如果您为 Activity 重写 windowInputMode,或者 Android 确定您的 Activity 是可调整大小的(因为存在可调整大小的字段......ListView、ScrollViews 等),它可能会改为调整 View 的大小,这听起来就像你遇到了。要强制它进行平移和扫描,请尝试添加:

android:windowSoftInputMode="adjustPan"

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

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

关于android - 获取软键盘以停止修改我显示的 LinearLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1723415/

相关文章:

android - Firebase 统计报告(发送/展示)

android - Google Play Alpha测试人员链接无效

java - 登录时获取随机 toast

android - 何时在 DialogFragment 中使用 DatePickerDialog 而不是 DatePicker?

android - 在android中关闭屏幕

android - 为什么我添加 "android:id"时我的 android 应用程序崩溃?

安卓:用viewpager制作imageview

java - 如何使用 android 数据绑定(bind)从 RealmList 获取项目

java - 是否可以在 Android 的 App 中创建 App Widget?

android - 第一次安装 .apk 时如何启动服务