Android视图分页滑动动画



我试图通过重写transformPage()方法在视图页上的页面滑动中做一些动画,这样当我从右向左滑动时,新页面(来自右侧的页面)应该在动画开始时出现在上一页下方,然后上一页应该滑动到新页面的左侧。当我从左向右滑动时,新页面应该直接滑过前一页并完全覆盖它。但我没能做到。我尝试了以下方法:-

if(position > 0 && position < 1)
{
    int pageWidth = page.getWidth();
    float translateValue = (-position * pageWidth);
    if(translateValue < pageWidth)
    {
        translationX = translateValue;
    }
    else
    {
        translationX = 0;
    }
}
else 
{
    alpha = 1;
    scale = 1;
    translationX = 0;
}

请提供一些建议。由于

这应该像你想的那样工作,你只需要把它放在你的PagerTransformer类中:

private static final float MIN_SCALE_DEPTH = 0.75f;
 @Override
public void transformPage(View page, float position) {
    final float alpha;
    final float scale;
    final float translationX;

            if (position > 0 && position < 1) {
                alpha = (1 - position);
                scale = MIN_SCALE_DEPTH + (1 - MIN_SCALE_DEPTH) * (1 - Math.abs(position));
                translationX = (page.getWidth() * -position);
            } else {
                alpha = 1;
                scale = 1;
                translationX = 0;
            }
    page.setAlpha(alpha);
    page.setTranslationX(translationX);
    page.setScaleX(scale);
    page.setScaleY(scale);

最新更新