软键盘打开时显示布局

7
有一个CardView,里面有一个EditText,当键盘弹出时,它位于EditText的正下方。但是如下图所示,键盘离EditText太近了,因此很难按下“发送”按钮,因为没有足够的空间。
EditText: enter image description here 具有焦点的EditText: enter image description here 是否有任何方法可以在CardView的末尾显示键盘? 我在这里看到一些类似的问题,但没有一个提供我需要的解决方案。有些答案建议在EditText中设置paddingBottom,但这不是我想要的。我不想要空间,我想显示CardView的末尾。
请注意,我不想调整布局大小,因此“adjustResize”不是解决方案,并且我已经在AndroidManifest.xml中使用“adjustPan”。
<activity
    ...
    android:windowSoftInputMode="adjustPan" />

有什么想法吗?

这个布局是在ScrollView中吗? - Anjali Tripathi
你有解决方法了吗? - Anjali Tripathi
还没有。 我现在正在使用 EditText 中的 paddingBottom 作为解决方法。 - heloisasim
但是我认为问题出在当键盘打开时的scrollView上,因为我无法向下滚动,如果我向上滚动,也无法完全看到整个布局,只能滚动一点点。不确定为什么会发生这种情况。 - heloisasim
1个回答

0
如果你正在使用scrollview,你可以做一件事情,根据你的需求滚动你的scrollview。
请参考下面的示例代码。
ScrollView sv =(ScrollView)findViewById(R.id.scrl);
sv.scrollTo(0, sv.getBottom());

or 

sv.fullScroll(View.FOCUS_DOWN);

你可以在软键盘上执行此操作,按下 Enter 键即可。

另外还有一种解决方案,可以通过给出

来隐藏键盘的建议。

android:inputType="textNoSuggestions"

我正在使用scrollView,但这个解决方案不起作用,因为即使隐藏建议,我也无法滚动超过上面显示的内容。 - heloisasim
EditText可见,但文本和键盘之间没有填充。 - heloisasim
那么就只剩下一种选择,给一些填充。 - Anjali Tripathi
你还可以做另一件事,就是在键盘打开时隐藏上述字段之一。这将提升你的布局,并且在此期间停止滚动。 - Anjali Tripathi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接