如何获得scrollview的滑动位置

2024-12-02 03:58:18
推荐回答(2个)
回答1:

1、ScrollView的滚动条默认置顶,若想设置它的位置,可以使用mScrollView.smoothScrollTo(x,y)方法,可达到效果。2、crollTo方法可以调整view的显示位置。在需要的地方调用以下方法即可。3、scroll表示外层的view,inner表示内层的view,其余内容都在inner里。注意,方法中开一个新线程是必要的。否则在数据更新导致换行时getMeasuredHeight方法并不是最新的高度。publicstaticvoidscrollToBottom(finalViewscroll,finalViewinner){HandlermHandler=newHandler();mHandler.post(newRunnable(){publicvoidrun(){if(scroll==null||inner==null){return;}intoffset=inner.getMeasuredHeight()-scroll.getHeight();if(offset<0){offset=0;}scroll.scrollTo(0,offset);}});}

回答2:

1,不定期取这个数值,调用scrollView.getScrollY(),横向的scrollView则将Y换成X。
2,随时使用这个值,例如正在scroll过程中,其他控件要随着卷动的位置变化,需要继承一下并且重载onScrollChanged(int, int, int, int),这样每个scroll动作,都会被调用,告知当前scroll的位置以及上一次的位置。如果是横向,那么参数1,3起作用,纵向为2,4.