ValueAnimator和自定义Interpolator的配合使用
来源:互联网 发布:淘宝天猫店 编辑:程序博客网 时间:2024/05/22 05:33
本次要实现屏幕炫彩之闪瞎狗眼特效
代码先行:
//0-50其实我也试过0-100之类的,感觉对于本次效果没啥大影响ValueAnimator animator = ValueAnimator.ofInt(0,50); //时间设的短,才能闪狗眼 animator.setDuration(300); //每一帧都调用 animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { //currentValue = fraction*(50-0) float currentValue = (Integer) animation.getAnimatedValue(); //该值是自定义MyInterpolator的返回值 float fraction = animation.getAnimatedFraction(); //颜色估值器,根据开始颜色和结束颜色以及给定的fraction去计算这一帧的颜色 int color = (int) new ArgbEvaluator().evaluate(fraction,0xFFFF8080,0xFF8080FF); //给屏幕根ViewGroup设置上颜色,闪爆狗眼 mActivityMain.setBackgroundColor(color); } }); //自定义插值器 animator.setInterpolator(new MyInterpolator()); //无限循环 animator.setRepeatCount(ValueAnimator.INFINITE); //反转效果 animator.setRepeatMode(ValueAnimator.REVERSE); animator.start();
自定义插值器如下,极其简单- -我就是为了试试自定义插值器好不好使 … …
public class MyInterpolator implements TimeInterpolator { @Override public float getInterpolation(float input) { //传入的input是0~1之间随给定动画时间变化的数 //返回值是animation.getAnimatedValue();得到的值 //返回值可以取小于0和大于1的数 return (float) Math.sin(input); }}
自定义插值器可以实现很多酷炫的效果,但是要求数学功力哦,我这样的就基本再见了
0 0
- ValueAnimator和自定义Interpolator的配合使用
- ValueAnimator和TypeEvaluator 的使用
- 切面和自定义注解的配合使用
- 属性动画ValueAnimator和ObjectAnimator的使用
- ValueAnimator的简单介绍和使用
- C# 中的用户自定义控件和WPF的配合使用
- Android Interpolator(插值器)的介绍和使用
- 自定义View加载图片—Path和ValueAnimator的练习
- ValueAnimator的使用
- ValueAnimator.ofObject的使用
- ValueAnimator的使用
- Android 属性动画valueAnimator和objectAnimator的使用
- 使用ValueAnimator自定义动态XY图表View
- Android:ValueAnimator的使用举例
- ValueAnimator的介绍与使用
- ValueAnimator及ObjectAnimator的使用
- Android中ValueAnimator的使用
- 自定义Interpolator
- Angular.js 介绍及实践教程
- Python·Jupyter Notebook各种使用方法记录·持续更新
- 事务的基本属性(ACID)和传播属性(Propagation)
- HR告诉你:这些离职原因不接受!
- MapServer 7.0.3 Documentation 翻译
- ValueAnimator和自定义Interpolator的配合使用
- 搜索
- [Java并发] AbstractQueuedSynchronizer实现(一)
- can设备驱动
- vvv
- MySQL入门之操作笔记
- 解决
- Matlab 形态学图像处理
- AngularJS指令进阶 – ngModelController详解