【问题标题】:Swipe left to refresh horizontall recyclerView向左滑动刷新水平recyclerView
【发布时间】:2016-08-20 11:11:38
【问题描述】:

我想在我的应用中实现此功能。

问题是,所有的 swipeRefreshLayouts 都只用于下拉手势。

我想在我的 recyclerView 中向左/向右滑动,当我达到最大左侧时,然后像在 swipeRefreshLayout 中一样滑动布局并显示刷新。

有可能吗?

【问题讨论】:

  • 那么您是否检查了下拉手势布局的源代码?似乎是一个获得灵感的好地方。

标签: android android-recyclerview


【解决方案1】:
public class CustomSwipeToRefresh extends SwipeRefreshLayout {

    private int mTouchSlop;
    private float mPrevX;

    public CustomSwipeToRefresh(Context context, AttributeSet attrs) {
        super(context, attrs);

        mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {

        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                mPrevX = MotionEvent.obtain(event).getX();
                break;

            case MotionEvent.ACTION_MOVE:
                final float eventX = event.getX();
                float xDiff = Math.abs(eventX - mPrevX);

                if (xDiff > mTouchSlop) {
                    return false;
                }
        }

        return super.onInterceptTouchEvent(event);
    }
}

使用这个 CustomSwipeToRefresh 而不是 SwipeRefreshLayout

【讨论】:

  • 感谢您的回答!我已经使用过这段代码,但它不起作用,或者我做错了什么。我无法在左侧显示 Loader,始终显示在顶部。
猜你喜欢
  • 2018-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多