瀏覽代碼

0.0.50.beta8 ready
- 增加 BottomMenu 以及 PopMenu 的构建方法,现可通过类似于 `.show("添加", "编辑", "删除", "分享")` 的方法直接构建菜单;
- 增加 BottomMenu 以及 PopMenu 的图标设置方法,现可通过 `.setIconResIds(R.mipmap.img_dialogx_demo_add, R.mipmap.img_dialogx_demo_edit...)` 直接指定图标;
- 增加 BottomMenu 以及 PopMenu 设置图标是否根据亮暗色染色的方法,现可通过 `.setAutoTintIconInLightOrDarkMode(boolean)` 指定是否染色;
- 增加 BottomMenu 以及 PopMenu 设置菜单的方法,现可通过 `.setMenus("添加", "编辑", "删除", "分享")` 的方法直接设置菜单项;
- 修复 DialogXValueAnimator 的非主线程执行 bug;
- 合并 #418,感谢 @AlirezaIvaz;

Kongzue 1 年之前
父節點
當前提交
32269d2f29

+ 17 - 1
DialogX/src/main/java/com/kongzue/dialogx/util/DialogXValueAnimator.java

@@ -1,5 +1,7 @@
 package com.kongzue.dialogx.util;
 
+import android.os.Handler;
+import android.os.Looper;
 import android.view.animation.Interpolator;
 
 public class DialogXValueAnimator {
@@ -8,6 +10,8 @@ public class DialogXValueAnimator {
     public static final int REVERSE = 2;
     public static final int INFINITE = -1;
 
+    Handler handler = new Handler(Looper.getMainLooper());
+
     private long duration;
     private long startTime;
     private boolean isRunning = false;
@@ -68,7 +72,12 @@ public class DialogXValueAnimator {
 
                         // 通知监听器
                         if (listener != null) {
-                            listener.onValueUpdate(animatedValue);
+                            getHandler().post(new Runnable() {
+                                @Override
+                                public void run() {
+                                    listener.onValueUpdate(animatedValue);
+                                }
+                            });
                         }
                     } else {
                         // 动画结束
@@ -95,6 +104,13 @@ public class DialogXValueAnimator {
         }).start();
     }
 
+    private Handler getHandler() {
+        if (handler==null) {
+            handler = new Handler(Looper.getMainLooper());
+        }
+        return handler;
+    }
+
     private void onAnimationEnd() {
 
     }

+ 4 - 1
app/src/main/java/com/kongzue/dialogxdemo/activity/MainActivity.java

@@ -767,7 +767,10 @@ public class MainActivity extends BaseActivity {
 
 //                      测试用代码
 //                    BottomMenu.show("添加", "查看", "编辑")
-//                            .setIconResIds(R.mipmap.img_dialogx_demo_add, R.mipmap.img_dialogx_demo_view, R.mipmap.img_dialogx_demo_edit);
+//                            .setIconResIds(R.mipmap.img_dialogx_demo_add,
+//                                    R.mipmap.img_dialogx_demo_view,
+//                                    R.mipmap.img_dialogx_demo_edit
+//                            );
                 } else {
                     BottomMenu.show(new String[]{"新标签页中打开", "稍后阅读", "复制链接网址"})
                             .setMessage("http://www.kongzue.com/DialogX")