属性动画 翻牌效果



这个效果只是视觉效果,并不实用

若有更高的需求

https://blog.csdn.net/android_0327/article/details/52896192



protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //找到控件
    img1 = findViewById(R.id.img1);
    img2 = findViewById(R.id.img2);

    //先设置第二张图片为隐藏
    img2.setVisibility(View.INVISIBLE);

    //给第一场图片设置动画,时长1500ms,并执行
    ObjectAnimator oa = ObjectAnimator.ofFloat(img1,"rotationY",new float[]{0f,-90f});
    oa.setDuration(1500);
    oa.start();


    //然后是第二张图片的动画,让他延时1500ms后在执行,要先把第一张图片动画的时间隔出来
    ObjectAnimator oa2 = ObjectAnimator.ofFloat(img2,"rotationY",new float[]{90f,0f});

    oa2.setStartDelay(1500);
    oa2.setDuration(1500);
    oa2.start();

    //给第二张图片设置监听,当动画开始的时候将第二张图片设为显示
    oa2.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationCancel(Animator animation) {
            super.onAnimationCancel(animation);
        }

        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
        }

        @Override
        public void onAnimationStart(Animator animation) {
            super.onAnimationStart(animation);
            img2.setVisibility(View.VISIBLE);
        }
    });


}

你可能感兴趣的:(属性动画 翻牌效果)