没有合适的资源?快使用搜索试试~ 我知道了~
Android 属性动画ValueAnimator与插值器详解
0 下载量 22 浏览量
2021-01-20
10:03:29
上传
评论
收藏 60KB PDF 举报
温馨提示
试读
2页
Android 属性动画ValueAnimator与插值器详解 一、ValueAnimator详解: ValueAnimator是整个动画的核心,ObjectAnimator即是继承自ValueAnimator来实现。 ValueAnimator更像是一个数值发生器,用来产生具有一定规律的数字,从而让调动者来控制动画的实现过程。 1、ValueAnimator的使用: ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 100); valueAnimator.setDuration(1000).start(); //可以设置插
资源详情
资源评论
资源推荐
Android 属性动画属性动画ValueAnimator与插值器详解与插值器详解
Android 属性动画属性动画ValueAnimator与插值器详解与插值器详解
一、一、ValueAnimator详解:详解:
ValueAnimator是整个动画的核心,ObjectAnimator即是继承自ValueAnimator来实现。
ValueAnimator更像是一个数值发生器,用来产生具有一定规律的数字,从而让调动者来控制动画的实现过程。
1、、ValueAnimator的使用:的使用:
ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 100);
valueAnimator.setDuration(1000).start();
//可以设置插值器来设置动画的类型,比如是“加速”,"减速",还是"先加速后减速"等,下面为使用系统的减速插值器
//参考网址:http://blog.sina.com.cn/s/blog_6e519585010157zt.html
valueAnimator.setInterpolator(new DecelerateInterpolator());
final int baseWidth = animatorBt.getWidth();
//valueAnimator会在1000毫秒内产生0到100的数值,而我们可以在回调中通过animation.getAnimatedValue()得到此数值,然
后进行自定义动画设置
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
Float value = (Float) animation.getAnimatedValue();
LogUtils.showLog("value为"+value);
//使用这个value
//1.改变距离
animatorBt.setTranslationX(value * 5);
//2.改变透明度
animatorBt.setAlpha(1 - (value) / 200);
//3.增加button的宽度,这个是在ObjectAnimator中无法直接设置的
ViewGroup.LayoutParams params = animatorBt.getLayoutParams();
params.width = (int) (baseWidth + value);
LogUtils.showLog("宽度为"+params.width);
//当这个view的布局属性改变了之后要调用这个方法
animatorBt.requestLayout();
}
});
}
}, 1000);
2、停止、停止ValueAnimator动画:动画:
可以调用ValueAnimator对象的cancel()方法或者end()方法。 首先调用上述两种方法都会停止动画,不过区别就在于
1、调用cancel()后,ValueAnimator会立即停止,不会再回调了。
2、调用end()后,ValueAnimator会直接回调此动画结束状态的那个值,即,如果调用了end(),动画会直接停止到最后。
二、二、Android插值器插值器Interpolator的使用:的使用:
插值器可以实现动画实现衰减效果,比如”逐渐减小”,“逐渐增大”,“先加速后减速”
下面是几种常用的插值器:
1、AccelerateInterpolator:动画从开始到结束,变化率是一个加速的过程。
2、DecelerateInterpolator:动画从开始到结束,变化率是一个减速的过程。
3、CycleInterpolator:动画从开始到结束,变化率是循环给定次数的正弦曲线。
4、AccelerateDecelerateInterpolator:动画从开始到结束,变化率是先加速后减速的过程。
5、LinearInterpolator:动画从开始到结束,变化率是线性变化。
1、使用方法为:、使用方法为:
//设置一个减速的插值器
valueAnimator.setInterpolator(new DecelerateInterpolator());
weixin_38514322
- 粉丝: 5
- 资源: 891
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatis 动态 SQL:灵活而强大的查询构建器.pdf
- com.accordion.prettyo.apk
- 毕业设计:基于SSM的mysql-ssm软件bug管理系统(源码 + 数据库 + 说明文档)
- MTSQL8.0.35windows(64bit)-mysql-installer-community-8.0.35.0
- 人工智能引领音乐创作新时代之Suno AI
- Public-bicycle-usage-forecast-master.zip
- 通道处理过程模拟:从理论到实践.pdf
- 数据库第七次作业E-R图第一题
- 大厂面试真题Java语法基础面试专题及答案
- IMG20240428211124.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0