基于scrollView做出来的回到顶部功能
height = getResources().getDisplayMetrics().heightPixels;

height是屏幕高度,scrollY 是scrollview的左上角距离原点在竖直方向上的距离

btToTop是右下角的按钮,点击btToTop回到顶部,scrollView.scrollTo(0, 0)

scrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
    @Override
    public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
        if (height != 0 && scrollY > height / 4) {
           btToTop.setVisibility(View.VISIBLE);
        } else {
           btToTop.setVisibility(View.GONE);
        }
    }
});
也可以:

滚动至顶部    scrollView.fullScroll(ScrollView.FOCUS_UP);

滚动到底部    sc.fullScroll(ScrollView.FOCUS_DOWN);

不过我的项目里,只能滚动到底部,滚动到顶部没用,只有scrollView.scrollTo(0, 0)才能滚动到顶部

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