在Android 11中替代WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE的方法

10

有人知道Android 11中adjust resize标志的替代方法吗?我的布局有EditText,键盘弹出后它被隐藏了,因为我不能使用下面的标志。

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
谢谢。

你好!有进展了吗? - Lobs
1个回答

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;
    });
}

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