简单实现属性动画跳转

本文详细介绍了一种在Android应用中实现复杂动画效果的方法,并演示了如何使用AnimatorSet结合多种ObjectAnimator来创建平移、旋转、透明度变化及缩放等动画效果。此外,文章还展示了如何利用Handler进行线程调度,实现从一个Activity到另一个Activity的自动跳转。

1丶要实现的Activity

package com.bwei.xzh.qdy;

import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.bwei.xzh.MainActivity;
import com.bwei.xzh.R;

public class QiActivity extends AppCompatActivity {
    private ImageView dong;
    private int width;
    private LinearLayout ly_root;
    private int height;
    private AnimatorSet animatorSet;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_qi);
        iniw();
    }
    private void iniw() {
        dong = findViewById(R.id.dong);
        //动画平移
       ObjectAnimator objectAnimator= ObjectAnimator.ofFloat(dong,"translationY",dong.getTranslationY(),800);
       //旋转
       ObjectAnimator objectAnimator1= ObjectAnimator.ofFloat(dong,"rotation",0,360);
       //透明
       ObjectAnimator objectAnimator2 = ObjectAnimator.ofFloat(dong,"alpha",0,1,0,1);
       ObjectAnimator objectAnimator3 = ObjectAnimator.ofFloat(dong, "scaleX", 0, 1);
       animatorSet=new AnimatorSet();
       animatorSet.play(objectAnimator).with(objectAnimator1).with(objectAnimator2).with(objectAnimator3);
       animatorSet.setDuration(5000);
       animatorSet.start();
       //handler线程跳转
       new Handler().postDelayed(new Runnable() {
           @Override
           public void run() {
               startActivity(new Intent(QiActivity.this,MainActivity.class));
               finish();
           }
       },5000);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值