android / views-widgets-samples

Multiple samples showing the best practices in views-widgets on Android.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ViewPager2 - slight disappointment.

recodyx opened this issue · comments

ViewPager2 is definitely not an improvement over ViewPager from my point of view.

Sorry I'm migrating from ViewPager right now and it's terrible.

  1. since always the method to add a listener was called add/setXXXListener. Now it's called registerXXXCallback. What's the point? Just wanted to be different?
  2. the "OnPageChangeCallback" is not an interface but an abstract class. WHY? God in heaven, why? This is a disaster. My fragment used to implement interface. Now I have to create a class, which I then have to connect to fragment somehow.... Custom ListenerInterface....
  3. now need TabLayoutMediator to link TabLayout with ViewPager2... why not just viewPager.attach(tabLayout) or something. Or why not do it the old way, when the TabLayout was part of ViewPager in layout xml, and thus linked.

Overall our code has become much more complex and less readable. Too bad.

I agree. The last I checked ViewPager2 does not support instantiateItem(). I have places in my codebase where I have opted to keep ViewPager b/c of issues like this. For example, you will need instantiateItem() in your fragment's onMapSharedElements() if you are going to set a transition animation into an element that is in a ViewPager. You can't do this w/ ViewPager2.