键盘遮挡自定义编辑框

5

我有一个带有drawable背景的EditText(一个带有圆角和颜色的矩形形状,没有什么花哨的东西)。

enter image description here

情况1:当单击EditText获取焦点时,视图会向上移动,但软键盘仍然部分覆盖它,以便提示可以正确显示,但是背景被裁剪了。

情况2:(在Fragment内,因为这个问题在Activity中不会发生)如果我从目标EditText上方的编辑文本中按下next,则背景再次被裁剪,键盘刚好触及提示底部。

我将其封装在ScrollView中,尝试了android:windowSoftInputMode="stateAlwaysHidden|adjustResize"(也尝试了不同的组合),但似乎没有任何作用

是否有一种方法可以override打开软键盘时推动视图的y轴?


1
我也遇到了同样的问题。你找到解决方案了吗? - Umang Kothari
2个回答

0

发生这种情况是因为当您使用自定义背景时,所有的插图(如padding)都被删除了。所以,只需添加这个参数:android:paddingVertical="14dp"

这将解决您的问题。


0

ScrollView 本身已经完成了一半的工作。

尝试在你的 EditTextonFocusChanged 方法中编写这些行。

editText.requestLayout();
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED);

你的 .xml 文件将会是这样的 -

<LinearLayout 
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:orientation="vertical" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" > 

        <ScrollView
        android:layout_height="match_parent" 
        android:layout_width="match_parent" 
        android:weightSum="1">

        .... your editetexts here...

        </ScrollView> 
</LinearLayout> 

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