Android 修改viewpage滑动速度的实现代码
1、自定义Scroller
publicclassViewPageFixedSpeedScrollerextendsScroller{
privateintmDuration=300;
publicViewPageFixedSpeedScroller(Contextcontext){
super(context);
//TODOAuto-generatedconstructorstub
}
publicViewPageFixedSpeedScroller(Contextcontext,Interpolatorinterpolator){
super(context,interpolator);
}
@Override
publicvoidstartScroll(intstartX,intstartY,intdx,intdy,intduration){
//Ignorereceivedduration,usefixedoneinstead
super.startScroll(startX,startY,dx,dy,mDuration);
}
@Override
publicvoidstartScroll(intstartX,intstartY,intdx,intdy){
//Ignorereceivedduration,usefixedoneinstead
super.startScroll(startX,startY,dx,dy,mDuration);
}
publicvoidsetmDuration(inttime){
mDuration=time;
}
publicintgetmDuration(){
returnmDuration;
}
}
2、通过反射修改viewpage的scollertry{ //通过反射找到当前class文件里的mScroller的mScrooller对象 //getDeclaredField是可以获取一个类的所有字段. //getField只能获取类的public字段. FieldmField=ViewPager.class.getDeclaredField("mScroller");mField.setAccessible(true);//设置了private属性的对象也能获取的 ScrollermScroller=newViewPageFixedSpeedScroller(page.getContext(),newLinearInterpolator()); mField.set(page,mScroller); }catch(Exceptione){ e.printStackTrace(); }
总结
以上所述是小编给大家介绍的Android修改viewpage滑动速度的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!