动画,在另一个图像上滑动图像

时间:2015-09-08 07:04:32

标签: android image animation android-viewpager swipe

如何在附加图像上同时扫描一张图像。

在图像中,可以看到背景图像是静态的,用户可以滑动另一个图像。它是housing.com应用程序的截图。

任何人都可以帮助我。 enter image description here 注意:尝试过viewpager,jazzyviewpager,Parallex视图但没有成功

2 个答案:

答案 0 :(得分:1)

使用自定义Viewpager(具有堆栈效果的jazzy viewpager库并禁用其中的缩小功能)来实现此目的。

答案 1 :(得分:0)

所以经过这么多天的搜索实现后,我得到了这个。

实现的步骤:  1.实施Viewpager。  2.具有转换的用户自定义视图寻呼机。  3.最重要的一个,实现clipDrawable在视图寻呼机的即将到来的页面上剪辑drawable。

这是Scale转换类使用clipdrawable: 公共类ScalePageTransformer实现PageTransformer {         private static final float SCALE_FACTOR = 0.95f;

    private final ViewPager mViewPager;

    public ScalePageTransformer(ViewPager viewPager) {
        this.mViewPager = viewPager;
    }

    @Override
    public void transformPage(View page, float position){
        View mainLayout = page.findViewById(R.id.bg_rel);
        ClipDrawable clipDrawable = (ClipDrawable) mainLayout.getBackground();
        if (position <= 0){
            // apply zoom effect and offset translation only for pages to
            // the left
            //              final float transformValue = Math.abs(Math.abs(position) - 1) * (1.0f - SCALE_FACTOR) + SCALE_FACTOR;
            int pageWidth = mViewPager.getWidth();
            final float translateValue = position* -pageWidth;
            //              page.setScaleX(transformValue);
            //              page.setScaleY(transformValue);
            if (translateValue > -pageWidth){
                page.setTranslationX(translateValue);
            } else {
                page.setTranslationX(0);
            }
            clipDrawable.setLevel(10000);
        } else {
            //entering view
            int level = (int) ((1 - position) * 10000);
            clipDrawable.setLevel(level);
            mainLayout.setTranslationX(-1 * position * page.getWidth());
        }
    }
}

rel_bg:我的主要布局有drawables。

希望对某人有帮助。