Browse Source

0.0.46.beta11 ready
- 修复 CustomDialog、GuideDialog直接设置 `.setAlign(ALIGN)` 和 `.setBkgInterceptTouch(boolean)` 等方法无效的问题;

kongzue 2 years ago
parent
commit
c96f9f0c2b

+ 9 - 0
DialogX/src/main/java/com/kongzue/dialogx/dialogs/CustomDialog.java

@@ -663,6 +663,7 @@ public class CustomDialog extends BaseDialog {
     
     public CustomDialog setAlign(ALIGN align) {
         this.align = align;
+        refreshUI();
         return this;
     }
     
@@ -768,6 +769,7 @@ public class CustomDialog extends BaseDialog {
     
     public CustomDialog setBkgInterceptTouch(boolean bkgInterceptTouch) {
         this.bkgInterceptTouch = bkgInterceptTouch;
+        refreshUI();
         return this;
     }
     
@@ -815,6 +817,7 @@ public class CustomDialog extends BaseDialog {
     public CustomDialog setAlignBaseViewGravity(View baseView, int alignGravity, int marginLeft,
                                                 int marginTop, int marginRight, int marginBottom) {
         this.marginRelativeBaseView = new int[]{marginLeft, marginTop, marginRight, marginBottom};
+        refreshUI();
         return setAlignBaseViewGravity(baseView, alignGravity);
     }
     
@@ -824,32 +827,38 @@ public class CustomDialog extends BaseDialog {
     
     public CustomDialog setBaseViewMargin(int[] marginRelativeBaseView) {
         this.marginRelativeBaseView = marginRelativeBaseView;
+        refreshUI();
         return this;
     }
     
     public CustomDialog setBaseViewMargin(int marginLeft, int marginTop,
                                           int marginRight, int marginBottom) {
         this.marginRelativeBaseView = new int[]{marginLeft, marginTop, marginRight, marginBottom};
+        refreshUI();
         return this;
     }
     
     public CustomDialog setBaseViewMarginLeft(int marginLeft) {
         this.marginRelativeBaseView[0] = marginLeft;
+        refreshUI();
         return this;
     }
     
     public CustomDialog setBaseViewMarginTop(int marginTop) {
         this.marginRelativeBaseView[1] = marginTop;
+        refreshUI();
         return this;
     }
     
     public CustomDialog setBaseViewMarginRight(int marginRight) {
         this.marginRelativeBaseView[2] = marginRight;
+        refreshUI();
         return this;
     }
     
     public CustomDialog setBaseViewMarginBottom(int marginBottom) {
         this.marginRelativeBaseView[3] = marginBottom;
+        refreshUI();
         return this;
     }
     

+ 13 - 0
DialogX/src/main/java/com/kongzue/dialogx/dialogs/PopMenu.java

@@ -198,6 +198,10 @@ public class PopMenu extends BaseDialog {
     }
     
     public PopMenu show() {
+        if (isHide && getDialogView() != null) {
+            getDialogView().setVisibility(View.VISIBLE);
+            return this;
+        }
         super.beforeShow();
         if (getDialogView() == null) {
             int layoutId = isLightTheme() ? R.layout.layout_dialogx_popmenu_material : R.layout.layout_dialogx_popmenu_material_dark;
@@ -974,4 +978,13 @@ public class PopMenu extends BaseDialog {
     public float getRadius() {
         return backgroundRadius;
     }
+    
+    private boolean isHide;
+    
+    public void hide() {
+        isHide = true;
+        if (getDialogView() != null) {
+            getDialogView().setVisibility(View.GONE);
+        }
+    }
 }

+ 0 - 2
DialogX/src/main/java/com/kongzue/dialogx/util/views/DialogXBaseRelativeLayout.java

@@ -4,14 +4,12 @@ import android.app.Activity;
 import android.content.Context;
 import android.content.res.Configuration;
 import android.content.res.TypedArray;
-import android.graphics.Canvas;
 import android.graphics.Rect;
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.Build;
 import android.util.AttributeSet;
 import android.util.DisplayMetrics;
-import android.util.Log;
 import android.view.KeyEvent;
 import android.view.MotionEvent;
 import android.view.View;

+ 1 - 1
app/build.gradle

@@ -29,7 +29,7 @@ repositories {
 dependencies {
     implementation fileTree(dir: "libs", include: ["*.jar"])
     implementation 'androidx.appcompat:appcompat:1.3.0'
-    implementation 'com.github.kongzue:BaseFramework:6.8.4'
+    implementation 'com.github.kongzue:BaseFramework:6.8.6'
 
 //    implementation 'com.github.kongzue.DialogX:DialogXIOSStyle:0.0.39.debug4'
 //    implementation 'com.github.kongzue.DialogX:DialogXKongzueStyle:0.0.39.debug4'