检测滚动视图到达其顶部- Android

ru9i0ody  于 2023-04-18  发布在  Android
关注(0)|答案(3)|浏览(113)

我已经使用scrollview在我的Android应用程序使用activity_main.xml.滚动是完美的工作.但事情是我需要添加一个滚动到顶部按钮,以便如果用户开始滚动按钮应该像下面的链接可见..
http://webdesignerwall.com/demo/scroll-to-top/scrolltotop.html
我需要在Android中这样做。

yrwegjxp

yrwegjxp1#

使用下面的代码来检测滚动条的顶部。

final ViewTreeObserver.OnScrollChangedListener onScrollChangedListener = new
            ViewTreeObserver.OnScrollChangedListener() {

                @Override
                public void onScrollChanged() {
                    if (scrollview.getScrollY() == 0) {
                        swipeRefreshLayout.setEnabled(true);
                    } else
                        swipeRefreshLayout.setEnabled(false);
                }
            };
    scrollview.setOnTouchListener(new View.OnTouchListener() {
        private ViewTreeObserver observer;

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (observer == null) {
                observer = scrollview.getViewTreeObserver();
                observer.addOnScrollChangedListener(onScrollChangedListener);
            } else if (!observer.isAlive()) {
                observer.removeOnScrollChangedListener(onScrollChangedListener);
                observer = scrollview.getViewTreeObserver();
                observer.addOnScrollChangedListener(onScrollChangedListener);
            }
            return false;
        }
    });
ctehm74n

ctehm74n2#

scrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
            @Override
            public void onScrollChanged() {
                if (scrollView != null) {
                    if (scrollView.getScrollY()==0) {
                        Toast.makeText(getContext(),"top",Toast.LENGTH_SHORT).show();
                    } else {

                    }
                }
            }
        });
j0pj023g

j0pj023g3#

在Kotlin中可以这样做

scrollView.scrollY == 0

相关问题