当前位置: 首页>>代码示例>>Java>>正文


Java RecyclerView.SCROLL_STATE_SETTLING属性代码示例

本文整理汇总了Java中android.support.v7.widget.RecyclerView.SCROLL_STATE_SETTLING属性的典型用法代码示例。如果您正苦于以下问题:Java RecyclerView.SCROLL_STATE_SETTLING属性的具体用法?Java RecyclerView.SCROLL_STATE_SETTLING怎么用?Java RecyclerView.SCROLL_STATE_SETTLING使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在android.support.v7.widget.RecyclerView的用法示例。


在下文中一共展示了RecyclerView.SCROLL_STATE_SETTLING属性的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
  int listViewState;
  switch (newState) {
    case RecyclerView.SCROLL_STATE_DRAGGING:
      listViewState = ListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL;
      break;
    case RecyclerView.SCROLL_STATE_IDLE:
      listViewState = ListView.OnScrollListener.SCROLL_STATE_IDLE;
      break;
    case RecyclerView.SCROLL_STATE_SETTLING:
      listViewState = ListView.OnScrollListener.SCROLL_STATE_FLING;
      break;
    default:
      listViewState = UNKNOWN_SCROLL_STATE;
  }

  scrollListener.onScrollStateChanged(null /*view*/, listViewState);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:19,代码来源:RecyclerToListViewScrollListener.java

示例2: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);
    final RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
    if(!(layoutManager instanceof CustomLayoutManager)){
        mAutoSet = true;
        return;
    }

    if(!mAutoSet){
        if(newState == RecyclerView.SCROLL_STATE_IDLE){
            final int dx;
            dx = ((CustomLayoutManager)layoutManager).getOffsetCenterView();
            //Log.e(TAG, "getOffsetCenterView: " + String.valueOf(dx));
            recyclerView.smoothScrollBy(dx,0);
        }
        mAutoSet = true;
    }
    if(newState == RecyclerView.SCROLL_STATE_DRAGGING || newState == RecyclerView.SCROLL_STATE_SETTLING){
        mAutoSet = false;
    }
}
 
开发者ID:SimonCherryGZ,项目名称:JewelryUI,代码行数:22,代码来源:CenterScrollListener.java

示例3: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    int listViewState;
    switch (newState) {
        case RecyclerView.SCROLL_STATE_DRAGGING:
            listViewState = ListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL;
            break;
        case RecyclerView.SCROLL_STATE_IDLE:
            listViewState = ListView.OnScrollListener.SCROLL_STATE_IDLE;
            break;
        case RecyclerView.SCROLL_STATE_SETTLING:
            listViewState = ListView.OnScrollListener.SCROLL_STATE_FLING;
            break;
        default:
            listViewState = UNKNOWN_SCROLL_STATE;
    }
    scrollListener.onScrollStateChanged(null /*view*/, listViewState);
}
 
开发者ID:hushengjun,项目名称:FastAndroid,代码行数:18,代码来源:RecyclerToListViewScrollListener.java

示例4: onScrollStateChanged

@Override
public void onScrollStateChanged(int state) {
    super.onScrollStateChanged(state);
    switch (state){
        case RecyclerView.SCROLL_STATE_IDLE:
            //滚动停止时
            fixOffsetWhenFinishScroll();
            break;
        case RecyclerView.SCROLL_STATE_DRAGGING:
            //拖拽滚动时
            break;
        case RecyclerView.SCROLL_STATE_SETTLING:
            //动画滚动时
            break;
    }
}
 
开发者ID:ChenLittlePing,项目名称:RecyclerCoverFlow,代码行数:16,代码来源:CoverFlowLayoutManger.java

