goweii / AnyLayer

Android稳定高效的浮层创建管理框架

Home Page:https://github.com/goweii/AnyLayer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

使用compatSoftInput 出现如下问题

hardlove opened this issue · comments

在我的两个界面中都使用了同一个dialog,代码如下:
`public static void showBottomInputDialog(Activity activity, OnDialogClickListener listener) {
AnyLayer.dialog(activity)
.backgroundDimDefault()
.gravity(Gravity.BOTTOM)
.contentView(R.layout.dialog_text_input)
.onVisibleChangeListener(new Layer.OnVisibleChangeListener() {
@OverRide
public void onShow(Layer layer) {
((DialogLayer) layer).compatSoftInput(true, layer.getView(R.id.edtText));
}

                @Override
                public void onDismiss(Layer layer) {
                    ((DialogLayer) layer).removeSoftInput();
                }
            })
            .onClick((layer, v) -> {
                if (v.getId() == R.id.iv_confirm) {
                    if (listener != null) {
                        String content = ((EditText) layer.getView(R.id.edtText)).getText().toString().trim();
                        if (ObjectUtils.isEmpty(content)) {
                            ToastUtils.showShort("请输入文字");
                        } else {
                            listener.onConfirm(content, layer);
                            layer.dismiss();
                        }
                    }
                } else if (v.getId() == R.id.iv_cancel) {
                    layer.dismiss();
                }

            }, R.id.iv_confirm, R.id.iv_cancel)
            .show();
}`

第一个界面弹窗后显示正常,如下:
image

第二个界面弹窗后,出现异常:
中间会多出一段空白,点击空白处,
image

空白处消失,如下:
image
再点击输入框后,页面显示正常,如下:
image

请问这种情况,我该如何处理呢?

试下4.1.3

试下4.1.3

问题完美解决,但是有个小的体验问题。调用 layer.dismiss() 后,软件盘没有关闭,可以优化一下