【发布时间】:2016-03-13 13:05:03
【问题描述】:
我正在 Android TV 上实现 ViewPager 以显示 3 个这样的项目(背景绿色/紫色是调试背景以描绘整个 ViewPager 的页面):
我使用:
<android.support.v4.view.ViewPager
...
android:paddingLeft="300px"
android:paddingRight="300px"
android:clipToPadding="false"
...
/>
当失去焦点在 ViewPager 上时,我希望 中心项目 缩小并页面靠得更近。要实现插入动画:
ValueAnimator animator = ValueAnimator.ofInt(300, 400);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator){
Integer paddingHorizontal = (Integer) valueAnimator.getAnimatedValue();
vpScreenshots.setPadding(paddingHorizontal, 0, paddingHorizontal, 0);
}
});
animator.setDuration(300);
animator.start();
但是,当移动到下一页(左右)时,填充动画开始表现得很奇怪。 移动时,例如向右 填充动画不对左侧项目执行操作,而是对中心和右侧项目执行操作。我越向右移动,效果就越深。结果是:
因此,当发生填充动画时,ViewPager 中的切换页面会破坏项目对齐。 为什么会发生?怎么解决?
【问题讨论】:
标签: android android-viewpager android-animation android-sliding