zoukankan      html  css  js  c++  java
  • [置顶] viewPager控制滑动速度和时间

    遇到如下问题:viewpager滑动时如果想跳过很多条直接到最后一条,中间会黑屏。黑屏是因为中间的view没有加载出来的缘故。


    stackOverflow上看到的解决方案,在这里记录一下,

    public class FixedScroller extends Scroller {



        private int mDuration = 500;


        public FixedScroller(Context context) {
            super(context);
        }


        public FixedScroller(Context context, Interpolator interpolator) {
            super(context, interpolator);
        }


        @Override
        public void startScroll(int startX, int startY, int dx, int dy, int duration) {
            // Ignore received duration, use fixed one instead
            super.startScroll(startX, startY, dx, dy, mDuration);
        }


        @Override
        public void startScroll(int startX, int startY, int dx, int dy) {
            // Ignore received duration, use fixed one instead
            super.startScroll(startX, startY, dx, dy, mDuration);
        }

    }

    然后再:

    try {
                Field mScroller;
                mScroller = ViewPager.class.getDeclaredField("mScroller");
                mScroller.setAccessible(true); 
                Interpolator sInterpolator = new AccelerateDecelerateInterpolator();
                FixedScroller scroller = new FixedScroller(viewPager.getContext(), sInterpolator);
                mScroller.set(viewPager, scroller);
            } catch (NoSuchFieldException e) {
            } catch (IllegalArgumentException e) {
            } catch (IllegalAccessException e) {
            }

    住要是设置了滑动的时间间隔和滑动时的拦截器。

    这样滑动就能看到中间的确是有黑屏的。

    最后再在加上:

    @Override
    public void onClick(View v) {
    viewPager.setCurrentItem(3);
    viewPager.setCurrentItem(c_current-1);
    }

    主要因为滑动时,加载3个view,所以给中间让他滑动到中间一次就可以解决这个问题。

  • 相关阅读:
    OEA框架学习:缓存
    2012年 博文整理
    技术支持经验总结
    OEA框架学习:元数据设计
    安装后新建Android出现“AndroidManifest.xml 系统找不到指定的文件”解决方案
    Android控件学习笔记之 GridView(实现九宫格)
    获取url地址中主机的域名
    C# 语音读取字符串
    JSON省市联动
    MOTO Droid手机自定义本地铃声设置方法
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3310464.html
Copyright © 2011-2022 走看看