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滑动速度的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!