Java 类com.facebook.react.views.scroll.ScrollEvent 实例源码

项目:react-native-recyclerview-list    文件:RecyclerViewBackedScrollView.java   
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    if (super.onInterceptTouchEvent(ev)) {
        NativeGestureUtil.notifyNativeGestureStarted(this, ev);
        mDragging = true;
        getReactContext().getNativeModule(UIManagerModule.class).getEventDispatcher()
                .dispatchEvent(ScrollEvent.obtain(
                        getId(),
                        ScrollEventType.BEGIN_DRAG,
                        0, /* offsetX = 0, horizontal scrolling only */
                        computeVerticalScrollOffset(),
                        0, // xVelocity
                        0, // yVelocity
                        getWidth(),
                        computeVerticalScrollRange(),
                        getWidth(),
                        getHeight()));
        return true;
    }

    return false;
}
项目:react-native-recyclerview-list    文件:RecyclerViewBackedScrollView.java   
@Override
public boolean onTouchEvent(MotionEvent ev) {
    int action = ev.getAction() & MotionEvent.ACTION_MASK;
    if (action == MotionEvent.ACTION_UP && mDragging) {
        mDragging = false;
        mVelocityHelper.calculateVelocity(ev);
        getReactContext().getNativeModule(UIManagerModule.class).getEventDispatcher()
                .dispatchEvent(ScrollEvent.obtain(
                        getId(),
                        ScrollEventType.END_DRAG,
                        0, /* offsetX = 0, horizontal scrolling only */
                        computeVerticalScrollOffset(),
                        mVelocityHelper.getXVelocity(),
                        mVelocityHelper.getYVelocity(),
                        getWidth(),
                        computeVerticalScrollRange(),
                        getWidth(),
                        getHeight()));
    }
    return super.onTouchEvent(ev);
}
项目:RNLearn_Project1    文件:ReactTextInputManager.java   
@Override
public void onScrollChanged(int horiz, int vert, int oldHoriz, int oldVert) {
  if (mPreviousHoriz != horiz || mPreviousVert != vert) {
    ScrollEvent event = ScrollEvent.obtain(
      mReactEditText.getId(),
      ScrollEventType.SCROLL,
      horiz,
      vert,
      0, // can't get content width
      0, // can't get content height
      mReactEditText.getWidth(),
      mReactEditText.getHeight()
    );

    mEventDispatcher.dispatchEvent(event);

    mPreviousHoriz = horiz;
    mPreviousVert = vert;
  }
}
项目:RNLearn_Project1    文件:ReactTextInputManager.java   
@Override
public void onScrollChanged(int horiz, int vert, int oldHoriz, int oldVert) {
  if (mPreviousHoriz != horiz || mPreviousVert != vert) {
    ScrollEvent event = ScrollEvent.obtain(
      mReactEditText.getId(),
      ScrollEventType.SCROLL,
      horiz,
      vert,
      0, // can't get content width
      0, // can't get content height
      mReactEditText.getWidth(),
      mReactEditText.getHeight()
    );

    mEventDispatcher.dispatchEvent(event);

    mPreviousHoriz = horiz;
    mPreviousVert = vert;
  }
}
项目:ReactNativeSignatureExample    文件:RecyclerViewBackedScrollView.java   
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
  super.onScrollChanged(l, t, oldl, oldt);

  ((ReactContext) getContext()).getNativeModule(UIManagerModule.class).getEventDispatcher()
      .dispatchEvent(ScrollEvent.obtain(
              getId(),
              SystemClock.nanoTime(),
              ScrollEventType.SCROLL,
              0, /* offsetX = 0, horizontal scrolling only */
              calculateAbsoluteOffset(),
              getWidth(),
              ((ReactListAdapter) getAdapter()).getTotalChildrenHeight(),
              getWidth(),
              getHeight()));
}
项目:react-native-ibeacon-android    文件:RecyclerViewBackedScrollView.java   
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
  super.onScrollChanged(l, t, oldl, oldt);

  ((ReactContext) getContext()).getNativeModule(UIManagerModule.class).getEventDispatcher()
      .dispatchEvent(ScrollEvent.obtain(
              getId(),
              SystemClock.nanoTime(),
              ScrollEventType.SCROLL,
              0, /* offsetX = 0, horizontal scrolling only */
              calculateAbsoluteOffset(),
              getWidth(),
              ((ReactListAdapter) getAdapter()).getTotalChildrenHeight(),
              getWidth(),
              getHeight()));
}
项目:react-native-box-loaders    文件:RecyclerViewBackedScrollView.java   
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
  super.onScrollChanged(l, t, oldl, oldt);

  ((ReactContext) getContext()).getNativeModule(UIManagerModule.class).getEventDispatcher()
      .dispatchEvent(ScrollEvent.obtain(
              getId(),
              SystemClock.nanoTime(),
              ScrollEventType.SCROLL,
              0, /* offsetX = 0, horizontal scrolling only */
              calculateAbsoluteOffset(),
              getWidth(),
              ((ReactListAdapter) getAdapter()).getTotalChildrenHeight(),
              getWidth(),
              getHeight()));
}
项目:react-native-recyclerview-list    文件:RecyclerViewBackedScrollView.java   
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
    super.onScrollChanged(l, t, oldl, oldt);

    if (mOnScrollDispatchHelper.onScrollChanged(l, t)) {
        getReactContext().getNativeModule(UIManagerModule.class).getEventDispatcher()
                .dispatchEvent(ScrollEvent.obtain(
                        getId(),
                        ScrollEventType.SCROLL,
                        0, /* offsetX = 0, horizontal scrolling only */
                        computeVerticalScrollOffset(),
                        mOnScrollDispatchHelper.getXFlingVelocity(),
                        mOnScrollDispatchHelper.getYFlingVelocity(),
                        getWidth(),
                        computeVerticalScrollRange(),
                        getWidth(),
                        getHeight()));
    }

    final int firstIndex = ((LinearLayoutManager) getLayoutManager()).findFirstVisibleItemPosition();
    final int lastIndex = ((LinearLayoutManager) getLayoutManager()).findLastVisibleItemPosition();

    if (firstIndex != mFirstVisibleIndex || lastIndex != mLastVisibleIndex) {
        getReactContext().getNativeModule(UIManagerModule.class).getEventDispatcher()
                .dispatchEvent(new VisibleItemsChangeEvent(
                        getId(),
                        SystemClock.nanoTime(),
                        firstIndex,
                        lastIndex));

        mFirstVisibleIndex = firstIndex;
        mLastVisibleIndex = lastIndex;
    }
}
项目:Ironman    文件:RecyclerViewBackedScrollView.java   
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
  super.onScrollChanged(l, t, oldl, oldt);

  ((ReactContext) getContext()).getNativeModule(UIManagerModule.class).getEventDispatcher()
      .dispatchEvent(ScrollEvent.obtain(
              getId(),
              ScrollEventType.SCROLL,
              0, /* offsetX = 0, horizontal scrolling only */
              calculateAbsoluteOffset(),
              getWidth(),
              ((ReactListAdapter) getAdapter()).getTotalChildrenHeight(),
              getWidth(),
              getHeight()));
}