Browse Source

update to 0.0.15 ver.
- fix bugs

kongzue 4 years ago
parent
commit
29e330da16

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

+ 15 - 8
DialogX/src/main/java/com/kongzue/dialogx/dialogs/BottomMenu.java

@@ -455,6 +455,9 @@ public class BottomMenu extends BottomDialog {
     
     private float touchDownY;
     
+    public static final int DELAY = 500;
+    private long lastClickTime = 0;
+    
     @Override
     protected void onDialogInit(final DialogImpl dialog) {
         if (dialog != null) {
@@ -492,16 +495,20 @@ public class BottomMenu extends BottomDialog {
             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)) {
+                    long currentTime = System.currentTimeMillis();
+                    if (currentTime - lastClickTime > DELAY) {
+                        lastClickTime = currentTime;
+                        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();
+                            }
+                        } else {
                             dismiss();
                         }
-                    } else {
-                        dismiss();
                     }
                 }
             });

+ 2 - 2
README.md

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