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


Java RecyclerView.SCROLL_STATE_DRAGGING属性代码示例

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


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

示例1: onScrollStateChanged

@Override
public void onScrollStateChanged(int state) {
    if (currentScrollState == RecyclerView.SCROLL_STATE_IDLE && currentScrollState != state) {
        scrollStateListener.onScrollStart();
    }

    if (state == RecyclerView.SCROLL_STATE_IDLE) {
        //Scroll is not finished until current view is centered
        boolean isScrollEnded = onScrollEnd();
        if (isScrollEnded) {
            scrollStateListener.onScrollEnd();
        } else {
            //Scroll continues and we don't want to set currentScrollState to STATE_IDLE,
            //because this will then trigger .scrollStateListener.onScrollStart()
            return;
        }
    } else if (state == RecyclerView.SCROLL_STATE_DRAGGING) {
        onDragStart();
    }
    currentScrollState = state;
}
 
开发者ID:xieyangxuejun,项目名称:Views,代码行数:21,代码来源:DiscreteScrollLayoutManager.java

示例2: 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

示例3: 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

示例4: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    //Fix for bug with bottom selection bar and different month item height in horizontal mode (different count of weeks)
    View view = rvMonths.getLayoutManager().findViewByPosition(getFirstVisiblePosition(rvMonths.getLayoutManager()));
    if (view != null) {
        view.requestLayout();
    }

    if (getCalendarOrientation() == OrientationHelper.HORIZONTAL) {
        multipleSelectionBarAdapter.notifyDataSetChanged();

        //Hide navigation buttons
        boolean show = newState != RecyclerView.SCROLL_STATE_DRAGGING;
        ivPrevious.setVisibility(show ? View.VISIBLE : View.GONE);
        ivNext.setVisibility(show ? View.VISIBLE : View.GONE);
    }

    super.onScrollStateChanged(recyclerView, newState);
}
 
开发者ID:ApplikeySolutions,项目名称:CosmoCalendar,代码行数:19,代码来源:CalendarView.java

示例5: 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

示例6: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    if (!disable) {
        if (newState == RecyclerView.SCROLL_STATE_DRAGGING) {
            if (isAutoDetectIdle) {
                ((Application) recyclerView.getContext().getApplicationContext())
                    .registerActivityLifecycleCallbacks(mLifecycleCallbacks);
                startDetectPage();
            }
            isDetectingFastScroll = true;
            disable = true;
        }
    }
    if (newState == RecyclerView.SCROLL_STATE_IDLE) {
        onScrollStateIdle();
    }
}
 
开发者ID:alibaba,项目名称:Tangram-Android,代码行数:17,代码来源:PageDetectorSupport.java

示例7: 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

示例8: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    if (newState == RecyclerView.SCROLL_STATE_IDLE || newState == RecyclerView.SCROLL_STATE_DRAGGING) {
        PicassoInstance.with().resumeTag(tag);
    } else {
        PicassoInstance.with().pauseTag(tag);
    }
}
 
开发者ID:PhoenixDevTeam,项目名称:Phoenix-for-VK,代码行数:8,代码来源:PicassoPauseOnScrollListener.java

示例9: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
  if (newState == RecyclerView.SCROLL_STATE_DRAGGING) {
    conversationDateHeader.show();
  } else if (newState == RecyclerView.SCROLL_STATE_IDLE) {
    conversationDateHeader.hide();
  }
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:8,代码来源:ConversationFragment.java

示例10: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);
    if (newState == RecyclerView.SCROLL_STATE_IDLE)
    {
        mPullLoadMoreRecyclerView.onScroll(0);
    }else if(newState == RecyclerView.SCROLL_STATE_DRAGGING)
    {
        mPullLoadMoreRecyclerView.onScroll(1);
    }


}
 
开发者ID:dufangyu1990,项目名称:JKApp,代码行数:13,代码来源:RecyclerViewOnScroll.java

示例11: onScrollStateChanged

@Override
public void onScrollStateChanged(int state) {
    if (state == RecyclerView.SCROLL_STATE_DRAGGING) {
        needSnap = true;
    }
    super.onScrollStateChanged(state);
}
 
开发者ID:goutham106,项目名称:GmArchMvvm,代码行数:7,代码来源:VegaLayoutManager.java

示例12: onScrollStateChanged

/**
 * Hadle recyclerView scroll status
 * just to show FAB
 *
 * @param newState the new state of the recyclerView
 */
@Override
public void onScrollStateChanged(int newState) {
    if (newState != RecyclerView.SCROLL_STATE_IDLE &&
            newState != RecyclerView.SCROLL_STATE_DRAGGING) {
        view.setFABVisibility(false);
    } else {
        view.setFABVisibility(true);
    }
}
 
开发者ID:pedromassango,项目名称:Programmers,代码行数:15,代码来源:MainPresenter.java

示例13: 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

示例14: 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

示例15: 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_DRAGGING属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。