我在我的Android应用程序中使用了scrollview,并且在activity_main.xml中使用。滚动功能完美地运作。 但是我需要添加一个回到顶部按钮,以便如果用户开始滚动,则应该像下面的链接一样可见按钮。
http://webdesignerwall.com/demo/scroll-to-top/scrolltotop.html?
我需要在Android中做这个。
我在我的Android应用程序中使用了scrollview,并且在activity_main.xml中使用。滚动功能完美地运作。 但是我需要添加一个回到顶部按钮,以便如果用户开始滚动,则应该像下面的链接一样可见按钮。
http://webdesignerwall.com/demo/scroll-to-top/scrolltotop.html?
我需要在Android中做这个。
使用以下代码来检测滚动条的顶部。
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;
}
});
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 {
}
}
}
});
这可以用 Kotlin 这种方式完成
scrollView.scrollY == 0