2017-08-08 13 views

答えて

-1

はい、transformPageメソッドは両方のビューで同時に呼び出されます。 transformPageメソッドの最初のパラメータで現在のビューインスタンスを取得します。

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

第2パラメータはビューの位置です。ドキュメントで説明されているように

ページャの位置は現在のフロントとセンター *ページャの位置です。 0は正面と中央です。 1は1つ完全です *右のページ位置、-1は左の1ページ位置です。単純FadInとFadOut変換は、次のコード

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); 
     } 
    } 
} 

で適用することができる

そしてViewPager

にPageTransformerを追加
mViewPager.setPageTransformer(false, new MyFadePageTransformer()); 
関連する問題