瀏覽代碼

0.0.46.beta13 ready
- 修复 CustomDialog#hideWithExitAnim 时对话框未能正确完全隐藏的 bug;

kongzue 2 年之前
父節點
當前提交
88ceb076e7

+ 1 - 16
DialogX/src/main/java/com/kongzue/dialogx/dialogs/CustomDialog.java

@@ -42,8 +42,6 @@ public class CustomDialog extends BaseDialog {
     public static int overrideExitDuration = -1;
     public static int overrideEnterAnimRes = 0;
     public static int overrideExitAnimRes = 0;
-    public static int overrideMaskEnterAnimRes = R.anim.anim_dialogx_default_alpha_enter;
-    public static int overrideMaskExitAnimRes = R.anim.anim_dialogx_default_exit;
     public static BOOLEAN overrideCancelable;
     protected OnBindView<CustomDialog> onBindView;
     protected DialogLifecycleCallback<CustomDialog> dialogLifecycleCallback;
@@ -487,12 +485,6 @@ public class CustomDialog extends BaseDialog {
                         boxCustom.startAnimation(enterAnim);
                         
                         boxRoot.setBackgroundColor(maskColor);
-                        if (overrideMaskEnterAnimRes != 0) {
-                            Animation maskEnterAnim = AnimationUtils.loadAnimation(getTopActivity(), overrideMaskEnterAnimRes);
-                            maskEnterAnim.setInterpolator(new DecelerateInterpolator(2f));
-                            maskEnterAnim.setDuration(enterAnimDurationTemp);
-                            boxRoot.startAnimation(maskEnterAnim);
-                        }
                         
                         ValueAnimator bkgAlpha = ValueAnimator.ofFloat(0f, 1f);
                         bkgAlpha.setDuration(enterAnimDurationTemp);
@@ -526,13 +518,6 @@ public class CustomDialog extends BaseDialog {
                         exitAnim.setDuration(exitAnimDurationTemp);
                         boxCustom.startAnimation(exitAnim);
                         
-                        if (overrideMaskExitAnimRes != 0) {
-                            Animation maskExitAnim = AnimationUtils.loadAnimation(getTopActivity(), overrideMaskExitAnimRes);
-                            maskExitAnim.setDuration(exitAnimDurationTemp);
-                            maskExitAnim.setInterpolator(new DecelerateInterpolator(2f));
-                            boxRoot.startAnimation(maskExitAnim);
-                        }
-                        
                         ValueAnimator bkgAlpha = ValueAnimator.ofFloat(1f, 0f);
                         bkgAlpha.setDuration(exitAnimDurationTemp);
                         bkgAlpha.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@@ -763,7 +748,7 @@ public class CustomDialog extends BaseDialog {
                     if (getDialogImpl().boxRoot != null) {
                         getDialogImpl().boxRoot.setBkgAlpha(value);
                     }
-                    if (value == 0 && getDialogView() != null) {
+                    if (value == 0) {
                         if (getDialogView() != null) {
                             getDialogView().setVisibility(View.GONE);
                         }

+ 8 - 2
app/src/main/java/com/kongzue/dialogxdemo/activity/MainActivity.java

@@ -297,6 +297,8 @@ public class MainActivity extends BaseActivity {
     private int[] selectMenuIndexArray;
     private String multiSelectMenuResultCache;
     
+    CustomDialog customDialog;
+    
     @Override
     public void setEvents() {
         grpMode.addOnButtonCheckedListener(new MaterialButtonToggleGroup.OnButtonCheckedListener() {
@@ -926,7 +928,11 @@ public class MainActivity extends BaseActivity {
         btnCustomDialog.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                CustomDialog.show(new OnBindView<CustomDialog>(R.layout.layout_custom_dialog) {
+                if (customDialog!=null){
+                    customDialog.show();
+                    return;
+                }
+                customDialog = CustomDialog.show(new OnBindView<CustomDialog>(R.layout.layout_custom_dialog) {
                             @Override
                             public void onBind(final CustomDialog dialog, View v) {
                                 ImageView btnOk;
@@ -934,7 +940,7 @@ public class MainActivity extends BaseActivity {
                                 btnOk.setOnClickListener(new View.OnClickListener() {
                                     @Override
                                     public void onClick(View v) {
-                                        dialog.dismiss();
+                                        dialog.hideWithExitAnim();
                                     }
                                 });
                             }

+ 1 - 1
gradle.properties

@@ -19,5 +19,5 @@ android.useAndroidX=true
 # Automatically convert third-party libraries to use AndroidX
 android.enableJetifier=true
 
-BUILD_VERSION=0.0.46.beta12
+BUILD_VERSION=0.0.46.beta13
 BUILD_VERSION_INT=45