CN108986187A - 一种通用动画的实现方法、装置、存储介质及安卓终端 - Google Patents
一种通用动画的实现方法、装置、存储介质及安卓终端 Download PDFInfo
- Publication number
- CN108986187A CN108986187A CN201810707208.5A CN201810707208A CN108986187A CN 108986187 A CN108986187 A CN 108986187A CN 201810707208 A CN201810707208 A CN 201810707208A CN 108986187 A CN108986187 A CN 108986187A
- Authority
- CN
- China
- Prior art keywords
- animation
- function
- parameters
- parameter
- types
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例公开了一种通用动画的实现方法、装置、存储介质及安卓终端。该方法包括:以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;通过调用动画开始函数,根据所述动画参数和所述动画的执行周期,执行动画效果。通过采用本申请所提供的技术方案,可以简化动画效果的动画逻辑,无需通过编写大量的代码来构建动画逻辑,从而实现简化动画效果进行设计、更新以及重做过程的效果。
Description
技术领域
本发明实施例涉及动画实现技术领域,尤其涉及一种通用动画的实现方法、装置、存储介质及安卓终端。
背景技术
在Android软件的开发过程中通常都会使用到动画效果的设计,然而,在Android软件的开发过程中动画效果的开发使用流程非常复杂,并且在动画的设计和开展过程中需要经过很多步骤才能实施动画效果的实现,也就是说传统方案中为了实现动画效果会花费大量的人力和物力成本,从而导致开发效率低下。
现有技术是通过使用Android系统中提供的动画类API(ApplicationProgramming Interface,应用程序编程接口)来直接构建整个动画逻辑,不仅这种构建流程非常复杂,而且,这种方案针对不同的动画的实现所构建的动画逻辑存在大量雷同的业务代码,这就导致现有技术中对动画效果进行设计、更新以及重做都会比较繁琐。
发明内容
本发明实施例提供一种通用动画的实现方法、装置、存储介质及安卓终端,可以简化动画效果的动画逻辑,无需通过编写大量的代码来构建动画逻辑,从而实现简化动画效果进行设计、更新以及重做过程的效果。
第一方面,本发明实施例提供了一种通用动画的实现方法,该方法包括:
以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;
通过调用动画开始函数,根据所述动画参数和所述动画的执行周期,执行动画效果。
进一步的,在通过调用所述预设动画类型对象中的动画周期函数设置动画的执行周期之后,所述方法还包括:
通过所述预设动画类型对象中的动画监听函数监听动画流程。
进一步的,所述监听动画流程,包括:
从动画状态反馈接口得到的动画状态反馈数据确定动画的当前执行状态;所述动画的当前执行状态包括:动画开始状态、动画更新状态以及动画结束状态;
其中,所述动画更新状态由通过进度读取函数读取到的进度状态信息确定。
进一步的,所述AnimType类为公有访问类型的枚举类型。
进一步的,通过所述AnimType类确定枚举类型对象时进行特定赋值操作;通过获取动画接口传递的特定字符串类型的动画参数信息;根据所述动画参数信息与所述特定赋值的映射关系确定动画类型信息。
进一步的,所述动画开始函数为公有访问类型的静态函数;
所述动画开始函数的参数包括:动画视图参数、动画类型参数、动画开始位置参数、动画结束位置参数以及执行周期参数;
所述动画开始函数的参数还包括:动画监听器,用于监听所述动画的执行状态信息。
第二方面,本发明实施例还提供了一种通用动画的实现装置,该装置包括:
参数定义模块,用于以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;
动画执行模块,用于通过调用动画开始函数,根据所述动画参数和所述动画的执行周期,执行动画效果。
进一步的,所述装置还包括:监听模块,用于通过所述预设动画类型对象中的动画监听函数监听动画流程。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的通用动画的实现方法。
第四方面,本申请实施例提供了一种安卓终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的通用动画的实现方法。
本申请实施例所提供的技术方案,通过以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;通过调用动画开始函数,根据所述动画参数和所述动画的执行周期,执行动画效果。通过采用本申请所提供的技术方案,可以简化动画效果的动画逻辑,无需通过编写大量的代码来构建动画逻辑,从而实现简化动画效果进行设计、更新以及重做过程的效果。
附图说明
图1是本发明实施例一提供的通用动画的实现方法的流程图;
图2是本发明实施例三提供的通用动画的实现装置的结构示意图;
图3为本申请实施例提供的一种安卓终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的通用动画的实现方法的流程图,本实施例可适用通过安卓系统实现通用的属性动画的情况,该方法可以由本发明实施例所提供的通用动画的实现装置来执行,该装置可以由软件和/或硬件的方式来实现,并可集成于安卓终端中。
如图1所示,所述通用动画的实现方法包括:
S110、以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数setDuration设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置。
其中,对于属性动画来说,动画参数包括动画视图、动画类型、动画开始位置以及动画结束位置。其中动画视图是移动或者简便的视图,动画类型包括移动类型、缩放类型、旋转类型以及透明度变化类型。其中,上述这些类型都是安卓系统中属性动画的通用动画类型,可以在安卓系统中直接对其进行使用。
在本实施例中,可选的,所述AnimType类为公有访问类型的枚举类型。这样设置的好处是可以根据固定的几种动画类型进行枚举列出,设置成共有类型可以是其他对象能够具有对该枚举类型进行访问权限。
在本实施例中,可选的,通过所述AnimType类确定枚举类型对象时进行特定赋值操作;通过获取动画接口传递的特定字符串类型的动画参数信息;根据所述动画参数信息与所述特定赋值的映射关系确定动画类型信息。其中,由于动画类型采用了枚举类型,可以通过接口传递的“0001”或者“0100”来确定相应的动画类型为透明度变化类型或者为缩放类型。这样设置的好处是可以构建了一个唯一枚举类型描述与一个字符串类型的字符串之间形成映射关系,只要通过这个字符串就是系统动画参数中所需的动画类型参数信息。通过这种映射关系的构建开发人员可以方便的通过枚举的获取来直接获取到具体的参数动画参数信息了。
在本实施例中,具体可以采用如下方式进行设计:
在Android中动画总共只支持4种类型的动画,分别是位移动画Translate、缩放动画Scale、旋转动画Rotate和透明度动画Alpha。
为了区分动画的唯一性,在设计AnimType类的时候使用了枚举enum来对其进行描述和说明,具体的设计如下所示:
AnimType类的定义如下所示:
将枚举类型AnimType设计为一个public公有类型,这样其他对象就能够具有对该枚举类型进行访问权限。
在设计枚举对象类型的时候对枚举值进行了特殊的赋值操作,分别是位移动画类型Translate类型赋值为translate、缩放动画类型Scale类型赋值为scale、旋转动画类型Rotate类型赋值为rotate和透明度动画类型Alpha赋值为alpha。
这个赋值是有意义的并非随意赋值的,因为在调用Android系统的动画API(Application Programming Interface,应用程序编程接口)的时候是需要传递一个特定的String类型的动画参数信息,在设计该枚举类型的时候就对枚举值进行初始化成对应的Android系统所需的动画参数信息。
以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数设置动画的执行周期。
在确定动画视图、起点位置、终点位置以及动画类型之后,接下来需要确定动画的执行周期,这样才能够完成动画参数的确定,才能够对动画按照执行周期进行播放。否则就是一个定义不完整的动画信息。具体的,设置动画的执行周期,可以是通过调用mObjectAnimator对象中的mObjectAnimator.setDuration(duration);方法来对mObjectAnimator动画对象设置一个动画执行的动画周期。
本步骤旨在动画开始前,对所有动画所需要的格式都定义好,当开发人员需要设计一个动画时,只需要输入相应的参数就可以实现动画效果的展示,方法简便快捷,无需开发人员再对需要设计的动画进行单独的编码,省去冗杂的编程程序。
S120、通过调用动画开始函数startAnim,根据所述动画参数和所述动画的执行周期,执行动画效果。
其中,动画开始函数,需要相应的参数都可以从上一步骤中调取,在得到相应的动画参数和所述动画的执行周期之后,就可以执行该动画。
具体的,可以通过如下步骤实现:
动画的过程实现细节和实现方法。
首先需要构建一个ObjectAnimator类型对象,ObjectAnimator对象是Android系统中提供的一个属性动画对象。具体的构建方法是通过调用ObjectAnimatormObjectAnimator=ObjectAnimator.ofFloat(view,animType,fromPos,toPos);
mObjectAnimator对象是通过调用系统中ObjectAnimator中的一个静态方法ofFloat来进行实例化的,ofFloat方法中封装了视图view、animType、fromPos、toPos参数信息。
接下来需要设置动画的执行周期,具体是通过调用mObjectAnimator对象中的mObjectAnimator.setDuration(duration);方法来对mObjectAnimator动画对象设置一个动画执行的动画周期。
然后调用mObjectAnimator对象中的mObjectAnimator.start()方法来实现最终的动画执行流程,这样就完成了整个动画的执行设计。
本申请实施例所提供的技术方案,通过以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;通过调用动画开始函数,根据所述动画参数和所述动画的执行周期,执行动画效果。通过采用本申请所提供的技术方案,可以简化动画效果的动画逻辑,无需通过编写大量的代码来构建动画逻辑,从而实现简化动画效果进行设计、更新以及重做过程的效果。
在上述技术方案的基础上,可选的,在通过调用所述预设动画类型对象中的动画周期函数设置动画的执行周期之后,所述方法还包括:通过所述预设动画类型对象中的动画监听函数监听动画流程。这样设置的好处是可以让调用者随时可以得知当前的动画状态。
在上述技术方案的基础上,可选的,所述监听动画流程,包括:从动画状态反馈接口得到的动画状态反馈数据确定动画的当前执行状态;所述动画的当前执行状态包括:动画开始状态、动画更新状态以及动画结束状态;其中,所述动画更新状态由通过进度读取函数读取到的进度状态信息确定。其中,对动画开始状态、动画更新状态以及动画结束状态三种状态进行区分的好处是可以在得知相应的信息之后,快速的确定当前动画所处的状态。如,可以通过“00”表示动画未开始,“01”表示动画开始,“10”表示动画正在执行过程中,“11”表示动画已经结束。并且在动画执行过程中,可以通过进度读取函数得到整形的数据来确定当前动画的执行情况,如可以用1-99来表示动画当前正执行到总周期的1%-99%。
具体的,可以通过如下步骤实现:
动画状态反馈的接口定义方式如下所示:
将该接口协议设计为一个public类型的,这样可以方便后期其他类对象有权限对该协议进行访问。
协议的名称是IAnimationCallback,其中该协议中包含了三个状态信息的协议函数的设计分别是onAnimStart表示动画开始执行的状态信息、onAnimUpdate表示动画进行更新的状态信息和onAnimEnd表示动画结束的状态信息。
后续主要是通过这三个状态接口来将动画状态信息对调用者进行暴露实现,其中onAnimUpdate函数中设计了一个int类型的update参数,这个update表示动画执行的进度状态信息,进度状态从0(开始)到100(表示完毕)
通过上述的设计就完成了动画状态反馈信息的描述的设计方法,对动画的各个状态能够实现有效的业务描述,可以方便调用者知道当前动画的执行生命周期情况等信息。
在设计动画监听程序之后,可以把上述方案进行进一步的扩充。具体如下:
设计一个动画函数,后续动画的实现通过该函数来进行开展和实施。函数的定义如下所示:
public static void startAnim(View view,AnimType animType,floatfromPos,float toPos,long duration,IAnimationCallback listener);
其中函数是一个public公有类型的函数,该函数是一个static类型的静态函数,之所以设计为静态函数的原因是方便后期进行调用处理。
View:表示需要被移动的视图对象,也就是动画执行的视图对象。
AnimType:表示支持的动画类型,这个会在步骤二的设计中进行描述和说明。
fromPos:是一个浮点数据,表示动画的开始位置信息。
toPos:表示动画的结束位置信息。
Duration:是一个long类型的数据表示动画需要执行的时间周期,周期单位是毫秒。
Listener:表示动画的监听器,用于监听动画的执行状态信息。其类型是上述定义的IAnimationCallback协议类型。
这个函数中可以将动画对象设计成一个View类型的对象,由于View在Android中可以用于承载各种元素信息,因此通过这种抽象的对象设计可以用于对Android中任意视图对象进行动画处理。
其次设计了一个IAnimationCallback类型的listener,这样整个动画的执行流程就可以通过这里设计的listener来进行状态信息的反馈处理了。
为mObjectAnimator对象增加一个动画监听机制,具体是通过调用mObjectAnimator.addListener(listener)来实现动画的动画流程监听。
然后调用mObjectAnimator对象中的mObjectAnimator.start()方法来实现最终的动画执行流程,这样就完成了整个动画的执行设计。
优选实施例
为了能够更加让本领域技术人员能够清楚的理解本方案,本申请还提供了一种优选实施例。
本方案提出了Android中一种通用动画实现方法设计,通过本方案的实施能够有效的提高动画的开发效率和开发速度。极大的降低人工成本等。
本方案将主要围绕下述几个方面来进行展开和说明,并详细描述其中每个步骤的实现方式和实现细节。
S1、通用动画实现方法的函数设计及说明。
S2、动画类型的设计及说明。
S3、动画内部的实现细节和实现方法。
接下来围绕上述几个方面来进行展开和说明并详细描述其中的实现细节和实现方法。
S1、通用动画实现方法的函数设计及说明。
本步骤主要描述动通用动画函数的设计方法及设计原理。通过本步骤的实施能够有效的为后续通用动画的实现提供一个必要的基础条件。
一个动画的实现必须要包含这样几个因素:动画对象、动画的起点位置、动画的结束位置、动画的持续时间、动画中的各种状态信息的反馈等。
S1.1、动画中反馈信息的接口设计方法。
该设计主要是方便用于在通用动画实现方法设计中将动画的状态进行反馈的实现方法。具体的实施如下所述。
动画状态反馈的接口定义方式如下所示:
将该接口协议设计为一个public类型的,这样可以方便后期其他类对象有权限对该协议进行访问。
协议的名称是IAnimationCallback,其中该协议中包含了三个状态信息的协议函数的设计分别是onAnimStart表示动画开始执行的状态信息、onAnimUpdate表示动画进行更新的状态信息、onAnimEnd表示动画结束的状态信息。
后续主要是通过这三个状态接口来将动画状态信息对调用者进行暴露实现,其中onAnimUpdate函数中设计了一个int类型的update参数,这个update表示动画执行的进度状态信息,进度状态从0(开始)到100(表示完毕)。
通过上述的设计就完成了动画状态反馈信息的描述的设计方法,对动画的各个状态能够实现有效的业务描述,可以方便调用者知道当前动画的执行生命周期情况等信息。
S1.2、通用动画函数定义的设计方法。
接下来本小部分主要描述动画函数定义的实现方法。
设计一个动画函数,后续动画的实现通过该函数来进行开展和实施。函数的定义如下所示:
public static void startAnim(View view,AnimType animType,floatfromPos,float toPos,long duration,IAnimationCallback listener);
其中函数是一个public公有类型的函数,该函数是一个static类型的静态函数,之所以设计为静态函数的原因是方便后期进行调用处理。
View:表示需要被移动的视图对象,也就是动画执行的视图对象。
AnimType:表示支持的动画类型,这个会在步骤二的设计中进行描述和说明。
fromPos:是一个浮点数据,表示动画的开始位置信息。
toPos:表示动画的结束位置信息。
Duration:是一个long类型的数据表示动画需要执行的时间周期,周期单位是毫秒。
Listener:表示动画的监听器,用于监听动画的执行状态信息。其类型是上述定义的IAnimationCallback协议类型。
这个函数中将动画对象设计成一个View类型的对象,由于View在Android中可以用于承载各种元素信息,因此通过这种抽象的对象设计可以用于对Android中任意视图对象进行动画处理。
其次设计了一个IAnimationCallback类型的listener,这样整个动画的执行流程就可以通过设计的listener来进行状态信息的反馈处理了。
S2、动画类型的设计及说明。
本步骤主要描述AnimType类的设计及说明。在Android中动画总共只支持4种类型的动画,分别是位移动画Translate、缩放动画Scale、旋转动画Rotate、透明度动画Alpha。
为了区分动画的唯一性在设计AnimType类的时候使用了枚举enum来对其进行描述和说明,具体的设计如下所示:
AnimType类的定义如下所示:
将枚举类型AnimType设计为一个public公有类型,这样其他对象就能够具有对该枚举类型进行访问权限。
在设计枚举对象类型的时候对枚举值进行了特殊的赋值操作,分别是位移动画类型Translate类型赋值为translate、缩放动画类型Scale类型赋值为scale、旋转动画类型Rotate类型赋值为rotate、透明度动画类型Alpha赋值为alpha。
这个赋值是有意义的并非随意赋值的,因为在调用Android系统的动画api的时候是需要传递一个特定的String类型的动画参数信息,在设计该枚举类型的时候就对枚举值进行初始化成对应的Android系统所需的动画参数信息,这样就构建了一个唯一枚举类型描述与一个String类型的字符串之间的映射关系,刚好这个字符串就是系统动画参数中所需的动画类型参数信息。
通过这种映射关系的构建就可以方便的通过枚举的获取来直接获取到具体的参数动画参数信息了。
S3、动画内部的实现细节和实现方法。
本步骤主要描述动画的过程实现细节和实现方法。
首先需要构建一个ObjectAnimator类型对象,ObjectAnimator对象是Android系统中提供的一个属性动画对象。具体的构建方法是通过调用ObjectAnimatormObjectAnimator=ObjectAnimator.ofFloat(view,animType,fromPos,toPos);
mObjectAnimator对象是通过调用系统中ObjectAnimator中的一个静态方法ofFloat来进行实例化的,ofFloat方法中封装了视图view、animType、fromPos、toPos参数信息。
接下来需要设置动画的执行周期,具体是通过调用mObjectAnimator对象中的mObjectAnimator.setDuration(duration);方法来对mObjectAnimator动画对象设置一个动画执行的动画周期。
为mObjectAnimator对象增加一个动画监听机制,具体是通过调用mObjectAnimator.addListener(listener)来实现动画的动画流程监听。
然后调用mObjectAnimator对象中的mObjectAnimator.start()方法来实现最终的动画执行流程,这样就完成了整个动画的执行设计。
本方案主要描述了一种通用动画实现方法设计,通过本方案的设计调用者仅仅需要通过调用设计的startAnim函数并传递相应的参数信息就可以完美的实现整个动画效果的执行,调用者无需关注内部的具体实现细节和实现方式能够快速的实现动画效果的开发。
实施例三
图2是本发明实施例三提供的通用动画的实现装置的结构示意图。如图2所示,所述通用动画的实现装置,包括:
参数定义模块210,用于以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;
动画执行模块220,用于通过调用动画开始函数,根据所述动画参数和所述动画的执行周期,执行动画效果。
本申请实施例所提供的技术方案,通过以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;通过调用动画开始函数,根据所述动画参数和所述动画的执行周期,执行动画效果。通过采用本申请所提供的技术方案,可以简化动画效果的动画逻辑,无需通过编写大量的代码来构建动画逻辑,从而实现简化动画效果进行设计、更新以及重做过程的效果。
在上述各实施例的基础上,可选的,所述装置还包括:
监听模块,用于通过所述预设动画类型对象中的动画监听函数监听动画流程。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例四
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种通用动画的实现方法,该方法包括:
以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;
通过调用动画开始函数,根据所述动画参数和所述动画的执行周期,执行动画效果。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的通用动画的实现操作,还可以执行本申请任意实施例所提供的通用动画的实现方法中的相关操作。
实施例五
本申请实施例提供了一种安卓终端,该安卓终端中可集成本申请实施例提供的通用动画的实现装置。图3为本申请实施例提供的一种安卓终端的结构示意图。如图3所示,该安卓终端可以包括:存储器301、中央处理器(Central Processing Unit,CPU)302(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU302和所述存储器301设置在所述电路板上;所述电源电路,用于为所述安卓终端的各个电路或器件供电;所述存储器301,用于存储可执行程序代码;所述CPU302通过读取所述存储器301中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;
通过调用动画开始函数,根据所述动画参数和所述动画的执行周期,执行动画效果。
所述安卓终端还包括:外设接口303、RF(Radio Frequency,射频)电路305、音频电路306、扬声器311、电源管理芯片308、输入/输出(I/O)子系统309、触摸屏312、其他输入/控制设备310以及外部端口304,这些部件通过一个或多个通信总线或信号线307来通信。
应该理解的是,图示安卓终端300仅仅是安卓终端的一个范例,并且安卓终端300可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于通用动画的实现安卓终端进行详细的描述,该安卓终端以手机为例。
存储器301,所述存储器301可以被CPU302、外设接口303等访问,所述存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口303,所述外设接口303可以将设备的输入和输出外设连接到CPU302和存储器301。
I/O子系统309,所述I/O子系统309可以将设备上的输入输出外设,例如触摸屏312和其他输入/控制设备310,连接到外设接口303。I/O子系统309可以包括显示控制器3091和用于控制其他输入/控制设备310的一个或多个输入控制器3092。其中,一个或多个输入控制器3092从其他输入/控制设备310接收电信号或者向其他输入/控制设备310发送电信号,其他输入/控制设备310可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器3092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏312,所述触摸屏312是用户安卓终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统309中的显示控制器3091从触摸屏312接收电信号或者向触摸屏312发送电信号。触摸屏312检测触摸屏上的接触,显示控制器3091将检测到的接触转换为与显示在触摸屏312上的用户界面对象的交互,即实现人机交互,显示在触摸屏312上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路305,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路305接收并发送RF信号,RF信号也称为电磁信号,RF电路305将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路305可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路306,主要用于从外设接口303接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器311。
扬声器311,用于将手机通过RF电路305从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片308,用于为CPU302、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
本申请实施例提供的安卓终端,可以简化动画效果的动画逻辑,无需通过编写大量的代码来构建动画逻辑,从而实现简化动画效果进行设计、更新以及重做过程的效果。
上述实施例中提供的通用动画的实现装置、存储介质及安卓终端可执行本申请任意实施例所提供的通用动画的实现方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的通用动画的实现方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种通用动画的实现方法,其特征在于,包括:
以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数setDuration设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;
通过调用动画开始函数startAnim,根据所述动画参数和所述动画的执行周期,执行动画效果。
2.根据权利要求1所述的方法,其特征在于,在通过调用所述预设动画类型对象中的动画周期函数setDuration设置动画的执行周期之后,所述方法还包括:
通过所述预设动画类型对象中的动画监听函数IAnimationCallback监听动画流程。
3.根据权利要求2所述的方法,其特征在于,所述监听动画流程,包括:
从动画状态反馈接口得到的动画状态反馈数据确定动画的当前执行状态;所述动画的当前执行状态包括:动画开始状态、动画更新状态以及动画结束状态;
其中,所述动画更新状态由通过进度读取函数onAnimUpdate读取到的进度状态信息确定。
4.根据权利要求1所述的方法,其特征在于,所述AnimType类为公有访问类型的枚举类型。
5.根据权利要求4所述的方法,其特征在于,通过所述AnimType类确定枚举类型对象时进行特定赋值操作;通过获取动画接口传递的特定字符串类型的动画参数信息;并根据所述动画参数信息与所述特定赋值的映射关系确定动画类型信息。
6.根据权利要求1所述的方法,其特征在于,所述动画开始函数startAnim为公有访问类型的静态函数;
所述动画开始函数startAnim的参数包括:动画视图参数、动画类型参数、动画开始位置参数、动画结束位置参数以及执行周期参数;
所述动画开始函数startAnim的参数还包括:动画监听器,用于监听所述动画的执行状态信息。
7.一种通用动画的实现装置,其特征在于,包括:
参数定义模块,用于以动画参数为输入参数,调用预先构建的预设动画类型对象中的动画周期函数setDuration设置动画的执行周期;其中,所述动画参数作为AnimType类中的静态方法的输入参数,所述动画参数包括:动画视图、动画类型、动画开始位置以及动画结束位置;
动画执行模块,用于通过调用动画开始函数startAnim,根据所述动画参数和所述动画的执行周期,执行动画效果。
8.根据权利要求7所述的装置,其特征在于,还包括:
监听模块,用于通过所述预设动画类型对象中的动画监听函数IAnimationCallback监听动画流程。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的通用动画的实现方法。
10.一种安卓终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一所述的通用动画的实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810707208.5A CN108986187B (zh) | 2018-07-02 | 2018-07-02 | 一种通用动画的实现方法、装置、存储介质及安卓终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810707208.5A CN108986187B (zh) | 2018-07-02 | 2018-07-02 | 一种通用动画的实现方法、装置、存储介质及安卓终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108986187A true CN108986187A (zh) | 2018-12-11 |
CN108986187B CN108986187B (zh) | 2023-09-01 |
Family
ID=64539343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810707208.5A Active CN108986187B (zh) | 2018-07-02 | 2018-07-02 | 一种通用动画的实现方法、装置、存储介质及安卓终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108986187B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871255A (zh) * | 2019-02-01 | 2019-06-11 | 重庆卡佐科技有限公司 | 图像运动方法以及图像实现方法 |
CN113806115A (zh) * | 2021-10-08 | 2021-12-17 | 泰山信息科技有限公司 | 一种动画复制方法、装置、设备及存储介质 |
WO2023231986A1 (zh) * | 2022-06-02 | 2023-12-07 | 北京新唐思创教育科技有限公司 | 动画执行方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110096076A1 (en) * | 2009-10-27 | 2011-04-28 | Microsoft Corporation | Application program interface for animation |
CN107479872A (zh) * | 2017-07-01 | 2017-12-15 | 武汉斗鱼网络科技有限公司 | 安卓动画集合播放方法、存储介质、电子设备及系统 |
CN107562498A (zh) * | 2017-08-18 | 2018-01-09 | 广州阿里巴巴文学信息技术有限公司 | 基于安卓平台的动画效果实现方法、装置和终端设备 |
CN108038894A (zh) * | 2017-12-11 | 2018-05-15 | 武汉斗鱼网络科技有限公司 | 动画创建方法、装置、电子设备及计算机可读存储介质 |
-
2018
- 2018-07-02 CN CN201810707208.5A patent/CN108986187B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110096076A1 (en) * | 2009-10-27 | 2011-04-28 | Microsoft Corporation | Application program interface for animation |
CN107479872A (zh) * | 2017-07-01 | 2017-12-15 | 武汉斗鱼网络科技有限公司 | 安卓动画集合播放方法、存储介质、电子设备及系统 |
CN107562498A (zh) * | 2017-08-18 | 2018-01-09 | 广州阿里巴巴文学信息技术有限公司 | 基于安卓平台的动画效果实现方法、装置和终端设备 |
CN108038894A (zh) * | 2017-12-11 | 2018-05-15 | 武汉斗鱼网络科技有限公司 | 动画创建方法、装置、电子设备及计算机可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871255A (zh) * | 2019-02-01 | 2019-06-11 | 重庆卡佐科技有限公司 | 图像运动方法以及图像实现方法 |
CN113806115A (zh) * | 2021-10-08 | 2021-12-17 | 泰山信息科技有限公司 | 一种动画复制方法、装置、设备及存储介质 |
WO2023231986A1 (zh) * | 2022-06-02 | 2023-12-07 | 北京新唐思创教育科技有限公司 | 动画执行方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108986187B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230400979A1 (en) | Electronic device including touch sensitive display and method for managing the display | |
CN106791212B (zh) | 一种移动终端刷新率的控制方法、装置及移动终端 | |
US20180240260A1 (en) | Electronic device and method for displaying screen thereof | |
CN106657681B (zh) | 一种移动终端刷新率的控制方法、装置及移动终端 | |
US10209766B2 (en) | Displaying method in low power mode and electronic device supporting the same | |
US10257416B2 (en) | Apparatus and method for setting camera | |
KR102277460B1 (ko) | 화면을 공유하기 위한 방법 및 그 전자 장치 | |
US20170185248A1 (en) | Electronic device and method of managing application programs thereof | |
WO2020156199A1 (zh) | 应用登录方法、装置、终端及存储介质 | |
CN107800865B (zh) | 电子设备和在低功率状态下显示时间信息的方法 | |
CN108986187A (zh) | 一种通用动画的实现方法、装置、存储介质及安卓终端 | |
CN108595224A (zh) | 应用程序提示方法、装置、存储介质及终端 | |
CN109064538A (zh) | 视图渲染方法、装置、存储介质及智能终端 | |
CN106339148A (zh) | 用于提供备忘录功能的设备和方法 | |
CN108958828A (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN106940635A (zh) | 用于输出声音的方法以及支持该方法的电子设备 | |
CN108683872B (zh) | 视频通话方法、装置、存储介质及移动终端 | |
CN106776259A (zh) | 一种移动终端帧率检测方法、装置及移动终端 | |
US9757651B2 (en) | Electronic device and method of processing user input by electronic device | |
US20160086138A1 (en) | Method and apparatus for providing function by using schedule information in electronic device | |
CN106528163A (zh) | 一种页面切换方法和装置 | |
US20170269965A1 (en) | Electronic device and method for resuming process thereof | |
CN109064527A (zh) | 动态配置动画的实现方法、装置、存储介质及安卓终端 | |
CN107992302B (zh) | 一种按钮配置方法、装置、存储介质及智能终端 | |
CN113595662B (zh) | 信号提示方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230727 Address after: Rooms 101, 201, 301 and 401, Building 8, No. 31, Fangcun Avenue East, Liwan District, Guangzhou, Guangdong 510000 Applicant after: Guangzhou Mingdong Film and Television Culture Co.,Ltd. Address before: 11 / F, building B1, phase 4.1, software industry, No.1, Software Park East Road, Wuhan East Lake Development Zone, Wuhan City, Hubei Province, 430070 Applicant before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |