ScrollView可以监听滚动结束事件吗

 我来答
千锋教育
2016-10-30 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
如何判断ScrollView的滚动条滚动到底部了呢?网上查了许多资料,大部分都一样,跟着学了一个比较靠谱的,放在自己项目里没问题,我所实现的是在Scrollview里面添加了listview,注意由于两这会有滚动条的冲突,因此listview一定要自已复写,代码有真相:publicclassCompleteListViewextendsListView{publicCompleteListView(Contextcontext,AttributeSetattrs){super(context,attrs);}publicCompleteListView(Contextcontext){super(context);}publicCompleteListView(Contextcontext,AttributeSetattrs,intdefStyle){super(context,attrs,defStyle);}@OverridepublicvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){intexpandSpec=MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE>>2,MeasureSpec.AT_MOST);super.onMeasure(widthMeasureSpec,expandSpec);}}注意onMeasure(intwidthMeasureSpec,intheightMeasureSpec)方法是解决冲突的方法。项目需求是当scrollview滚动到最底端时listview进行加载。判断方法在,该类需要implentsOnTouchListener@OverridepublicbooleanonTouch(Viewv,MotionEventevent){switch(event.getAction()){caseMotionEvent.ACTION_DOWN:break;caseMotionEvent.ACTION_MOVE:index++;break;default:break;}if(event.getAction()==MotionEvent.ACTION_UP&&index>0){index=0;mLastY=scrollView.getScrollY();//赋值给mLastY//alllinear是scrollview里包括的那个linearlayout布局if(mLastY==(alllinear.getHeight()-scrollView.getHeight())){//TODO//滑动到底部,你要做的事}}returnfalse;}不好意思,有几个步骤很重要不加的话你会发现没有效果的:1:定义Scrollviewscrollview,2:为了优化滑动监听加一个成员变量:intindex;3:findviewById不必说,4:scrollView.setOnTouchListener(this);//很重要··················
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式