应用界面中拉伸弹动动画的实现方法及装置与流程

文档序号:12118978阅读:287来源:国知局
应用界面中拉伸弹动动画的实现方法及装置与流程

本发明属于终端技术领域,尤其涉及应用界面中拉伸弹动动画的实现方法及装置。



背景技术:

在Android电视的应用界面中,对于所产生的用户操作,通常会以动画的形式来进行反馈,例如,如图1所示,在应用界面11中展示着若干列操作对象,当前的焦点框定位在操作对象12上,保持焦点框的位置不变,针对令操作对象13左移至焦点框的用户操作,应用界面中会做出如下反馈:令包括操作对象12在内的两列操作对象向左侧移动,与此同时,令操作对象12右侧的三列操作对象先向右侧移动,与操作对象12所在列拉开一定距离,然后,这三列操作对象再加速向左侧移动,当操作对象13移动至焦点框内时,动画结束。以上反馈动画可以模拟出操作对象被拉伸回弹的显示效果,实现动态效果的操作反馈。

现有技术中,要实现上述动态效果的操作反馈,需要开发人员自定义视图(view)和布局(layout),代码逻辑复杂,调试过程也容易出错,导致应用开发周期较长,降低了应用的开发效率。



技术实现要素:

有鉴于此,本发明实施例提供了应用界面中拉伸弹动动画的实现方法及装置,以解决目前在应用界面中实现动态效果的操作反馈,需要开发人员自定义视图和布局,代码逻辑复杂,导致应用的开发周期长,开发效率低的问题。

第一方面,提供了一种应用界面中拉伸弹动动画的实现方法,包括:

接收用户输入的移动指令,所述移动指令用于指示将应用界面中显示的N个操作对象组向预设方向滚动一个单位位移,以使应用界面中的焦点框从第一操作对象组移动至与所述第一操作对象组在所述预设方向的反方向上相邻的第二操作对象组;

以所述第一操作对象组和所述第二操作对象组的交界处为边界,将位于所述预设方向上的所有操作对象组视为一个容器,控制所述容器朝所述预设方向上移动所述单位位移;

在控制所述容器移动的同时,先令位于所述预设方向上的反方向上的所有操作对象组保持静止,之后令该部分操作对象组向所述预设方向加速移动所述单位位移。

第二方面,提供了一种应用界面中拉伸弹动动画的实现装置,包括:

接收单元,用于接收用户输入的移动指令,所述移动指令用于指示将应用界面中显示的N个操作对象组向预设方向滚动一个单位位移,以使应用界面中的焦点框从第一操作对象组移动至与所述第一操作对象组在所述预设方向的反方向上相邻的第二操作对象组;

第一移动单元,用于以所述第一操作对象组和所述第二操作对象组的交界处为边界,将位于所述预设方向上的所有操作对象组视为一个容器,控制所述容器朝所述预设方向上移动所述单位位移;

第二移动单元,用于在控制所述容器移动的同时,先令位于所述预设方向上的反方向上的所有操作对象组保持静止,之后令该部分操作对象组向所述预设方向加速移动所述单位位移。

本发明实施例基于android系统原生控件ScrollView来实现对操作对象滚动过程中的回弹效果反馈,技术人员无需从头自定义视图和布局,在一定程度上简化了代码实现的逻辑,缩短了开发周期,提高了开发效率。

附图说明

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

图1是本发明实施例提供的应用界面示例图;

图2是本发明实施例提供的应用界面中拉伸弹动动画的实现方法的实现流程图;

图3是本发明实施例提供的应用界面中拉伸弹动动画的实现方法S203的具体实现流程图;

图4是本发明实施例提供的应用界面的操作反馈示例图;

图5是本发明实施例提供的应用界面中拉伸弹动动画的实现装置的结构框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

图2示出了本发明实施例提供的应用界面中拉伸弹动动画的实现方法的实现流程,详述如下:

在S201中,接收用户输入的移动指令,所述移动指令用于指示将应用界面中显示的N个操作对象组向预设方向滚动一个单位位移,以使应用界面中的焦点框从第一操作对象组移动至与所述第一操作对象组在所述预设方向的反方向上相邻的第二操作对象组。

在本发明实施例中,移动指令可以通过触屏、鼠标、遥控器、键盘等方式输入,用于指示将应用界面中的N个操作对象组向预设方向滚动一个单位位移,其中,所述单位位移是指一次移动指令下达之后操作对象所需要移动的距离,所述预设方向包括左侧、右侧、上方或下方。以图1为例,若移动指令用于指示将图1应用界面中展示的五列操作对象组(包括显示在屏幕中的三列以及位于这三列操作对象组左侧及右侧的共两列操作对象组)向左侧滚动一个单位位移,那么,对应该移动指令的操作反馈结果应为:其中的第一个操作对象都向左侧平移至其相邻操作对象的位置,即,在该操作反馈中,操作对象13移动至操作对象12的位置,相应地,焦点框因为保持静止,因此其焦点对象也由操作对象12变为了操作对象13。

在S202中,以所述第一操作对象组和所述第二操作对象组的交界处为边界,将位于所述预设方向上的所有操作对象组视为一个容器,控制所述容器朝所述预设方向上移动所述单位位移。

在本发明实施例中,在控制应用界面中的操作对象移动的过程中,对其中一部分的操作对象的移动基于android系统的原生控件ScrollView实现,仍然以图1为例,焦点框初始位于操作对象12上,则以操作对象12所在列的操作对象组和以操作对象13所在列的操作对象组的交界处(即图1中的边界14)为边界,将虚线框15内的所有操作对象视为一个容器(即视为一个ScrollView),控制该朝左侧移动一个单位位移。

