android - 向左滑动刷新水平recyclerView

标签 android android-recyclerview

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

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

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

这可能吗?

最佳答案

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

关于android - 向左滑动刷新水平recyclerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38997267/

相关文章:

android - ViewGroup match_parent inside wrap_content

java - 在本教程中,什么是 "class that extends DroidGap"

android - Kotlin Android Fragment recyclerView 和上下文问题

android - RecyclerView 适配器数据在调用 notifyitemsetchanged() 后重置

android - 如何在 PageAdapter 之外更新 ViewPager 的 View ?

android - 清除文本时 EditText 崩溃

android - 从 Android 动态功能模块将资源加载到 WebView 中

android - 在 RecyclerView 中单击时使用 Picasso 或任何图像加载器重新加载图像

java - 根据数据库属性返回 getItemViewType

android - Recyclerview 和cardview 图像问题