动画效果的实现方法、装置及计算机可读存储介质与流程

文档序号:19737294发布日期:2020-01-18 04:40阅读:214来源:国知局
动画效果的实现方法、装置及计算机可读存储介质与流程

本发明涉及图像处理技术领域,更具体的说,涉及一种动画效果的实现方法、装置及计算机可读存储介质。



背景技术:

对于可触控的终端,为了提高用户体验,需要对终端页面显示的内容呈现动画效果。一般情况下,针对页面的待显示内容,实现其随着用户的滑动操作而呈现连续性变换图形大小、渐变涂色的2d特效或者3d特效等,例如,滚动的新闻、可翻页卡片。

目前,可触控的终端的动画效果的实现方法,是指当对可触控的终端滑动操作时,对终端的页面呈现的单元视图的动画效果进行计算。具体的,针对在页面中显示的每一个待显示内容,均配置其对应的单元视图,将每一个待显示内容保存到内存中,由单元视图在页面中显示每一个待显示内容。但是,在该动画效果的实现方法的实际应用过程中,待显示内容的数量增大,内存的占有量也随之增大,尤其是待显示内容的数量达到一定数值时,还会导致内存吃紧、运行缓慢,且闪退多发的问题。



技术实现要素:

有鉴于此,本发明提供了一种动画效果的实现方法、装置及计算机可读存储介质,以实现当对显示终端滑动操作,显示动画效果时,减小待显示内容占用的内存的效果。

为实现上述目的,先提出的技术方案如下:

一种动画效果的实现方法,包括:

创建滑动管理组件的单元视图;其中,所述滑动管理组件用于实现待显示内容在页面上的动画显示效果,所述待显示内容包括图片和文字;

配置所述每一个单元视图的显示参数,并确定所述每一个单元视图在页面显示的初始待显示内容;

在判断出用户执行滑动操作,依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,以及,所述每一个单元视图在页面显示的待显示内容;其中,所述布局参数用于描述所述单元视图在页面显示的待显示内容的动画显示效果。

可选地,所述滑动管理组件由容器组件封装,其中,所述容器组件包括用于对外交互的接口。

可选地,所述单元视图包括一个典型单元视图和多个次级单元视图;其中,所述依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,包括:

利用用户执行滑动操作对应的滑动距离,采用先所述典型单元视图再由所述典型单元视图向周围的所述次级单元视图扩散的计算顺序,依次计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数。

可选地,所述依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,包括:

构建得到所述每一个单元视图的布局参数和所述滑动距离的关系式;

利用拟合法求解构建得到的关系式,得到用户执行滑动操作之后,所述每一个单元视图的布局参数。

可选地,所述依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图在页面显示的待显示内容,包括:

获得所述每一个单元视图在页面当前显示的待显示内容的索引号;

根据所述滑动距离,确定所述待显示内容在所述单元视图中显示的移动顺序;

依据所述待显示内容在所述单元视图中显示的移动顺序、以及所述每一个单元视图在页面当前显示的待显示内容的索引号,确定用户执行滑动操作之后,所述每一个单元视图在页面显示的待显示内容的索引号。

一种动画效果的实现装置,包括:

创建单元,用于创建滑动管理组件的单元视图;其中,所述滑动管理组件用于实现待显示内容在页面上的动画显示效果,所述待显示内容包括图片和文字;

配置单元,用所述每一个单元视图的显示参数;

确定单元,用于确定所述每一个单元视图在页面显示的初始待显示内容;

计算单元,用于在判断出用户执行滑动操作,依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,以及,所述每一个单元视图在页面显示的待显示内容;其中,所述布局参数用于描述所述单元视图在页面显示的待显示内容的动画显示效果。

可选地,所述述滑动管理组件由容器组件封装,其中,所述容器组件包括用于对外交互的接口。

可选地,所述单元视图包括一个典型单元视图和多个次级单元视图;其中,所述计算单元执行依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,包括:

第一计算单元,用于利用用户执行滑动操作对应的滑动距离,采用先所述典型单元视图再由所述典型单元视图向周围的所述次级单元视图扩散的计算顺序,依次计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数。

可选地,所述计算单元执行依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,包括:

构建单元,用于构建得到所述每一个单元视图的布局参数和所述滑动距离的关系式;

第二计算单元,用于利用拟合法求解构建得到的关系式,得到用户执行滑动操作之后,所述每一个单元视图的布局参数。

可选地,所述计算单元执行依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图在页面显示的待显示内容,包括:

获得单元,用于获得所述每一个单元视图的在页面当前显示的待显示内容的索引号;

第一确定单元,用于根据所述滑动距离,确定所述待显示内容在所述单元视图中显示的移动顺序;

第二确定单元,用于依据所述待显示内容在所述单元视图中显示的移动顺序、以及所述每一个单元视图在页面当前显示的待显示内容的索引号,确定用户执行滑动操作之后,所述每一个单元视图在页面显示的待显示内容的索引号。

一种动画效果的实现装置,包括:处理器和存储器;其中:

所述存储器用于存储计算机指令;

所述处理器用于执行所述存储器存储的计算机指令,用于执行如上述任意一项所述的方法。

一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令用于执行如上述任意一项所述的方法。

与现有技术相比,本发明具有以下有益效果:

本发明提供了一种动画效果的实现方法中,在判断出执行滑动操作之后,才依据滑动操作对应的滑动距离,计算得到执行滑动操作之后,每一个单元视图在页面显示的待显示内容,保证了仅在用户执行滑动操作之后,才将需要进行页面显示的待显示内容保存在内存中,由单元视图显示,而不必将所有的待显示内容均保存到内存中,减少了待显示内容占用的内存。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例公开的一种动画效果的实现方法的流程图;

图2为本申请实施例公开的多个单元视图在页面的展示图;

图3为本申请实施例中步骤s104的一种实施方式的流程图;

图4为本申请实施例中步骤s104的一种实施方式的流程图;

图5为本申请实施例公开的动画效果的实现装置的结构示意图;

图6为本申请另一实施例公开的动画效果的实现装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种动画效果的实现方法、装置及计算机可读存储介质,以实现当对显示终端滑动操作,显示动画效果时,减小待显示内容占用的内存的效果。

参见图1,本申请实施例公开的动画效果的实现方法,包括步骤:

s101、创建滑动管理组件的多个单元视图。

其中,所述滑动管理组件用于实现待显示内容在页面上的动画显示效果,所述待显示内容包括图片和文字。

创建滑动管理组件的单元视图,还需要设置单元视图的数据源和代理作为滑动管理组件的数据源和代理。因此,滑动管理组件的单元视图可以保留滑动管理组件为属性,可接收输入至滑动管理组件的数据等。

还需要说明的是,在创建滑动管理组件的多个单元视图之前,需要预先创建滑动管理组件。并且,在创建得到滑动管理组件之后,可以利用该滑动管理组件针对多个待显示内容实现其动画效果。可选地,本申请实施例创建的滑动管理组件可以为uicollectionview组件。

可选地,本申请的另一实施例中,所述述滑动管理组件由容器组件封装,其中,所述容器组件包括用于对外交互的接口。

容器组件包括对外交互的接口,因此,利用容器组件封装滑动管理组件之后,容器组件可通过对外交互的接口接收用户输入的数据,且将其转发至滑动管理组件,且将滑动管理组件得到的数据,通过容器组件的对外交互的接口向外传输。可选地,本申请实施例中的容器组件可以为uiview组件。

s102、配置所述每一个单元视图的显示参数。

其中,单元视图用于填充待显示内容,可展示于页面进行显示。并且,以单元视图的显示参数,将该单元视图中填充的待显示内容进行展示。

单元视图的显示参数包括:单元视图的大小、形状等。参见图2,页面展示的单元视图包括三个,其中,每一个单元视图均为椭圆形,且中间位置的单元视图大于两边的单元视图。可选地,本申请实施例配置的多个单元视图可以为uicollectionviewcell的视图。

s103、确定所述每一个单元视图在页面显示的初始待显示内容。

单元视图用于填充待显示内容,并展示于页面。因此,在完成单元视图的显示参数的配置之后,则需要确定每一个单元视图在页面显示的初始内容,也就是从待显示内容中选择首先需要显示的待显示内容,分别填充于每一个单元视图,且一个单元视图填充一个待显示内容。

其中,待显示内容的显示顺序可以以用户设定的为准,也可随机设定,此处并没有限定。

还需要说明的,在配置完多个单元视图的显示参数之后,仅需要确定每个单元视图在页面显示的初始待显示内容,并不需要将所有的待显示内容均确定出。

s104、在判断出用户执行滑动操作,依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,以及,所述每一个单元视图在页面显示的待显示内容。

其中,所述布局参数用于描述所述单元视图在页面显示的待显示内容的动画显示效果。

在待显示内容在页面呈现动画效果的展示时,用户还可以在用于显示待显示内容的页面上执行操作,以切换在每一个单元视图中显示的待显示内容。监测用户在页面上执行的滑动操作,若判断出用户在页面上执行了滑动操作,则计算得到用户执行的滑动操作对应的滑动距离,依据滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,以及,所述每一个单元视图在页面显示的待显示内容。

