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,所以给中间让他滑动到中间一次就可以解决这个问题。

  • 相关阅读:
    C#中如何只保留小数点后面两位?
    Int16 Int32 Int64
    移动端重构系列3——重置样式
    移动端重构系列2——整体布局(转载)
    移动端重构系列1——新建空白页面(转载)
    八种创建等高列布局(转载)
    一个完整的Flexbox指南(转载)
    等高列布局、水平垂直居中与置顶页脚(转载)
    Block formatting context & Inline formatting context(BFC&IFC)的区别(转载)
    [转载]网页动画的十二原则
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3310464.html
Copyright © 2011-2022 走看看