I have a custom requirement with my ViewPager. What I want is my pager should have a horizontal pageTransformer like DepthPageTransformer by default. Now on the screen I have a button on press of which I want my current page to slide on top from bottom and my next page replacing it like VerticalPageTransformer and as soon as page changes the page transformer should be changed back to DepthPageTransformer the default one.
So Basically I want to apply pageTransformers on runtime. Any help is appreciated.
Here is my code:
//sets intial page transformer
viewPager.setPageTransformer(false,new DepthPageTransformer());
Now when I tap the button in its onCLick I have:
//sets vertical page transformer
viewPager.setPageTransformer(false,new VerticalPageTransformer());
viewPager.setCurrentItem(viewPager.getCurrentItem() + 1);
Then in my onPageSelected() I set it back to the intial one
@Override
public void onPageSelected(int position) {
viewPager.setPageTransformer(false,new DepthPageTransformer());
}
It sounds all easy and correct but the page transformations are not smooth at all. They behave weird. Pages shrink at time. The page change is so fast that one cannot even see the transformation.
Edit for @Mimmo: Changes attached