一种可以自由切换主题的动画显示方法及装置的制造方法

文档序号:10595126阅读:245来源:国知局
一种可以自由切换主题的动画显示方法及装置的制造方法
【专利摘要】本发明属于Android软件开发领域,尤其是涉及一种可以自由切换主题的动画显示方法及装置。本发明主要是自定义一个控件,根据需要可以设置显示几行(每一行有两列,一列在手机屏幕内,一列在屏幕外),以及和每一行的进屏动画和出屏动画,控件内部定义设置数据方法和切换方法,只需要这些方法就可以设置从网络端获取到的数据和实现换一换动画。本发明可以随意显示几行数据;随意为数据做动画及动画时间;并且数据能够一次性请求好,不必多次请求。
【专利说明】一种可以自由切换主题的动画显示方法及装置
[0001]
技术领域
[0002]本发明属于Android软件开发领域,尤其是涉及一种可以自由切换主题的动画显示方法及装置。
[0003]
【背景技术】
[0004]现在各类Andro id端app,如网易新闻、网易云音乐、新浪微博等主流app,都未实现此功能,即使是百度贴吧,有换一换功能,但是只有1S客户端实现了动画功能,Android未能实现,只是刷新了网络数据,以此来实现切换数据。
[0005]

【发明内容】

[0006]本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种可以自由切换主题的动画显示方法,其特征在于,包括:
SI,获取需要显示的数据:定义每次显示有N行数据,在请求数据时,每次接收到N*M条数据,并将该N*M条数据放在一个数据集合中,其中N和M均为正整数。
[0007]S2,设置显示窗口:在垂直方向设置N条线性布局用于显示N行数据在每一行布局里面水平方向设置N条线性布局,在每一列布局内设置一条显示窗口,所述显示窗口为屏幕宽度,用于显示主题信息。
[0008]S3,为每一行数据添加动画:当每一行布局向左平移滑动,平移一个屏幕的距离,将本来在屏幕中显示的数据平移到屏幕左侧,原本在屏幕右侧的数据平移到屏幕中显示,动画时长为S秒,其中S为正整数。
[0009]S4,为S3的执行添加滑动手势事件:添加一个手势事件实现从右侧往左侧滑动平移的动画。
[0010]S5,重新设置显示窗口:重新从SI的数据集合中根据换掉的数据设置每一列布局至显示窗口,若返回数据集合不是N的倍数,在集合的末尾加上相应数量的空数据进行填补,其中换掉的数据为S3在屏幕中显示的数据。
[0011]优化地,所述S3中动画的具体设置方法包括:
S3.1,首先第一行执行动画,在第一行平移S秒后,第二行执行动画。
53.2,第二行执行到S秒后,第三行执行动画。
53.3,直至第N行执行完动画效果后,结束。
[0012]优化地,所述S4中,添加滑动手势事件后进行执行时,还需要对该滑动手势事件与父控件进行判断,具体包括:
S4.1,如果点击了S2中自定义的显示窗口,则请求父控件不要拦截事件。
S4.2,如果滑动的横向距离大于竖向滑动的距离才算是横向滑动,否则不接受滑动事件。
S4.3,当向右滑动距离大于设定的距离时,视为滑动事件,请求父控件不要拦截事件。
[0013]一种可以自由切换主题的动画显示装置,包括:
数据获取模块:用于获取需要显示的数据,具体是定义每次显示有N行数据,在请求数据时,每次接收到N*M条数据,并将该N*M条数据放在一个数据集合中,其中N和M均为正整数。
[0014]显示窗口设置模块:用于在垂直方向设置N条线性布局用于显示N行,在每一行布局里面水平方向设置两条线性布局,在每一列内设置一条显示窗口,所述显示窗口为屏幕宽度,用于显示主题信息。
[0015]动画添加模块:为每一行数据添加动画,具体是当每一行向左平移滑动,平移一个屏幕的距离,将本来在屏幕中显示的数据平移到屏幕左侧,原本在屏幕右侧的数据平移到屏幕中显示,动画时长为S秒。
[0016]滑动手势创建模块:为动画的执行添加滑动手势事件,具体是添加一个手势事件实现从右侧往左侧滑动平移的动画。
[0017]显示窗口刷新模块:用于重新设置显示窗口:重新从数据获取模块的数据集合中根据换掉的数据设置每一列的显示窗口中,若返回数据集合不是N的倍数,这时则需要在集合的末尾加上相应数量的空数据填补。
[0018]优化地,所述动画添加模块设置动画具体包括:
首先第一行执行动画,在第一行平移S秒后,第二行执行动画。
第二行执行到S秒后,第三行执行动画。
直至第N行执行完动画效果后,结束。
[0019]优化地,所述滑动手势创建模块添加滑动手势事件后进行执行时,还需要对该滑动手势事件与父控件进行判断,具体包括:
如果点击了显示窗口设置模块自定义的显示窗口,则请求父控件不要拦截事件。
如果滑动的横向距离大于竖向滑动的距离才算是横向滑动,否则不接受滑动事件。
当向右滑动距离大于设定的距离时,视为滑动事件,请求父控件不要拦截事件。
[0020]因此,本发明具有如下优点:1.可以随意显示几行数据;2.可以随意为数据做动画及动画时间;3.数据能够一次性请求好,不必多次请求。
[0021]
【附图说明】
[0022]附图1是本发明的一种方法流程示意图。
[0023]附图2是本发明的一种结构框图。
[0024]附图3是本发明的一种原理示意图。
【具体实施方式】
[0025]下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0026]实施例:
一种可以自由切换主题的动画显示方法,包括: SI,获取需要显示的数据:定义每次显示有N行数据,在请求数据时,每次接收到N*M条数据,并将该N*M条数据放在一个数据集合中,其中N和M均为正整数。
[0027]S2,设置显示窗口:在垂直方向设置N条线性布局用于显示N行数据在每一行布局里面水平方向设置N条线性布局,在每一列布局内设置一条显示窗口,所述显示窗口为屏幕宽度,用于显示主题信息。
[0028]S3,为每一行数据添加动画:当每一行布局向左平移滑动,平移一个屏幕的距离,将本来在屏幕中显示的数据平移到屏幕左侧,原本在屏幕右侧的数据平移到屏幕中显示,动画时长为S秒,其中S为正整数,具体设置方法包括:
53.1,首先第一行执行动画,在第一行平移S秒后,第二行执行动画。
53.2,第二行执行到S秒后,第三行执行动画。
53.3,直至第N行执行完动画效果后,结束。
[0029]S4,为S3的执行添加滑动手势事件:添加一个手势事件实现从右侧往左侧滑动平移的动画;添加滑动手势事件后进行执行时,还需要对该滑动手势事件与父控件进行判断,具体包括:
S4.1,如果点击了S2中自定义的显示窗口,则请求父控件不要拦截事件。
S4.2,如果滑动的横向距离大于竖向滑动的距离才算是横向滑动,否则不接受滑动事件。
S4.3,当向右滑动距离大于设定的距离时,视为滑动事件,请求父控件不要拦截事件。
[0030]S5,重新设置显示窗口:重新从SI的数据集合中根据换掉的数据设置每一列的显示窗口中,若返回数据集合不是N的倍数,这时则需要在集合的末尾加上相应数量的空数据填补。
[0031]一种可以自由切换主题的动画显示装置,包括:
数据获取模块:用于获取需要显示的数据,具体是定义每次显示有N行数据,在请求数据时,每次接收到N*M条数据,并将该N*M条数据放在一个数据集合中,其中N和M均为正整数。
[0032]显示窗口设置模块:用于在垂直方向设置N条线性布局用于显示N行数据在每一行布局里面水平方向设置N条线性布局,在每一列布局内设置一条显示窗口,所述显示窗口为屏幕宽度,用于显示主题信息。
[0033]动画添加模块:为每一行数据添加动画:当每一行布局向左平移滑动,平移一个屏幕的距离,将本来在屏幕中显示的数据平移到屏幕左侧,原本在屏幕右侧的数据平移到屏幕中显示,动画时长为S秒,其中S为正整数。
[0034]具体包括:
首先第一行执行动画,在第一行平移S秒后,第二行执行动画。
第二行执行到S秒后,第三行执行动画。
直至第N行执行完动画效果后,结束。
[0035]滑动手势创建模块:滑动手势创建模块:为S3的执行添加滑动手势事件:添加一个手势事件用于实现从右侧往左侧滑动平移的动画;,该滑动手势创建模块添加滑动手势事件后进行执行时,还需要对该滑动手势事件与父控件进行判断,具体包括:
如果点击了显示窗口设置模块自定义的显示窗口,则请求父控件不要拦截事件。 如果滑动的横向距离大于竖向滑动的距离才算是横向滑动,否则不接受滑动事件。
当向右滑动距离大于设定的距离时,视为滑动事件,请求父控件不要拦截事件。
[0036]显示窗口刷新模块:用于重新设置显示窗口:重新从数据获取模块的数据集合中根据换掉的数据设置每一列的显示窗口中。
[0037]若返回数据集合不是N的倍数,在集合的末尾加上相应数量的空数据进行填补,其中换掉的数据为S3在屏幕中显示的数据。
[0038]实施例1
本发明以鱼吧客户端举例,提供一种可以自由切换主题的动画显示方法,包括:
SI,获取需要显示的数据:定义每次显示有3行数据,在请求数据时,每次接收到3*4条数据,并将该12条数据放在一个数据集合中;这样的数据可以返加多条,在鱼吧项目中为12条。服务器返回数据后,经过解析存在一个集合当中,以便于设置给自定义显示窗口。为什么要传12条呢?因为这样可以避免每次换一换的时候就去请求服务器数据,避免出现卡顿现象。存入在集合,每次换一换时只需在集合中取即可。
[0039]S2,设置显示窗口:使用自定义显示窗口,每次请求数据回来后,设置显示窗口:因为项目要求显示三行数据,所以在垂直方向加三条线性布局(用于显示三行),在每一行布局里面水平方向加两条线性布局(两列),在每一列里面加一条显示窗口(屏幕宽度,用于显示话题信息);实现如图1所示的布局,第一列用于显示在屏幕内,第二列用于动画后显示在屏幕内。
[0040]S3,为每一行数据添加动画:当每一行向左平移滑动,平移一个屏幕的距离,将本来在屏幕中显示的数据平移到屏幕左侧,原本在屏幕右侧的数据平移到屏幕中显示,动画时长为I秒,为了达到需要的动画效果,动画过程为:
(1)首先第一行执行动画,在第一行平移一定时间后,第二行根着执行动画。
(2)第二行执行到一定时间的一,第三行根着执行动画。
(3)第三行执行完动画效果后,结束,这样就一定的连贯效果。
[0041 ] S4,为S3的执行添加滑动手势事件:添加一个手势事件实现从右侧往左侧滑动平移的动画,添加滑动手势事件后进行执行时,还需要对该滑动手势事件与父控件进行判断,具体包括:
S4.1,如果点击了S2中自定义的显示窗口,则请求父控件不要拦截事件。
S4.2,如果滑动的横向距离大于竖向滑动的距离才算是横向滑动,否则不接受滑动事件。
S4.3,当向右滑动距离大于设定的距离时,视为滑动事件,请求父控件不要拦截事件。
[0042]S5,重新设置显示窗口:因为在每一次换一换后,执行了动画,原本在右侧的数据已经到了屏幕显示,所以再次换一换时,右侧没有了数据,因此,需要重新设置一下显示窗口和数据。
[0043]重新根据SI设置显示窗口,这时,设置的数据和第一次是不同的,需要重新从数据集合中根据换掉的数据设置到每一个条目显示窗口上去。
[0044]在此,可能会发返回数据集合不是3的倍数,这时则需要在集合的末尾加上相应数量的假数据,以实现不会报空指针和好的动画效果。
[0045]实施例2 本发明以鱼吧客户端举例,提供一种可以自由切换主题的动画显示装置,包括:
数据获取模块:用于获取需要显示的数据,定义每次显示有3行数据,在请求数据时,每次接收到3*4条数据,并将该12条数据放在一个数据集合中;这样的数据可以返加多条,在鱼吧项目中为12条。服务器返回数据后,经过解析存在一个集合当中,以便于设置给自定义显示窗口。为什么要传12条呢?因为这样可以避免每次换一换的时候就去请求服务器数据,避免出现卡顿现象。存入在集合,每次换一换时只需在集合中取即可。
[0046]显示窗口设置模块:定义每次显示有3行数据,在请求数据时,每次接收到3*4条数据,并将该12条数据放在一个数据集合中;这样的数据可以返加多条,在鱼吧项目中为12条。服务器返回数据后,经过解析存在一个集合当中,以便于设置给自定义显示窗口。为什么要传12条呢?因为这样可以避免每次换一换的时候就去请求服务器数据,避免出现卡顿现象,存入在集合,每次换一换时只需在集合中取即可。
[0047]动画添加模块:当每一行向左平移滑动,平移一个屏幕的距离,将本来在屏幕中显示的数据平移到屏幕左侧,原本在屏幕右侧的数据平移到屏幕中显示,动画时长为I秒,为了达到需要的动画效果,动画过程为:
首先第一行执行动画,在第一行平移一定时间后,第二行根着执行动画。第二行执行到一定时间的一,第三行根着执行动画。第三行执行完动画效果后,结束,这样就一定的连贯效果。
[0048]滑动手势创建模块:添加一个手势事件实现从右侧往左侧滑动平移的动画,添加滑动手势事件后进行执行时,还需要对该滑动手势事件与父控件进行判断,具体包括:
S4.1,如果点击了动画添加模块自定义的显示窗口,则请求父控件不要拦截事件。
S4.2,如果滑动的横向距离大于竖向滑动的距离才算是横向滑动,否则不接受滑动事件。
S4.3,当向右滑动距离大于设定的距离时,视为滑动事件,请求父控件不要拦截事件。
[0049]显示窗口刷新模块:因为在每一次换一换后,执行了动画,原本在右侧的数据已经到了屏幕显示,所以再次换一换时,右侧没有了数据,因此,需要重新设置一下显示窗口和数据。重新从数据获取模块的数据集合中根据换掉的数据设置每一列的显示窗口中,若返回数据集合不是3的倍数,这时则需要在集合的末尾加上相应数量的空数据填补。
[0050]本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
【主权项】
1.一种可以自由切换主题的动画显示方法,其特征在于,包括: SI,获取需要显示的数据:定义每次显示有N行数据,在请求数据时,每次接收到N*M条数据,并将该N*M条数据放在一个数据集合中,其中N和M均为正整数; S2,设置显示窗口:在垂直方向设置N条线性布局用于显示N行数据在每一行布局里面水平方向设置N条线性布局,在每一列布局内设置一条显示窗口,所述显示窗口为屏幕宽度,用于显示主题信息; S3,为每一行数据添加动画:当每一行布局向左平移滑动,平移一个屏幕的距离,将本来在屏幕中显示的数据平移到屏幕左侧,原本在屏幕右侧的数据平移到屏幕中显示,动画时长为S秒,其中S为正整数; S4,为S3的执行添加滑动手势事件:添加一个手势事件用于实现从右侧往左侧滑动平移的动画; S5,重新设置显示窗口:重新从SI的数据集合中根据换掉的数据设置每一列布局至显示窗口,若返回数据集合不是N的倍数,在集合的末尾加上相应数量的空数据进行填补,其中换掉的数据为S3在屏幕中显示的数据。2.根据权利要求1所述的一种可以自由切换主题的动画显示方法,其特征在于,所述S3中动画的具体设置方法包括: S3.1,首先第一行执行动画,在第一行平移S秒后,第二行执行动画; 53.2,第二行执行到S秒后,第三行执行动画; 53.3,直至第N行执行完动画效果后,结束。3.根据权利要求1所述的一种可以自由切换主题的动画显示方法,其特征在于,所述S4中,添加滑动手势事件后进行执行时,还需要对该滑动手势事件与父控件进行判断,具体包括: S4.1,如果点击了 S2中自定义的显示窗口,则请求父控件不要拦截事件; S4.2,如果滑动的横向距离大于竖向滑动的距离才算是横向滑动,否则不接受滑动事件; S4.3,当向右滑动距离大于设定的距离时,视为滑动事件,请求父控件不要拦截事件。4.一种可以自由切换主题的动画显示装置,其特征在于,包括: 数据获取模块:用于获取需要显示的数据,具体是定义每次显示有N行数据,在请求数据时,每次接收到N*M条数据,并将该N*M条数据放在一个数据集合中,其中N和M均为正整数; 显示窗口设置模块:用于在垂直方向设置N条线性布局用于显示N行数据在每一行布局里面水平方向设置N条线性布局,在每一列布局内设置一条显示窗口,所述显示窗口为屏幕宽度,用于显示主题信息; 动画添加模块:为每一行数据添加动画:当每一行布局向左平移滑动,平移一个屏幕的距离,将本来在屏幕中显示的数据平移到屏幕左侧,原本在屏幕右侧的数据平移到屏幕中显示,动画时长为S秒,其中S为正整数; 滑动手势创建模块:为S3的执行添加滑动手势事件:添加一个手势事件用于实现从右侧往左侧滑动平移的动画; 显示窗口刷新模块:用于重新设置显示窗口:重新从数据获取模块的数据集合中根据换掉的数据设置每一列的显示窗口中, 若返回数据集合不是N的倍数,在集合的末尾加上相应数量的空数据进行填补,其中换掉的数据为S3在屏幕中显示的数据。5.根据权利要求1所述的一种可以自由切换主题的动画显示装置,其特征在于,所述动画添加模块设置动画具体包括: 首先第一行执行动画,在第一行平移S秒后,第二行执行动画; 第二行执行到S秒后,第三行执行动画; 直至第N行执行完动画效果后,结束。6.根据权利要求1所述的一种可以自由切换主题的动画显示装置,其特征在于,所述滑动手势创建模块添加滑动手势事件后进行执行时,还需要对该滑动手势事件与父控件进行判断,具体包括: 如果点击了显示窗口设置模块自定义的显示窗口,则请求父控件不要拦截事件; 如果滑动的横向距离大于竖向滑动的距离才算是横向滑动,否则不接受滑动事件; 当向右滑动距离大于设定的距离时,视为滑动事件,请求父控件不要拦截事件。
【文档编号】G06T13/00GK105957126SQ201610256508
【公开日】2016年9月21日
【申请日】2016年4月22日
【发明人】王立学, 吴凯兴
【申请人】武汉斗鱼网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1