这种垂直滑动大于一屏的数据通常使用RecyclerView或者ScrollView,NestScrollview等控件实现
1、使用RecyclerView实现回到顶部
private int mDy=0;
pricate int mHeight=ScreenUtils.getScreenHeight();
binding.recyclerviewData.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
mDy += dy;
if (mDy <= mHeight) {
binding.imageBackTop.setVisibility(View.GONE);
} else {
binding.imageBackTop.setVisibility(View.VISIBLE);
}
}
});
2、使用NestScrollview 实现
pricate int mHeight=ScreenUtils.getScreenHeight();
binding.scrollview.setScrollViewListener((scrollView, x, y, oldx, oldy) -> {
if (y <= mHeight) {
binding.imageBackTop.setVisibility(View.GONE);
} else {
binding.imageBackTop.setVisibility(View.VISIBLE);
}
});
对于一些要求顶部标题有透明渐变效果的需求,也可以在上诉两个监听中实现。
顶部样式
顶部透明变化的样式,可以根据滑动的高度计算透明度进行设置
998

被折叠的 条评论
为什么被折叠?



