属性动画的3D效果

先上效果图,真机上效果更佳:



是不是感觉很酷炫,联想到activity跳转和fragment的跳转,是不是心里有一点小小的激动。


main里的代码:

public class MainActivity extends AppCompatActivity {
    private ImageView image;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        image = (ImageView) findViewById(R.id.image);
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Animator animator = AnimatorInflater.loadAnimator(MainActivity.this,R.anim.anim);
                animator.setTarget(image);
                animator.start();
                animator.addListener(new AnimatorListenerAdapter() {
                    @Override
                    public void onAnimationCancel(Animator animation) {
                        super.onAnimationCancel(animation);
                    }

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

                    }

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

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

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

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


            }
        });


    }
}

关键是这个anim.xml:


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:ordering="sequentially"
    >

    
    <set
        android:ordering="together"
        >

        <objectAnimator
            android:propertyName="scaleX"
            android:valueFrom="1"
            android:valueTo="0.5"
            android:duration="500"
            android:valueType="floatType" />


        <objectAnimator
            android:propertyName="scaleY"
            android:valueFrom="1"
            android:valueTo="0.5"
            android:duration="500"
            android:valueType="floatType" />

    </set>


    <!--android:repeatMode="restart"-->
    <!--android:repeatCount="5"-->
    <objectAnimator
        android:propertyName="rotationY"
        android:valueFrom="0"
        android:valueTo="180"
        android:duration="1000"
        android:valueType="floatType"
        />



    <objectAnimator
        android:propertyName="rotationX"
        android:valueFrom="0"
        android:valueTo="180"
        android:duration="1000"
        android:valueType="floatType"
        />
    
    <set
        android:ordering="together"
        >

        <objectAnimator
            android:propertyName="scaleX"
            android:valueFrom="0.5"
            android:valueTo="1"
            android:duration="500"
            android:valueType="floatType" />


        <objectAnimator
            android:propertyName="scaleY"
            android:valueFrom="0.5"
            android:valueTo="1"
            android:duration="500"
            android:valueType="floatType" />

    </set>
    
</set>



好了,请开始你的装逼0 0


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值