- SwipeRefreshLayout 嵌套RecyclerVie
- SwipeRefreshLayout 嵌套RecyclerVie
- SwipeRefreshLayout + RecyclerVie
- SwipeRefreshLayout + RecyclerVie
- SwipeRefreshLayout 在 RecyclerVie
- SwipeRefreshLayout 结合Recyclervie
- RecyclerView常见问题解决方案
- Android scrollView 嵌套RecyclerVie
- ScrollView嵌套ListView、RecyclerVie
- Android ScrollView 嵌套RecyclerVie
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);
}
})
网友评论