示例性地,在具体实现中,可以为该ScrollView设置动画参数如下:

运动时长:400ms;运动距离:两个操作对象的距离差(即操作对象12左边界与操作对象13左边界的距离差),并基于上述运动时长或运动距离为该ScrollView设置相应的匀速或变速运动曲线。

在S203中,在控制所述容器移动的同时,先令位于所述预设方向上的反方向上的所有操作对象组保持静止,之后令该部分操作对象组向所述预设方向加速移动所述单位位移。

在ScrollView向预设方向运动的同时,会对剩余的操作对象组(例如图1中虚线框16内的所有操作对象组)进行两部分运动控制,首先,会令这部分操作对象组在应用界面中保持静止,那么在用户看来,在ScrollView向预设方向运动的同时,这部分操作对象组是在向着ScrollView运动方向相反的方向运动,示例性地,以为ScrollView设置的运动时间为400ms为例,该静止动作的持续时间可以为65ms。在静止时间结束后,控制这部分操作对象组向着预设方向加载移动,运动距离为一个单位位移,这样一来,在前台表现上来看,整个过程中这部分操作对象会形成先向反方向运动再加速向目标位置运动的视觉效果,

进一步地,作为本发明的一个实施例,在对容器之外的操作对象组进行运动控制时,可以通过为每个操作对象组定义不同的运动时间及运动曲线,从而在图2对应实施例的基础之上,实现拉伸回弹的效果,如图3所示,S203中所述令该部分操作对象组向所述预设方向加速移动所述单位位移包括:

S301,基于每个操作对象组的位置,确定该操作对象组的加速移动时间。

S302,根据所述加速移动时间生成每个操作对象组的运动曲线。

S303,通过所述运动曲线控制对应的操作对象组向所述预设方向加速移动一个所述单位位移。

每个操作对象组在预设方向上的位置不同,那么该操作对象组对应的加速移动的时间也不同。优选地,每个操作对象组的加速移动时间可以与操作对象组与第一操作对象组的初始距离成正比。例如,图1中,预设方向为左侧,虽然每个操作对象组移动的距离均为一个单位位移,但是由于操作对象13与操作对象12的初始距离最短,因此,为操作对象13所在列设置的加速移动时间也最短,相比之下,操作对象17与操作对象12的初始距离要更长,因此,为操作对象17所在列设置的加速移动时间也较长,根据每个操作对象组各自对应的加速移动时间以及相同的移动距离来分别生成每个操作对象组对应的运动曲线,以此来控制每个操作对象组运动,那么在实际的操作反馈过程中,操作对象13所在列会较快地加速移动至其目标位置,而操作对象17所在列会较慢地加速移动至其目标位置,从而为用户形成这部分操作对象被拉伸后再回弹的视觉效果。

进一步地,为了保证容器内的操作对象与容器之外的操作对象在运动过程中不会重合,可以限定容器之外的操作对象加速移动的时间大于或等于容器的移动时间。以容器的移动时间为400ms为例,若容器之外还有三个操作对象组,那么这三个操作对象组根据各自与容器之间的初始距离由小到大排列,对应的加速移动时间可以分别为400ms、450ms和500ms,那么再加上这三个操作对象之前保持静止的时间65ms,就可以保证容器内外的操作对象组在运动过程中不会出现重合。

图4以图1所示的应用界面的向左移动指令为例,由上至下依序分别展示了三个不同时间点的应用界面图,这三个时间点分别为容器之外的操作对象组保持静止时、操作对象13所在列抵达其目标位置时及操作对象17抵达其目标位置时的应用界面图,可以看出,整个操作反馈过程可以实现三个操作对象组拉伸回弹的效果。

本发明实施例基于android系统原生控件ScrollView来实现对操作对象滚动过程中的回弹效果反馈,技术人员无需从头自定义视图和布局,在一定程度上简化了代码实现的逻辑,缩短了开发周期,提高了开发效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

另外,本实施例第一操作对象、第二操作对象是指某一操作对象,“第一、第二”在此仅为表述和指代的方便,以用于区别不同操作对象,并不意味着在本发明的具体实现方式中一定会有与之对应的第一操作对象、第二操作对象。

对应于上文实施例所述的应用界面中拉伸弹动动画的实现方法,图5示出了本发明实施例提供的应用界面中拉伸弹动动画的实现装置的结构框图,为了便于说明,仅示出了与本实施例相关的部分。

参照图5,该装置包括:

接收单元51,接收用户输入的移动指令,所述移动指令用于指示将应用界面中显示的N个操作对象组向预设方向滚动一个单位位移,以使应用界面中的焦点框从第一操作对象组移动至与所述第一操作对象组在所述预设方向的反方向上相邻的第二操作对象组;

第一移动单元52,以所述第一操作对象组和所述第二操作对象组的交界处为边界,将位于所述预设方向上的所有操作对象组视为一个容器,控制所述容器朝所述预设方向上移动所述单位位移;

第二移动单元53,在控制所述容器移动的同时,先令位于所述预设方向上的反方向上的所有操作对象组保持静止,之后令该部分操作对象组向所述预设方向加速移动所述单位位移。

可选地,所述第二移动单元53包括:

确定子单元,基于每个操作对象组的位置,确定该操作对象组的加速移动时间;

生成子单元,根据所述加速移动时间生成每个操作对象组的运动曲线;

加速移动子单元,通过所述运动曲线控制对应的操作对象组向所述预设方向加速移动所述单位位移。

可选地,所述加速移动时间与操作对象组与所述第一操作对象组的初始距离成正比。

可选地,所述加速移动的时间大于或等于所述容器的移动时间。

可选地,所述预设方向包括左侧、右侧、上方或下方。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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