替换 Andorid 11 中的 WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE

ket*_*tha 9 keyboard android-11

有人知道 Android 11 中调整大小标志的替代品吗?我的布局有 EditText,它在键盘弹出后被隐藏,因为我不能使用标志下方的

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Run Code Online (Sandbox Code Playgroud)

谢谢

小智 0

您可以尝试以下操作吗?我认为你应该在视图的底部添加填充。填充的大小应该是键盘的高度。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
    getActivity().getWindow().setDecorFitsSystemWindows(false);

    getActivity().getWindow().getDecorView().setOnApplyWindowInsetsListener((v, insets) -> {
        int height = insets.getInsets(WindowInsets.Type.ime()).bottom;
        v.setPadding(0, 0, 0, height);
        return insets;
    });
}
Run Code Online (Sandbox Code Playgroud)