使用compatSoftInput 出现如下问题
hardlove opened this issue · 2 comments
hardlove commented
在我的两个界面中都使用了同一个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();
}`
第二个界面弹窗后,出现异常:
中间会多出一段空白,点击空白处,
请问这种情况,我该如何处理呢?
goweii commented
试下4.1.3
hardlove commented
试下4.1.3
问题完美解决,但是有个小的体验问题。调用 layer.dismiss() 后,软件盘没有关闭,可以优化一下