[发明专利]一种基于安卓系统的文本渐变方法和系统在审
申请号: | 201611129941.0 | 申请日: | 2016-12-09 |
公开(公告)号: | CN106648639A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 刘一琛 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙)42225 | 代理人: | 彭程程 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 系统 文本 渐变 方法 | ||
技术领域
本发明涉及安卓开发领域,具体涉及一种基于安卓系统的文本渐变方法和系统。
背景技术
在Android开发过程中,经常会有一些增加应用交互效果的需求,比如增加一些动画,或高亮显示等。这些应用交互效果基本都是动画交互效果,但是针对文本的交互效果却很少。
文字颜色的渐变是深受用户喜爱的文本的交互效果,但是却难以通过代码设置达到文本渐变的效果。通常来说,现有技术通过开启一个定时器对象,设置好数值后每隔一段时间调用一次。但是使用该方法需要计算每次颜色的变化数值,并且还需要将定时器的消息传递到UI线程中执行。
还有一种实现文字渐变的方法是创建两个文本控件(TextView),一个文本控件覆盖在另一个上,上面的文本控件为开始的文本颜色,被覆盖的为目标颜色,当需要渐变时,上面的文本控件执行淡出动画,下面的文本控件执行淡入动画,从而达到文本颜色的渐变。但是当上面的文本开始透明时,其显示的颜色其实是上面的颜色和被覆盖文本颜色的叠加,导致文本的颜色不自然。并且该方案额外创建了一个文本控件,会浪费系统资源,也多了一个需要维护状态的对象。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种渐变视觉效果好,节约系统资源的基于安卓系统的文本渐变方法和系统。
为达到以上目的,本发明采取的技术方案是:一种基于安卓系统的文本渐变方法,创建一个ValueAnimator对象,其中ValueAnimator对象的参数包括初始值、目标值和执行时间,将文本控件的初始颜色设为初始值,将需要变化的颜色值设为目标值,设定由初始值变化到目标值的执行时间,添加一监听器获取ValueAnimator对象计算的当前颜色数值,并将当前颜色数值赋予文本控件。
在上述技术方案的基础上,通过调用ValueAnimator对象的addUpdateListener方法添加所述监听器,并使用getAnimatedValue方法获取当前颜色数值。
在上述技术方案的基础上,所述文本渐变方法还包括处理变化量冲突的步骤,其包括:
定义一个中间对象,所述中间对象用来存储当前颜色数值,若当前的ValueAnimator对象执行过程中用户再次发起文本渐变,则关闭当前的ValueAnimator对象并创建新的ValueAnimator对象,将当前颜色数值设为新的ValueAnimator的初始值。
在上述技术方案的基础上,若ValueAnimator对象为不为null,则判断该ValueAnimator对象在执行过程中。
在上述技术方案的基础上,所述文本渐变方法还包括添加插值器,所述插值器用于使用三角函数定义执行时间和当前颜色数值之间的关系。
在上述技术方案的基础上,所述插值器的公式为:Y=Math.sin(2/Math.PI*x),其中x是当前插值器的单位时间,Y表示当前颜色数值,Math.sin表示三角函数的sin函数,Math.PI表示圆周率数值。
在上述技术方案的基础上,使用16进制表示颜色数值。
本发明还提高一种基于安卓系统的文本渐变系统,包括:
对象创建模块,所述对象创建模块用于创建一个ValueAnimator对象,其中ValueAnimator对象的参数包括初始值、目标值和执行时间,将文本控件的初始颜色设为初始值,将需要变化的颜色值设为目标值,设定由初始值变化到目标值的执行时间;
监听模块,所述监听模块用于获取ValueAnimator对象计算的当前颜色数值,并将当前颜色数值赋予文本控件。
在上述技术方案的基础上,所述系统还包括冲突处理模块,所述冲突处理模块用于定义一个中间对象,所述中间对象用来存储当前颜色数值,若当前的ValueAnimator对象执行过程中用户再次发起文本渐变,则关闭当前的ValueAnimator对象并创建新的ValueAnimator对象,并将当前颜色数值设为新的ValueAnimator的初始值。
在上述技术方案的基础上,所述系统还包括插值模块,所述插值模块用于使用三角函数定义执行时间和当前颜色数值之间的关系。
与现有技术相比,本发明的优点在于:
1、本发明的通过创建ValueAnimator对象并将ValueAnimator对象与文本控件相关联的方式完成文本的渐变,不需要重复的调用定时器对象,也不需要额外创建文本控件,并且渐变视觉效果自然。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611129941.0/2.html,转载请声明来源钻瓜专利网。