Android 利用反射设置Viewpager的切换速度

public class ViewPagerHelperUtils {
    
    /**
     * 设置viewpager 之间的切换速度
     */
    public static void initSwitchTime(Context context, ViewPager viewPager, int time){
        try {
            Field field = ViewPager.class.getDeclaredField("mScroller");
            field.setAccessible(true);
            field.set(viewPager,new ViewPagerScroller(context,time));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    static class ViewPagerScroller extends Scroller {
        int time;
        public ViewPagerScroller(Context context, int time) {
            super(context);
            this.time = time;
        }

        @Override
        public void startScroll(int startX, int startY, int dx, int dy, int duration) {
            super.startScroll(startX, startY, dx, dy, time);
        }
    }
}

 

同理利用反射还可以设置UI控件的另外属性,小伙伴自行研究

没有更多推荐了,返回首页