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取消惯性滚动的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。