android – 平滑滚动在ViewPager(支持库)中不起作用

android – 平滑滚动在ViewPager(支持库)中不起作用,第1张

概述我正在编写使用ViewPager托管Fragments的应用程序. 当我以编程方式更改片段时,平滑滚动功能不起作用.我使用ViewPager.setCurrentItem(int item,boolean smoothScroll)`方法. 也许有人知道这个bug的解决方法吗?也许动画? 编辑: 我正在使用支持包.而且问题是我是否使用ViewPager.setCurrentItem(2,true) 我正在编写使用VIEwPager托管Fragments的应用程序.

当我以编程方式更改片段时,平滑滚动功能不起作用.我使用VIEwPager.setCurrentItem(int item,boolean smoothScroll)`方法.

也许有人知道这个BUG的解决方法吗?也许动画?

编辑:
我正在使用支持包.而且问题是我是否使用VIEwPager.setCurrentItem(2,true)或者VIEwPager.setCurrentItem(2,false)结果是一样的.视图切换真的很快(不顺利).

解决方法 我已经通过创建一个MyVIEwPager来修复这个问题,该视图用反射来覆盖VIEwPager.mScroller.
public class MyVIEwPager extends VIEwPager {  public MyVIEwPager( Context context,AttributeSet attrs)   {    super( context,attrs );    setMyScroller();  }  private voID setMyScroller()   {    try     {            Class<?> vIEwpager = VIEwPager.class;            FIEld scroller = vIEwpager.getDeclaredFIEld("mScroller");            scroller.setAccessible(true);            scroller.set(this,new MyScroller(getContext()));    } catch (Exception e)     {        e.printstacktrace();    }  }  public class MyScroller extends Scroller   {    public MyScroller(Context context)     {        super(context,new DecelerateInterpolator());    }    @OverrIDe    public voID startScroll(int startX,int startY,int dx,int dy,int duration)     {        super.startScroll(startX,startY,dx,dy,1000 /*1 secs*/);    }  }}
总结

以上是内存溢出为你收集整理的android – 平滑滚动在ViewPager(支持库)中不起作用全部内容,希望文章能够帮你解决android – 平滑滚动在ViewPager(支持库)中不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1131293.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存