CN109086115B - Android动画执行方法、装置、终端及可读介质 - Google Patents
Android动画执行方法、装置、终端及可读介质 Download PDFInfo
- Publication number
- CN109086115B CN109086115B CN201810862412.4A CN201810862412A CN109086115B CN 109086115 B CN109086115 B CN 109086115B CN 201810862412 A CN201810862412 A CN 201810862412A CN 109086115 B CN109086115 B CN 109086115B
- Authority
- CN
- China
- Prior art keywords
- animation
- information
- handler
- processing function
- message processing
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种Android动画执行方法、装置、终端及可读介质,其中该方法包括:利用Handler机制生成Android动画,具体是根据动画开启状态消息开启动画,根据动画执行状态消息执行动画,通过Handler类中的循环定时器更新动画进度,以控制动画从动画起始值执行至动画结束值;并且在动画执行过程中,可根据接收的动画结束值更改消息更改动画结束值,以控制动画执行。本发明实施例提供的一种Android动画执行方法、装置、终端及可读介质,实现了在动画执行过程中动态改变动画结束值,使动画执行更加流畅,提升了用户体验。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种Android动画执行方法、装置、终端及可读介质。
背景技术
本发明实施例中动画是指,Android终端通过代码绘制的控件数值改变的动画,例如可以是进度动画,进度动画可以理解为进度条控件加载过程的动画。现有进度动画通常是通过ValueAnimator类来进行实现的,且进度动画中设置有动画起始值和动画结束值。示例性的,当进度动画为0%到50%的动画时,则动画起始值为0,动画结束值为50;当进度动画为20%到80%的动画时,则动画起始值为20,动画结束值为80。
现有技术中,当进度动画1执行过程中,无法动态改变动画结束值,只能停止进度动画1,并开启更改后结束值对应的进度动画2。示例性的,当0%到50%的进度动画执行过程中,若接收服务器下发的改变结束值为80的消息时,只能停止0%到50%的进度动画,并开启0%到80%的进度动画。这就导致了在改变动画结束值时,进度动画1开始有一定进度,切换为进化动画2使进度条突变为0,然后再逐渐变大为结束值,造成了界面不友好,降低了用户体验。
发明内容
有鉴于此,本发明实施例提供了一种Android动画执行方法、装置、终端及可读介质,实现了在动画执行过程中动态改变动画结束值,使动画执行更加流畅,提升了用户体验。
第一方面,本发明实施例提供了一种Android动画执行方法,包括:
S1、接收开启指令,根据所述开启指令获取第一信息对象,将所述第一信息对象的信息标识初始化为动画开启状态,并将信息标识初始化后的第一信息对象发送至Handler对象的处理消息函数;
S2、当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,获取第二信息对象,将所述第二信息对象的信息标识初始化为动画执行状态,并将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数;
S3、当Handler对象的处理消息函数判断所接收的第二信息对象的信息标识为动画执行状态时,定义Handler对象的动画进度,并将所述动画进度初始化为动画起始值;
S4、每隔一个动画的执行周期,循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数;
S5、每当Handler对象的处理消息函数接收到一个信息标识初始化后的第二信息对象时,将动画进度加1,直到动画进度等于动画结束值时,停止发送信息标识初始化后的第二信息对象;
其中,在动画执行过程中接收到结束值更改消息时,根据所述结束值更改消息更改动画结束值。
可选的,所述S1,包括:
S11、接收开启指令,根据所述开启指令调用获取信息方法获取第一信息对象;
S12、调用信息标识初始化方法将所述第一信息对象的信息标识初始化为动画开启状态值;
S13、调用Handler对象的空消息发送方法将信息标识初始化后的第一信息对象发送至Handler对象的处理消息函数。
可选的,所述S2,包括:
S21、当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,调用获取信息方法获取第二信息对象;
S22、调用信息标识初始化方法将所述第二信息对象的信息标识初始化为动画执行状态值;
S23、调用Handler对象的空消息发送方法将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
可选的,所述S4,包括:
每隔一个动画的执行周期,调用Handler对象的空消息延迟发送方法循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
可选的,在所述将动画进度加1之后,还包括:
根据当前的动画进度,调用控件信息设置方法设置控件信息。
可选的,在所述S1之前,还包括:
调用Handler对象定义方法定义Handler类型的Handler对象,并在Handler对象中复写处理消息函数;
调用常量定义方法定义动画的执行周期;
调用数值定义方法定义动画起始值和动画结束值,其中所述动画起始值和动画结束值为静态全局变量。
可选的,所述第一信息对象以及所述第二信息对象为实例化对象。
第二方面,本发明实施例提供了一种Android动画执行装置,包括:
第一信息对象发送模块,用于接收开启指令,根据所述开启指令获取第一信息对象,将所述第一信息对象的信息标识初始化为动画开启状态,并将信息标识初始化后的第一信息对象发送至Handler对象的处理消息函数;
第二信息对象发送模块,用于当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,获取第二信息对象,将所述第二信息对象的信息标识初始化为动画执行状态,并将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数;
动画进度初始化模块,用于当Handler对象的处理消息函数判断所接收的第二信息对象的信息标识为动画执行状态时,定义Handler对象的动画进度,并将所述动画进度初始化为动画起始值;
第二信息对象循环发送模块,用于每隔一个动画的执行周期,循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数;
动画进度更新模块,用于每当Handler对象的处理消息函数接收到一个信息标识初始化后的第二信息对象时,将动画进度加1,直到动画进度等于动画结束值时,停止发送信息标识初始化后的第二信息对象;
动画结束值更改模块,用于在动画执行过程中接收到结束值更改消息时,根据所述结束值更改消息更改动画结束值。
第三方面,本发明实施例提供了一种终端,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的Android动画执行方法。
第四方面,本发明实施例提供了一种可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的Android动画执行方法。
本发明实施例提供的一种Android动画执行方法、装置、终端及可读介质,利用Handler机制生成Android动画,具体是,获取第一信息对象并将其信息标识初始化后发送至Handler对象的处理消息函数;当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,则获取第二信息对象并将其信息标识初始化后发送至Handler对象的处理消息函数;当Handler对象的处理消息函数判断所接收的第二信息对象的信息标识为动画执行状态时,则定义Handler对象的动画进度并初始化为动画起始值;利用Handler类的循环定时器,每隔一个动画的执行周期,循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数,以更新动画进度,控制动画从动画起始值执行至动画结束值;并且在动画执行过程中,可根据接收的动画结束值更改消息更改动画结束值,以控制动画执行。实现了在动画执行过程中动态改变动画结束值,使动画执行更加流畅,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种Android动画执行方法流程图;
图2是本发明实施例一提供的一种Android动画执行方法中S1的流程图;
图3是本发明实施例一提供的一种Android动画执行方法中S2的流程图;
图4是本发明实施例二提供的一种Android动画执行装置结构示意图;
图5是本发明实施例三提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1是本发明实施例一提供的一种Android动画执行方法流程图,本实施例可适用于动画执行过程中动态改变结束值的情况,该方法可以由终端实现,具体可通过终端中的软件和/或硬件来实施。
参见图1,该Android动画执行方法包括如下步骤:
S1、接收开启指令,根据开启指令获取第一信息对象,将第一信息对象的信息标识初始化为动画开启状态,并将信息标识初始化后的第一信息对象发送至Handler对象的处理消息函数。
其中,开启指令可以理解为用于开启Android动画,使动画执行的指令;其中,开启指令可以是通过按压Android终端物理按键生成的,还可以是点击Android终端屏幕虚拟按键生成的,在此不做具体限定。其中,第一信息对象可以是新建消息对象,也可以是已经实例化后的对象;其中,第一信息对象优选可以是已经实例化的对象,以减少对系统的资源开销,提高系统运行效率。
通过获取第一信息对象并将第一信息对象的信息标识进行初始化,可以使Handler对象的处理消息函数在接收到第一信息对象后,根据第一信息对象的信息标识进行开启动画操作,具体的开启动画操作可参见步骤S2。
可选的,图2是本发明实施例一提供的一种Android动画执行方法中S1的流程图,包括:
S11、接收开启指令,根据开启指令调用获取信息方法获取第一信息对象。
其中,获取信息方法,具体可以是:
1.Message msg10=new Message();
2.Message msg11=Message.obtain();
3.Message msg12=handler.obtainMessage();
其中,方法1为新建一个Message对象,方法2为从整个Message池中返回一个Message实例,通过Message.obtain能避免重复Message创建对象,方法3实质为通过Handler类调用Message类,与方法2达到的效果一致,都可以避免重复创建Message对象。
其中,obtain()是静态方法,而且只有在Message池为空的情况下才会新建出一个Message对象,如果在Message池不为空的情况下,Message对象都是从Message池里面拿的实例,从而重复使用Message对象,减少了对系统的资源开销,提高了系统运行效率。
S12、调用信息标识初始化方法将第一信息对象的信息标识初始化为动画开启状态值。
其中,信息标识初始化方法,具体可以是:
msg1.what=1;
其中,1表示动画的开启状态值,该数值还可以为其他预设的动画开启状态对应的数值,例如可以是2、3、4等等,用于标识第一对象信息的信息标识为动画开启状态。通过将第一信息对象的信息标识初始化为预设的动画开启状态对应的数值(即动画开启状态值),可以使得Handler对象的处理消息函数接收到第一信息对象时,根据第一信息对象的信息标识进行开启动画操作。
S13、调用Handler对象的空消息发送方法将信息标识初始化后的第一信息对象发送至Handler对象的处理消息函数。
其中,Handler对象的空消息发送方法,具体可以是:
mHandler.sendEmptyMessage(msg1);
其中,msg1为第一信息对象的名称,用于表示第一信息对象,该第一信息对象的名称还可以是其他名称,并不限制于msg1;其中,mHandler为Handler对象的名称,mHandler表示Handler类的对象,该Handler对象的名称还可以是其他名称,并不限制于mHandler;其中,通过采用sendEmptyMessage方法,可知第一信息对象可以为消息标识为动画开启状态值的空消息,通过发送空消息可以提高消息传输和处理的速度,从而提高动画执行效率。
通过Handler对象的空消息发送方法,可以将第一信息对象发送至Handler对象的处理消息函数中,以使Handler对象的处理消息函数可以成功接收到第一信息对象。
S2、当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,获取第二信息对象,将第二信息对象的信息标识初始化为动画执行状态,并将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
其中,当Handler对象的处理消息函数接收到第一信息对象后,可以判断所接收的第一信息对象的信息标识,当第一信息对象的信息标识为动画开启状态时,则可以执行动画开启操作,其中动画开启操作具体可以是:
获取第二信息对象,将第二信息对象的信息标识初始化为动画执行状态,并将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
通过获取第二信息对象并将第二信息对象的信息标识进行初始化,可以使Handler对象的处理消息函数在接收到第二信息对象后,根据第二信息对象的信息标识进行执行动画操作,具体的执行动画操作可参见步骤S3。
可选的,图3是本发明实施例一提供的一种Android动画执行方法中S2的流程图,包括:
S21、当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,调用获取信息方法获取第二信息对象。
其中,Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态,即Handler对象的处理消息函数判断第一信息对象的msg1.what是否为动画开启状态值,若是则可以判断所接收的第一信息对象的信息标识为动画开启状态。
其中,获取第二信息对象的获取信息方法与步骤S11中的信息获取方法一致,具体可以参见步骤S11,值得注意的是第二信息对象与第一信息对象为不同的两个信息对象,具体可以认为第二信息对象的对象名称与第一信息对象的对象名称不同。
S22、调用信息标识初始化方法将第二信息对象的信息标识初始化为动画执行状态值。
其中,信息标识初始化方法与步骤S12中的信息标识初始化方法一致,具体可以参见步骤S12,值得注意的是第二信息对象的信息标识为动画执行状态值,不同于与第一信息对象的信息标识为动画开启状态值,其中动画执行状态值与动画开启状态值不能预设为相同的数值。
S23、调用Handler对象的空消息发送方法将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
其中,空消息发送方法与步骤S13中的空消息发送方法一致,具体可以参见步骤S13。通过Handler对象的空消息发送方法,可以将第二信息对象发送至Handler对象的处理消息函数中,以使Handler对象的处理消息函数可以成功接收到第二信息对象。
S3、当Handler对象的处理消息函数判断所接收的第二信息对象的信息标识为动画执行状态时,定义Handler对象的动画进度,并将动画进度初始化为动画起始值。
其中,当Handler对象的处理消息函数接收到第二信息对象后,可以判断所接收的第二信息对象的信息标识,当第二信息对象的信息标识为动画执行状态时,则可以执行动画执行操作,其中动画执行操作具体可以首先是:定义Handler对象的动画进度,并将动画进度初始化为动画起始值。
通过定义动画进度并将动画进度初始化为动画起始值,可以通过更新动画进度,以控制动画从动画起始值执行值动画结束值,保证动画的正常执行。
S4、每隔一个动画的执行周期,循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
其中,动画的执行周期可以预先定义,动画的执行周期可以理解为动画进度的更新周期,也可以理解为通过Handler机制构造的定时器的周期。每隔一个动画的执行周期,循环发送第二信息对象,可以使动画进度的更新具有规律性,保证了动画执行的流畅度。
可选的,S4具体包括:
每隔一个动画的执行周期,调用Handler对象的空消息延迟发送方法循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
其中,Handler对象的空消息延迟发送方法,具体可以是:
mHandler.sendEmptyMessageDelay(msg2,ANIM_DURATION);
其中,msg2为第二信息对象的名称,用于表示第二信息对象,该第二信息对象的名称还可以是其他名称,并不限制于msg2;其中,ANIM_DURATION为动画的执行周期的名称,用于表示动画的执行周期,该动画的执行周期的名称还可以是其他名称,并不限制于ANIM_DURATION;其中,mHandler为Handler对象的名称,mHandler表示Handler类的对象,该Handler对象的名称还可以是其他名称,并不限制于mHandler;其中,通过采用sendEmptyMessageDelay方法,可知第二信息对象可以为消息标识为动画执行状态值的空消息,通过发送空消息可以提高消息传输和处理的速度,从而提高动画执行效率。
通过Handler对象的空消息延迟发送方法,可以将第二信息对象每隔一个动画的执行周期,循环发送至Handler对象的处理消息函数中,以使Handler对象的处理消息函数可以每隔一个动画的执行周期成功接收到第二信息对象,用以在接收到第二信息对象后更新动画进度,以保证动画正常执行。
S5、每当Handler对象的处理消息函数接收到一个信息标识初始化后的第二信息对象时,将动画进度加1,直到动画进度等于动画结束值时,停止发送信息标识初始化后的第二信息对象;
其中,在动画执行过程中接收到结束值更改消息时,根据结束值更改消息更改动画结束值。
其中,在动画进度定义并初始化之后,通过Handler对象的空消息延迟发送方法,将第二信息对象循环发送至Handler对象的处理消息函数,使Handler对象的处理消息函数可以每隔一个动画的执行周期成功接收到第二信息对象,用以在接收到第二信息对象后将动画进度加1。从而使动画进度从动画起始值更新到动画结束值,并在动画进度为动画结束值时,停止发送第二信息,执行完成该Android动画。
其中,动画起始值与动画结束值可以进行预先定义,在动画执行过程中,若接收到服务器下发的动画结束值的更该消息,可以从动画结束的更改消息获取到更改后的动画结束值,并根据更改后的动画结束值对当前动画结束值进行更新。
在更新过程中,由于动画进度并未更新至动画结束值,因此动画执行过程并未感知到动画结束值的更改,即动画结束值的更改不影响动画的执行过程,动画仍可以在动态更改结束值的过程中流畅地执行,提升了用户体验。
可选的,在将动画进度加1之后,还包括:
根据当前的动画进度,调用控件信息设置方法设置控件信息。
示例性的,当控件为进度条控件时,控件信息设置方法具体可以是:
progressBar.setProgress(count);
其中,count表示当前动画进度值,即在动画进度加1后,根据更新过的动画进度值可以设置进度条控件信息,具体可以是进度条的当前进度值;其中,progressBar表示进度条控件;其中,通过setProgress方法可以对进度条控件信息进行设置。通过设置控件信息,可以使当前运行的Android动画可视化,使用户直观看到动画执行过程。
可选的,在S1之前,还包括:
调用Handler对象定义方法定义Handler类型的Handler对象,并在Handler对象中复写处理消息函数;调用常量定义方法定义动画的执行周期;调用数值定义方法定义动画起始值和动画结束值,其中动画起始值和动画结束值为静态全局变量。
其中,调用Handler对象定义方法,具体可以是:
Private Handler mHandler=new Handler(){
handleMessage(Message msg){
}
};
其中,通过new Handler方法可以定义Handler对象;其中Handler对象的名称为mHandler,该Handler对象的名称还可以是其他名称,并不限制于mHandler;其中,mHandler对象在定义的时候复写了其中的handleMesage方法,在handleMessage方法中入参参数是Message类型的msg对象,后续可通过传递msg对象来进行信息的传递和交互。
其中,调用常量定义方法,具体可以是:
public static final int ANIM_DURATION=96;
其中,ANIM_DURATION为动画的执行周期的名称,用于表示动画的执行周期,该动画的执行周期的名称还可以是其他名称,并不限制于ANIM_DURATION;其中,动画的执行周期为全局静态整数型的;其中,96表示动画的执行周期为96ms,其中动画的执行周期还可以是其他值;优选的,动画的执行周期可以是Android系统中显示器的刷屏周期16ms的整数倍,以确保在Android系统中刷新屏幕时执行动画改编的流程,可以使得动画更加的顺畅,提高了动画性能,提升了用户体验。
其中,数值定义方法,具体可以是:
Public static int startValue=0;
Public static int endValue=80;
其中,startValue表示动画起始值,endValue表示动画结束值,其中动画起始值和动画结束值的名称可以更改为其他名称,并不限于startValue和endValue,其中动画起始值和动画结束值的数值可以根据实际需求进行设置。其中,动画起始值和动画结束值为public公有类型,以保证其他类可以具有访问该数值的权限。其中,动画起始值和动画结束值为static静态类型的,以保证动画起始值和动画结束值存储在静态区中,保证了全局只有一份动画起始值和动画结束值,从而在动画运行过程中,若接收到动画结束值的更改信息时,可以直接对静态区中的动画结束值进行重新赋值即可。
可选的,第一信息对象以及第二信息对象为实例化对象。
其中,第一信息对象以及第二信息对象为实例化对象,从而重复使用Message对象池中的Message对象,减少了对系统的资源开销,提高了系统运行效率。
本实施例提供的Android动画执行方法,利用Handler机制生成Android动画,具体是,获取第一信息对象并将其信息标识初始化后发送至Handler对象的处理消息函数;当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,则获取第二信息对象并将其信息标识初始化后发送至Handler对象的处理消息函数;当Handler对象的处理消息函数判断所接收的第二信息对象的信息标识为动画执行状态时,则定义Handler对象的动画进度并初始化为动画起始值;利用Handler类的循环定时器,每隔一个动画的执行周期,循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数,以更新动画进度,控制动画从动画起始值执行至动画结束值;并且在动画执行过程中,可根据接收的动画结束值更改消息更改动画结束值,以控制动画执行。实现了在动画执行过程中动态改变动画结束值,使动画执行更加流畅,提升了用户体验。
实施例二
图4是本发明实施例二提供的一种Android动画执行装置结构示意图,本实施例可适用于动画执行过程中动态改变结束值的情况。
参见图4,本实施例中Android动画执行装置,包括:
第一信息对象发送模块210,用于接收开启指令,根据开启指令获取第一信息对象,将第一信息对象的信息标识初始化为动画开启状态,并将信息标识初始化后的第一信息对象发送至Handler对象的处理消息函数;
第二信息对象发送模块220,用于当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,获取第二信息对象,将第二信息对象的信息标识初始化为动画执行状态,并将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数;
动画进度初始化模块230,用于当Handler对象的处理消息函数判断所接收的第二信息对象的信息标识为动画执行状态时,定义Handler对象的动画进度,并将动画进度初始化为动画起始值;
第二信息对象循环发送模块240,用于每隔一个动画的执行周期,循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数;
动画进度更新模块250,用于每当Handler对象的处理消息函数接收到一个信息标识初始化后的第二信息对象时,将动画进度加1,直到动画进度等于动画结束值时,停止发送信息标识初始化后的第二信息对象;
动画结束值更改模块260,用于在动画执行过程中接收到结束值更改消息时,根据结束值更改消息更改动画结束值。
可选的,第一信息对象发送模块210,包括:
第一信息对象获取子模块,用于接收开启指令,根据开启指令调用获取信息方法获取第一信息对象;
第一信息对象信息标识初始化子模块,用于调用信息标识初始化方法将第一信息对象的信息标识初始化为动画开启状态值;
第一信息对象发送子模块,用于调用Handler对象的空消息发送方法将信息标识初始化后的第一信息对象发送至Handler对象的处理消息函数。
可选的,第二信息对象发送模块220,包括:
第二信息对象获取子模块,用于当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,调用获取信息方法获取第二信息对象;
第二信息对象信息标识初始化子模块,用于调用信息标识初始化方法将第二信息对象的信息标识初始化为动画执行状态值;
第二信息对象发送子模块,用于调用Handler对象的空消息发送方法将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
可选的,第二信息对象循环发送模块240,具体用于:
每隔一个动画的执行周期,调用Handler对象的空消息延迟发送方法循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
可选的,动画进度更新模块250,还用于:
根据当前的动画进度,调用控件信息设置方法设置控件信息。
可选的,Android动画执行装置,还包括:
Handler对象定义模块,用于调用Handler对象定义方法定义Handler类型的Handler对象,并在Handler对象中复写处理消息函数;
执行周期定义模块,用于调用常量定义方法定义动画的执行周期;
起始值结束值定义模块,用于调用数值定义方法定义动画起始值和动画结束值,其中动画起始值和动画结束值为静态全局变量。
可选的,第一信息对象以及第二信息对象为实例化对象。
本实施例提供的Android动画执行装置,与实施例一提出的Android动画执行方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。
实施例三
本实施例提供了一种终端,可以用于动画执行过程中动态改变结束值的情况。图5是本发明实施例三提供的一种终端的结构示意图。参见图5,该终端包括:
一个或多个处理器310;
存储器320,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器310执行,使得所述一个或多个处理器310实现如实施例一提出的Android动画执行方法。
图5中以一个处理器310为例;处理器310和存储器320可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的Android动画执行方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的Android动画执行方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提出的终端与实施例一提出的Android动画执行方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。
实施例四
本实施例提供一种可读介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一提出的Android动画执行方法。
本实施例提出的可读介质与实施例一提出的Android动画执行方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种Android动画执行方法,其特征在于,包括:
S1、接收开启指令,根据所述开启指令获取第一信息对象,将所述第一信息对象的信息标识初始化为动画开启状态,并将信息标识初始化后的第一信息对象发送至Handler对象的处理消息函数;
S2、当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,获取第二信息对象,将所述第二信息对象的信息标识初始化为动画执行状态,并将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数;
S3、当Handler对象的处理消息函数判断所接收的第二信息对象的信息标识为动画执行状态时,定义Handler对象的动画进度,并将所述动画进度初始化为动画起始值;
S4、每隔一个动画的执行周期,循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数;
所述动画的执行周期预先定义为动画进度的更新周期,或通过Handler机制构造的定时器的周期;
S5、每当Handler对象的处理消息函数接收到一个信息标识初始化后的第二信息对象时,将动画进度加1,直到动画进度等于动画结束值时,停止发送信息标识初始化后的第二信息对象;
其中,在动画执行过程中接收到结束值更改消息时,根据所述结束值更改消息更改动画结束值。
2.根据权利要求1所述的方法,其特征在于,所述S1,包括:
S11、接收开启指令,根据所述开启指令调用获取信息方法获取第一信息对象;
S12、调用信息标识初始化方法将所述第一信息对象的信息标识初始化为动画开启状态值;
S13、调用Handler对象的空消息发送方法将信息标识初始化后的第一信息对象发送至Handler对象的处理消息函数。
3.根据权利要求1所述的方法,其特征在于,所述S2,包括:
S21、当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,调用获取信息方法获取第二信息对象;
S22、调用信息标识初始化方法将所述第二信息对象的信息标识初始化为动画执行状态值;
S23、调用Handler对象的空消息发送方法将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
4.根据权利要求1所述的方法,其特征在于,所述S4,包括:
每隔一个动画的执行周期,调用Handler对象的空消息延迟发送方法循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数。
5.根据权利要求1所述的方法,其特征在于,在所述将动画进度加1之后,还包括:
根据当前的动画进度,调用控件信息设置方法设置控件信息。
6.根据权利要求1所述的方法,其特征在于,在所述S1之前,还包括:
调用Handler对象定义方法定义Handler类型的Handler对象,并在Handler对象中复写处理消息函数;
调用常量定义方法定义动画的执行周期;
调用数值定义方法定义动画起始值和动画结束值,其中所述动画起始值和动画结束值为静态全局变量。
7.根据权利要求1-6任一所述的方法,其特征在于,所述第一信息对象以及所述第二信息对象为实例化对象。
8.一种Android动画执行装置,其特征在于,包括:
第一信息对象发送模块,用于接收开启指令,根据所述开启指令获取第一信息对象,将所述第一信息对象的信息标识初始化为动画开启状态,并将信息标识初始化后的第一信息对象发送至Handler对象的处理消息函数;
第二信息对象发送模块,用于当Handler对象的处理消息函数判断所接收的第一信息对象的信息标识为动画开启状态时,获取第二信息对象,将所述第二信息对象的信息标识初始化为动画执行状态,并将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数;
动画进度初始化模块,用于当Handler对象的处理消息函数判断所接收的第二信息对象的信息标识为动画执行状态时,定义Handler对象的动画进度,并将所述动画进度初始化为动画起始值;
第二信息对象循环发送模块,用于每隔一个动画的执行周期,循环将信息标识初始化后的第二信息对象发送至Handler对象的处理消息函数;
所述动画的执行周期预先定义为动画进度的更新周期,或通过Handler机制构造的定时器的周期;
动画进度更新模块,用于每当Handler对象的处理消息函数接收到一个信息标识初始化后的第二信息对象时,将动画进度加1,直到动画进度等于动画结束值时,停止发送信息标识初始化后的第二信息对象;
动画结束值更改模块,用于在动画执行过程中接收到结束值更改消息时,根据所述结束值更改消息更改动画结束值。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的Android动画执行方法。
10.一种可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的Android动画执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810862412.4A CN109086115B (zh) | 2018-08-01 | 2018-08-01 | Android动画执行方法、装置、终端及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810862412.4A CN109086115B (zh) | 2018-08-01 | 2018-08-01 | Android动画执行方法、装置、终端及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109086115A CN109086115A (zh) | 2018-12-25 |
CN109086115B true CN109086115B (zh) | 2021-09-07 |
Family
ID=64833301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810862412.4A Active CN109086115B (zh) | 2018-08-01 | 2018-08-01 | Android动画执行方法、装置、终端及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086115B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399736B (zh) * | 2020-03-17 | 2021-09-21 | 腾讯科技(深圳)有限公司 | 进度条控制方法、装置、设备及可读存储介质 |
CN114849238B (zh) * | 2022-06-02 | 2023-04-07 | 北京新唐思创教育科技有限公司 | 动画执行方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050579A (zh) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 用于实现轮播动画的方法及装置 |
CN104268916A (zh) * | 2014-09-10 | 2015-01-07 | 北京金山安全软件有限公司 | 视图的绘制方法、装置和移动终端 |
CN106960460A (zh) * | 2016-09-08 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 动画处理方法、装置及设备 |
-
2018
- 2018-08-01 CN CN201810862412.4A patent/CN109086115B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050579A (zh) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 用于实现轮播动画的方法及装置 |
CN104268916A (zh) * | 2014-09-10 | 2015-01-07 | 北京金山安全软件有限公司 | 视图的绘制方法、装置和移动终端 |
CN106960460A (zh) * | 2016-09-08 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 动画处理方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109086115A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493067B (zh) | 一种api网关服务更新的方法及装置 | |
CN108023808B (zh) | 应用程序中的消息分发方法及装置 | |
US10846124B2 (en) | Communication method, apparatus and system for virtual machine and host machine | |
CN110413346A (zh) | 一种参数更新方法及装置 | |
CN112118459A (zh) | 共享摄像头数据实现多个app共同直播的方法及可读介质 | |
CN110955499B (zh) | 处理器核心配置方法、装置、终端及存储介质 | |
US20240111549A1 (en) | Method and apparatus for constructing android running environment | |
CN109086115B (zh) | Android动画执行方法、装置、终端及可读介质 | |
CN106445514B (zh) | 一种管理Android平台的Activity实例的方法和装置 | |
CN112612214A (zh) | 用于功能界面生成的方法、系统和电子设备 | |
CN110324722B (zh) | 直播间中数据的获取方法、装置、设备和存储介质 | |
CN109062650B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN108810633B (zh) | 弹幕消息传输方法、装置、设备及存储介质 | |
CN106874010B (zh) | 一种Android系统中ListView快速分页加载的方法 | |
CN110045997B (zh) | 基础功能模块的对象初始化方法、装置、设备和存储介质 | |
CN109062620B (zh) | Android帧动画执行方法、装置、终端及可读介质 | |
CN108810645B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN109274988B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN109144750B (zh) | 一种消息处理方法、装置、电子设备及存储介质 | |
WO2019000791A1 (zh) | 一种以异步方式进行远程过程调用的方法及装置 | |
CN109144520B (zh) | Android中不同对象间的信息交互方法、装置、设备和存储介质 | |
CN108804088B (zh) | 协议处理方法和装置 | |
CN110782040A (zh) | 一种pytorch任务训练方法、装置、设备及介质 | |
CN106708737B (zh) | 一种测试方法及装置 | |
CN113448607B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |