Android ScrollView取消惯性滚动的方法
ScrollView中惯性滚动的效果,想让这个ScrollView慢一点滑动或者接近drag(拖拽)操作,就提出了添加阻尼的说法。只要重新fling方法即可,将velocity值极至缩小。
实例如下:
publicclassCustomHorizontalScrollViewextendsHorizontalScrollView{ privateContextcontext; privateScrollViewListennerlistenner; privateCustomHorizontalScrollViewcurrentView; publicCustomHorizontalScrollView(Contextcontext){ super(context); //TODOAuto-generatedconstructorstub this.context=context; } publicCustomHorizontalScrollView(Contextcontext,AttributeSetattrs){ super(context,attrs); //TODOAuto-generatedconstructorstub this.context=context; } publicCustomHorizontalScrollView(Contextcontext,AttributeSetattrs, intdefStyleAttr){ super(context,attrs,defStyleAttr); //TODOAuto-generatedconstructorstub this.context=context; } @Override publicbooleanonTouchEvent(MotionEventev){ //TODOAuto-generatedmethodstub currentView=this; returnsuper.onTouchEvent(ev); } @Override protectedvoidonScrollChanged(intl,intt,intoldl,intoldt){ //TODOAuto-generatedmethodstub if(null!=listenner){ this.listenner.onScrollChanged(currentView,l,t,oldl,oldt); } super.onScrollChanged(l,t,oldl,oldt); } publicinterfaceScrollViewListenner{ publicvoidonScrollChanged(CustomHorizontalScrollViewview,intl, intt,intoldl,intoldt); } publicvoidsetScrollViewListenner(ScrollViewListennerlistenner){ this.listenner=listenner; } /** * *阻尼:1000为将惯性滚动速度缩小1000倍,近似drag操作。 @Override publicvoidfling(intvelocity){ super.fling(velocity/1000); } */ }
以上这篇AndroidScrollView取消惯性滚动的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。