本步骤中,在判断出用户执行滑动操作之后,才依据滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,每一个单元视图在页面显示的待显示内容,保证了仅在用户执行滑动操作之后,才将需要进行页面显示的待显示内容保存在内存中,由单元视图显示,而不必将所有的待显示内容均保存到内存中,减少了待显示内容占用的内存。

可选地,单元视图的多个待显示内容的连续显示可通过连续复用的方式实现,即仅将相邻于当前显示的单元视图的待显示内容存入复用池、当前显示的显示内容加载到单元视图,也不必将所有的待显示内容均保存到内存中,减少了待显示内容占用的内存的同时确保执行滑动操作后显示的连续性。

可选地,本申请的另一实施例中,步骤s104中,依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数的一种实施方式,参见图3,包括:

s301、构建得到所述每一个单元视图的布局参数和所述滑动距离的关系式。

s302、利用拟合法求解构建得到的关系式,得到用户执行滑动操作之后,所述每一个单元视图的布局参数。

其中,针对每一种单元视图的布局参数,均需要构建得到布局参数和滑动距离的关系式。例如,布局参数包括单元视图的大小、透明度、滚动参数及3d形变等。设y为布局参数,offset为滑动距离,构建得到的每一个单元视图的布局参数和所述滑动距离的关系式为y=function(offset)。

在页面上的多个单元视图中填充待显示内容之后,用户执行滑动操作,随着用户的滑动操作,在页面上的多个单元视图中填充的待显示内容随之滑动方向进行滚动切换。此种现象可以理解成是滚动切换待显示内容的动画效果。在此种情况下,设定x是滚动距离,y是滚动参数,构建得到的布局参数和滑动距离的关系式为y0=f(x)。

以该关系式为一阶为例说明,确定页面上的多个单元视图中的中间单元视图的尺寸为s1,其在用户执行滑动操作之后,其填充的待显示内容滚动到相邻的单元视图的尺寸s2,记录滚动为cx,得到一组特征值pi,进行特征函数求解。

具体的,p1(0,s1),p2(cx,s2),由于一阶的关系式是y=ax+b类型,用一次方程待定系数,得到两个方程:s1=b,s2=a*cx+b;联合后可以迅速求解y=(s2–s1)/cx*x+s1。

若在页面上显示的单元视图中填充的待显示内容的动画效果较为复杂,例如为随着用户的滑动操作,待显示内容呈现加速或减速的滚动。此时,构建的关系式为y=a*x2+b和y=a*lnx+b。针对此种关系式,可以利用拟合法求解构建得到的关系式。

还需要说明的是,若对待显示内容需要实现的动画效果较为复杂,则求解上述构建得到的关系式的过程也会异常复杂。而采用拟合求解的方式,可以将关系式的求解过程简单化,实现快速求解。

可选地,本申请的另一实施例中,步骤s104中,依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图在页面显示的待显示内容的一种实施方式,参见图4,包括:

s401、获得所述每一个单元视图在页面当前显示的待显示内容的索引号。

其中,用户执行滑动操作的前一时刻,每一个单元视图在页面显示的待显示内容的索引号,即为每一个单元视图在页面当前显示的待显示内容的索引号。

s402、根据所述滑动距离,确定所述待显示内容在所述单元视图中显示的移动顺序。

其中,滑动距离的数值正负可以说明用户滑动操作的方向,因此,可以根据滑动距离的数值正负,确定待显示内容在单元视图中显示的移动顺序,一般情况下,待显示内容在单元视图中显示的移动顺序,与用户执行的滑动操作的方向相同,即用户的手由右到左滑动,待显示内容在单元视图中也呈现由右到左的移动顺序。

s403、依据所述待显示内容在所述单元视图中显示的移动顺序、以及所述每一个单元视图在页面当前显示的待显示内容的索引号,确定用户执行滑动操作之后,所述每一个单元视图在页面显示的待显示内容的索引号。

其中,将每一个单元视图在页面当前显示的待显示内容的索引号,按照待显示内容在单元视图中显示的移动顺序移动依次移动,移动之后的每个单元视图在页面显示的待显示内容的索引号即为需要确定的待显示内容的索引号。

并且,确定出每一个单元视图在页面显示的待显示内容的索引号,即可依据该索引号获得待显示内容,并由对应的单元视图显示。

