【问题标题】:Show layout when soft keyboard opens软键盘打开时显示布局
【发布时间】:2016-01-13 12:38:22
【问题描述】:

有一个CardView 和一个EditText,当键盘打开时,它位于EditText 的正下方。但是如下图,键盘离EditText太近了,因为空间不够,很难按“发送”键。

编辑文本:

EditText 有焦点:

有什么方法可以在 CardView 结束后显示键盘? 我在这里看到了一些类似的问题,但没有一个提供我需要的解决方案。一些答案建议在 EditText 中设置一个 paddingBotton,但这不是我想要的。我不想要空间,我也想显示 CardView 的结尾。

请注意,我不想调整布局大小,因此“adjustResize”不是解决方案,我已经在 AndroidManifest.xml 中使用了“adjustPan”

<activity
    ...
    android:windowSoftInputMode="adjustPan" />

有什么想法吗?

【问题讨论】:

  • 这是滚动视图中的布局吗?
  • 你找到解决办法了吗?
  • 还没有。我现在在 EditText 中使用 paddingBotton 作为解决方法。
  • 但我认为问题出在键盘打开时的滚动视图上,因为我无法向下滚动,如果向上滚动,我无法查看完整的布局,我只能滚动一个一点。不知道为什么会这样。

标签: android android-layout


【解决方案1】:

如果您使用的是滚动视图。您可以做的一件事是根据您的要求滚动滚动视图

请参考以下代码示例

ScrollView sv =(ScrollView)findViewById(R.id.scrl);
sv.scrollTo(0, sv.getBottom());

or 

sv.fullScroll(View.FOCUS_DOWN);

您可以在软输入 Enter 键时执行此操作。

还有另一种解决方案,您可以通过给出隐藏键盘的建议

android:inputType="textNoSuggestions"

【讨论】:

  • 我正在使用 scrollView,但这个解决方案不起作用,因为即使我隐藏了建议,我也无法滚动超过上图所示的内容。
  • 编辑文本可见,但文本和键盘之间没有填充。
  • 那么只剩下一个选项给一些填充
  • 您还可以做另一件事是在键盘打开时隐藏上述字段之一。它会提升你的布局并停止滚动
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-30
  • 1970-01-01
  • 1970-01-01
  • 2011-04-16
  • 2018-04-08
  • 2012-02-25
相关资源
最近更新 更多