goweii / AnyLayer

Android稳定高效的浮层创建管理框架
https://github.com/goweii/AnyLayer
Apache License 2.0
993 stars 114 forks source link

点击屏幕两次dialog才会消失 #37

Closed sonanis closed 3 years ago

sonanis commented 3 years ago

我使用AnyLayer.dialog(getContext())创建并显示了一个dialog,第一次,点击屏幕一次就会消失,但是再次显示的话,如果使用第一次创建时保留下来的对象,直接调用layer.show(),那么就要点击屏幕两次才会退出。而且demo中的NormalActivity中的layer_dark_bg也出现了这种情况

void showSaveDlg(){
        if(actionLayer1 == null){
            actionLayer1 = AnyLayer.dialog(getContext())
                    .contentView(R.layout.dlg_circle_article_action_copy_and_save)
                    .backgroundDimDefault()
                    .cancelableOnTouchOutside(true)
                    .gravity(Gravity.BOTTOM)
                    .contentAnimator(new DialogLayer.AnimatorCreator() {
                        @Override
                        public Animator createInAnimator(@NonNull View content) {
                            return AnimatorHelper.createBottomInAnim(content);
                        }

                        @Override
                        public Animator createOutAnimator(@NonNull View content) {
                            return AnimatorHelper.createBottomOutAnim(content);
                        }
                    })
                    .onShowListener(new Layer.OnShowListener() {
                        @Override
                        public void onShowing(@NonNull Layer layer) {

                        }
                        @Override
                        public void onShown(@NonNull Layer layer) {

                        }
                    })
                    .onClickToDismiss(R.id.iv_close);
        }
        actionLayer1.show();
    }
goweii commented 3 years ago

你用的是哪个版本的?试下最新版是不是也有这个问题?

sonanis commented 3 years ago

@goweii 哦,果然不是最新的,我用的是'com.github.goweii:AnyLayer:4.1.0-androidx',改成最新的4.1.3就好了,谢了