二十、动画-属性动画

1. ValueAnimation

进行 值 的更改,做种结果为  从 0-1 递增,执行时长为2秒

package com.example.myshuxing;

import androidx.appcompat.app.AppCompatActivity;

import android.animation.ValueAnimator;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

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

        ValueAnimator valueAnimator = ValueAnimator.ofFloat(0f, 1f);
        //执行周期
        valueAnimator.setDuration(2000);
        //监听
        valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
               float value = (float)animation.getAnimatedValue();
               Log.e("leo", "onAnimationUpdate: "+value );
            }
        });
        valueAnimator.start();

    }
}

2. ObjectAnimator 结合控件使用,其中 ofFloat 方法中的第二个参数可以使用 平移、旋转、透明度等设置

TextView view = findViewById(R.id.textmain);
        ObjectAnimator objectAnimator=ObjectAnimator.ofFloat(view,
                "alpha",0f,1f);
        objectAnimator.setDuration(4000);
        objectAnimator.start();

3.监听器   针对于动画执行过程中的状态,进行调用的方法,一下为几个示例,调用上述的 objectAnimator动画的监听

objectAnimator.addListener(new Animator.AnimatorListener() {
            //动画开始时调用
            @Override
            public void onAnimationStart(Animator animator) {
            }
            //动画结束时调用
            @Override
            public void onAnimationEnd(Animator animator) {
            }
            //动画被取消时调用
            @Override
            public void onAnimationCancel(Animator animator) {
            }
            //动画被重复执行时调用
            @Override
            public void onAnimationRepeat(Animator animator) {
            }
        });

        //可以直接选择所要使用的监听方法
        objectAnimator.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationStart(Animator animation) {
                super.onAnimationStart(animation);
            }
        });

  

posted @ 2022-03-24 17:20  搬砖工具人  阅读(37)  评论(0编辑  收藏  举报