同样参见图2,用户执行由右到左滑动操作,在用户执行完该操作之后,页面显示的三个单元视图中的每一个单元视图所显示的内容,均按照由右到左的顺序移动。例如,在用户执行滑动操作之前,第一个单元视图显示图片1,第二个单元视图显示图片2,第三个单元视图显示图片3。用户执行滑动操作之后,第一个单元视图即显示图片2,第二个单元视图即显示图片3,第三个单元视图即显示之前未显示的图片4,其中,待显示内容中的各个图片按照从小到大的索引号的顺序进行显示。

可选地,本申请的另一实施例中,在页面上显示的多个单元视图中,为了突出某一个单元视图,即可将其的显示参数设定为与其他单元视图不同。此种情况下,将显示参数不同于其他的单元视图称之为典型单元视图,其他的单元视图称之为次级单元视图。同样参见图2,第二个单元视图的显示参数不同其他两个单元视图,因此,该单元视图即为典型单元视图,其他两个为次级单元视图。

其中,在此种情况下,步骤s104中,需要根据不同类型的单元视图,进行不同优先级顺序的计算,以得到布局参数。因此,依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数的一种实施方式,包括:

利用用户执行滑动操作对应的滑动距离,采用先所述典型单元视图再由所述典型单元视图向周围的所述次级单元视图扩散的计算顺序,依次计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数。

其中,在计算得到每一个单元视图对应的布局参数的过程中,需要先计算典型单元视图,而后计算典型单元视图相连的次级单元视图,而后依次向外扩散,直至所有的次级单元视图。

本申请另一实施例还公开了一种动画效果的实现装置,如图5所示,包括:

创建单元501,用于创建滑动管理组件的多个单元视图;其中,所述滑动管理组件用于实现待显示内容在页面上的动画显示效果,所述待显示内容包括图片和文字。

可选地,本申请的另一实施例中,所述述滑动管理组件由容器组件封装,其中,所述容器组件包括用于对外交互的接口。

配置单元502,用于配置所述每个单元视图的显示参数。

确定单元503,用于确定所述每一个单元视图在页面显示的初始待显示内容。

计算单元504,用于在判断出用户执行滑动操作,依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,以及,所述每一个单元视图在页面显示的待显示内容;其中,所述布局参数用于描述所述单元视图在页面显示的待显示内容的动画显示效果。

本实施例中,在判断出用户执行滑动操作之后,计算单元504才依据滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,每一个单元视图在页面显示的待显示内容,保证了仅在用户执行滑动操作之后,才将需要进行页面显示的待显示内容保存在内存中,由单元视图显示,而不必将所有的待显示内容均保存到内存中,减少了待显示内容占用的内存。

可选地,单元视图的多个待显示内容的连续显示可通过连续复用的方式实现,即仅将相邻于当前显示的单元视图的待显示内容存入复用池、当前显示的显示内容加载到单元视图,也不必将所有的待显示内容均保存到内存中,减少了待显示内容占用的内存的同时确保执行滑动操作后显示的连续性。。

可选地,本申请的另一实施例中,所述单元视图包括一个典型单元视图和多个次级单元视图;其中,计算单元504执行依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,包括:

第一计算单元,用于利用用户执行滑动操作对应的滑动距离,采用先所述典型单元视图再由所述典型单元视图向周围的所述次级单元视图扩散的计算顺序,依次计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数。

可选地,本申请的另一实施例中,计算单元504执行依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图的布局参数,包括:

构建单元,用于构建得到所述每一个单元视图的布局参数和所述滑动距离的关系式。

第二计算单元,用于利用拟合法求解构建得到的关系式,得到用户执行滑动操作之后,所述每一个单元视图的布局参数。

可选地,本申请的另一实施例中,计算单元504执行依据所述滑动操作对应的滑动距离,计算得到用户执行滑动操作之后,所述每一个单元视图在页面显示的待显示内容,包括:

获得单元,用于获得所述每一个单元视图的在页面当前显示的待显示内容的索引号。

第一确定单元,用于根据所述滑动距离,确定所述待显示内容在所述单元视图中显示的移动顺序。

第二确定单元,用于依据所述待显示内容在所述单元视图中显示的移动顺序、以及所述每一个单元视图在页面当前显示的待显示内容的索引号,确定用户执行滑动操作之后,所述每一个单元视图在页面显示的待显示内容的索引号。

本申请上述几个实施例中各个单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。

本申请另一实施例还公开了一种动画效果的实现装置,如图6所示,包括:处理器601和存储器602;其中:

存储器602用于存储计算机指令;

处理器601用于执行存储器602存储的计算机指令,用于执行如上述任一实施例公开的动画效果的实现方法。

本申请实施例中处理器的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。

本申请另一实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令用于执行如上述任意一个实施例公开的动画效果的实现方法。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1