Android ViewPropertyAnimator 属性动画概述
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。
如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。
ViewPropertyAnimator
- 通过View类的animate()方法来获取,是在Android 3.1系统上新增的一个方法
基本使用代码如下:
//这里的 mImageView 就是执行动画的 View
//获取ViewPropertyAnimator
ViewPropertyAnimator lAnimator = mImageView.animate();
lAnimator.setDuration(2000);
//线性动画插值器
lAnimator.setInterpolator(new LinearInterpolator());
//从0 向右移动 200 (相对View自己)
lAnimator.translationX(200f);
// //相对于上一次的位置移动 (初始是0)
// lAnimator.translationXBy(300f);
// //移动到指定位置
// lAnimator.x(200f);
// //在当前位置 的基础上增加
// lAnimator.xBy(200f);
lAnimator.setListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
Log.d("动画","动画开始");
}
@Override
public void onAnimationEnd(Animator animation) {
Log.d("动画","动画结束");
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
lAnimator.setUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
Log.d("动画","动画执行中"+animation.getAnimatedValue());
}
});
lAnimator.start();
- translationX(200f)
- translationXBy(300f)
lAnimator.x(200f)
lAnimator.xBy(200f);
还没有评论,来说两句吧...