QQ的android 点赞动画画可以自定义吗

QQ说说装逼神器下载1.0 多功能版_支持iPhone6说说动态点赞转发评论_腾牛下载
专业的QQ下载站 本站非腾讯QQ官方网站
QQ说说装逼神器下载1.0 多功能版_支持iPhone6说说动态点赞转发评论评分:分
软件大小:1KB软件语言:中文
更新时间:软件类别:免费/QQ相关
软件性质:QQ软件软件厂商:
运行环境:WinAll软件等级:
官方网址:暂无
QQ说说是目前功能最多最强大的一款装逼利器,除了可以发表来自各种装逼尾巴(如iPhone6)的说说之外,还可以进行空间每日签到、对空间动态进行点赞、评论和转发。所有的操作都会显示你自定义的设备来源,非常给力,比一般的iPhone6说说发表,功能更进一步。欢迎各位Q友下载体验!QQ说说装逼神器支持空间操作:签到、装逼说说发表、刷新、点赞、批量、转发,以上操作全部都可以自定义装逼尾巴来源。QQ说说装逼神器使用方法:1、登录QQ之后,可以在软件上方menu菜单上选择操作选项(点赞、评论、转发)2、发表装逼说说,编辑好说说内容之后,选择说说来源设备尾巴,点击发表即可。3、在你选择好尾巴来源之后,还可以进行空间签到。QQ说说装逼神器支持设备来源尾巴:iPhone6 PlusiPhone6iPhone 5siPhone 5iPhone 4siPhoneiPad AiriPad4三星Galaxy Win三星 GALAXY Note3GALAXY S3 (黑色)华为华为荣耀3XAndroidHTC D816t (黑色)魅族MX3魅族MX2 (黑色)OPPO小米小米2S红米Note (白色)小米4 4G版vivo酷派QQ空间触屏版北京市香山
喜欢玩QQ的小伙伴们千万不要错过2016年最新的QQ装逼神器,今天小编为大家带来的这几款QQ装逼神器功能非常强大,它们不仅可以帮助你进行虚拟Q币充值,还可以高仿各种QQ会员钻充值成功,所有充值信息都可以由你自定义,
装逼神器大全包含了数十种网络上的装B软件,它们包含了各种QQ装逼神器、微信装逼神器、支付宝装逼神器等等,这些软件中有的可以帮你在空间说说后面带上iPhone6小尾巴,有的可以作弊支付宝账单,有的可以伪装Q币账号充
QQ说说装逼神器下载1.0 多功能版_支持iPhone6说说动态点赞转发评论
周排行月排行如何取消QQ上面的点赞动画?_百度知道
如何取消QQ上面的点赞动画?
我有更好的答案
手机QQ——好友动态——个性化——右上角 我的——个性赞——恢复默认QQ是腾讯QQ的简称,是腾讯公司开发的一款基于Internet的即时通信(IM)软件。目前QQ已经覆盖Microsoft Windows、OS X、Android、iOS、Windows Phone等多种主流平台。其标志是一只戴着红色围巾的小企鹅。腾讯QQ支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与多种通讯终端相连。日,腾讯QQ和美的集团在深圳正式签署战略合作协议,双方将共同构建基于IP授权与物联云技术的深度合作,实现家电产品的连接、对话和远程控制。双方合作的第一步,是共同推出基于QQfamily IP授权和腾讯物联云技术的多款智能家电产品。QQ是1999年2月由腾讯自主开发的基于Internet的即时通信网络工具——腾讯即时通信(TencentInstant Messenger,简称TM或腾讯QQ),其合理的设计、良好的应用、强大的功能、稳定高效的系统运行,赢得了用户的青睐。QQ以前是模仿ICQ来的,是国际的一个聊天工具,是I seek you(我寻找你)的意思,OICQ模仿ICQ它在ICQ前加了一个字母O,意为opening I seek you,意思是“开放的ICQ”,但被指侵权,于是腾讯老板(马化腾)就把OICQ改了名字叫QQ,就是现在我们用的QQ。除了名字变化,腾讯QQ的标志却一直没有改,一直是小企鹅。因为标志中的小企鹅很可爱迷人而且很受女生的青睐,用英语来说就是cute,因为cute和Q是谐音的,所以小企鹅配QQ也是一个很好的一个名字。
采纳率:99%
手机QQ——好友动态——个性化——右上角 我的——个性赞——恢复默认
本回答被网友采纳
点赞动画,右上角有个恢复默认
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。男生看到不关注的勾勾缩水十公分
女生看到不关注的缩水一个罩杯
人妖看到不关注的请看以上两点投稿:8粉丝:168分享--dynmicweibozoneqqbaidu将视频贴到博客或论坛视频地址复制嵌入代码复制微信扫一扫分享收藏0硬币--稍后看马克一下~用手机看转移阵地~用或其他应用扫描二维码手机下视频请使用扫码若未安装客户端,可直接扫此码下载应用看过该视频的还喜欢正在加载...miniOFFQQ个性点赞功能怎么用 QQ个性点赞功能使用方法介绍_西西软件资讯
西西软件园多重安全检测下载网站、值得信赖的软件下载站!
→ QQ个性点赞功能怎么用 QQ个性点赞功能使用方法介绍
v6.6.9 官方最新版
类型:社交聊天大小:37.8M语言:中文 评分:8.0
QQ最近新推出了一个功能,那就是个性点赞功能。究竟怎么玩呢,就让小编给大家详细的讲讲,想知道的一起来看看吧。QQ个性点赞功能使用方法介绍1、首先登陆手机QQ,进入到主界面,切换至【动态】---点击【好友动态】如图所示。2、然后在好友动态界面下方点击【个性化】如图所示。3、接下来在其往下滑动找到【个性赞】选项,如图所示。4、进入之后就会发现有多种个性赞供大家选择的,但大部分是黄钻特权才可以设置的,普通用户只能选择免费的个性赞,5、设置完之后我们去给好友点赞就会出现相应的动态效果,还是不错的。
(73) 寂寞交友由西西为大家整理一系列火热的社交应用,因为寂寞而交友,随着时代的发展,人们越来越无法满足现有的交际圈子,对于择偶标准的提高,催生出一系列单身男女的情感问题,压抑的情绪需要得到一定的释放,如果你想找寻属于自己的缘分,就赶快下载吧。交友软件排行微信企鹅之子的基数之巨大,寂寞的时候摇一摇,丝男也会有春天不过企鹅之子也有个弊病,依托于的用户资源,环肥燕瘦难以保证。来往来往是拼爹的,背靠大树好乘凉。...
02-14 / 37.8M
推荐理由:全新的手机QQ2017版正式发布。qq2017新版本在保留原有功能基础上,加入2套趣味表情,并对UI进行简化设计,去
02-21 / 55.0M
推荐理由:陌陌安卓版是类似于微信的一款基于真实地理位置的交友工具你可以通过陌陌认识周围的陌生人或者朋友,免费发
07-22 / 47.9M
推荐理由:大家都知道陌陌吧,现在西西软件园给大家提供一款电脑版本的陌陌哦。即使你没有智能手机,也能玩陌陌~您可以
10-12 / 21.8M
推荐理由:来往推出来也有一段时间了,西西一直在默默关注这款社交软件的发展,从推广的力度来看,来往这款软件毋庸置
07-19 / 24.6M
推荐理由:使用来往应用端轻松对好友分组,轻松与自己的小圈子分享有趣的时刻。在来往,不用担心你的妈妈会看到你与朋
01-23 / 23.3M
推荐理由:点点虫app是一款阅后即焚聊天应用,最大限度的保障了用户的个人隐私,你可以在此发泻心中的不满及各类情绪,
(13) 生活分享系列是由西西为大家整理,当前的各类软件都是服务于我们的生活,只是着重点不同,有聊天有美食有娱乐有旅行,西西特地为大家准备了一些日常生活中常用的小工具,相信能在平时的日常生活中用到,让我们能更好的品味生活。生活小妙招巧用牙膏若有小面积皮肤损伤或烧伤烫伤,抹上少许牙膏,可立即止血止痛,也可防止感染,疗效颇佳。巧除纱窗油腻可将洗衣粉吸烟剩下的烟头一起放在水里,待溶解后,拿来擦玻璃窗纱窗,效果均不...
02-14 / 37.8M
推荐理由:全新的手机QQ2017版正式发布。qq2017新版本在保留原有功能基础上,加入2套趣味表情,并对UI进行简化设计,去
02-24 / 30.7M
推荐理由:网易云音乐手机版上线半年之际,PC版也要和大家见面啦!网易云音乐是一款专注于发现与分享的音乐产品,网易云
01-29 / 22.4M
推荐理由:华少【中国好声音主持人】――只有在网易云音乐,我的身份才是音乐DJ,与你聊聊我心中的好声音。王东【著名
06-15 / 5.0M
推荐理由:知乎日报是知乎每日精选出一些全网最值得看的内容整合产物,知乎日报以独有的方式为你提供最高质、最深度、
01-22 / 11.4M
推荐理由:知乎最近貌似越来越活跃了,先是出了个知乎客户端现在又来个知乎日报,大概是想吸引更多的用户吧。用最热的
02-07 / 17.3M
推荐理由:网易公开课安卓版,全球知名院校的高级教授公开课,免费观看,最大最全的课程平台,国内外顶尖学府的海量名
(27) 中国最受欢迎榜单发布,西西第一时间为用户推出最受欢迎排行榜专区下载,在这里你可以下载到中国最受欢迎的,在整个市场,实际上仍旧是占领主导地位。中国最受欢迎榜单前分别是微信手机淘宝搜狗输入法浏览器支付宝钱包浏览器爱奇艺今日头条百度地图酷狗音乐大众点评滴滴出行等等。整个市场可以分成三大类第一类是移动社交移动出行手机地图移动购物等领域已经是大局已定。微信移动社交,以及快的滴滴手机地图手机淘宝移动商城等领域...
11-21 / 38.8M
推荐理由:基于Android平台的腾讯微信服务,带给您全新的移动即时通信体验。您可以使用微信软件快速地发送消息,即时拍
02-14 / 37.8M
推荐理由:全新的手机QQ2017版正式发布。qq2017新版本在保留原有功能基础上,加入2套趣味表情,并对UI进行简化设计,去
12-21 / 20.8M
推荐理由:Android智能手机在国内已经正在被越来越多的人所接受。作为智能平台第三方输入法必不可少,搜狗手机输入法持
02-23 / 18.0M
推荐理由:UC浏览器是一款全球领先的智能手机浏览器,拥有独创的U3内核和云端技术,完美地支持HTML5应用,具有智能、极
01-26 / 63.8M
推荐理由:淘宝Android手机客户端是淘宝网官方推出的提供给用户使用的手机购物软件,为用户提供快捷方便的手机购物新体
02-13 / 52.4M
推荐理由:支付宝钱包是支付宝针对手机推出的客户端软件,用户可通过它用手机登陆支付宝。只要在您的手机上安装了支付
(29) 西西软件园为用户带来后手机必备软件大全,最常用的手机下载,一次性搞定这些热门的社交软件和游戏,让你的生活更加精彩,下面看下部分软件介绍社交软件手机,手机移动版提供多媒体沟通服务,方便用户在移动设备上通过语音图片视频等方式轻松交流。致力于更完美的移动社交娱乐与生活体验乐在沟通年,聊天欢乐亿人微信,微信,数亿人使用,能通过手机网络给好友发送语音文字消息表情图片和视频,还可分享照片到朋友圈。通过摇一摇查...
02-14 / 37.8M
推荐理由:全新的手机QQ2017版正式发布。qq2017新版本在保留原有功能基础上,加入2套趣味表情,并对UI进行简化设计,去
01-23 / 38.7M
推荐理由:微信,可以群聊的手机对讲机。微信是腾讯公司推出的一个为智能手机提供即时通讯服务的免费应用程序。微信支
02-12 / 64.9M
推荐理由:新浪微博手机客户端是新浪出品的手机微博客户端软件,新浪微博集文字、图片、视频、音频、LBS于一身的全球化
08-02 / 316.6M
推荐理由:天天酷跑安卓版是一款绚丽的动作跑酷游戏。不同于传统的酷跑类游戏,天天酷跑中还拥有了多个炫酷的角色可供
02-13 / 50.9M
推荐理由:手机QQ音乐2016是一款安装在手机中的播放器软件,海量内容曲库任你点播,更有丰富的推荐榜单助您冲浪在流行
06-16 / 14.2M
推荐理由:奇艺又名爱奇艺,百度旗下的高清电影站,有许多最新最热的正版大片供免费观看,速度也非常的不错哦!西西带来最
(11) 每年年初腾讯都会发布当年最新版的,正是腾讯官方发布的正式版。虽然从版开始就不再以年号明明而是以版本,不过用户还是习惯的年号版本。最新版的因为刚刚发布肯定是有一些细节上的问题的,不过大家可以体验到新版的功能特性也是很不错的,如果你喜欢折腾可以来西西下载版,这里西西给大家提供了最新的电脑版下载及手机版下载。...
08-18 / 56.0M
推荐理由:QQ2014正式版5.1去广告版1.破解登陆限制2.破解会员体验限制3.破解宽度限制4.去除了多余广告5.去QQ安全中心破
02-14 / 37.8M
推荐理由:全新的手机QQ2017版正式发布。qq2017新版本在保留原有功能基础上,加入2套趣味表情,并对UI进行简化设计,去
12-02 / 46.5M
推荐理由:QQ轻聊版for windows是腾讯为pc端客户推出的一款精简版qq,用过手机qq轻聊版的用户对轻聊版应该都有个大概的
02-08 / 60.2M
推荐理由:qq2017最新版官方下载,QQ2017全新设计回归本源设计,让您的目光停留在您所关注的内容上,大大提升了沟通的
06-28 / 10.5M
推荐理由:QQ2014轻聊版是腾讯公司专为低性能手机打造的精简版QQ。保留核心聊天功能,超小安装包,省内存,聊天更畅快
02-14 / 52.4M
推荐理由:腾讯这次又爽约了,说好的QQ2014呢,好吧,今晚,终于迎来了传说中的QQ2014,腾讯推送了一个QQ5.0的首个体验
05-3101-2201-2101-2101-2101-2101-2101-1701-1701-12
阅读本文后您有什么感想? 已有23人给出评价!
名称大小下载Android贝塞尔动画实现QQ,虎牙等平台点赞效果
此效果模仿qq附近人,以及各直播平台的点赞效果.
属性动画(一开始底部的放大渐变效果)+贝塞尔曲线(上飘过程的弯曲路线)+估值器+插补器(加速减速)
属性动画大家都熟悉,过多介绍不再多说.下面我们主要介绍少贝塞尔曲线和估值器以及插补器的简单使用(由于本人也是初学阶段,如有错误欢迎指正).
首先我们得做一些知识的了解:如已了解贝塞尔曲线以及插补器,估值器等请跳过此干燥无味段落,直接看下面的代码逻辑思路分析.
何为贝塞尔曲线?
贝塞尔曲线
贝塞尔曲线(Bézier curve),又称曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由与组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔,如PhotoShop等。在Flash4中还没有完整的曲线工具,而在Flash5里面已经提供出贝塞尔曲线工具。
贝 塞尔曲线于1962,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Paul de Casteljau于1959年运用de Casteljau演算法开发,以稳定数值的方法求出贝兹曲线。
由于用计算机大部分时间是操作鼠标来掌握线条的路径,与的感觉和效果有很大的差别。即使是一位精明的画师能轻松绘出各种图形,拿到鼠标想随心所欲的画图也不是一件容易的事。这一点是计算机万万不能代替手工的工作,所以到目前为止人们只能颇感无奈。使用画图很大程度上弥补了这一缺憾。
贝塞尔曲线
贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。它通过控制曲线上的四个点(起始点、终止点以及两个相互分 离的中间点)来创造、编辑图形。其中起重要作用的是位于曲线中央的控制线。这条线是虚拟的,中间与贝塞尔曲线交叉,两端是控制端点。移动两端的端点时贝塞 尔曲线改变曲线的曲率(弯曲的程度);移动中间点(也就是移动虚拟的控制线)时,贝塞尔曲线在起始点和终止点锁定的情况下做均匀移动。注意,贝塞尔曲线上 的所有控制点、均可编辑。这种“智能化”的矢量线条为艺术家提供了一种理想的图形编辑与创造的工具。
给定点P0、P1,线性贝兹曲线只是一条两点之间的直线。这条线由下式给出:
且其等同于线性插值。
二次方公式
二次方贝兹曲线的路径由给定点P0、P1、P2的函数B(t)追踪:
TrueType字型就运用了以贝兹样条组成的二次贝兹曲线。
三次方公式
P0、P1、P2、P3四个点在平面或在三维空间中定义了三次方贝兹曲线。曲线起始于P0走向P1,并从P2的方向来到P3。一般不会经过P1或P2;这两个点只是在那里提供方向资讯。P0和P1之间的间距,决定了曲线在转而趋进P3之前,走向P2方向的“长度有多长”。
曲线的参数形式为:
现代的成象系统,如PostScript、Asymptote和Metafont,运用了以贝兹样条组成的三次贝兹曲线,用来描绘曲线轮廓。
一般参数公式
阶贝兹曲线可如下推断。给定点P0、P1、…、Pn,其贝兹曲线即:
如上公式可如下递归表达: 用表示由点P0、P1、…、Pn所决定的贝兹曲线。
用平常话来说,阶的贝兹曲线,即双阶贝兹曲线之间的插值。
1.开始于P0并结束于Pn的曲线,即所谓的端点插值法属性。
2.曲线是直线的充分必要条件是所有的控制点都位在曲线上。同样的,贝塞尔曲线是直线的充分必要条件是控制点共线。
3.曲线的起始点(结束点)相切于贝塞尔多边形的第一节(最后一节)。
4.一条曲线可在任意点切割成两条或任意多条子曲线,每一条子曲线仍是贝塞尔曲线。
5.一些看似简单的曲线(如圆)无法以贝塞尔曲线精确的描述,或分段成贝塞尔曲线(虽然当每个内部控制点对单位圆上的外部控制点水平或垂直的的距离为时,分成四段的贝兹曲线,可以小于千分之一的最大半径误差近似于圆)。
6.位于固定偏移量的曲线(来自给定的贝塞尔曲线),又称作偏移曲线(假平行于原来的曲线,如两条铁轨之间的偏移)无法以贝兹曲线精确的形成(某些琐屑实例除外)。无论如何,现存的启发法通常可为实际用途中给出近似值。
装逼走一波儿~哭晕...
这是神马.咳咳~~
这一堆东西,我们用到的也就一个公式,建议了解一下请自行百度....
生成我们所给点的坐标使用,额....
只是这么说很难理解,一会儿直接看代码.
插补器的原理就是通过改变实际执行动画的时间点,提前/延迟执行默认的时间点来达到加速/减速的效果。(所以,有些朋友可能想通过它来实现一些特定的轨 迹,这并不能达到目的。至少目前的api是不支持的。最多通过设置负时间/大于1的时间比,来使控件按设定的动画轨迹反方向/超出改变一点轨迹。)
在Interpolator的实现类里面,都实现了一个float getInterpolator(float input)的方法。传入参数是正常执行动画的时间点,返回值是用户真正想要它执行的时间点。传入参数是0~1,返回值一般也是0~1。(0~1)表示整 段动画的过程。中间的0.2、0.3等小数表示在整个动画(原本是匀速的)中的位置,其实就是一个比值。如果返回值是负数,会沿着相反的方向执行。(如果 是alpha值,返回负数会有点问题,因为alpha值比较特殊,本身只能是0~1,并不是一个循环的周期,如果取了负值,这就很难确定了,要看
android是怎么计算alpha值的。)如果返回的是大于1,会超出正方向执行。同样,如果是alpha值,也存在不确定的效果。
其实呢,说白了就就是当要执行input的时间时,给它另外一个时间,让系统执行另外一个时间的效果。已达到改变效果.
在插补器里面的方法呢是这样的:
public float getInterpolation(float input) {
if (mFactor == 1.0f) {
return input *
return (float)Math.pow(input, mDoubleFactor);
mFactor其实一直都是1,因为配置文件并没有提供设置其它值的入口,默认会是1。mDoubleFactor是2,由此可见,这个方法其实就 是个x^2的曲线。当input=0.3时,返回值=0.09,假如这个动画的总时长是1秒,也就是说,在0.3秒的时候只是执行0.09秒时候的效果。 这样说可能还有点难理解。
其实这个速度和x^2这条抛物线的斜率的变化是有关的,和斜率的变化率是正比关系。比如,上面这个加速插补器的曲线就如下图:
红色的那条是正常的时间-实际时间变化曲线:g(x)=x;实际时间是按照正常时间匀速变化的,斜率是常数1.而抛物线在[0,1]时,斜率先是0,再慢 慢增加的。也就是在0时,执行的时间是0,在0.1时,执行的时间(位置)依然是接近于0的时间点(执行的位置)。执行的时间一直比正常该执行的时间点 迟。但是执行的时间变化的增量也一直在变,而且越变越快,也就是斜率一直在变大,这导致了感官上看到了一个加速的过程。它起步的速度是一样的,但是它把原 本该执行的时间提前执行/或者推迟执行,由此产生速度不一致。
另附系统提供的其它几个插补器的曲线图:
1.AccelerateDecelerateInterpolator 加速减速插补器
取值是[0,1],可见,从原点开始,斜率是0,先圆滑地慢慢增大,再慢慢减小,最后返回值还是1。这就是一个先加速再减速的效果。而且整个过程是平滑变化的。这也是数学的奥妙啊。
2.DecelerateInterpolator 减速插补器
明显,虽然斜率一直是大过正常值(因为开始时执行较快,后来才慢慢回归正常时间,但直到最后一刻才回到),但斜率一直在减小,是一个减速的过程。
3.AnticipateInterpolator 向前插补器
这是一条符合g(x)=3x^3-2x^2的曲线。前面2/3秒之前(假设整个过程是1秒),返回值是负数。如果这是一个直线运动的动画,这段时间会向设 定的相反的方向运动一点,而且速度显得稍缓(反方向先加速再减速)。这之后以一个较快速度跑到终点(大概0.7秒时会回到原点)。
4.AnticipateOvershootInterpolator 向前向后插补器
这是3条曲线合并起来的图,我们只需要较深色的那条x轴上[0,0.5)和稍浅那条[0.5,1]这两段就可以。可以看到,前面一点时间有一段负数的返回值,而后面有一段大于1的返回值,这就有了向前向后的效果。
5.OvershootInterpolator 超出插补器
一堆废话走完下面我们开始整理思路撸码!!!!
简单思路分析:
要想实现上面效果,首先我们得搞一个自定义控件来做.这个自定义控件简单点就是一个ViewGroup,我们不断的向里面添加view,然后让view执行我们写好的动画.当然这中间需要考虑view的释放.
附上分析图:
我们的这个自定义控件选择组合式自定义控件:
1.首先我们的自定义ViewGroup继承RelativeLayout
2.暴露一个addView方法,以方便适用添加view进来.在此方法中我们将view添加到当前的ViewGroup中,并且给view设置动画.
@SuppressLint("NewApi")
public void addBezierView() {
ImageView view = new ImageView(getContext());
int nextInt = mRandom.nextInt(loves.length - 1);
view.setImageDrawable(loves[nextInt]);
mParams.addRule(CENTER_IN_PARENT);
mParams.addRule(ALIGN_PARENT_BOTTOM);
view.setLayoutParams(mParams);
addView(view);
AnimatorSet matorSet = getAnimatorSet(view);
matorSet.setInterpolator(interpolators[mRandom.nextInt(interpolators.length-1)]);
matorSet.start();
3.我们需要一个动画集合AnimatorSet来定义我们的动画,让view执行.用于代码有点多为了方便我们把获取AnimatorSet封装到一个getAnimatorSet(view)方法中,此方法返回一个AnimatorSet.
@SuppressLint("NewApi")
private AnimatorSet getAnimatorSet(final ImageView view) {
AnimatorSet set = new AnimatorSet();
ObjectAnimator trax = ObjectAnimator.ofFloat(view, "scaleX", 0.4f, 1f);
ObjectAnimator tray = ObjectAnimator.ofFloat(view, "scaleY", 0.4f, 1f);
ObjectAnimator alpha = ObjectAnimator.ofFloat(view, "alpha", 0.4f, 1f);
AnimatorSet enterSet = new AnimatorSet();
enterSet.setDuration(mPDuration);
enterSet.playTogether(trax, tray, alpha);
ValueAnimator bezierAnimator = getBezierAnimator(view);
set.playSequentially(enterSet, bezierAnimator);
set.setTarget(view);
set.addListener(new AnimatorListenerAdapter() {
public void onAnimationEnd(Animator animation) {
removeView(view);
super.onAnimationEnd(animation);
4.步骤3中我们需要一个贝塞尔动画,封装为方法getBezierAnimator(view)获取一个ValueAnimator对象.getBezierAnimator(view)方法具体实现如下.
@SuppressLint("NewApi")
private ValueAnimator getBezierAnimator(final ImageView view) {
PointF pointF0 = new PointF((cWidth - mWidth) / 2, cHeight - mHeight);
PointF pointF1 = getTogglePointF(1);
PointF pointF2 = getTogglePointF(2);
PointF pointF3 = new PointF(mRandom.nextInt(cWidth), 0);
BezierEvaluator bezierEvaluator = new BezierEvaluator(pointF1, pointF2);
ValueAnimator valueAnimator = ValueAnimator.ofObject(bezierEvaluator,
pointF0, pointF3);
valueAnimator.setDuration(mBDuration);
valueAnimator.addUpdateListener(new AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
PointF pointF = (PointF) animation.getAnimatedValue();
view.setX(pointF.x);
view.setY(pointF.y);
view.setAlpha(1 - animation.getAnimatedFraction());
return valueA
private PointF getTogglePointF(int i) {
PointF pointF = new PointF();
pointF.x = mRandom.nextInt(cWidth);
float nextFloat = mRandom.nextFloat();
float nextFloat2 = mRandom.nextFloat();
if (nextFloat & 0.5)
nextFloat /= 2;
if (nextFloat2 & 0.5)
nextFloat2 /= 0.5;
if (i == 1) {
pointF.y = (float) (cHeight * nextFloat);
} else if (i == 2) {
pointF.y = (float) ((cHeight - mHeight )* nextFloat2);
return pointF;
其中我们用到了一个估值器,bezierEvaluator
,具体实现:
public class BezierEvaluator implements TypeEvaluator&PointF& {
private PointF pointF1;
private PointF pointF2;
public BezierEvaluator(PointF pointF1, PointF pointF2) {
this.pointF1 = pointF1;
this.pointF2 = pointF2;
public PointF evaluate(float fraction, PointF pointF0, PointF pointF3) {
PointF pointF = new PointF();
pointF.x = (float) ((pointF0.x * (Math.pow((1 - fraction), 3))) + 3
* pointF1.x * fraction * (Math.pow((1 - fraction), 2)) + 3
* pointF2.x * (Math.pow(fraction, 2) * (1 - fraction)) + pointF3.x
* (Math.pow(fraction, 3)));
pointF.y = (float) ((pointF0.y * (Math.pow((1 - fraction), 3))) + 3
* pointF1.y * fraction * (Math.pow((1 - fraction), 2)) + 3
* pointF2.y * (Math.pow(fraction, 2) * (1 - fraction)) + pointF3.y
* (Math.pow(fraction, 3)));
return pointF;
上述实现效果,只是提供实现方式参考,可以根据此方法实现自己所需要的效果.
没有更多推荐了,

我要回帖

更多关于 点赞的动画效果 的文章

 

随机推荐