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


Java RecyclerView.SCROLL_STATE_IDLE属性代码示例

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


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

示例1: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
  super.onScrollStateChanged(recyclerView, newState);
  currentScrollState = newState;
  RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
  int visibleItemCount = layoutManager.getChildCount();
  int totalItemCount = layoutManager.getItemCount();

  if (visibleItemCount != 0) {
    int bottomOffset = (totalItemCount - lastVisibleItemPosition - 1) * (recyclerView.getHeight()) / visibleItemCount;
    if (visibleItemCount > 0 && currentScrollState == RecyclerView.SCROLL_STATE_IDLE) {
      if (listener != null && listener.get() != null) {
        listener.get().onLoadMore(bottomOffset);
      }
    }
  }
}
 
开发者ID:erguotou520,项目名称:weex-uikit,代码行数:17,代码来源:WXRecyclerViewOnScrollListener.java

示例2: longPressAction

protected void longPressAction(MotionEvent e) {
    // Consume the action for the time when the recyclerView is scrolling.
    if (m_jRecyclerView.getScrollState() != RecyclerView.SCROLL_STATE_IDLE) {
        return;
    }

    // Get interacted view from x,y coordinate.
    View child = m_jRecyclerView.findChildViewUnder(e.getX(), e.getY());

    if (child != null && getTableViewListener() != null) {
        // Find the view holder
        RecyclerView.ViewHolder holder = m_jRecyclerView.getChildViewHolder(child);

        // Call ITableView listener for long click
        getTableViewListener().onRowHeaderLongPressed(holder, holder.getAdapterPosition());
    }
}
 
开发者ID:evrencoskun,项目名称:TableView,代码行数:17,代码来源:RowHeaderRecyclerViewItemClickListener.java

示例3: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);
    if (move && newState == RecyclerView.SCROLL_STATE_IDLE) {
        move = false;
        int n = mIndex - linearLayoutManager.findFirstVisibleItemPosition();
        if (0 <= n && n < lyricListView.getChildCount()) {
            int top = lyricListView.getChildAt(n).getTop();
            lyricListView.smoothScrollBy(0, top);
        }

    }
}
 
开发者ID:LingjuAI,项目名称:AssistantBySDK,代码行数:13,代码来源:PlayerListLrcFragment.java

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

示例5: shouldStopScroll

/**
 * Returns whether this {@link MotionEvent} should trigger the scroll to be stopped.
 */
protected boolean shouldStopScroll(MotionEvent ev) {
    if (ev.getAction() == MotionEvent.ACTION_DOWN) {
        if ((Math.abs(mDy) < mDeltaThreshold &&
                getScrollState() != RecyclerView.SCROLL_STATE_IDLE)) {
            // now the touch events are being passed to the {@link WidgetCell} until the
            // touch sequence goes over the touch slop.
            return true;
        }
    }
    return false;
}
 
开发者ID:TeamBrainStorm,项目名称:SimpleUILauncher,代码行数:14,代码来源:BaseRecyclerView.java

示例6: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    if (RecyclerView.SCROLL_STATE_IDLE == newState
        && recyclerView != null
        && lastMotionEvent != null) {
        updateCurrCard();
    }
}
 
开发者ID:alibaba,项目名称:Tangram-Android,代码行数:8,代码来源:SwipeItemTouchListener.java

示例7: onScrollStateChanged

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

    if (state == RecyclerView.SCROLL_STATE_IDLE && mLoadingListener != null && !isLoadingData && loadingMoreEnabled) {
        LayoutManager layoutManager = getLayoutManager();
        int lastVisibleItemPosition;
        if (layoutManager instanceof GridLayoutManager) {
            lastVisibleItemPosition = ((GridLayoutManager) layoutManager).findLastVisibleItemPosition();
        } else if (layoutManager instanceof StaggeredGridLayoutManager) {
            int[] into = new int[((StaggeredGridLayoutManager) layoutManager).getSpanCount()];
            ((StaggeredGridLayoutManager) layoutManager).findLastVisibleItemPositions(into);
            lastVisibleItemPosition = findMax(into);
        } else {
            lastVisibleItemPosition = ((LinearLayoutManager) layoutManager).findLastVisibleItemPosition();
        }
        if (layoutManager.getChildCount() > 0
                && lastVisibleItemPosition >= layoutManager.getItemCount() - 1 && layoutManager.getItemCount() > layoutManager.getChildCount() && !isnomore && mRefreshHeader.getState() < YunRefreshHeader.STATE_REFRESHING) {

            View footView = mFootViews.get(0);
            isLoadingData = true;
            if (footView instanceof LoadingMoreFooter) {
                ((LoadingMoreFooter) footView).setState(LoadingMoreFooter.STATE_LOADING);
            } else {
                footView.setVisibility(View.VISIBLE);
            }
            if (isNetWorkConnected(getContext())) {
                mLoadingListener.onLoadMore();
            } else {
                postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        mLoadingListener.onLoadMore();
                    }
                }, 1000);
            }
        }
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:39,代码来源:XRecyclerView.java

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

