一种弹跳加载效果的实现方法技术

技术编号:19820797 阅读:19 留言:0更新日期:2018-12-19 14:21
本发明专利技术涉及一种弹跳加载效果的实现方法,包括如下步骤:定义控件LodingBounceView,在控件中:在构造方法里加载实际运动的控件view,为控件LoadingBouncePath,设置弹跳的高度,初始化运动动画,在start()方法中执行动画;定义控件LoadingBouncePath,在控件中:在构造方法中定义绘制用的画笔paint对象,定义变化参数初始值为runParam=‑1,和不同形状图案之间的标记位初始值,在onDraw回调中,根据runParam的不同值来进行不同图案的绘制。本发明专利技术,图案模拟上下弹跳效果,且弹跳中图案不断变化形状、颜色等,分散用户的关注度,效果酷炫、体验好,系统资源消耗少,提升App开发效率,可作为标准模块加载到各种项目中,作为加载页使用。

【技术实现步骤摘要】
一种弹跳加载效果的实现方法
本专利技术涉及交互动画效果设计
,具体说是一种弹跳加载效果的实现方法。
技术介绍
现有的App,由于各种原因,在启动时、运行中均会出现等待加载的情况。例如:大多数App都要与服务器进行数据交换,App向服务器发出交互请求,服务器则解析、处理请求后,再向App返回相应数据,App接收数据并进行后续处理,例如:进一步的计算、验证或显示等等,如果没有接收到数据则提示出错信息。在这个数据交换过程中,由于网络原因,需要花费一定时间,也就是说用户要等待加载完成,这个时候就会出现等待加载的情况。因此会涉及到loading加载机制,该机制用于告诉用户,正在加载数据中,您等待,以便减弱用户的等待焦虑。再例如:前端框架开发,和后台查数据的语法不成熟,或导致页面加载速度过慢,需要用loading效果来过渡。又例如:根据loading加载机制的使用时间不同,可大致划分为启动加载页、内容加载页、下载应用加载页三大类。加载页不仅可以缩短实际的等待时间,弥补技术、网络等基础因素的缺陷,同时也承担着产品追求极致体验的重任。是用户体验三要素之。loading加载机制中,交互动画效果设计是缓解用户的等待焦虑,提升用户体验的方式之一,对交互动画效果进行优化有助于提升用户体验。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种弹跳加载效果的实现方法,图案模拟上下弹跳效果,且弹跳中图案不断变化形状、颜色等,分散用户的关注度,效果酷炫、体验好,系统资源消耗少,提升App开发效率,可作为标准模块加载到各种项目中,作为加载页使用。为达到以上目的,本专利技术采取的技术方案是:一种弹跳加载效果的实现方法,其特征在于,包括如下步骤:定义控件LodingBounceView,继承android系统提供的线性控件LinearLayout,在该控件中:在构造方法里加载实际运动的控件view,这是一个自定义控件LoadingBouncePath,继承android系统提供的view控件,设置弹跳的高度dropHeight,初始化运动动画,在start()方法中,开始执行动画;定义绘图控件LoadingBouncePath,继承android系统提供的View控件,在该控件中:在构造方法中定义绘制用的画笔paint对象,用来绘制各种图案,定义了变化参数初始值为runParam=-1,和不同形状图案之间的标记位初始值,在onDraw回调中,根据runParam的不同值来进行不同图案的绘制。在上述技术方案的基础上,每次通过递增或递减50dp来计算出对应的像素值dropHeight。在上述技术方案的基础上,所述初始化运动动画,具体包括:创建若干下跌的动画dropSet,dropSet1,dropSet2,dropSet3,dropVA(0,dropHeight),且设置加速下跌的插值器,定义一个动画列表aList1,创建一个旋转的动画rolation90,且设置减速的插值器,创建上升的动画riseSet1,上升高度为dropHeight,且设置减速的插值器,调用aList1.playTogether(riseSet1,rolation90),实现同时执行上升动画riseSet1和旋转动画rolation90,设置了同样的时间间隔duration;定义一个动画列表aList2,创建一个旋转的动画rolation120,且设置减速的插值器,创建上升的动画riseSet2,上升高度为dropHeight,且设置减速的插值器,调用aList2.playTogether(riseSet2,rolation120),实现同时执行上升动画riseSet1和旋转动画rolation90,设置了同样的时间间隔duration;定义一个动画列表aList3,创建一个旋转的动画rolation180,且设置减速的插值器,创建上升的动画riseSet3,上升高度为dropHeight,且设置减速的插值器,调用aList3.playTogether(riseSet3,rolation180),实现同时执行上升动画riseSet1和旋转动画rolation90,设置了同样的时间间隔duration。在上述技术方案的基础上,所述在start()方法中,开始执行动画,具体步骤为:首先,调用aList1.start()及view.start(),开始执行aList1动画列表,然后,执行dropSet1下跌动画,然后,开始执行aList2动画列表,然后,执行dropSet2下跌动画,然后,开始执行aList3动画列表,然后,执行dropSet3下跌动画,然后,根据是否继续执行动画的标记play来判断是否继续执行上升动画集合aList1,还是停止动画。在上述技术方案的基础上,动画集合列表aList1添加了动画完成的监听器,View调用start()后,在每次执行动画时,runParam的值加一,根据runParam不同的值,调用invalidate()方法刷新界面,进入onDraw()回调中开始执行图案绘制和图案变形。在上述技术方案的基础上,为画笔paint对象定义了颜色变化的属性动画colorVA,ValueAnimator.ofInt(0,255)设置了变化值是从0到255,设置了匀速变化的插值器,颜色变化是均匀变化的。在上述技术方案的基础上,所述不同形状图案之间的标记位初始值,默认为:ST,表示从正方形变为三角形,TC,表示从三角形变为圆形,CS,表示从圆形变为正方形。本专利技术所述的弹跳加载效果的实现方法,图案模拟上下弹跳效果,且弹跳中图案不断变化形状、颜色等,分散用户的关注度,效果酷炫、体验好,系统资源消耗少,提升App开发效率,可作为标准模块加载到各种项目中,作为加载页使用(等待加载界面)。附图说明本专利技术有如下附图:图1本专利技术的流程图。具体实施方式以下结合附图对本专利技术作进一步详细说明。如图1所示,本专利技术所述的弹跳加载效果的实现方法,包括如下步骤:定义控件LodingBounceView,继承android系统提供的线性控件LinearLayout,在该控件中:在构造方法里加载实际运动的控件view,这是一个自定义控件LoadingBouncePath,继承android系统提供的view控件,设置弹跳的高度dropHeight,初始化运动动画,在start()方法中,开始执行动画;定义绘图控件LoadingBouncePath,继承android系统提供的View控件,在该控件中:在构造方法中定义绘制用的画笔paint对象,用来绘制各种图案,定义了变化参数初始值为runParam=-1,和不同形状图案之间的标记位初始值,在onDraw回调中,根据runParam的不同值来进行不同图案的绘制。在上述技术方案的基础上,每次通过递增或递减50dp来计算出对应的像素值dropHeight。在上述技术方案的基础上,所述初始化运动动画,具体包括:创建若干下跌的动画dropSet,dropSet1,dropSet2,dropSet3,dropVA(0,dropHeight),且设置加速下跌的插值器,定义一个动画列表aList1,创建一个旋转的动画rolation本文档来自技高网...

