尝试不显示当我单击表单的 EditText 之一时显示的按钮
Posted
技术标签:
【中文标题】尝试不显示当我单击表单的 EditText 之一时显示的按钮【英文标题】:Trying not to show the buttons showing when I click in one of the EditText of the form 【发布时间】:2021-06-01 14:47:01 【问题描述】:我正在使用 android Studio 开发一个 Android 应用。我有一个表单,底部有几个字段和 2 个按钮,用于验证或返回。问题是,只要我单击表单的其中一个 EditText,2 个按钮就会跟随键盘。
如何防止这 2 个按钮出现并强制它们停留在页面底部,隐藏在键盘后面。表单位于 ScrollView 中,后者位于 ConstraintLayout 中。我尝试了很多事情,比如在 ConstraintLayout 中设置我的 2 个按钮。同样在父级底部带有约束的RelativeLayout 之外...我还尝试使用LinearLayout 而不是ConstraintLayout 并对每个组件进行加权,但按钮仍然存在。我发现的唯一方法是使用垂直 LinearLayout 而不加权组件。但是如果屏幕太小,我会遇到看不到按钮的问题。我希望按钮留在底部。
正常吗?我是否必须通过在专注于其中一个 TextEdit 或布局时隐藏按钮来从代码中修复它?
另一件事是,如果我点击最后一个字段(“Ville”),表单不会移动,我仍然看到前 2 行...
非常感谢您的帮助
【问题讨论】:
【参考方案1】:在您的manifest.xml
上,您可以将android:windowSoftInputMode
设置为adjustPan
。
<activity
android:name=".MainActivity"
android:windowSoftInputMode="adjustPan" />
来自 Android 文档:
不要调整窗口大小来为软输入区域腾出空间;反而 当焦点在其中移动时平移窗口的内容,以便 用户可以看到他们正在输入的内容。这通常是不太可取的 而不是平移,因为用户可能需要关闭输入区域才能获得 在窗口的某些部分并与之交互
【讨论】:
非常感谢。正是我需要的。它解决了我遇到的两个问题。 不要忘记检查答案是否已接受以帮助他人。 我当然会,但显然我必须等待 5 分钟 :)以上是关于尝试不显示当我单击表单的 EditText 之一时显示的按钮的主要内容,如果未能解决你的问题,请参考以下文章
在 IE11 中,当单击其子元素之一时,焦点事件未在具有显示 flex 的可聚焦父 HTML 元素上触发