android 属性动画(缩放,渐变,移动,旋转)

本文将详细讲解如何在Android中实现属性动画,包括图片的缩放、颜色的渐变、视图的移动以及角度的旋转。首先介绍如何在布局中设置图片,接着阐述初始化数据的步骤,最后讨论如何为动画添加监听以实现更丰富的交互效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先设置一个图片,引入布局

<ImageView
        android:id="@+id/iv_splash"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/i"
        android:layout_gravity="center"
        />

第二步:初始化initData()

getSupportActionBar().hide();//隐藏标题栏
        DisplayMetrics displayMetrics = getResources().getDisplayMetrics();//这个好像是可以获取屏幕高度
        int height = displayMetrics.heightPixels;//获取屏幕高度
        //缩放---ofFloat用4个参数的ofFloat
        ObjectAnimator objectAnimator1 = ObjectAnimator.ofFloat(iv_splash, "scaleX", 2, 1);
        //渐变
        ObjectAnimator objectAnimator2 = ObjectAnimator.ofFloat(iv_splash, "alpha", 0, 1);
        //旋转
        ObjectAnimator objectAnimator3 = ObjectAnimator.ofFloat(iv_splash, "rotation", 0, 360);
        //移动
        ObjectAnimator objectAnimator4 = ObjectAnimator.ofFloat(iv_splash, "translationY", 0, height / 2 - iv_splash.getHeight() / 2);

        //组合
        AnimatorSet set = new AnimatorSet();
         /**
         * 动画执行
         */
        set.play(objectAnimator1).with(objectAnimator2).with(objectAnimator3).with(objectAnimator4);
        set.setDuration(3000);
        set.start();

第三步:给动画添加监听

/**
         * 动画执行的监听
         */
        set.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {

            }
            //动画执行完后跳转到主activity
            @Override
            public void onAnimationEnd(Animator animation) {
                Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                startActivity(intent);
            }

            @Override
            public void onAnimationCancel(Animator animation) {

            }

            @Override
            public void onAnimationRepeat(Animator animation) {

            }
        });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值