Kaynağa Gözat

0.0.45.beta17

kongzue 3 yıl önce
ebeveyn
işleme
841925d27e

+ 0 - 3
DialogX/src/main/java/com/kongzue/dialogx/dialogs/BottomMenu.java

@@ -474,9 +474,6 @@ public class BottomMenu extends BottomDialog {
             
             if (!isAllowInterceptTouch()) {
                 dialog.bkg.setMaxHeight((int) bottomDialogMaxHeight);
-                if (bottomDialogMaxHeight != 0) {
-                    dialogImpl.scrollView.lockScroll(true);
-                }
             }
             
             int dividerDrawableResId = 0;

+ 31 - 4
DialogX/src/main/java/com/kongzue/dialogx/interfaces/ScrollController.java

@@ -9,11 +9,38 @@ package com.kongzue.dialogx.interfaces;
  */
 public interface ScrollController {
     
-    boolean isLockScroll();
-    
-    void lockScroll(boolean lockScroll);
-    
+    /**
+     * 返回已滚动的距离
+     * 若该距离为 0,BottomDialog、FullScreenDialog 将直接接管和衔接触控事件
+     * 若距离不为 0,由本控件处理触控事件
+     *
+     * @return 已滚动的距离
+     */
     int getScrollDistance();
     
+    /**
+     * 设置是否可以滑动
+     * 若可以滑动,BottomDialog、FullScreenDialog 将尝试接管和衔接触控事件,
+     * 若不可以滑动,BottomDialog、FullScreenDialog 将直接拦截触控事件
+     *
+     * @return 是否可以滑动
+     */
     boolean isCanScroll();
+    
+    /**
+     * BottomDialog、FullScreenDialog 在接管触控事件时会通过此方法传入 lockScroll,
+     * 若 lockScroll 为真,请勿处理任何触摸事件。
+     *
+     * 举例:建议增加以下代码:
+     * @Override
+     * public boolean onTouchEvent(MotionEvent event) {
+     *     if (lockScroll) return false;
+     *     return super.onTouchEvent(event);
+     * }
+     *
+     * @param lockScroll 是否锁定滑动
+     */
+    void lockScroll(boolean lockScroll);
+    
+    boolean isLockScroll();
 }

+ 1 - 1
gradle.properties

@@ -19,5 +19,5 @@ android.useAndroidX=true
 # Automatically convert third-party libraries to use AndroidX
 android.enableJetifier=true
 
-BUILD_VERSION=0.0.45.beta16
+BUILD_VERSION=0.0.45.beta17
 BUILD_VERSION_INT=44