【问题标题】:Keep viewgroup visible when soft keyboard pops up弹出软键盘时保持视图组可见
【发布时间】:2019-10-30 04:13:23
【问题描述】:

通常,在处理软键盘时,我们可以指定布局在文本字段被隐藏时调整大小或向上平移。

我有以下布局:

由于它的创建方式(卡底部的大边距),调整大小将无法正常工作,因为它会在键盘和卡之间留下很大的间隙。

但是,如果用户名文本字段被聚焦,则平移将隐藏密码文本字段。

有没有办法指定视图应该平移多远,以便平移到 FAB?

我能想到的唯一其他解决方案是根据宽度测量的变化来改变我的填充,但这听起来像一个有点 hacky 的解决方案

【问题讨论】:

  • 我认为问题在于您的布局。不要使用填充或边距,只需将卡片居中即可。或者使用ConstraintLayout 对齐它

标签: android android-layout window-soft-input-mode


【解决方案1】:

您使用软键盘的唯一选择是平移、调整大小或不执行任何操作。没有选项可以影响诸如平移多远之类的事情。

如果用户名字段被聚焦,密码字段可能隐藏也可能不隐藏。这取决于屏幕的大小、键盘的高度以及您在该设备上的确切布局。但是您最好的解决方案可能是将用户名的操作键设置为 ACTION_NEXT 并定义下一步操作以关注密码字段。

另一个好的解决方案是去除卡片上方的大量负空间 - 除非您没有向我们展示某些内容,否则浪费的空间并将卡片放在屏幕上的更高位置将解决您的所有问题。

【讨论】:

  • 最后,我决定改变我创建布局的方式,在约束布局中使用百分比和最小高度而不是特定的下边距。
【解决方案2】:

你应该添加

<activity android:windowSoftInputMode="stateVisible|adjustResize"/>

我认为在您的活动清单中。目前无法验证。 在Android Developers Documentation查看更多信息

【讨论】:

    猜你喜欢
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 2012-05-16
    • 2012-04-16
    相关资源
    最近更新 更多