美文网首页
AlphaAndScalePageTransformer

AlphaAndScalePageTransformer

作者: 菜鸟何时起飞 | 来源:发表于2020-05-14 14:07 被阅读0次
public class AlphaAndScalePageTransformer implements ViewPager.PageTransformer {

    final float SCALE_MAX = 0.8f;
    final float ALPHA_MAX = 0.5f;

    @Override
    public void transformPage(View page, float position) {
        float scale = (position < 0)
                ? ((1 - SCALE_MAX) * position + 1)
                : ((SCALE_MAX - 1) * position + 1);
        float alpha = (position < 0)
                ? ((1 - ALPHA_MAX) * position + 1)
                : ((ALPHA_MAX - 1) * position + 1);
        if (position < 0) {
            page.setPivotX(page.getWidth());
            page.setPivotY(page.getHeight()/2);
        } else {
            page.setPivotX(0);
            page.setPivotY(page.getHeight()/2);
        }
        page.setScaleX(scale);
        page.setScaleY(scale);
        page.setAlpha(Math.abs(alpha));
    }
}
© 2020 GitHu

网友评论

      本文标题:AlphaAndScalePageTransformer

      本文链接:https://www.haomeiwen.com/subject/xdltohtx.html