AdjustPan与EditText inputType =“ textPassword”结合使用可覆盖部分EditText

时间:2018-07-04 02:06:49

标签: android android-layout android-studio

正如标题所示,当我在清单中添加android:windowSoftInputMode="adjustPan"并在密码inputType="textPassword"中添加EditText时,adjustPan仍然覆盖了{ {1}}。供参考,这是布局代码:

editText

如果有人可以帮助我解决这个问题,我将非常感激。

1 个答案:

答案 0 :(得分:0)

这是软键盘的正常行为。它只是负责EditText的文本部分,而不是视图的其他部分。

这是我之前写的一个代码段,它可以帮助您在自定义高度中向上滚动视图。

  final View root  = findViewById(android.R.id.content);
    root.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    Rect r = new Rect();
    {
        root.getWindowVisibleDisplayFrame(r);
    }
    @Override
    public void onGlobalLayout() {
        Rect r2 = new Rect();
        root.getWindowVisibleDisplayFrame(r2);
        int keyboardHeight = r.height() - r2.height();
        if (keyboardHeight > 100) {
            root.scrollTo(0, keyboardHeight);
        }
        else {
            root.scrollTo(0, 0);
        }
    }
});

root.scrollTo(0, keyboardHeight);在此行中,您可以将0keyboardHeight更改为自定义值。