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


Java RecyclerView.getScrollState方法代码示例

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


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

示例1: refresh

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public void refresh(final boolean layoutUpdated) {
    final RecyclerView contentView = getContentView();

    if (contentView == null) return;

    if (contentView.getScrollState() != RecyclerView.SCROLL_STATE_IDLE) {
        // contentView.stopScroll();
    }

    updateRunnable = new Runnable() {
        @Override
        public void run() {
            if (!contentView.isComputingLayout()) {
                //to prevent notify update when recyclerView is in computingLayout  process
                mGroupBasicAdapter.notifyUpdate(layoutUpdated);

                if (mSwipeItemTouchListener != null) {
                    mSwipeItemTouchListener.updateCurrCard();
                }
            }
        }
    };
    contentView.post(updateRunnable);
}
 
开发者ID:alibaba,项目名称:Tangram-Android,代码行数:29,代码来源:TangramEngine.java

示例2: onInterceptTouchEvent

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public boolean onInterceptTouchEvent(RecyclerView recyclerView, MotionEvent motionEvent) {
    if ((recyclerView.getScrollState() != RecyclerView.SCROLL_STATE_IDLE) ||
        !isAttachedToWindow(recyclerView) || !hasAdapter(recyclerView)) {
        return false;
    }

    if (findFixedChildViewUnder(motionEvent) != null) {
        return false;
    }

    if (findScrollableChildViewUnder(motionEvent) != null) {
        return false;
    }

    mSwipeGestureDector.onTouchEvent(motionEvent);
    return isSwiping();
}
 
开发者ID:alibaba,项目名称:Tangram-Android,代码行数:19,代码来源:SwipeItemTouchListener.java

示例3: onScrolled

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@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,代码行数:15,代码来源:RRecyclerView.java

示例4: onInterceptTouchEvent

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
    if (e.getAction() == MotionEvent.ACTION_DOWN) {
        if (rv.getScrollState() == RecyclerView.SCROLL_STATE_IDLE) {

            if (m_jLastTouchedRecyclerView != null && rv != m_jLastTouchedRecyclerView) {
                removeLastTouchedRecyclerViewScrollListener(false);
            }
            m_nYPosition = ((CellRecyclerView) rv).getScrolledY();
            rv.addOnScrollListener(this);

            if (rv == m_jCellRecyclerView) {
                Log.d(LOG_TAG, "m_jCellRecyclerView scroll listener added");
            } else if (rv == m_jRowHeaderRecyclerView) {
                Log.d(LOG_TAG, "m_jRowHeaderRecyclerView scroll listener added");
            }

            // Refresh the value;
            m_bMoved = false;
        }
    } else if (e.getAction() == MotionEvent.ACTION_MOVE) {
        // Why does it matter ?
        // user scroll any recyclerView like brushing, at that time, ACTION_UP will be
        // triggered
        // before scrolling. So, we need to store whether it moved or not.
        m_bMoved = true;
    } else if (e.getAction() == MotionEvent.ACTION_UP) {
        int nScrollY = ((CellRecyclerView) rv).getScrolledY();

        // TODO: Even if moved value is true and it may not scroll. This should be fixed.
        // TODO: The scenario is scroll lightly center RecyclerView vertically.
        // TODO: Below if condition may be changed later.

        // Is it just touched without scrolling then remove the listener
        if (m_nYPosition == nScrollY && !m_bMoved && rv.getScrollState() == RecyclerView
                .SCROLL_STATE_IDLE) {
            rv.removeOnScrollListener(this);

            if (rv == m_jCellRecyclerView) {
                Log.d(LOG_TAG, "m_jCellRecyclerView scroll listener removed from up ");
            } else if (rv == m_jRowHeaderRecyclerView) {
                Log.d(LOG_TAG, "m_jRowHeaderRecyclerView scroll listener removed from up");
            }
        }

        m_jLastTouchedRecyclerView = rv;

    }
    return false;
}
 
开发者ID:evrencoskun,项目名称:TableView,代码行数:51,代码来源:VerticalRecyclerViewListener.java


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