微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.support.v7.widget.RecyclerView.SmoothScroller.Action的实例源码

项目:letv    文件LinearSmoothScroller.java   
protected void onTargetFound(View targetView,State state,Action action) {
    int dx = calculateDxTomakeVisible(targetView,getHorizontalSnapPreference());
    int dy = calculateDyTomakeVisible(targetView,getVerticalSnapPreference());
    int time = calculateTimeForDeceleration((int) Math.sqrt((double) ((dx * dx) + (dy * dy))));
    if (time > 0) {
        action.update(-dx,-dy,time,this.mDecelerateInterpolator);
    }
}
项目:letv    文件LinearSmoothScroller.java   
protected void onSeekTargetStep(int dx,int dy,Action action) {
    if (getChildCount() == 0) {
        stop();
        return;
    }
    this.mInterimTargetDx = clampApplyScroll(this.mInterimTargetDx,dx);
    this.mInterimTargetDy = clampApplyScroll(this.mInterimTargetDy,dy);
    if (this.mInterimTargetDx == 0 && this.mInterimTargetDy == 0) {
        updateActionForInterimTarget(action);
    }
}
项目:letv    文件LinearSmoothScroller.java   
protected void updateActionForInterimTarget(Action action) {
    PointF scrollVector = computeScrollVectorForPosition(getTargetPosition());
    if (scrollVector == null || (scrollVector.x == 0.0f && scrollVector.y == 0.0f)) {
        Log.e(TAG,"To support smooth scrolling,you should override \nLayoutManager#computeScrollVectorForPosition.\nFalling back to instant scroll");
        action.jumpTo(getTargetPosition());
        stop();
        return;
    }
    normalize(scrollVector);
    this.mTargetVector = scrollVector;
    this.mInterimTargetDx = (int) (scrollVector.x * 10000.0f);
    this.mInterimTargetDy = (int) (scrollVector.y * 10000.0f);
    action.update((int) (((float) this.mInterimTargetDx) * TARGET_SEEK_EXTRA_SCROLL_RATIO),(int) (((float) this.mInterimTargetDy) * TARGET_SEEK_EXTRA_SCROLL_RATIO),(int) (((float) calculateTimeForScrolling(10000)) * TARGET_SEEK_EXTRA_SCROLL_RATIO),this.mLinearInterpolator);
}
项目:boohee_v5.6    文件LinearSmoothScroller.java   
protected void onTargetFound(View targetView,this.mDecelerateInterpolator);
    }
}
项目:boohee_v5.6    文件LinearSmoothScroller.java   
protected void onSeekTargetStep(int dx,dy);
    if (this.mInterimTargetDx == 0 && this.mInterimTargetDy == 0) {
        updateActionForInterimTarget(action);
    }
}
项目:boohee_v5.6    文件LinearSmoothScroller.java   
protected void updateActionForInterimTarget(Action action) {
    PointF scrollVector = computeScrollVectorForPosition(getTargetPosition());
    if (scrollVector == null || (scrollVector.x == 0.0f && scrollVector.y == 0.0f)) {
        Log.e(TAG,this.mLinearInterpolator);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。