我可以为ScrollView使用onScrollListener吗?我HorizontalScrollView在布局中使用a ,我需要确定用户已达到滚动的起点和终点。因为ListView我已经尝试过了onScrollListener,可以找到滚动的起点和终点。我尝试在我做同样的事情,Scrollview但似乎不可能。有没有其他可能的方法来实现我的需要。
3 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
每个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 }});
智慧大石
TA贡献1946条经验 获得超3个赞
这可能非常有用。用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 } });
- 3 回答
- 0 关注
- 719 浏览
添加回答
举报
0/150
提交
取消