示例9: onLongPress

@Override
                public void onLongPress(MotionEvent e) {
                        if (mPressedView != null) {
                                if (mRecyclerView.getScrollState() != RecyclerView.SCROLL_STATE_IDLE) {
                                        return;
                                }
                                mPressedView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
                                BaseWrappedViewHolder baseWrappedViewHolder = (BaseWrappedViewHolder) mRecyclerView.getChildViewHolder(mPressedView);
                                if (baseWrappedViewHolder != null) {
                                        boolean isLongClickConsume = false;
                                        if (isHeaderViewOrFooterView(baseWrappedViewHolder.getItemViewType())) {
                                                isLongClickConsume = true;
                                        }
                                        Set<Integer> ids = baseWrappedViewHolder.getLongClickableItemIds();
                                        Set<Integer> nestIds = baseWrappedViewHolder.getNestIds();
                                        if (ids != null && ids.size() > 0) {
                                                for (Integer id :
                                                        ids) {
                                                        final View childView = mPressedView.findViewById(id);
                                                        if (childView != null) {
//                                                                判断点击位置是否在该view上和该view是否可点击
                                                                if (isOnRange(e, childView) && childView.isEnabled()) {
//                                                                        这里要排除掉嵌套的recyclerView的点击事件
                                                                        if (nestIds != null && nestIds.contains(id)) {
                                                                                break;
                                                                        }
//                                                                        设置item的热点
                                                                        setChildHotSpot(childView, e);
                                                                        childView.setPressed(true);
//                                                                        点击接口
                                                                        onItemChildLongClick(baseWrappedViewHolder, id, childView, baseWrappedViewHolder.getAdapterPosition() - mBaseWrappedAdapter.getHeaderViewCount());
//                                                                        恢复效果,提交,防止堵塞
                                                                        isLongClickConsume = true;
                                                                        isPressing = true;
                                                                        break;
                                                                }
                                                        }
                                                }
                                        }
                                        if (!isLongClickConsume) {
                                                setChildHotSpot(mPressedView, e);
                                                mPressedView.setPressed(true);
                                                onItemLongClick(baseWrappedViewHolder, mPressedView, baseWrappedViewHolder.getAdapterPosition() - mBaseWrappedAdapter.getHeaderViewCount());
                                                isPressing = true;
                                        }
                                }
                        }
                }
 
开发者ID:HelloChenJinJun,项目名称:TestChat,代码行数:48,代码来源:BaseItemClickListener.java

示例10: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);

    if (madapter != null && newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItem + 1 == madapter.getItemCount()) {
        loadMoreData();
    }
}
 
开发者ID:linsir6,项目名称:TripBuyer,代码行数:8,代码来源:AllTravelActivity.java

示例11: onScrollStateChanged

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    RecyclerView.LayoutManager layoutManager    = recyclerView.getLayoutManager();
    int                        visibleItemCount = layoutManager.getChildCount();


    boolean triggerCondition = visibleItemCount > 0
            && newState == RecyclerView.SCROLL_STATE_IDLE
            && canTriggerLoadMore(recyclerView);

    if (triggerCondition) {
        onLoadMore(recyclerView);
    }
}
 
开发者ID:ynztlxdeai,项目名称:MVPtemplate,代码行数:14,代码来源:OnLoadMoreScrollListener.java

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

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

示例14: onScrolled

@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
    super.onScrolled(recyclerView, dx, dy);
    Adapter adapter = getAdapterRaw();
    if (adapter != null && adapter instanceof RBaseAdapter) {
        ((RBaseAdapter) adapter).onScrolled(RRecyclerView.this, dx, dy);
        if (recyclerView.getScrollState() == RecyclerView.SCROLL_STATE_IDLE) {
            //滚动结束
            ((RBaseAdapter) adapter).onScrollStateEnd(RRecyclerView.this,
                    isFirstItemVisible(), isLastItemVisible(),
                    UI.canChildScrollUp(recyclerView), UI.canChildScrollDown(recyclerView));
        }
    }
}
 
开发者ID:angcyo,项目名称:RLibrary,代码行数:14,代码来源:RRecyclerView.java

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


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