浏览代码

update 0.0.24 ver.

kongzue 4 年之前
父节点
当前提交
44c1559bff

+ 3 - 3
DialogX/build.gradle

@@ -6,7 +6,7 @@ def siteUrl = 'https://github.com/kongzue/DialogX' //项目在github主页地址
 def gitUrl = 'https://github.com/kongzue/DialogX.git'   //Git仓库的地址
 
 group = "com.kongzue.dialogx"
-version = "0.0.23"
+version = "0.0.24"
 
 android {
     compileSdkVersion 30
@@ -14,8 +14,8 @@ android {
     defaultConfig {
         minSdkVersion 21
         targetSdkVersion 30
-        versionCode 23
-        versionName "0.0.23"
+        versionCode 24
+        versionName "0.0.24"
 
         consumerProguardFiles "consumer-rules.pro"
 

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

@@ -2,6 +2,7 @@ package com.kongzue.dialogx.dialogs;
 
 import android.animation.Animator;
 import android.animation.ObjectAnimator;
+import android.app.Activity;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
@@ -176,6 +177,18 @@ public class BottomDialog extends BaseDialog {
         show(dialogView);
     }
     
+    public void show(Activity activity) {
+        super.beforeShow();
+        int layoutId = isLightTheme() ? R.layout.layout_dialogx_bottom_material : R.layout.layout_dialogx_bottom_material_dark;
+        if (style.overrideBottomDialogRes() != null) {
+            layoutId = style.overrideBottomDialogRes().overrideDialogLayout(isLightTheme());
+        }
+        
+        dialogView = createView(layoutId);
+        dialogImpl = new DialogImpl(dialogView);
+        show(activity, dialogView);
+    }
+    
     protected DialogImpl dialogImpl;
     
     public class DialogImpl implements DialogConvertViewInterface {
@@ -503,7 +516,7 @@ public class BottomDialog extends BaseDialog {
         getRootFrameLayout().post(new Runnable() {
             @Override
             public void run() {
-                if (dialogImpl!=null)dialogImpl.refreshView();
+                if (dialogImpl != null) dialogImpl.refreshView();
             }
         });
     }

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

@@ -1,6 +1,7 @@
 package com.kongzue.dialogx.dialogs;
 
 import android.animation.Animator;
+import android.app.Activity;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.animation.AccelerateInterpolator;
@@ -77,6 +78,13 @@ public class CustomDialog extends BaseDialog {
         show(dialogView);
     }
     
+    public void show(Activity activity) {
+        super.beforeShow();
+        dialogView = createView(R.layout.layout_dialogx_custom);
+        dialogImpl = new DialogImpl(dialogView);
+        show(activity, dialogView);
+    }
+    
     public class DialogImpl implements DialogConvertViewInterface {
         
         public DialogXBaseRelativeLayout boxRoot;
@@ -219,7 +227,7 @@ public class CustomDialog extends BaseDialog {
         getRootFrameLayout().post(new Runnable() {
             @Override
             public void run() {
-                if (dialogImpl!=null)dialogImpl.refreshView();
+                if (dialogImpl != null) dialogImpl.refreshView();
             }
         });
     }

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

@@ -2,6 +2,7 @@ package com.kongzue.dialogx.dialogs;
 
 import android.animation.Animator;
 import android.animation.ObjectAnimator;
+import android.app.Activity;
 import android.graphics.Rect;
 import android.view.View;
 import android.view.ViewGroup;
@@ -76,6 +77,13 @@ public class FullScreenDialog extends BaseDialog {
         show(dialogView);
     }
     
+    public void show(Activity activity) {
+        super.beforeShow();
+        dialogView = createView(isLightTheme() ? R.layout.layout_dialogx_fullscreen : R.layout.layout_dialogx_fullscreen_dark);
+        dialogImpl = new DialogImpl(dialogView);
+        show(activity, dialogView);
+    }
+    
     protected DialogImpl dialogImpl;
     
     public class DialogImpl implements DialogConvertViewInterface {
@@ -237,7 +245,7 @@ public class FullScreenDialog extends BaseDialog {
         getRootFrameLayout().post(new Runnable() {
             @Override
             public void run() {
-                if (dialogImpl!=null)dialogImpl.refreshView();
+                if (dialogImpl != null) dialogImpl.refreshView();
             }
         });
     }

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

@@ -1,6 +1,7 @@
 package com.kongzue.dialogx.dialogs;
 
 import android.animation.Animator;
+import android.app.Activity;
 import android.content.Context;
 import android.text.InputFilter;
 import android.text.InputType;
@@ -196,12 +197,22 @@ public class MessageDialog extends BaseDialog {
         show(dialogView);
     }
     
+    public void show(Activity activity) {
+        super.beforeShow();
+        int layoutId = style.layout(isLightTheme());
+        layoutId = layoutId == 0 ? (isLightTheme() ? R.layout.layout_dialogx_material : R.layout.layout_dialogx_material_dark) : layoutId;
+        
+        dialogView = createView(layoutId);
+        dialogImpl = new DialogImpl(dialogView);
+        show(activity, dialogView);
+    }
+    
     public void refreshUI() {
         if (getRootFrameLayout() == null) return;
         getRootFrameLayout().post(new Runnable() {
             @Override
             public void run() {
-                if (dialogImpl!=null)dialogImpl.refreshView();
+                if (dialogImpl != null) dialogImpl.refreshView();
             }
         });
     }

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

@@ -1,6 +1,7 @@
 package com.kongzue.dialogx.dialogs;
 
 import android.animation.Animator;
+import android.app.Activity;
 import android.graphics.Rect;
 import android.view.View;
 import android.view.ViewGroup;
@@ -263,6 +264,29 @@ public class PopTip extends BaseDialog {
         show(dialogView);
     }
     
+    public void show(Activity activity) {
+        super.beforeShow();
+        if (DialogX.onlyOnePopTip) {
+            if (oldInstance != null && oldInstance.get() != null) {
+                oldInstance.get().dismiss();
+            }
+        }
+        oldInstance = new WeakReference<>(this);
+        int layoutResId = isLightTheme() ? R.layout.layout_dialogx_poptip_material : R.layout.layout_dialogx_poptip_material_dark;
+        if (style.popTipSettings() != null) {
+            if (style.popTipSettings().layout(isLightTheme()) != 0) {
+                layoutResId = style.popTipSettings().layout(isLightTheme());
+            }
+            align = style.popTipSettings().align();
+            if (align == null) align = DialogXStyle.PopTipSettings.ALIGN.BOTTOM;
+            enterAnimResId = style.popTipSettings().enterAnimResId(isLightTheme()) != 0 ? style.popTipSettings().enterAnimResId(isLightTheme()) : R.anim.anim_dialogx_default_enter;
+            exitAnimResId = style.popTipSettings().exitAnimResId(isLightTheme()) != 0 ? style.popTipSettings().exitAnimResId(isLightTheme()) : R.anim.anim_dialogx_default_exit;
+        }
+        dialogView = createView(layoutResId);
+        dialogImpl = new DialogImpl(dialogView);
+        show(activity, dialogView);
+    }
+    
     protected Timer autoDismissTimer;
     
     public PopTip autoDismiss(long delay) {
@@ -485,7 +509,7 @@ public class PopTip extends BaseDialog {
         getRootFrameLayout().post(new Runnable() {
             @Override
             public void run() {
-                if (dialogImpl!=null)dialogImpl.refreshView();
+                if (dialogImpl != null) dialogImpl.refreshView();
             }
         });
     }

+ 11 - 0
DialogX/src/main/java/com/kongzue/dialogx/dialogs/TipDialog.java

@@ -15,6 +15,17 @@ public class TipDialog extends WaitDialog {
         super();
     }
     
+    public static WaitDialog show(int messageResId) {
+        DialogImpl dialogImpl = me().dialogImpl;
+        me().preMessage(messageResId);
+        if (dialogImpl != null) {
+            dialogImpl.showTip(TYPE.WARNING);
+        } else {
+            me().showTip(messageResId, TYPE.WARNING);
+        }
+        return me();
+    }
+    
     public static WaitDialog show(int messageResId, TYPE tip) {
         DialogImpl dialogImpl = me().dialogImpl;
         me().preMessage(messageResId);

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

@@ -1,6 +1,7 @@
 package com.kongzue.dialogx.dialogs;
 
 import android.animation.Animator;
+import android.app.Activity;
 import android.graphics.Color;
 import android.view.View;
 import android.view.ViewGroup;
@@ -164,6 +165,14 @@ public class WaitDialog extends BaseDialog {
         return this;
     }
     
+    public WaitDialog show(Activity activity) {
+        super.beforeShow();
+        dialogView = createView(R.layout.layout_dialogx_wait);
+        dialogImpl = new DialogImpl(dialogView);
+        show(activity, dialogView);
+        return this;
+    }
+    
     protected DialogImpl dialogImpl;
     
     public class DialogImpl implements DialogConvertViewInterface {
@@ -378,7 +387,7 @@ public class WaitDialog extends BaseDialog {
         getRootFrameLayout().post(new Runnable() {
             @Override
             public void run() {
-                if (dialogImpl!=null)dialogImpl.refreshView();
+                if (dialogImpl != null) dialogImpl.refreshView();
             }
         });
     }

+ 13 - 0
DialogX/src/main/java/com/kongzue/dialogx/interfaces/BaseDialog.java

@@ -70,6 +70,19 @@ public class BaseDialog {
         });
     }
     
+    public static void show(Activity activity, final View view) {
+        if (activity == null || view == null) return;
+        final ViewGroup activityRootView = activity.getWindow().getDecorView().findViewById(android.R.id.content);
+        if (activityRootView == null) return;
+        view.setTag(activityRootView);
+        activityRootView.post(new Runnable() {
+            @Override
+            public void run() {
+                activityRootView.addView(view);
+            }
+        });
+    }
+    
     public static void dismiss(View dialogView) {
         if (rootFrameLayout == null || dialogView == null) return;
         if (dialogView.getTag() == null || !(dialogView.getTag() instanceof ViewGroup)) {

+ 7 - 5
DialogX/src/main/res/layout/layout_dialogx_poptip_material.xml

@@ -9,22 +9,25 @@
     <LinearLayout
         android:id="@+id/box_body"
         android:layout_width="wrap_content"
-        android:layout_height="50dp"
+        android:layout_height="wrap_content"
+        android:minHeight="50dp"
+        android:paddingVertical="10dp"
         android:layout_alignParentBottom="true"
         android:layout_centerHorizontal="true"
         android:layout_marginHorizontal="35dp"
         android:layout_marginBottom="100dp"
         android:background="@drawable/rect_dialogx_material_poptip_bkg"
         android:elevation="20dp"
-        android:gravity="center_vertical">
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
 
         <ImageView
             android:id="@+id/img_dialogx_pop_icon"
             android:layout_width="26dp"
             android:layout_height="26dp"
+            android:visibility="gone"
             android:layout_marginLeft="15dp"
-            android:layout_marginRight="-5dp"
-            android:visibility="gone" />
+            android:layout_marginRight="-5dp"/>
 
         <TextView
             android:id="@+id/txt_dialogx_pop_text"
@@ -33,7 +36,6 @@
             android:layout_marginLeft="15dp"
             android:layout_marginRight="15dp"
             android:gravity="left|center_vertical"
-            android:singleLine="true"
             android:text="Sure?"
             android:textColor="@color/black"
             android:textSize="14dp" />

+ 4 - 2
DialogX/src/main/res/layout/layout_dialogx_poptip_material_dark.xml

@@ -16,7 +16,8 @@
         android:layout_marginBottom="100dp"
         android:background="@drawable/rect_dialogx_material_poptip_bkg_night"
         android:elevation="10dp"
-        android:gravity="center_vertical">
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
 
         <ImageView
             android:id="@+id/img_dialogx_pop_icon"
@@ -30,10 +31,11 @@
             android:id="@+id/txt_dialogx_pop_text"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:minHeight="50dp"
+            android:paddingVertical="10dp"
             android:layout_marginLeft="15dp"
             android:layout_marginRight="15dp"
             android:gravity="left|center_vertical"
-            android:singleLine="true"
             android:text="Sure?"
             android:textColor="@color/white"
             android:textSize="14dp" />

+ 3 - 3
DialogXIOSStyle/build.gradle

@@ -6,7 +6,7 @@ def siteUrl = 'https://github.com/kongzue/DialogX' //项目在github主页地址
 def gitUrl = 'https://github.com/kongzue/DialogX.git'   //Git仓库的地址
 
 group = "com.kongzue.dialogx.style.ios"
-version = "0.0.23"
+version = "0.0.24"
 
 android {
     compileSdkVersion 30
@@ -14,8 +14,8 @@ android {
     defaultConfig {
         minSdkVersion 21
         targetSdkVersion 30
-        versionCode 23
-        versionName "0.0.23"
+        versionCode 24
+        versionName "0.0.24"
     }
 
     buildTypes {

+ 3 - 3
DialogXKongzueStyle/build.gradle

@@ -6,7 +6,7 @@ def siteUrl = 'https://github.com/kongzue/DialogX' //项目在github主页地址
 def gitUrl = 'https://github.com/kongzue/DialogX.git'   //Git仓库的地址
 
 group = "com.kongzue.dialogx.style.kongzue"
-version = "0.0.23"
+version = "0.0.24"
 
 android {
     compileSdkVersion 30
@@ -14,8 +14,8 @@ android {
     defaultConfig {
         minSdkVersion 21
         targetSdkVersion 30
-        versionCode 23
-        versionName "0.0.23"
+        versionCode 24
+        versionName "0.0.24"
     }
 
     buildTypes {

+ 3 - 3
DialogXMIUIStyle/build.gradle

@@ -6,7 +6,7 @@ def siteUrl = 'https://github.com/kongzue/DialogX' //项目在github主页地址
 def gitUrl = 'https://github.com/kongzue/DialogX.git'   //Git仓库的地址
 
 group = "com.kongzue.dialogx.style.miui"
-version = "0.0.23"
+version = "0.0.24"
 
 android {
     compileSdkVersion 30
@@ -14,8 +14,8 @@ android {
     defaultConfig {
         minSdkVersion 21
         targetSdkVersion 30
-        versionCode 23
-        versionName "0.0.23"
+        versionCode 24
+        versionName "0.0.24"
 
     }
 

+ 5 - 7
README.md

@@ -81,7 +81,7 @@ DialogX 包含以下对话框组件:
 
 ![DialogX主题](https://github.com/kongzue/DialogX/raw/master/readme/allstyle.png)
 
-DialogX 采用了主分离结构,主框架仅包含 Material 设计风格的对话框组件,您可以通过额外引入主题包来实现主题的扩展。
+DialogX 采用了主分离结构,主框架仅包含 Material 设计风格的对话框组件,您可以通过额外引入主题包来实现主题的扩展。
 
 额外的,每套主题都包含亮色/暗色两种显示风格,您可以通过 DialogX 的设置自由切换对话框的显示效果。
 
@@ -97,16 +97,14 @@ DialogX 采用了主体分离结构,主框架仅包含 Material 设计风格
 
 # 开始使用DialogX
 
-🚧警告!此框架依然处于 Alpha 预览版本阶段,可能会存在问题或其它接口变动的可能,且文档还处于完善阶段,若需要正式稳定的Dialog组件暂时依然建议前往使用 [DialogV3](https://github.com/kongzue/DialogV3),若您在使用过程中遇到任何问题,请加群 590498789 讨论。
-
-
+🚧 此框架依然处于 Alpha 预览版本阶段,可能会存在问题或其它接口变动的可能,且文档还处于完善阶段,若需要正式稳定的Dialog组件暂时依然建议前往使用 [DialogV3](https://github.com/kongzue/DialogV3),若您在使用过程中遇到任何问题,请加群 590498789 讨论。
 
 因为依赖的关系,DialogX 目前仅支持 AndroidX 作为基础进行开发,若您正在使用最新版本的 Android Studio,那么默认创建的项目就是使用 AndroidX 作为底层框架的,老版本 Android Support 兼容库将在后续更新。
 
 想要在您的项目引入 DialogX,您需要在 app 的 build.gradle 文件中找到 `dependencies{}` 代码块,并在其中加入以下语句:
 
 ```
-implementation 'com.kongzue.dialogx:DialogX:0.0.23'
+implementation 'com.kongzue.dialogx:DialogX:0.0.24'
 ```
 
 若有需要,也可以手动配置 Maven:
@@ -115,14 +113,14 @@ implementation 'com.kongzue.dialogx:DialogX:0.0.23'
 <dependency>
   <groupId>com.kongzue.dialogx</groupId>
   <artifactId>DialogX</artifactId>
-  <version>0.0.23</version>
+  <version>0.0.24</version>
   <type>pom</type>
 </dependency>
 ```
 
 具体的使用说明,请参阅 [DialogX Wiki](https://github.com/kongzue/DialogX/wiki/)
 
-反馈建议可以加讨论群:590498789
+技术支持和反馈建议可以加讨论群:590498789
 
 <div align=center><img src="https://github.com/kongzue/DialogX/raw/master/readme/feedback_qq_qrcode.png" alt="反馈 DialogX" width="250" height="250" /></div>
 

+ 2 - 2
app/build.gradle

@@ -7,8 +7,8 @@ android {
         applicationId "com.kongzue.dialogxdemo"
         minSdkVersion 21
         targetSdkVersion 30
-        versionCode 23
-        versionName "0.0.23"
+        versionCode 24
+        versionName "0.0.24"
 
         renderscriptTargetApi 21
         renderscriptSupportModeEnabled true    // Enable RS support

二进制
readme/poptip.png