【技术保护点】
1.一种弹跳加载效果的实现方法,其特征在于,包括如下步骤:定义控件LodingBounceView,继承android系统提供的线性控件LinearLayout,在该控件中:在构造方法里加载实际运动的控件view,这是一个自定义控件LoadingBouncePath,继承android系统提供的view控件,设置弹跳的高度dropHeight,初始化运动动画,在start()方法中,开始执行动画;定义绘图控件LoadingBouncePath,继承android系统提供的View控件,在该控件中:在构造方法中定义绘制用的画笔paint对象,用来绘制各种图案,定义了变化参数初始值为runParam=‑1,和不同形状图案之间的标记位初始值,在onDraw回调中,根据runParam的不同值来进行不同图案的绘制。

【技术特征摘要】
1.一种弹跳加载效果的实现方法,其特征在于,包括如下步骤:定义控件LodingBounceView,继承android系统提供的线性控件LinearLayout,在该控件中:在构造方法里加载实际运动的控件view,这是一个自定义控件LoadingBouncePath,继承android系统提供的view控件,设置弹跳的高度dropHeight,初始化运动动画,在start()方法中,开始执行动画;定义绘图控件LoadingBouncePath,继承android系统提供的View控件,在该控件中:在构造方法中定义绘制用的画笔paint对象,用来绘制各种图案,定义了变化参数初始值为runParam=-1,和不同形状图案之间的标记位初始值,在onDraw回调中,根据runParam的不同值来进行不同图案的绘制。2.如权利要求1所述的弹跳加载效果的实现方法,其特征在于:每次通过递增或递减50dp来计算出对应的像素值dropHeight。3.如权利要求2所述的弹跳加载效果的实现方法,其特征在于:所述初始化运动动画,具体包括:创建若干下跌的动画dropSet,dropSet1,dropSet2,dropSet3,dropVA(0,dropHeight),且设置加速下跌的插值器,定义一个动画列表aList1,创建一个旋转的动画rolation90,且设置减速的插值器,创建上升的动画riseSet1,上升高度为dropHeight,且设置减速的插值器,调用aList1.playTogether(riseSet1,rolation90),实现同时执行上升动画riseSet1和旋转动画rolation90,设置了同样的时间间隔duration;定义一个动画列表aList2,创建一个旋转的动画rolation120,且设置减速的插值器,创建上升的动画riseSet2,上升高度为dropHeight,且设置减速的插值器,调用aList2.playTogether(riseSet2,rolation1...

【专利技术属性】
技术研发人员:孙征
申请(专利权)人:北京酷我科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1