示例5: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);
    if (newState == RecyclerView.SCROLL_STATE_SETTLING) {
        snapping = false;
    }
    if (newState == RecyclerView.SCROLL_STATE_IDLE && snapping && listener != null) {
        int position = getSnappedPosition(recyclerView);
        if (position != RecyclerView.NO_POSITION) {
            listener.onSnap(position);
        }
        snapping = false;
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:14,代码来源:GravityDelegate.java

示例6: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, final int newState) {
    super.onScrollStateChanged(recyclerView, newState);
    if (RecyclerView.SCROLL_STATE_IDLE == newState || RecyclerView.SCROLL_STATE_SETTLING == newState) {
        if (Math.abs(offsetY) >= LIMIT) {
            if (expandableButton.getState() == ExpandableButtonView.State.FINISHED) {
                expandableButton.removeBottomToolbar();
                expandableButton.setState(State.IDLE);
                hasStopped = false;
            } else if (hasStopped && expandableButton.getState() == State.IDLE) {
                if (expandableButton.getScaleX() > 0f) {
                    expandableButton.setClickable(false);
                    expandableButton.animate().setInterpolator(new AccelerateInterpolator())
                            .scaleY(0.f).scaleX(0.f).setDuration(FADE_IN_OUT_DURATION).start();
                }
            }

            if (!hasStopped) {
                hasStopped = (newState == RecyclerView.SCROLL_STATE_IDLE)
                        || (Math.abs(offsetY) >= 8 * LIMIT);
            }
            offsetY = 0;
        }

        if (newState == RecyclerView.SCROLL_STATE_IDLE) {
            if (expandableButton.getScaleX() < 1.f) {
                expandableButton.setClickable(true);
                expandableButton.animate().scaleX(1.f).setListener(null).
                        setInterpolator(new DecelerateInterpolator()).scaleY(1.f).
                        setDuration(FADE_IN_OUT_DURATION / 2).start();
            }
        }
    }
}
 
开发者ID:vpaliyX,项目名称:Expandable-Action-Button,代码行数:34,代码来源:ScrollListener.java

示例7: onScrollStateChanged

@Override
public void onScrollStateChanged(int state) {
    super.onScrollStateChanged(state);
    currentScrollState = state;

    if (mLScrollListener != null) {
        mLScrollListener.onScrollStateChanged(state);
    }

    if (mLoadMoreListener != null && mLoadMoreEnabled) {

        if (currentScrollState == RecyclerView.SCROLL_STATE_IDLE || currentScrollState == RecyclerView.SCROLL_STATE_SETTLING) {
            RecyclerView.LayoutManager layoutManager = getLayoutManager();
            int visibleItemCount = layoutManager.getChildCount();
            int totalItemCount = layoutManager.getItemCount();
            if (visibleItemCount > 0
                    && lastVisibleItemPosition >= totalItemCount - 1
                    && totalItemCount > visibleItemCount
                    && !isNoMore
                    && !mRefreshing ) {

                mFootView.setVisibility(View.VISIBLE);
                if (mLoadingData) {
                    return;
                } else {
                    mLoadingData = true;
                    mLoadMoreFooter.onLoading();
                    mLoadMoreListener.onLoadMore();
                }
            }

        }
    }

}
 
开发者ID:magicbaby810,项目名称:SRecyclerView,代码行数:35,代码来源:SRecyclerView.java

示例8: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);
    if (newState == RecyclerView.SCROLL_STATE_SETTLING) {
        mSnapping = false;
    }
    if (newState == RecyclerView.SCROLL_STATE_IDLE && mSnapping && mSnapListener != null) {
        int position = getSnappedPosition(recyclerView);
        if (position != RecyclerView.NO_POSITION) {
            mSnapListener.onSnap(position);
        }
        mSnapping = false;
    }
}
 
开发者ID:mangoblogger,项目名称:MangoBloggerAndroidApp,代码行数:14,代码来源:GravitySnapHelper.java

示例9: onTouchEvent

@Override
public boolean onTouchEvent(MotionEvent e) {
    if (getLayoutManager() == null) {
        return super.onTouchEvent(e);
    }

    return getLayoutManager().getScrollState() != RecyclerView.SCROLL_STATE_SETTLING && super.onTouchEvent(e);
}
 
开发者ID:gregbty,项目名称:android-flip-view,代码行数:8,代码来源:FlipView.java

