Browse Source

update 0.0.14 ver.

kongzue 4 years ago
parent
commit
0547ed2686

+ 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.13"
+version = "0.0.14"
 
 android {
     compileSdkVersion 30
@@ -14,8 +14,8 @@ android {
     defaultConfig {
         minSdkVersion 21
         targetSdkVersion 30
-        versionCode 13
-        versionName "0.0.13"
+        versionCode 14
+        versionName "0.0.14"
 
         consumerProguardFiles "consumer-rules.pro"
 

BIN
DialogX/libs/DialogXInterface.jar


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

@@ -1,5 +1,6 @@
 package com.kongzue.dialogx.dialogs;
 
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.AdapterView;
@@ -11,6 +12,7 @@ import androidx.annotation.ColorRes;
 
 import com.kongzue.dialogx.DialogX;
 import com.kongzue.dialogx.R;
+import com.kongzue.dialogx.interfaces.BottomMenuListViewTouchEvent;
 import com.kongzue.dialogx.interfaces.DialogLifecycleCallback;
 import com.kongzue.dialogx.interfaces.DialogXStyle;
 import com.kongzue.dialogx.interfaces.OnBackPressedListener;
@@ -451,6 +453,8 @@ public class BottomMenu extends BottomDialog {
         return bottomMenu;
     }
     
+    private float touchDownY;
+    
     @Override
     protected void onDialogInit(final DialogImpl dialog) {
         if (dialog != null) {
@@ -473,14 +477,25 @@ public class BottomMenu extends BottomDialog {
                 dividerDrawableResId = isLightTheme() ? R.drawable.rect_dialogx_material_menu_split_divider : R.drawable.rect_dialogx_material_menu_split_divider_night;
             }
             
-            listView = new BottomDialogListView(dialog,getContext());
+            listView = new BottomDialogListView(dialog, getContext());
             listView.setOverScrollMode(OVER_SCROLL_NEVER);
             listView.setDivider(getResources().getDrawable(dividerDrawableResId));
             listView.setDividerHeight(dividerHeight);
             
+            listView.setBottomMenuListViewTouchEvent(new BottomMenuListViewTouchEvent() {
+                @Override
+                public void down(MotionEvent event) {
+                    touchDownY = dialog.bkg.getY();
+                }
+            });
+            
             listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                 @Override
                 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                    float deltaY = Math.abs(touchDownY - dialog.bkg.getY());
+                    if (deltaY > dip2px(15)) {
+                        return;
+                    }
                     if (onMenuItemClickListener != null) {
                         if (!onMenuItemClickListener.onClick(me, menuList.get(position), position)) {
                             dismiss();

+ 17 - 0
DialogX/src/main/java/com/kongzue/dialogx/interfaces/BottomMenuListViewTouchEvent.java

@@ -0,0 +1,17 @@
+package com.kongzue.dialogx.interfaces;
+
+import android.view.MotionEvent;
+
+/**
+ * @author: Kongzue
+ * @github: https://github.com/kongzue/
+ * @homepage: http://kongzue.com/
+ * @mail: myzcxhh@live.cn
+ * @createTime: 2020/11/18 15:01
+ */
+public abstract class BottomMenuListViewTouchEvent {
+    
+    public void down(MotionEvent event){};
+    public void move(MotionEvent event){};
+    public void up(MotionEvent event){};
+}

+ 23 - 18
DialogX/src/main/java/com/kongzue/dialogx/style/MaterialStyle.java

@@ -57,7 +57,7 @@ public class MaterialStyle implements DialogXStyle {
     public int splitColorRes(boolean light) {
         return 0;
     }
-
+    
     @Override
     public BlurBackgroundSetting messageDialogBlurSettings() {
         return null;
@@ -120,63 +120,68 @@ public class MaterialStyle implements DialogXStyle {
             public int overrideTextColorRes(boolean light) {
                 return light ? R.color.white : R.color.black;
             }
-    
+            
             @Override
             public ProgressViewInterface overrideWaitView(Context context, boolean light) {
                 return new ProgressView(context);
             }
         };
     }
-
+    
     @Override
     public BottomDialogRes overrideBottomDialogRes() {
         return new BottomDialogRes() {
-
+            
             @Override
             public boolean touchSlide() {
                 return true;
             }
-
+            
             @Override
             public int overrideDialogLayout(boolean light) {
                 return light ? R.layout.layout_dialogx_bottom_material : R.layout.layout_dialogx_bottom_material_dark;
             }
-
+            
             @Override
             public int overrideMenuDividerDrawableRes(boolean light) {
                 return light ? R.drawable.rect_dialogx_material_menu_split_divider : R.drawable.rect_dialogx_material_menu_split_divider_night;
             }
-
+            
             @Override
             public int overrideMenuDividerHeight(boolean light) {
                 return 1;
             }
-
+            
             @Override
             public int overrideMenuTextColor(boolean light) {
-                return light?R.color.black90:R.color.white90;
+                return light ? R.color.black90 : R.color.white90;
             }
-
+            
             @Override
             public float overrideBottomDialogMaxHeight() {
                 return 0.6f;
             }
-    
+            
             @Override
             public int overrideMenuItemLayout(boolean light, int index, int count, boolean isContentVisibility) {
                 return 0;
             }
-    
+            
             @Override
             public int overrideSelectionMenuBackgroundColor(boolean light) {
                 return 0;
             }
-    
+            
             @Override
             public boolean selectionImageTint(boolean light) {
                 return false;
             }
-    
+            
+            @Override
+            public int overrideSelectionImage(boolean light, boolean isSelected) {
+                return isSelected ? R.mipmap.img_dialogx_bottom_menu_material_item_selection : R.mipmap.img_dialogx_bottom_menu_material_item_non_select;
+            }
+            
         };
     }
     
@@ -185,19 +190,19 @@ public class MaterialStyle implements DialogXStyle {
         return new PopTipSettings() {
             @Override
             public int layout(boolean light) {
-                return light?R.layout.layout_dialogx_poptip_material :R.layout.layout_dialogx_poptip_material_dark;
+                return light ? R.layout.layout_dialogx_poptip_material : R.layout.layout_dialogx_poptip_material_dark;
             }
-
+            
             @Override
             public ALIGN align() {
                 return ALIGN.BOTTOM;
             }
-
+            
             @Override
             public int enterAnimResId(boolean light) {
                 return R.anim.anim_dialogx_default_enter;
             }
-
+            
             @Override
             public int exitAnimResId(boolean light) {
                 return R.anim.anim_dialogx_default_exit;

+ 4 - 2
DialogX/src/main/java/com/kongzue/dialogx/util/BottomDialogTouchEventInterceptor.java

@@ -64,6 +64,7 @@ public class BottomDialogTouchEventInterceptor {
             impl.bkg.setOnTouchListener(new View.OnTouchListener() {
                 @Override
                 public boolean onTouch(View v, MotionEvent event) {
+                    //这里 return 什么实际上无关紧要,重点在于 MaxRelativeLayout.java(dispatchTouchEvent:184) 的事件分发会独立触发此处的额外滑动事件
                     switch (event.getAction()) {
                         case MotionEvent.ACTION_DOWN:
                             bkgTouchDownY = event.getY();
@@ -80,13 +81,14 @@ public class BottomDialogTouchEventInterceptor {
                                                 ((BottomDialogScrollView) impl.scrollView).lockScroll(true);
                                             }
                                             impl.bkg.setY(aimY);
+                                        } else {
+                                            bkgTouchDownY = event.getY();
                                         }
                                     } else {
                                         if (impl.scrollView instanceof BottomDialogScrollView) {
                                             ((BottomDialogScrollView) impl.scrollView).lockScroll(false);
                                         }
                                         impl.bkg.setY(0);
-                                        return false;
                                     }
                                 } else {
                                     if (aimY > impl.bkgEnterAimY) {
@@ -128,7 +130,7 @@ public class BottomDialogTouchEventInterceptor {
                             }
                             break;
                     }
-                    return true;
+                    return false;
                 }
             });
         } else {

+ 11 - 1
DialogX/src/main/java/com/kongzue/dialogx/util/NormalMenuArrayAdapter.java

@@ -96,8 +96,18 @@ public class NormalMenuArrayAdapter extends BaseAdapter {
                 if (viewHolder.imgDialogxMenuSelection != null) {
                     if (bottomMenu.getSelection() == position) {
                         viewHolder.imgDialogxMenuSelection.setVisibility(View.VISIBLE);
+                        int overrideSelectionImageResId = bottomMenu.getStyle().overrideBottomDialogRes().overrideSelectionImage(bottomMenu.isLightTheme(), true);
+                        if (overrideSelectionImageResId != 0) {
+                            viewHolder.imgDialogxMenuSelection.setImageResource(overrideSelectionImageResId);
+                        }
                     } else {
-                        viewHolder.imgDialogxMenuSelection.setVisibility(View.INVISIBLE);
+                        int overrideSelectionImageResId = bottomMenu.getStyle().overrideBottomDialogRes().overrideSelectionImage(bottomMenu.isLightTheme(), false);
+                        if (overrideSelectionImageResId != 0) {
+                            viewHolder.imgDialogxMenuSelection.setVisibility(View.VISIBLE);
+                            viewHolder.imgDialogxMenuSelection.setImageResource(overrideSelectionImageResId);
+                        }else{
+                            viewHolder.imgDialogxMenuSelection.setVisibility(View.INVISIBLE);
+                        }
                     }
                 }
             } else {

+ 47 - 0
DialogX/src/main/java/com/kongzue/dialogx/util/views/BottomDialogListView.java

@@ -14,6 +14,7 @@ import android.widget.ScrollView;
 import androidx.annotation.RequiresApi;
 
 import com.kongzue.dialogx.dialogs.BottomDialog;
+import com.kongzue.dialogx.interfaces.BottomMenuListViewTouchEvent;
 
 /**
  * @author: Kongzue
@@ -23,6 +24,9 @@ import com.kongzue.dialogx.dialogs.BottomDialog;
  * @createTime: 2020/10/6 23:42
  */
 public class BottomDialogListView extends ListView {
+    
+    private BottomMenuListViewTouchEvent bottomMenuListViewTouchEvent;
+    
     public BottomDialogListView(Context context) {
         super(context);
     }
@@ -48,4 +52,47 @@ public class BottomDialogListView extends ListView {
         super.onMeasure(widthMeasureSpec, expandSpec);
     }
     
+    private int mPosition;
+    
+    @Override
+    public boolean dispatchTouchEvent(MotionEvent ev) {
+        final int actionMasked = ev.getActionMasked() & MotionEvent.ACTION_MASK;
+        
+        if (actionMasked == MotionEvent.ACTION_DOWN) {
+            if (bottomMenuListViewTouchEvent != null) {
+                bottomMenuListViewTouchEvent.down(ev);
+            }
+            mPosition = pointToPosition((int) ev.getX(), (int) ev.getY());
+            return super.dispatchTouchEvent(ev);
+        }
+        
+        if (actionMasked == MotionEvent.ACTION_MOVE) {
+            if (bottomMenuListViewTouchEvent != null) {
+                bottomMenuListViewTouchEvent.move(ev);
+            }
+            return true;
+        }
+        if (actionMasked == MotionEvent.ACTION_UP || actionMasked == MotionEvent.ACTION_CANCEL) {
+            if (bottomMenuListViewTouchEvent != null) {
+                bottomMenuListViewTouchEvent.up(ev);
+            }
+            if (pointToPosition((int) ev.getX(), (int) ev.getY()) == mPosition) {
+                super.dispatchTouchEvent(ev);
+            } else {
+                setPressed(false);
+                invalidate();
+            }
+        }
+        
+        return super.dispatchTouchEvent(ev);
+    }
+    
+    public BottomMenuListViewTouchEvent getBottomMenuListViewTouchEvent() {
+        return bottomMenuListViewTouchEvent;
+    }
+    
+    public BottomDialogListView setBottomMenuListViewTouchEvent(BottomMenuListViewTouchEvent bottomMenuListViewTouchEvent) {
+        this.bottomMenuListViewTouchEvent = bottomMenuListViewTouchEvent;
+        return this;
+    }
 }

+ 9 - 9
DialogX/src/main/java/com/kongzue/dialogx/util/views/BottomDialogScrollView.java

@@ -16,6 +16,7 @@ import com.kongzue.dialogx.dialogs.BottomDialog;
  * @createTime: 2020/11/17 15:29
  */
 public class BottomDialogScrollView extends ScrollView {
+    
     public BottomDialogScrollView(Context context) {
         super(context);
     }
@@ -32,24 +33,23 @@ public class BottomDialogScrollView extends ScrollView {
         super(context, attrs, defStyleAttr, defStyleRes);
     }
     
-    private BottomDialog.DialogImpl dialogImpl;
-    
-    public BottomDialogScrollView setDialogImpl(BottomDialog.DialogImpl dialogImpl) {
-        this.dialogImpl = dialogImpl;
-        return this;
-    }
-    
     boolean lockScroll;
     
     public void lockScroll(boolean lockScroll) {
-        this.lockScroll=lockScroll;
+        this.lockScroll = lockScroll;
     }
     
     @Override
     public boolean onTouchEvent(MotionEvent ev) {
-        if (lockScroll){
+        if (lockScroll) {
             return false;
         }
         return super.onTouchEvent(ev);
     }
+    
+    
+    @Override
+    public boolean dispatchTouchEvent(MotionEvent ev) {
+        return super.dispatchTouchEvent(ev);
+    }
 }

+ 2 - 11
DialogX/src/main/java/com/kongzue/dialogx/util/views/MaxRelativeLayout.java

@@ -173,26 +173,17 @@ public class MaxRelativeLayout extends RelativeLayout {
         if (onYChangedListener != null) onYChangedListener.y(translationY);
     }
     
-//    @Override
-//    public boolean onInterceptTouchEvent(MotionEvent ev) {
-//        if (interceptTouch && onTouchListener != null) {
-//            return onTouchListener.onTouch(this, ev);
-//        }
-//        return super.onInterceptTouchEvent(ev);
-//    }
-    
     private OnTouchListener onTouchListener;
     
     @Override
     public void setOnTouchListener(OnTouchListener l) {
         onTouchListener = l;
-       // super.setOnTouchListener(l);
     }
     
     @Override
     public boolean dispatchTouchEvent(MotionEvent ev) {
-        if (onTouchListener!=null){
-            onTouchListener.onTouch(this,ev);
+        if (onTouchListener != null) {
+            onTouchListener.onTouch(this, ev);
         }
         return super.dispatchTouchEvent(ev);
     }

BIN
DialogX/src/main/res/mipmap-xxhdpi/img_dialogx_bottom_menu_material_item_non_select.png


+ 62 - 0
DialogXIOSStyle/build.gradle

@@ -1,4 +1,12 @@
 apply plugin: 'com.android.library'
+apply plugin: 'com.github.dcendents.android-maven'
+apply plugin: 'com.jfrog.bintray'
+
+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.14"
 
 android {
     compileSdkVersion 30
@@ -18,6 +26,60 @@ android {
     }
 }
 
+install {
+    repositories.mavenInstaller {
+        // This generates POM.xml with proper parameters
+        pom {
+            project {
+                packaging 'aar'
+                name 'dialogXiOSStyle'
+                url siteUrl
+                licenses {
+                    license {
+                        name 'The Apache Software License, Version 2.0'
+                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+                    }
+                }
+                developers {
+                    developer {
+                        id 'myzchh'//设置自己ID
+                        name 'myzchh'//设置自己名字
+                        email 'myzcxhh@live.cn'//设置自己邮箱
+                    }
+                }
+                scm {
+                    connection gitUrl
+                    developerConnection gitUrl
+                    url siteUrl
+                }
+            }
+        }
+    }
+}
+task sourcesJar(type: Jar) {
+    from android.sourceSets.main.java.srcDirs
+    classifier = 'sources'
+}
+
+artifacts {
+    archives sourcesJar
+}
+
+Properties properties = new Properties()
+properties.load(project.rootProject.file('local.properties').newDataInputStream())
+bintray {
+    user = properties.getProperty("bintray.user")
+    key = properties.getProperty("bintray.apikey")
+    configurations = ['archives']
+    pkg {
+        repo = "maven"
+        name = "dialogXiOSStyle" //项目在JCenter的名字
+        websiteUrl = siteUrl
+        vcsUrl = gitUrl
+        licenses = ["Apache-2.0"]
+        publish = true
+    }
+}
 dependencies {
     implementation fileTree(dir: "libs", include: ["*.jar"])
     implementation project(path: ':DialogX')

+ 5 - 0
DialogXIOSStyle/src/main/java/com/kongzue/dialogx/style/IOSStyle.java

@@ -217,6 +217,11 @@ public class IOSStyle implements DialogXStyle {
             public boolean selectionImageTint(boolean light) {
                 return true;
             }
+            
+            @Override
+            public int overrideSelectionImage(boolean light, boolean isSelected) {
+                return 0;
+            }
         };
     }
     

+ 6 - 4
DialogXInterface/src/main/java/com/kongzue/dialogx/interfaces/DialogXStyle.java

@@ -72,7 +72,7 @@ public interface DialogXStyle {
         int overrideBackgroundColorRes(boolean light);
         
         int overrideTextColorRes(boolean light);
-    
+        
         ProgressViewInterface overrideWaitView(Context context, boolean light);
     }
     
@@ -95,14 +95,16 @@ public interface DialogXStyle {
         int overrideSelectionMenuBackgroundColor(boolean light);
         
         boolean selectionImageTint(boolean light);
+        
+        int overrideSelectionImage(boolean light, boolean isSelected);
     }
     
     interface PopTipSettings {
         
         int layout(boolean light);
-    
+        
         ALIGN align();
-    
+        
         enum ALIGN {
             CENTER,
             TOP,
@@ -112,7 +114,7 @@ public interface DialogXStyle {
         }
         
         int enterAnimResId(boolean light);
-    
+        
         int exitAnimResId(boolean light);
     }
 }

+ 62 - 0
DialogXKongzueStyle/build.gradle

@@ -1,4 +1,12 @@
 apply plugin: 'com.android.library'
+apply plugin: 'com.github.dcendents.android-maven'
+apply plugin: 'com.jfrog.bintray'
+
+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.14"
 
 android {
     compileSdkVersion 30
@@ -18,6 +26,60 @@ android {
     }
 }
 
+install {
+    repositories.mavenInstaller {
+        // This generates POM.xml with proper parameters
+        pom {
+            project {
+                packaging 'aar'
+                name 'dialogXKongzueStyle'
+                url siteUrl
+                licenses {
+                    license {
+                        name 'The Apache Software License, Version 2.0'
+                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+                    }
+                }
+                developers {
+                    developer {
+                        id 'myzchh'//设置自己ID
+                        name 'myzchh'//设置自己名字
+                        email 'myzcxhh@live.cn'//设置自己邮箱
+                    }
+                }
+                scm {
+                    connection gitUrl
+                    developerConnection gitUrl
+                    url siteUrl
+                }
+            }
+        }
+    }
+}
+task sourcesJar(type: Jar) {
+    from android.sourceSets.main.java.srcDirs
+    classifier = 'sources'
+}
+
+artifacts {
+    archives sourcesJar
+}
+
+Properties properties = new Properties()
+properties.load(project.rootProject.file('local.properties').newDataInputStream())
+bintray {
+    user = properties.getProperty("bintray.user")
+    key = properties.getProperty("bintray.apikey")
+    configurations = ['archives']
+    pkg {
+        repo = "maven"
+        name = "dialogXKongzueStyle" //项目在JCenter的名字
+        websiteUrl = siteUrl
+        vcsUrl = gitUrl
+        licenses = ["Apache-2.0"]
+        publish = true
+    }
+}
 dependencies {
     implementation fileTree(dir: "libs", include: ["*.jar"])
     implementation project(path: ':DialogX')

+ 5 - 0
DialogXKongzueStyle/src/main/java/com/kongzue/dialogx/style/KongzueStyle.java

@@ -145,6 +145,11 @@ public class KongzueStyle implements DialogXStyle {
             public boolean selectionImageTint(boolean light) {
                 return true;
             }
+            
+            @Override
+            public int overrideSelectionImage(boolean light, boolean isSelected) {
+                return 0;
+            }
         };
     }
     

+ 62 - 0
DialogXMIUIStyle/build.gradle

@@ -1,4 +1,12 @@
 apply plugin: 'com.android.library'
+apply plugin: 'com.github.dcendents.android-maven'
+apply plugin: 'com.jfrog.bintray'
+
+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.14"
 
 android {
     compileSdkVersion 30
@@ -19,6 +27,60 @@ android {
     }
 }
 
+install {
+    repositories.mavenInstaller {
+        // This generates POM.xml with proper parameters
+        pom {
+            project {
+                packaging 'aar'
+                name 'dialogXMIUIStyle'
+                url siteUrl
+                licenses {
+                    license {
+                        name 'The Apache Software License, Version 2.0'
+                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+                    }
+                }
+                developers {
+                    developer {
+                        id 'myzchh'//设置自己ID
+                        name 'myzchh'//设置自己名字
+                        email 'myzcxhh@live.cn'//设置自己邮箱
+                    }
+                }
+                scm {
+                    connection gitUrl
+                    developerConnection gitUrl
+                    url siteUrl
+                }
+            }
+        }
+    }
+}
+task sourcesJar(type: Jar) {
+    from android.sourceSets.main.java.srcDirs
+    classifier = 'sources'
+}
+
+artifacts {
+    archives sourcesJar
+}
+
+Properties properties = new Properties()
+properties.load(project.rootProject.file('local.properties').newDataInputStream())
+bintray {
+    user = properties.getProperty("bintray.user")
+    key = properties.getProperty("bintray.apikey")
+    configurations = ['archives']
+    pkg {
+        repo = "maven"
+        name = "dialogXMIUIStyle" //项目在JCenter的名字
+        websiteUrl = siteUrl
+        vcsUrl = gitUrl
+        licenses = ["Apache-2.0"]
+        publish = true
+    }
+}
 dependencies {
     implementation fileTree(dir: "libs", include: ["*.jar"])
     implementation project(path: ':DialogX')

+ 5 - 0
DialogXMIUIStyle/src/main/java/com/kongzue/dialogx/style/MIUIStyle.java

@@ -160,6 +160,11 @@ public class MIUIStyle implements DialogXStyle {
             public boolean selectionImageTint(boolean light) {
                 return false;
             }
+    
+            @Override
+            public int overrideSelectionImage(boolean light, boolean isSelected) {
+                return 0;
+            }
         };
     }
     

+ 2 - 2
README.md

@@ -106,7 +106,7 @@ DialogX 采用了主体分离结构,主框架仅包含 Material 设计风格
 想要在您的项目引入 DialogX,您需要在 app 的 build.gradle 文件中找到 `dependencies{}` 代码块,并在其中加入以下语句:
 
 ```
-implementation 'com.kongzue.dialogx:DialogX:0.0.13'
+implementation 'com.kongzue.dialogx:DialogX:0.0.14'
 ```
 
 若有需要,也可以手动配置 Maven:
@@ -115,7 +115,7 @@ implementation 'com.kongzue.dialogx:DialogX:0.0.13'
 <dependency>
   <groupId>com.kongzue.dialogx</groupId>
   <artifactId>DialogX</artifactId>
-  <version>0.0.13</version>
+  <version>0.0.14</version>
   <type>pom</type>
 </dependency>
 ```

+ 2 - 2
app/build.gradle

@@ -7,8 +7,8 @@ android {
         applicationId "com.kongzue.dialogxdemo"
         minSdkVersion 21
         targetSdkVersion 30
-        versionCode 13
-        versionName "0.0.13"
+        versionCode 14
+        versionName "0.0.14"
 
         renderscriptTargetApi 21
         renderscriptSupportModeEnabled true    // Enable RS support

+ 2 - 2
app/release/output-metadata.json

@@ -11,8 +11,8 @@
       "type": "SINGLE",
       "filters": [],
       "properties": [],
-      "versionCode": 1,
-      "versionName": "1.0",
+      "versionCode": 14,
+      "versionName": "0.0.14",
       "enabled": true,
       "outputFile": "app-release.apk"
     }