【发布时间】:2014-09-11 22:21:52
【问题描述】:
我有一个 ViewPager,上面的 ViewPager 是一个 TextView。当我在 ViewPager 中更改页面时,TextView 应该根据新页面的内容更新其文本。
我在 ViewPager 的 OnPageChangeListener 的 onPageSelected 方法中调用 setText 方法。效果很好!
现在我想添加一点动画。滑动时,文本应该淡出,当它到一半时,它应该淡出,并带有新文本。我设法为文本制作了 alpha 动画。但是,文本在 文本褪色后会发生变化。一旦文本不可见(滚动到一半),我想更改文本。
有什么帮助吗?这是我的代码:
weekPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int index) {
//update the text
weekText.setText(DateTimeUtils.getWeekDescription(index));
}
@Override
public void onPageScrolled(int arg0, float ratio, int arg2) {
//do the alpha animation
weekText.setAlpha(Math.abs(2f * (ratio - .5f)));
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
【问题讨论】:
-
你能不能只给整个 ViewPager 添加一个动画? developer.android.com/training/animation/screen-slide.html
-
嗯,它其实并不是真正的动画,它实际上是根据滑动进度调整alpha。
-
我相信您可以在整个 ViewPager 上执行此操作,而不是处理每个单独的视图
-
我认为你没有理解这个问题,请再读一遍。