示例10: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    if (swallowNextScroll) {
        if (newState == RecyclerView.SCROLL_STATE_IDLE) {
            swallowNextScroll = false;
        }
        return;
    }
    if ((newState == RecyclerView.SCROLL_STATE_IDLE || newState == RecyclerView.SCROLL_STATE_SETTLING)) {
        tryLoadingMore();
    }
}
 
开发者ID:excitedhaha,项目名称:RefreshLoadLayout,代码行数:12,代码来源:RefreshLoadLayout.java

示例11: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    if (newState == RecyclerView.SCROLL_STATE_DRAGGING) {
        //开始滚动
    } else if (newState == RecyclerView.SCROLL_STATE_IDLE) {
        //结束滚动
    } else if (newState == RecyclerView.SCROLL_STATE_SETTLING) {
        //滑行中
    }
}
 
开发者ID:angcyo,项目名称:RLibrary,代码行数:10,代码来源:RPagerSnapHelper.java

示例12: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);
    scrollState = newState;
    L.w("scroll state : " + newState);

    if (newState == RecyclerView.SCROLL_STATE_IDLE) {
        onScrollEnd();
    } else if (newState == RecyclerView.SCROLL_STATE_DRAGGING) {
        isFling = false;
    } else if (newState == RecyclerView.SCROLL_STATE_SETTLING) {

    }
}
 
开发者ID:angcyo,项目名称:RLibrary,代码行数:14,代码来源:ViewPagerSnapHelper.java

示例13: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    if ((newState == RecyclerView.SCROLL_STATE_IDLE || newState == RecyclerView.SCROLL_STATE_SETTLING) && mRefreshLayout != null && mRefreshLayout.shouldHandleRecyclerViewLoadingMore(recyclerView)) {
        mRefreshLayout.beginLoadingMore();
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:6,代码来源:BGAStickyNavLayout.java

示例14: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    switch (newState) {
        case RecyclerView.SCROLL_STATE_DRAGGING:
            // distinct drag to improve accuracy, init mDraggingStart and mDraggingEnd here
            mDragging = true;
            final int[] range = AbstractLayoutManagerUtils.getVisibleRange(recyclerView);
            mDraggingStart = range[0];
            mDraggingEnd = range[1];
            break;
        case RecyclerView.SCROLL_STATE_SETTLING:
            mDragging = false;
            break;
        case RecyclerView.SCROLL_STATE_IDLE:
            mDragging = false;

            // perform final update on the range we have ever visited
            updateVisibleRange(recyclerView);
            AbstractLogUtils.e(this, "==>  visible range: [" + mDraggingStart + ", " + mDraggingEnd + "]");
            MeasurableRecyclerViewHelper.notifyMeasurableViewHolderDataRangeChanged(recyclerView, mDraggingStart, mDraggingEnd);

            // reset mDraggingStart and mDraggingEnd here
            mDraggingStart = RecyclerView.NO_POSITION;
            mDraggingEnd = RecyclerView.NO_POSITION;

            final boolean rtl = AbstractUIUtils.isRightToLeft(getRef());
            if (mRtl ^ rtl) {
                /*
                 * [ANDROID-1778]
                 *
                 * immediately flush the statistics if user change between a ltr and rtl language
                 * on the fly; do the check in here for better performance
                 */
                final List<IMeasurableViewHolder> holders =
                        MeasurableRecyclerViewHelper.getViewHolders(recyclerView, IMeasurableViewHolder.class);
                for (IMeasurableViewHolder holder : holders) {
                    holder.flush();
                }

                if (AbstractLayoutManagerUtils.getOrientation(recyclerView.getLayoutManager())
                        == OrientationHelper.HORIZONTAL) {
                    AbstractLayoutManagerUtils.setReverseLayout(recyclerView.getLayoutManager(), mRtl);
                }
            }
            break;
        default:
            break;
    }
}
 
开发者ID:Tenor-Inc,项目名称:tenor-android-core,代码行数:49,代码来源:MeasurableOnScrollListener.java


注:本文中的android.support.v7.widget.RecyclerView.SCROLL_STATE_SETTLING属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。