美文网首页
SwipeRefreshLayout 嵌套RecyclerVie

SwipeRefreshLayout 嵌套RecyclerVie

作者: 静默的小猫 | 来源:发表于2019-08-21 11:12 被阅读0次

1.自定义SwipeRefreshLayout

public class SwipeRefreshLayoutextends androidx.swiperefreshlayout.widget.SwipeRefreshLayout {

public SwipeRefreshLayout(@NonNull Context context) {

    super(context);

}

public SwipeRefreshLayout(@NonNull Context context,@Nullable AttributeSet attrs) {

    super(context, attrs);

}

@Override

    public boolean canChildScrollUp() {

            View target = getChildAt(0);

            if (targetinstanceof RecyclerView) {

                final AbsListView absListView = (AbsListView) target;

                return absListView.getChildCount() >0 && (absListView.getFirstVisiblePosition() >0 || absListView.getChildAt(0).getTop() < absListView.getPaddingTop());

}else

            return ViewCompat.canScrollVertically(target, -1);

}

}

2.RecyclerView添加监听

//添加滑动监听

recycler_view.addOnScrollListener(object : RecyclerView.OnScrollListener() {

    override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {

            super.onScrolled(recyclerView, dx, dy)

            var topRowVerticalPosition =  recyclerView.getChildAt(0).getTop()

            swipe_refresh_layout.setEnabled(topRowVerticalPosition >=0);

    }

})

相关文章

网友评论

      本文标题:SwipeRefreshLayout 嵌套RecyclerVie

      本文链接:https://www.haomeiwen.com/subject/kokbsctx.html