我可以为ScrollView使用onScrollListener吗?

我可以为ScrollView使用onScrollListener吗?

HorizontalScrollView在布局中使用a ,我需要确定用户已达到滚动的起点和终点。

因为ListView我已经尝试过了onScrollListener,可以找到滚动的起点和终点。

我尝试在我做同样的事情,Scrollview但似乎不可能。有没有其他可能的方法来实现我的需要。


红颜莎娜
浏览 720回答 3
3回答

元芳怎么了

每个View调用实例getViewTreeObserver()。现在,当持有实例时ViewTreeObserver,您可以OnScrollChangedListener()使用该方法添加一个实例addOnScrollChangedListener()。您可以在此处查看有关此课程的更多信息。它可以让您了解每个滚动事件 - 但没有坐标。您可以通过使用getScrollY()或getScrollX()从侦听器中获取它们。scrollView.getViewTreeObserver().addOnScrollChangedListener(new OnScrollChangedListener() {     @Override     public void onScrollChanged() {         int scrollY = rootScrollView.getScrollY(); // For ScrollView         int scrollX = rootScrollView.getScrollX(); // For HorizontalScrollView         // DO SOMETHING WITH THE SCROLL COORDINATES     }});

智慧大石

这可能非常有用。用NestedScrollView而不是ScrollView。支持库23.1引入了一个OnScrollChangeListener到NestedScrollView。所以你可以做这样的事情。 myScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {         @Override         public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {             Log.d("ScrollView","scrollX_"+scrollX+"_scrollY_"+scrollY+"_oldScrollX_"+oldScrollX+"_oldScrollY_"+oldScrollY);             //Do something         }     });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android