Android ObjectAnimator类学习
1.简介
- 实现属性动画中的一个核心方法类
- 继承自ValueAnimator类,即底层的动画实现机制是基于ValueAnimator类
2.实现动画的原理
直接对对象的属性值进行改变操作,从而实现动画效果
如直接改变 View的 alpha 属性 从而实现透明度的动画效果
3.基础使用
透明度
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.btn_anim);
init();
}
private void init() {
ObjectAnimator animator=ObjectAnimator.ofFloat(button,"alpha",1f,0f,1f,0f,1f);
// 设置动画时长
animator.setDuration(2000);
//重复次数。无限次
animator.setRepeatCount(ValueAnimator.INFINITE);
//设置模式
// ValueAnimator.RESTART(默认):正序重放
// ValueAnimator.REVERSE:倒序回放
animator.setRepeatMode(ValueAnimator.REVERSE);
animator.start();
}
}
效果
旋转
更改init()代码:
private void init() {
ObjectAnimator animator=ObjectAnimator.ofFloat(button,"rotation",0f,360f);
// 设置动画时长
animator.setDuration(2000);
//重复次数。无限次
animator.setRepeatCount(ValueAnimator.INFINITE);
//设置模式
// ValueAnimator.RESTART(默认):正序重放
// ValueAnimator.REVERSE:倒序回放
animator.setRepeatMode(ValueAnimator.REVERSE);
animator.start();
}
还有平移、缩放等。
还可以自定义属性,见原文。
来源:CSDN
作者:南风子c
链接:https://blog.csdn.net/qq_39326574/article/details/103836466