下の画像のように、左右両方からページャーのアニメーションを表示したいです。3ページあります。真ん中は動かしてはいけません。左または右に移動すると、左または右のページのみがスクロールし、中央の画面が少しフェードします。
ビューページャーでPageTransformerクラスのtransformPage(View view, float position)メソッドをオーバーライドしてアニメーションを作っています
private final PageTransformer mPageTransformer2 = new PageTransformer() {
@Override
public void transformPage(View view, float position) {
Log.d("CalViewPager", "transformPage: " + position );
if (position < 0.0f ) {
// Pin the left page to the left side.
view.setTranslationX(getWidth() * -position);
view.setAlpha(Math.max(1.0f - position, 0.0f));
} else{
// Use the default slide transition when moving to the next page.
view.setTranslationX(0.0f);
view.setAlpha(1.0f);
}
};
上記のコードは右側から正常に動作し、左側でも実行しようとしています。そこで、transform(View view, float position) メソッドの位置の値を理解しようとします。しかし、ビューでどのように変化するかわかりませんか?
右側を交換して各位置の値を 1 増やし、左側を 1 ずつ減らすとわかりました。
注: - 私の質問がわからなかったり、さらに説明が必要な場合はコメントしてください