【发布时间】:2014-04-29 19:00:02
【问题描述】:
我正在尝试更改我的 ViewPager 过渡动画。 当您从一张照片切换到下一张照片时,我希望具有与默认画廊相同的行为。它基本上是一个动画,当前页面向左移动,而下一个页面从后面过来并变大。
我发现我可以使用 PageTransformer 更改动画。
pager.setPageTransformer(false, new PageTransformer() {
@Override
public void transformPage(View page, float position) {
if (position < 0) {
} else {
final float normalizedposition = Math.abs(Math.abs(position) - 1);
page.setScaleX(normalizedposition / 2 + 0.5f);
page.setScaleY(normalizedposition / 2 + 0.5f);
}
}
});
这样,我让当前页面向左滑动,没关系。 新页面从小开始并不断增长,这也没关系。但是,页面从右到中。我想删除翻译并将其放在中间,但很小,被当前页面隐藏。
如果我添加page.setTranslationX(1080 * (-(position)));,那么接下来的页面将停留在屏幕中间,但它们始终在当前页面上方可见。如果我还向页面添加 alpha,则显示的页面不会隐藏在旧页面后面。
我已尝试检查图库应用的源代码,但没有找到对 transformPage 函数的任何引用。
【问题讨论】:
标签: android animation android-viewpager