- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android特效专辑(八)——实现心型起泡飞舞的特效,让你的APP瞬间暖心选编
Android特效专辑(八)——实现心型起泡飞舞的特效,让你的APP瞬间暖心
马上也要放年假了,家里估计会没网,更完这篇的话,可能要到年后了,不过在此期间会把更新内容都保存在本地,这样有网就可以发表了,也是极好的,今天说的这个特效,原本是Only上的一个小彩蛋的,我们来看看图片
只要我点击了Only这个字,下面就开始上升起起泡了,这个实现起来其实就是一个欲盖弥彰的动画而已,准备好三张颜色不一样的心型图片咯,这样的话,我们就开始动手来写一写吧!
首先新建一个工程——HeartFaom
准备工作就是准备图片咯
BezierEvaluator
单位转换以及计算轨迹
package com.lgl.heartfaom;
import android.animation.TypeEvaluator;
import android.graphics.PointF;
public class BezierEvaluator implements TypeEvaluatorPointF {
private PointF pointF1;
private PointF pointF2;
public BezierEvaluator(PointF pointF1, PointF pointF2) {
this.pointF1 = pointF1;
this.pointF2 = pointF2;
}
@Override
public PointF evaluate(float time, PointF startValue, PointF endValue) {
float timeLeft = 1.0f - time;
PointF point = new PointF();// 结果
point.x = timeLeft * timeLeft * timeLeft * (startValue.x) + 3
* timeLeft * timeLeft * time * (pointF1.x) + 3 * timeLeft
* time * time * (pointF2.x) + time * time * time * (endValue.x);
point.y = timeLeft * timeLeft * timeLeft * (startValue.y) + 3
* timeLeft * timeLeft * time * (pointF1.y) + 3 * timeLeft
* time * time * (pointF2.y) + time * time * time * (endValue.y);
return point;
}
}
PeriscopeLayout
贝塞尔曲线的计算以及气泡的实现
package com.lgl.heartfaom;
import java.util.Random;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.PointF;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.util.AttributeSet;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
您可能关注的文档
- 道路测量培训2汇编.pptx
- AirportEnglish机场英语(原创详细精美图文对话单词介绍解说)选编.ppt
- AI第1章-绪论选编.ppt
- Allegro笔记选编.doc
- AMethodforLinearizationofOpticallyInsulatedVoltageTransducers(翻译)选编.doc
- American_political_system选编.ppt
- Amazon后台介绍选编.ppt
- 道路设计毕业答辩PPT汇编.pptx
- 遥感ENVI实验报告汇编.doc
- AFC系统介绍选编.ppt
- 2023年黑龙江省鹤岗市工农区育才街道招聘社区工作者真题及参考答案详解一套.docx
- 2023年黑龙江省黑河市北安市主星乡招聘社区工作者真题含答案详解.docx
- 2023年黑龙江省绥化市海伦市联发乡招聘社区工作者真题及答案详解1套.docx
- 2023年黑龙江省绥化市安达市中本镇招聘社区工作者真题及参考答案详解.docx
- 2023年黑龙江省绥化市庆安县新胜乡招聘社区工作者真题及完整答案详解1套.docx
- 2023年黑龙江省绥化市安达市红旗泡水库管理所招聘社区工作者真题及参考答案详解.docx
- 2023年黑龙江省鹤岗市萝北县鹤北林业局招聘社区工作者真题及参考答案详解.docx
- 2023年黑龙江省鸡西市城子河区长青乡招聘社区工作者真题参考答案详解.docx
- 2023年黑龙江省绥化市青冈县种马场招聘社区工作者真题及完整答案详解1套.docx
- 2023年黑龙江省绥化市明水县树人乡招聘社区工作者真题及完整答案详解1套.docx
文档评论(0)