nested scroll helper

Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/d4c004bd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/d4c004bd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/d4c004bd

Branch: refs/heads/master
Commit: d4c004bde700e5ccc7b5d2d1b974ede8ceb34c1f
Parents: 69f634a
Author: jianbai.gbj <jianbai....@alibaba-inc.com>
Authored: Mon Oct 30 20:20:57 2017 +0800
Committer: jianbai.gbj <jianbai....@alibaba-inc.com>
Committed: Mon Oct 30 20:20:57 2017 +0800

----------------------------------------------------------------------
 .../ui/view/refresh/core/WXSwipeLayout.java     | 32 ++++++++++++--------
 1 file changed, 19 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d4c004bd/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/core/WXSwipeLayout.java
----------------------------------------------------------------------
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/core/WXSwipeLayout.java
 
b/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/core/WXSwipeLayout.java
index 1676c99..e1ec10b 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/core/WXSwipeLayout.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/core/WXSwipeLayout.java
@@ -297,18 +297,6 @@ public class WXSwipeLayout extends FrameLayout implements 
NestedScrollingParent,
     mNestedScrollInProgress = true;
   }
 
-  /**
-   * Callback on TouchEvent.ACTION_CANCLE or TouchEvent.ACTION_UP
-   * handler : refresh or loading
-   * @param child : child view of SwipeLayout,RecyclerView or Scroller
-   */
-  @Override
-  public void onStopNestedScroll(View child) {
-    mNestedScrollingParentHelper.onStopNestedScroll(child);
-    mNestedScrollInProgress = true;
-    handlerAction();
-    stopNestedScroll();
-  }
 
   /**
    * With child view to processing move events
@@ -320,6 +308,12 @@ public class WXSwipeLayout extends FrameLayout implements 
NestedScrollingParent,
   @Override
   public void onNestedPreScroll(View target, int dx, int dy, int[] consumed) {
     if ((!mPullRefreshEnable && !mPullLoadEnable)) {
+      // Now let our nested parent consume the leftovers
+      final int[] parentConsumed = mParentScrollConsumed;
+      if (dispatchNestedPreScroll(dx - consumed[0], dy - consumed[1], 
parentConsumed, null)) {
+        consumed[0] += parentConsumed[0];
+        consumed[1] += parentConsumed[1];
+      }
       return;
     }
 
@@ -338,7 +332,6 @@ public class WXSwipeLayout extends FrameLayout implements 
NestedScrollingParent,
     if (moveSpinner(-dy)) {
        consumed[1] += dy;
     }
-
     // Now let our nested parent consume the leftovers
     final int[] parentConsumed = mParentScrollConsumed;
     if (dispatchNestedPreScroll(dx - consumed[0], dy - consumed[1], 
parentConsumed, null)) {
@@ -353,6 +346,19 @@ public class WXSwipeLayout extends FrameLayout implements 
NestedScrollingParent,
   }
 
 
+  /**
+   * Callback on TouchEvent.ACTION_CANCLE or TouchEvent.ACTION_UP
+   * handler : refresh or loading
+   * @param child : child view of SwipeLayout,RecyclerView or Scroller
+   */
+  @Override
+  public void onStopNestedScroll(View child) {
+    mNestedScrollingParentHelper.onStopNestedScroll(child);
+    mNestedScrollInProgress = true;
+    handlerAction();
+    stopNestedScroll();
+  }
+
 
   @Override
   public void onNestedScroll(View target, int dxConsumed, int dyConsumed, int 
dxUnconsumed, int dyUnconsumed) {

Reply via email to