kongzue 3 年 前
コミット
37cc897a08

+ 1 - 0
.idea/misc.xml

@@ -38,6 +38,7 @@
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/drawable/button_dialogx_ios_left_light.xml" value="0.3484375" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/layout/item_dialogx_ios_bottom_menu_bottom_light.xml" value="0.24166666666666667" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/layout/item_dialogx_ios_bottom_menu_top_dark.xml" value="0.33229166666666665" />
+        <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/layout/item_dialogx_ios_bottom_menu_top_light.xml" value="0.5287179487179487" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/layout/layout_dialogx_bottom_ios.xml" value="0.5328205128205128" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/layout/layout_dialogx_bottom_ios_dark.xml" value="0.5328205128205128" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/layout/layout_dialogx_ios.xml" value="0.5328205128205128" />

+ 2 - 2
DialogX/src/main/java/com/kongzue/dialogx/dialogs/WaitDialog.java

@@ -864,14 +864,14 @@ public class WaitDialog extends BaseDialog {
         if (getContext() != null && getContext() instanceof Activity && getInstance((Activity) getContext()) != null) {
             return false;
         }
-        return me == null || me.get() == null || me.get().getDialogImpl() == null || (me.get().getActivity() != null && me.get().getActivity() != getContext());
+        return me == null || me.get() == null || (me.get().getActivity() != null && me.get().getActivity() != getContext());
     }
     
     protected static boolean noInstance(Activity activity) {
         if (getContext() != null && getInstance(activity) != null) {
             return false;
         }
-        return me == null || me.get() == null || me.get().getDialogImpl() == null || (me.get().getActivity() != null && me.get().getActivity() != activity);
+        return me == null || me.get() == null || (me.get().getActivity() != null && me.get().getActivity() != activity);
     }
     
     public static WaitDialog getInstanceNotNull(Activity activity) {

+ 1 - 0
DialogX/src/main/java/com/kongzue/dialogx/interfaces/OnBindView.java

@@ -78,6 +78,7 @@ public abstract class OnBindView<D> {
     public View getCustomView() {
         if (customView == null) {
             customView = LayoutInflater.from(BaseDialog.getContext()).inflate(layoutResId, new RelativeLayout(BaseDialog.getContext()), false);
+            customView.setId(R.id.id_frame_layout_custom);
         }
         return customView;
     }

+ 5 - 2
DialogX/src/main/java/com/kongzue/dialogx/util/WindowUtil.java

@@ -10,6 +10,7 @@ import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.WindowManager;
+import android.widget.FrameLayout;
 import android.widget.Toast;
 
 import com.kongzue.dialogx.R;
@@ -47,6 +48,8 @@ public class WindowUtil {
     }
     
     private static void showNow(Activity activity, View dialogView, boolean touchEnable) {
+        FrameLayout rootLayout = new FrameLayout(activity);
+        rootLayout.addView(dialogView,new FrameLayout.LayoutParams(MATCH_PARENT,MATCH_PARENT));
         WindowManager manager = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);
         WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
         
@@ -77,14 +80,14 @@ public class WindowUtil {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
             layoutParams.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
         }
-        manager.addView(dialogView, layoutParams);
+        manager.addView(rootLayout, layoutParams);
     }
     
     public static void dismiss(View dialogView) {
         BaseDialog baseDialog = (BaseDialog) dialogView.getTag();
         if (baseDialog != null && baseDialog.getActivity() != null) {
             WindowManager manager = (WindowManager) baseDialog.getActivity().getSystemService(Context.WINDOW_SERVICE);
-            manager.removeViewImmediate(dialogView);
+            manager.removeViewImmediate((View) dialogView.getParent());
         }
     }
 }

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

@@ -7,6 +7,8 @@ import android.content.res.Configuration;
 import android.graphics.Color;
 import android.graphics.Rect;
 import android.net.Uri;
+import android.os.Handler;
+import android.os.Looper;
 import android.view.Gravity;
 import android.view.View;
 import android.view.ViewGroup;

+ 1 - 1
gradle.properties

@@ -18,5 +18,5 @@ android.useAndroidX=true
 # Automatically convert third-party libraries to use AndroidX
 android.enableJetifier=true
 
-BUILD_VERSION=0.0.44.beta1
+BUILD_VERSION=0.0.44.beta2
 BUILD_VERSION_INT=43