二十、动画-属性动画

1. ValueAnimation

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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 方法中的第二个参数可以使用 平移、旋转、透明度等设置

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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 @   搬砖工具人  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示