Pārlūkot izejas kodu

0.0.50.beta22 pre
- 修复 PopNotification 在允许同时显示多条通知时,关闭后依然能够接收到触摸事件的问题;
- 修复 PopNotification 在 DialogFragment 模式下默认顶部位置异常的问题

Kongzue 5 mēneši atpakaļ
vecāks
revīzija
b846250b08

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

@@ -604,7 +604,7 @@ public class PopNotification extends BaseDialog implements NoTouchInterface {
                 @Override
                 public void onChange(Rect unsafeRect) {
                     if (align == DialogXStyle.PopNotificationSettings.ALIGN.TOP) {
-                        boxBody.setY(defaultTop == 0 ? defaultTop = (unsafeRect.top + bodyMargin[1]) : defaultTop);
+                        boxBody.setY(defaultTop <= 0 ? defaultTop = (unsafeRect.top + bodyMargin[1]) : defaultTop);
                     } else if (align == DialogXStyle.PopNotificationSettings.ALIGN.TOP_INSIDE) {
                         boxBody.setPadding(0, unsafeRect.top, 0, 0);
                     }

+ 2 - 5
DialogX/src/main/java/com/kongzue/dialogx/impl/DialogFragmentImpl.java

@@ -77,7 +77,7 @@ public class DialogFragmentImpl extends DialogFragment {
             @Override
             public boolean onTouch(View v, MotionEvent event) {
                 for (BaseDialog dialog : BaseDialog.getRunningDialogList()) {
-                    if (dialog.getOwnActivity() == activity && dialog != baseDialog) {
+                    if (dialog.getOwnActivity() == activity && dialog != baseDialog && dialog.getDialogImplMode() == baseDialog.getDialogImplMode()) {
                         if (!(dialog instanceof NoTouchInterface) && dialog.getDialogView() != null) {
                             dialog.getDialogView().dispatchTouchEvent(event);
                             return true;
@@ -107,10 +107,7 @@ public class DialogFragmentImpl extends DialogFragment {
                 }
             }
             dialogWindow.getDecorView().setSystemUiVisibility(visibility);
-            dialogWindow.addFlags(
-                    WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS |
-                            WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION
-            );
+            dialogWindow.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
             dialogWindow.setStatusBarColor(Color.TRANSPARENT);
             dialogWindow.setNavigationBarColor(Color.TRANSPARENT);
         } else {