0
私が達成しようとしているのは、ユーザーがビュー・ページャーの最初のページを開き、ビュー・ページャーが2番目のページの半分のようにバウンスして、スクロールするページが増えています。私のコードでは、次の半ページだけを示しています。それは正常に動作しています。しかし、バウンスのアニメーションは機能しません。ViewPagerがハーフ・スクリーンにバウンスしない
private int animFactor;
private ValueAnimator animator = new ValueAnimator();
AnimatorSet set = new AnimatorSet();
// private Animation animation1= new TranslateAnimation()
private void animateViewPager(final ViewPager pager, final int offset, final int delay) {
if (!animator.isRunning()) {
animator.removeAllUpdateListeners();
animator.removeAllListeners();
//Set animation
animator.setIntValues(0, -offset);
animator.setDuration(delay);
animator.setRepeatCount(1);
animator.setRepeatMode(ValueAnimator.RESTART);
animator.setInterpolator(new BounceInterpolator());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
Integer value = animFactor * (Integer) animation.getAnimatedValue();
if (!pager.isFakeDragging()) {
pager.beginFakeDrag();
}
pager.fakeDragBy(value);
}
});
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
animFactor = 1;
}
@Override
public void onAnimationEnd(Animator animation) {
pager.endFakeDrag();
}
@Override
public void onAnimationRepeat(Animator animation) {
animFactor = -1;
}
});
set.play(animator);
set.start();
}
}
を使用して、このメソッドを呼び出して、私たちは、この使用してアニメーションのクラスを行うことができます解決策を得ました。 – vishal