ViewPager(通过反射修改viewpager切换速度)

简介: (创建于2016/11/17)import java.lang.reflect.Field; import android.content.

(创建于2016/11/17)

import java.lang.reflect.Field;  
      
    import android.content.Context;  
    import android.support.v4.view.ViewPager;  
    import android.view.animation.Interpolator;  
    import android.widget.Scroller;  
      
    /** 
     * ViewPager 滚动速度设置 
     *  
     * @author lyy 
     * 
     */  
    public class ViewPagerScroller extends Scroller {  
        private int mScrollDuration = 2000; // 滑动速度  
      
        /** 
         * 设置速度速度 
         *  
         * @param duration 
         */  
        public void setScrollDuration(int duration) {  
            this.mScrollDuration = duration;  
        }  
      
        public ViewPagerScroller(Context context) {  
            super(context);  
        }  
      
        public ViewPagerScroller(Context context, Interpolator interpolator) {  
            super(context, interpolator);  
        }  
      
        public ViewPagerScroller(Context context, Interpolator interpolator,  
                boolean flywheel) {  
            super(context, interpolator, flywheel);  
        }  
      
        @Override  
        public void startScroll(int startX, int startY, int dx, int dy, int duration) {  
            super.startScroll(startX, startY, dx, dy, mScrollDuration);  
        }  
      
        @Override  
        public void startScroll(int startX, int startY, int dx, int dy) {  
            super.startScroll(startX, startY, dx, dy, mScrollDuration);  
        }  
      
        public void initViewPagerScroll(ViewPager viewPager) {  
            try {  
                Field mScroller = ViewPager.class.getDeclaredField("mScroller");  
                mScroller.setAccessible(true);  
                mScroller.set(viewPager, this);  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
    }  

调用

ViewPagerScroller pagerScroller = new ViewPagerScroller(getActivity());
pagerScroller.setScrollDuration(1000);//设置时间,时间越长,速度越慢
pagerScroller.initViewPagerScroll(mViewPager);
相关文章
|
6月前
|
Android开发 容器
35. 【Android教程】视频页面:ViewPager
35. 【Android教程】视频页面:ViewPager
64 3
|
Android开发
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突(一)
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突
|
Android开发 UED 开发者
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突(二)
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突
|
XML Java 数据格式
ViewPager基本用法
用法:数据ImageView+自定义适配器+ViewPager控件
116 0
|
安全
Fragment里面有ViewPager,ViewPager里面又嵌套Fragment,刚遇到的一个坑
Fragment里面有ViewPager,ViewPager里面又嵌套Fragment,刚遇到的一个坑
fragment嵌套viewpager不显示
fragment嵌套viewpager不显示
197 0

热门文章

最新文章