Closed hardlove closed 3 years ago
在我的两个界面中都使用了同一个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(); }`
第一个界面弹窗后显示正常,如下:
第二个界面弹窗后,出现异常: 中间会多出一段空白,点击空白处,
空白处消失,如下: 再点击输入框后,页面显示正常,如下:
请问这种情况,我该如何处理呢?
试下4.1.3
问题完美解决,但是有个小的体验问题。调用 layer.dismiss() 后,软件盘没有关闭,可以优化一下
在我的两个界面中都使用了同一个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));
}
第一个界面弹窗后显示正常,如下:
第二个界面弹窗后,出现异常: 中间会多出一段空白,点击空白处,
空白处消失,如下: 再点击输入框后,页面显示正常,如下:
请问这种情况,我该如何处理呢?