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);
相关文章
|
Android开发
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突(一)
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突
|
Android开发 UED 开发者
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突(二)
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突
|
缓存 Android开发
ViewPager的简单使用
本节带来的是Android 3.0后引入的一个UI控件——ViewPager(视图滑动切换工具),实在想不到如何来称呼这个控件,他的大概功能:通过手势滑动可以完成View的切换,一般是用来做APP的引导页或者实现图片轮播,因为是3.0后引入的,如果想在低版本下使用,就需要引入v4兼容包,我们也可以看到,ViewPager在:android.support.v4.view.ViewPager目录下。下面我们就来学习一下这个控件的基本用法。
186 0
|
XML Java 数据格式
ViewPager基本用法
用法:数据ImageView+自定义适配器+ViewPager控件
102 0
|
XML 数据格式 容器
翻页类视图 ViewPager
翻页类视图 ViewPager一、ViewPage简单介绍
翻页类视图 ViewPager
|
Java
viewpage 添加fragment 报错 viewpage demo LayoutInflater 自定义控件轮播图demo
viewpage 添加fragment 报错 viewpage demo LayoutInflater 自定义控件轮播图demo
113 0
viewpage 添加fragment 报错 viewpage demo LayoutInflater 自定义控件轮播图demo
fragment嵌套viewpager不显示
fragment嵌套viewpager不显示
191 0