2017-08-08 1 views

Répondre

-1

Oui, la méthode transformPage est appelée simultanément sur la vue. Vous obtenez l'instance de vue actuelle dans le premier paramètre de la méthode transformPage.

public void transformPage(View view, float position) {...} 

Le deuxième paramètre est la position de la vue. Comme expliqué dans la documentation

Position de la page par rapport à l'avant-centre actuel * position du pager. 0 est avant et centre. 1 correspond à une position complète de page * à droite, et -1 correspond à une position de page vers la gauche.

Un simple FADIN et la transformation FadOut peut être appliqué avec le code suivant

public class MyFadePageTransformer implements ViewPager.PageTransformer { 
    public void transformPage(View view, float position) { 

     //You can set Tag to view object and getTag to know current view 
     //Log.d("Page Transform", "page " + view.getTag().toString()); 

     if (position < -1 || position > 1) { 
      view.setAlpha(0); 
     } 
     else if (position <= 0 || position <= 1) { 
      // Calculate alpha. Position is decimal in [-1,0] or [0,1] 
      float alpha = (position <= 0) ? position + 1 : 1 - position; 
      view.setAlpha(alpha); 
     } 
     else if (position == 0) { 
      view.setAlpha(1); 
     } 
    } 
} 

ajouter ensuite PageTransformer à ViewPager

mViewPager.setPageTransformer(false, new MyFadePageTransformer());