Giter Site home page Giter Site logo

autoscrollviewpager's People

Contributors

caikaidev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

autoscrollviewpager's Issues

Fatal Exception: java.lang.ArithmeticException divide by zero

Fatal Exception: java.lang.ArithmeticException
divide by zero
com.kcode.autoscrollviewpager.view.BaseViewPagerAdapter.onPageSelected (BaseViewPagerAdapter.java:174)
androidx.viewpager.widget.ViewPager.dispatchOnPageSelected (ViewPager.java:1947)
androidx.viewpager.widget.ViewPager.scrollToItem (ViewPager.java:686)
androidx.viewpager.widget.ViewPager.setCurrentItemInternal (ViewPager.java:670)
androidx.viewpager.widget.ViewPager.setCurrentItemInternal (ViewPager.java:631)
androidx.viewpager.widget.ViewPager.setCurrentItem (ViewPager.java:612)
com.kcode.autoscrollviewpager.view.AutoViewPager$1.run (AutoViewPager.java:69)
android.os.Handler.handleCallback (Handler.java:789)
android.os.Handler.dispatchMessage (Handler.java:98)
android.os.Looper.loop (Looper.java:164)
android.app.ActivityThread.main (ActivityThread.java:6938)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)

滑动异常的问题

Android ViewPager 有一个 bug,导致在做自动轮播图的时候如果选用了将 Adapter 设置为无限大的方案,向前滑动页面到一半时松手,页面不会回到滑动之前的页面,反倒会滑动到反方向,也就是滑动之前页面的前一页。

这个问题的原因是 ViewPager 在监听 Touch 的 UP 事件的时候,通过对当前页数 + 滑动完成度(已经滑动的距离与当前页面宽度的比)+ 一个补偿值实现的,如果设置了无限大的 Adapter,当前页数势必很大(如:1 073 741 823),而此时如果滑动系数的值小数位比较多(如:0.37542315),而这个滑动系数是 float 型的,两数相加会变为科学计数法计数,已经超过的了 float 的精度范围,无法保证计算出的页数是正确的。而 ViewPager 限定每次最多只能滑动一屏,因此如果这个错误的结果比当前页前一页还小,就会选用当前页前一页了。

建议把起始页码和 Adapter 大小缩小 1000 倍。

无法compile

compile 'com.kcode.github:autoScrollViewPager:1.0.1' 这个路径是错的,
compile 'com.github.fccaikai:autoScrollViewPager:1.0.1' 这个是正确的。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.