CN109189300B - 一种视图循环展示方法和装置 - Google Patents
一种视图循环展示方法和装置 Download PDFInfo
- Publication number
- CN109189300B CN109189300B CN201810936344.1A CN201810936344A CN109189300B CN 109189300 B CN109189300 B CN 109189300B CN 201810936344 A CN201810936344 A CN 201810936344A CN 109189300 B CN109189300 B CN 109189300B
- Authority
- CN
- China
- Prior art keywords
- view
- sliding
- views
- component
- carousel
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请实施例公开了一种视图循环展示方法,所述方法包括:获取视图组,所述视图组包括待循环展示的多张视图;根据所述视图组构建轮播视图组件;在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量满足第一数值,根据第二数值增加所述轮播视图组件的展示次数,并根据所述视图组向所述视图集合中添加数量满足增加的展示次数的视图。本申请可以使得在构建轮播视图组件时可以不用设置过大的展示次数,避免为此在构建轮播视图时预存海量视图,节约***资源,并提高承载轮播视图组件的显示界面的执行效率。
Description
技术领域
本申请涉及数据处理领域,特别是涉及一种视图循环展示方法和轮播视图组件。
背景技术
轮播视图组件可以应用于各类操作***环境中,例如windows、ios、android等。轮播视图组件是一种在显示界面上循环展示多张视图的组件,例如在网页上的预定展示区域中循环展示多张广告视图就是一种轮播视图组件的常见应用。
在通过传统方式构建轮播视图组件时,需要设置好循环的次数,通过展示次数可以明确所构建的轮播视图组件可以循环展示视图的次数,并为轮播视图组件生成并保存数量满足该展示次数的视图,以便轮播视图组件循环展示。当轮播视图组件循环展示视图的次数达到该展示次数时,将会不再正常工作,例如固定展示最后一次展示的视图等。
然而,由于轮播视图组件需要在展示时持续性的轮流播放视图,再加上用户有可能长时间的浏览轮播视图组件中视图的内容,故为了避免用户在浏览过程中轮播视图组件不再正常工作,一般在构建轮播视图组件时会尽量将展示次数设置的非常大,从而导致了需要为轮播视图组件生成并保存海量视图,不仅浪费***资源,而且会引起承载轮播视图组件的显示界面执行效率低下。
发明内容
为了解决上述技术问题,本申请提供了一种视图循环展示方法,以希望能够在构建轮播视图组件时可以不用设置过大的展示次数,避免为此在构建轮播视图时预存海量视图,从而节约***资源,并提高承载轮播视图组件的显示界面的执行效率。
本申请实施例公开了如下技术方案:
本申请第一方面提供了一种视图循环展示方法,所述方法包括:
获取视图组,所述视图组包括待循环展示的多张视图;
根据所述视图组构建轮播视图组件,所述轮播视图组件所包括的视图集合是根据展示次数和所述视图组生成的,所述视图集合中的视图数量满足所述展示次数;所述轮播视图组件的展示次数用于标识所述轮播视图组件循环展示视图的次数;
在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量满足第一数值,根据第二数值增加所述轮播视图组件的展示次数,并根据所述视图组向所述视图集合中添加数量满足增加的展示次数的视图。
可选的,所述第二数值是根据所述视图组所包括的视图数量确定的。
可选的,所述方法还包括:
记录所述轮播视图组件在展示区域上展示第一视图的时长,并在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域,所述第一视图为所述视图集合中的任一张视图,所述第二视图为展示顺序上位于所述第一视图下一张的视图。
可选的,所述在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域,包括:
判断所述展示区域中是否展示了所述第二视图的部分视图内容;
根据判断结果确定针对所述第二视图的滑动距离;
控制所述视图滑动组件根据所述滑动距离滑动所述第二视图,以将所述第二视图自动滑动到所述展示区域。
可选的,所述根据判断结果确定针对所述第二视图的滑动距离,包括:
若所述展示区域中展示所述第二视图的部分视图内容,将所述展示区域中所述第一视图和所述第二视图同一侧之间的距离作为所述第二视图的滑动距离;
若所述展示区域中未展示所述第二视图,将所述展示区域的展示长度作为所述第二视图的滑动距离。
可选的,所述方法还包括:
若检测到针对所述展示区域的滑动操作,在所述滑动操作结束时,根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图;所述滑动操作方向是根据所述滑动操作的起始触控点和结束触控点确定的;
根据所述目标视图与所述展示区域的展示边界间的位置关系确定滑动距离;
控制视图滑动组件根据所述滑动距离滑动所述两张视图中的待滑入视图,以将所述待滑入视图滑动到所述展示区域。
可选的,所述根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图,包括:
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相同,在所述展示区域中的两张视图中,将滑出所述展示区域的视图确定为所述目标视图;
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相反,在所述展示区域中的两张视图中,将滑入所述展示区域的视图确定为所述目标视图。
可选的,所述方法还包括:
在控制所述视图滑动组件将一张视图滑动到所述展示区域的过程中,获取所述视图滑动组件发送的至少一次回调通知;所述回调通知包括发送所述回调通知时所述视图滑动组件对该张视图滑动到所述展示区域中的滑动进度;
根据获取的回调通知确定在获取下一次回调通知前所述视图滑动组件滑动所述视图的滑动距离;
控制所述视图滑动组件根据该滑动距离滑动该张视图。
可选的,在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,所述方法还包括:
获取更新信息,所述更新信息包括待更新到所述视图组中的视图,以及视图在所述视图组中的展示位;
根据所述更新信息将该视图更新到所述视图组中对应的展示位;
根据更新后的视图组更新所述轮播视图组件中的所述视图集合。
本申请第二方面提供了一种视图循环展示装置,所述装置包括:第一获取模块、构建模块、增加模块和添加模块。
所述第一获取模块,用于获取视图组,所述视图组包括待循环展示的多张视图;
所述构建模块,用于根据所述视图组构建轮播视图组件,所述轮播视图组件所包括的视图集合是根据展示次数和所述视图组生成的,所述视图集合中的视图数量满足所述展示次数;所述轮播视图组件的展示次数用于标识所述轮播视图组件循环展示视图的次数;
所述增加模块,用于在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量满足第一数值,根据第二数值增加所述轮播视图组件的展示次数;
所述添加模块,在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量满足第一数值,根据第二数值增加所述轮播视图组件的展示次数,并根据所述视图组向所述视图集合中添加数量满足增加的展示次数的视图。
可选的,所述第二数值是根据所述视图组所包括的视图数量确定的。
可选的,所述装置还包括:记录模块和滑动模块;
所述记录模块,用于记录所述轮播视图组件在展示区域上展示第一视图的时长;
所述滑动模块,用于在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域,所述第一视图为所述视图集合中的任一张视图,所述第二视图为展示顺序上位于所述第一视图下一张的视图。
可选的,所述滑动模块,具体用于:
判断所述展示区域中是否展示了所述第二视图的部分视图内容;
根据判断结果确定针对所述第二视图的滑动距离;
控制所述视图滑动组件根据所述滑动距离滑动所述第二视图,以将所述第二视图自动滑动到所述展示区域。
可选的,所述滑动模块,还具体用于:
若所述展示区域中展示所述第二视图的部分视图内容,将所述展示区域中所述第一视图和所述第二视图同一侧之间的距离作为所述第二视图的滑动距离;
若所述展示区域中未展示所述第二视图,将所述展示区域的展示长度作为所述第二视图的滑动距离。
可选的,所述装置还包括:第一确定模块、第二确定模块和第一滑动模块;
所述第一确定模块,用于若检测到针对所述展示区域的滑动操作,在所述滑动操作结束时,根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图;所述滑动操作方向是根据所述滑动操作的起始触控点和结束触控点确定的;
所述第二确定模块,用于根据所述目标视图与所述展示区域的展示边界间的位置关系确定滑动距离;
所述第一滑动模块,用于控制视图滑动组件根据所述滑动距离滑动所述两张视图中的待滑入视图,以将所述待滑入视图滑动到所述展示区域。
可选的,所述第一确定模块,具体用于:
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相同,在所述展示区域中的两张视图中,将滑出所述展示区域的视图确定为所述目标视图;
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相反,在所述展示区域中的两张视图中,将滑入所述展示区域的视图确定为所述目标视图。
可选的,所述装置还包括:第二获取模块、第三确定模块和第二滑动模块;
所述第二获取模块,用于在控制所述视图滑动组件将一张视图滑动到所述展示区域的过程中,获取所述视图滑动组件发送的至少一次回调通知;所述回调通知包括发送所述回调通知时所述视图滑动组件对该张视图滑动到所述展示区域中的滑动进度;
所述第三确定模块,用于根据获取的回调通知确定在获取下一次回调通知前所述视图滑动组件滑动所述视图的滑动距离;
所述第二滑动模块,用于控制所述视图滑动组件根据该滑动距离滑动该张视图。
可选的,在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,所述装置还包括:第三获取模块、第一更新模块和第二更新模块;
所述第三获取模块,用于获取更新信息,所述更新信息包括待更新到所述视图组中的视图,以及视图在所述视图组中的展示位;
所述更新模块,用于根据所述更新信息将该视图更新到所述视图组中对应的展示位;
所述第二更新模块,用于根据更新后的视图组更新所述轮播视图组件中的所述视图集合。
本申请第三方面提供了一种视图循环展示设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面中任一项所述视图循环展示方法。
本申请第四方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面中任一项所述视图循环展示方法。
由上述技术方案可以看出,在获取包括待循环展示的多张不同视图的视图组后,可以根据该视图组构建轮播视图组件,该轮播视图组件中包括视图数量满足所述展示次数的视图集合。由于在通过该轮播视图组件循环展示视图集合中视图的过程中,可以在视图集合中未被展示的视图数量满足第一数值时,根据第二数值增加轮播视图组件的展示次数,并根据视图组向视图集合中添加数量满足增加的展示次数的视图,这种展示次数可更新的机制使得在构建轮播视图组件时可以不用设置过大的展示次数,避免为此在构建轮播视图时预存海量视图,节约***资源,并提高承载轮播视图组件的显示界面的执行效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种视图循环展示***的架构示意图;
图2为本申请实施例提供的一种视图循环展示方法的方法流程图;
图3为本申请实施例提供的一种轮播视图组件的结构示意图;
图4为本申请实施例提供的一种展示区域中展示有部分第二视图的示意图;
图5为本申请实施例提供的一种展示区域中未展示有第二视图的示意图;
图6为本申请实施例提供的一种展示区域在滑动操作作用下的示意图之一;
图7为本申请实施例提供的一种展示区域在滑动操作作用下的示意图之二;
图8为本申请实施例提供的一种回调通知的流程示意图;
图9为本申请实施例提供的一种具体场景下的视图循环展示方法的方法流程图;
图10a为本申请实施例提供的一种视图循环展示装置的结构示意图之一;
图10b为本申请实施例提供的一种视图循环展示装置的结构示意图之二;
图10c为本申请实施例提供的一种视图循环展示装置的结构示意图之三;
图10d为本申请实施例提供的一种视图循环展示装置的结构示意图之四;
图10e为本申请实施例提供的一种视图循环展示装置的结构示意图之五;
图11为本申请实施例提供的一种视图循环展示设备的结构示意图之一;
图12为本申请实施例提供的一种视图循环展示设备的结构示意图之二。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在传统的轮播视图组件中通常包括了视图滑动切换工具(ViewPager)。其中,ViewPager的扩展性和灵活性较差,需要对ViewPager设置好循环展示的次数,通过展示次数可以明确包括了ViewPager的轮播视图组件可以循环展示视图的次数,并可以为轮播视图组件生成并保存数量满足该展示次数的视图,以便轮播视图组件循环展示。然而,由于轮播视图组件需要在展示时持续性的轮流播放视图,再加上用户有可能长时间的浏览轮播视图组件中视图的内容,故为了避免用户在浏览过程中轮播视图组件不再正常工作,一般在构建轮播视图组件时会尽量将展示次数设置的非常大,从而导致了需要为轮播视图组件生成并保存海量视图,不仅浪费***资源,而且会引起承载轮播视图组件的显示界面执行效率低下。
为此,本申请实施例提供了一种视图循环展示方法,以希望能够在通过轮播视图组件循环展示视图集合中视图的过程中,可以根据视图集合中未被展示的视图数量,随时增加轮播视图组件的展示次数,并可以根据视图组向视图集合中添加数量满足增加的展示次数的视图。
作为一种示例,图1示出了本实施例提供的一种视图循环展示***的架构示意图,本申请实施例提供的视图循环展示方法可以应用于如图1所示的视图循环展示***中,该视图循环展示***可以包括终端101和服务器102。其中,终端101可以为能够打开显示界面的设备,例如可以是能够打开显示界面的手机、笔记本电脑、台式电脑、平板电脑、电子书阅读器、动态影像专家压缩标准音频层面4(Moving Picture Experts GroupAudio LayerIV,MP4)播放器和膝上型便携计算机等;服务器102能够用于构建轮播视图组件。
具体地,用户通过终端101打开显示界面时,显示界面可以通过轮播视图组件循环展示视图,其中,显示界面可以为能够展示视图的界面,比如,显示界面可以是网页或者应用软件(Application,APP)的界面,当用户通过终端101打开网页或APP的界面时,网页或APP的界面中可以通过轮播视图组件循环展示视图。需要说明的,显示界面中展示视图的区域可以称之为展示区域。
需要强调的是,用户在终端101中打开显示界面后,若该显示界面的展示区域需要通过轮播视图组件循环展示视图,服务器102可以构建对应的轮播视图组件。本实施例所提及的轮播视图组件可以为用于在展示区域中循环展示视图的组件。其中,轮播视图组件不仅可以存储待循环展示的视图,还可以在依附于显示界面循环展示视图的过程中,根据第二数值增加展示次数并更新所存储视图。需要说明的是,循环展示是指轮播视图组件一张一张的展示视图集合中视图,由于视图集合中的视图是根据展示次数和视图组中多个视图确定的,且展示的顺序根据视图组中多个视图的展示位确定的,故在轮播视图组件依次展示视图的过程中,视图组中的视图会被循环展示出来。轮播视图组件的展示次数用于标识轮播视图组件在展示区域中循环展示视图的过程中,可以依次展示多少张视图,即轮播视图组件循环展示视图的次数。
这样,在通过轮播视图组件循环展示视图集合中视图的过程中,当轮播视图组件所存储的未被展示的视图数量满足第一数值时,服务器102可以将该轮播视图组件的展示次数增加第二数值,并根据该展示次数更新该轮播视图组件所存储的视图,这种展示次数可更新的机制可以使得在构建轮播视图组件时不用设置过大的展示次数,从而不需要在构建轮播视图组件时预存海量视图,节约***资源,并提高承载轮播视图组件的显示界面的执行效率。
在本实施例中,轮播视图组件可以应用于各类操作***环境中,比如windows、ios、android等操作***。举例来说,当轮播视图组件应用于android操作***时,轮播视图组件可以包括循环器对象(RecyclerView)、数据组装控制器(BaseAdapter)和存储器。其中,存储器可以用于存储待循环展示的视图;RecyclerView可以用于在展示区域中循环展示存储器所存储的视图,并且可以在循环展示视图的过程中增加展示次数,以便BaseAdapter能够根据所增加的展示次数,添加存储器中所存储的视图;BaseAdapter可以用于在循环展示视图的过程中,更新存储器中所存储的视图,比如,在存储器中添加数量满足增加的展示次数的视图;需要强调的是,由于RecyclerView可以在循环展示视图的过程中增加展示次数,故在构建轮播视图组件时不需要将RecyclerView设置过大的展示次数,从而使得在构建轮播视图时不需要在存储器中预存海量视图。
为便于描述,可以将轮播视图组件中所存储的全部视图称之为视图集合。其中,视图集合中的视图数量满足展示次数,比如视图集合中的视图数量可以等于展示次数。
需要说明的是,视图集合可以是根据展示次数和视图组生成的。其中,视图组可以包括待循环展示的多张视图。可以理解的是,视图组可以为视图循环展示的基本要素,视图组中的视图可以为视图循环展示的基本视图。也就是说,在轮播视图组件循环展示视图过程中,轮播视图组件所展示的全部视图均为视图组中的多张视图。
可以理解的是,由于视图集合是基于展示次数和视图组中的多张视图生成,故视图集合中可以包括了多张相同的视图,且该多张相同的视图可以为视图组中的任意一张视图。举例来说,如图1所示,假设展示次数为9次,且视图组102包括了视图A、视图B和视图C,那么,根据展示次数9次和视图组103生成的视图集合104可以包括9张视图,这9张视图中包括3组视图A、视图B和视图C。
需要说明的是,视图组中的多张视图分别对应有展示位,其中,一张视图对应的展示位可以为在通过轮播视图组件展示视图的过程中该张视图相对于视图组中其它视图的展示顺序。也就是说,根据视图组中多张视图的展示顺序能够体现该视图组中视图对应的展示位,例如,如图1所示,视图组103包括三张视图,且这三张视图的展示顺序为视图A→视图B→视图C,那么,可以确定该视图A的展示位可以位于该视图B的展示位之前,该视图B的展示位可以位于该视图C的展示位之前。
在通过轮播视图组件循环展示视图集合中的视图的过程中,轮播视图组件可以根据视图对应的展示位,将视图集合中的视图依次进行循环展示,在轮播视图组件循环展示到视图组中展示位为最后一位的视图时,接着可以循环展示视图组中展示位为最靠前的视图,例如在图1所示的场景中,轮播视图组件可以先展示视图A,然后展示视图B,再展示视图C,之后继续依此顺序展示视图A、视图B、视图C,以实现循环展示视图组中的视图。
可以理解的是,在上述应用场景中,虽然本申请实施例的技术方案可以部分由终端101执行、部分由服务器102执行,但是,本申请实施例的技术方案也可以完全由终端101或者服务器102执行。本申请在执行主体方面不受限制,只要执行了本申请实施方式所公开的动作即可。
需要注意的是,上述应用场景仅是为了便于理解本申请而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
下面结合附图,详细说明本申请的各种非限制性实施方式。
接下来,将以本申请所提供的视图循环展示方法应用于服务器为例,对本申请所提供的视图循环展示方法进行介绍。参见图2,为本申请实施例提供的一种视图循环展示方法的方法流程图。如图2所示,可以包括如下步骤:
S201:获取视图组。当服务器需要在显示界面的展示区域中循环展示视图时,服务器可以先获取视图组。其中,视图组所包括的待循环展示的多张视图可以是多个不同的视图,也可以是部分相同、部分不相同的多个视图;例如,视图组包括了三张不同的视图,分别为关于手机的广告视图、关于笔记本的广告视图和关于平板电脑的广告视图;又例如,视图组包括了标语“弟弟,高考加油!”对应的八张视图,即包括了文字内容分别为“弟”、“弟”、“高”、“考”、“加”、“油”的视图和符号分别为“,”、“!”的视图,其中,有两张视图为相同的视图(即均为文字内容为“弟”的视图)。
S202:根据所述视图组构建轮播视图组件。在本实施例中,服务器获取到视图组后,可以先设置轮播视图组件的展示次数。需要说明的是,设置的展示次数越大,在构建轮播视图组件时需要预存的视图数量就越多,相应地,所占用的***资源也越多;反之,设置的展示次数越小,在构建轮播视图组件时需要预存的视图数量就越少,相应地,所占用的***资源也越少。由于所构建的轮播视图组件在循环展示视图的过程中,可以增加展示次数,并可以根据增加的展示次数添加数量满足增加的展示次数的视图,故为使得构建轮播视图组件时不需要如现有技术一样需要预存海量视图,在本实施例中可以不需要将展示次数设置的过大,例如,可以将构建轮播视图组件的展示次数设置为视图组数量的三倍。
然后,服务器可以根据展示次数和视图组生成视图集合,例如,可以根据展示次数和视图组中的多张视图,确定满足该展示次数、且待循环展示的多张视图,从而可以将所确定出的多张视图作为视图集合。接着,服务器可以将视图集合存储到轮播视图组件中,从而完成轮播视图组件的构建。
需要说明的是,为使得轮播视图组件展示视图集合中的视图更加简便,在一种实现方式中,视图集合中的视图可以是以队列的形式预先存储的,并且,视图集合中的视图可以是基于视图对应的展示位进行排列的。作为一种示例,在视图集合中,每一组视图组中的视图可以依据展示位的顺序循环排列到队列中。由于队列中的视图为先进先出,故当轮播视图组件展示视图集合中的视图时,可以从视图集合的队头依次获取视图,并将视图进行展示。
S203:在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量满足第一数值,根据第二数值增加所述轮播视图组件的展示次数,并根据所述视图组向所述视图集合中添加视图,所添加的视图数量满足所述增加的展示次数。
在服务器构建轮播视图组件后,服务器可以通过该轮播视图组件在显示界面的展示区域中循环展示视图集合中的视图。在通过轮播视图组件循环展示视图集合中视图的过程中,若视图集合中未被展示的视图数量满足第一数值,比如视图集合中未被展示的视图数量小于或等于第一数值,说明轮播视图组件此时可以根据第二数值增加展示次数,并可以根据增加的展示次数添加数量满足增加的展示次数的视图,以便可以继续循环播放视图集合中的视图,其中,第一数值可以是在服务器获取视图组之前进行设置的。例如,如图1所示,假设视图组103包括视图A、视图B和视图C,第一数值为3,第二数值为3。当前视图集合104中未被展示的视图数量为3,满足第一数值,故服务器102可以将该轮播视图组件的展示次数增加第二数值,即将展示次数增加3次,并根据视图组103向视图集合104中添加一张视图A、一张视图B和一张视图C,得到视图集合105。
故此,当视图集合中未被展示的视图数量满足第一数值时,服务器可以增加轮播视图组件的展示次数。其中,轮播视图组件所增加的展示次数可以是根据实际需求设置的。例如,当轮播视图组件所增加的展示次数为N时,服务器可以基于视图集合中视图的展示顺序和视图对应的展示位,向该轮播视图组件添加N张视图。
在一种实现方式中,第二数值可以是根据视图组所包括的视图数量确定的,例如,增加的展示次数可以是视图组所包括视图数量的整数倍。需要说明的是,若服务器增加轮播视图组件的展示次数是根据视图组所包括视图数量的整数倍,当需要根据所增加的展示次数向视图集合中增加视图时,可以直接基于视图组简单复制多份视图组中的视图添加到视图集合中,复制的份数与整数倍相同。这样,每一次服务器需要根据视图组向视图集合中添加视图时,均不需要重新确定需要从视图组中哪一展示位对应的视图开始向视图集合中添加,使得轮播视图组件根据视图组向视图集合中添加视图的规则更加简单、方便。
接下来,将结合图3进行举例说明。如图3所示,轮播视图组件300包括RecyclerView301、BaseAdapter302和存储器303。假设视图组304包括三张视图,且通过这三张视图分别对应的展示位,可以确定这三张视图的展示顺序为视图A→视图B→视图C,以及在存储器303所存储的视图集合中,展示顺序为最后一位的视图为视图C。那么,在通过轮播视图组件300循环展示存储器303所存储的视图集合中视图的过程中,当该视图集合中未被展示的视图数量满足第一数值3时,可以根据第二数值增加RecyclerView301的展示次数9次,并且,BaseAdapter302可以根据增加的展示次数9次和视图组304,确定可以向存储器303所存储的视图集合中添加3组视图组304,即添加3组视图A、视图B和视图C。
由上述技术方案可以看出,在获取包括待循环展示的多张不同视图的视图组后,可以根据该视图组构建轮播视图组件,该轮播视图组件中包括视图数量满足所述展示次数的视图集合。由于在通过该轮播视图组件循环展示视图集合中视图的过程中,可以在视图集合中未被展示的视图数量满足第一数值时,根据第二数值增加轮播视图组件的展示次数,并根据视图组向视图集合中添加数量满足增加的展示次数的视图,这种展示次数可更新的机制使得在构建轮播视图组件时可以不用设置过大的展示次数,避免为此在构建轮播视图组件时预存海量视图,节约***资源,并提高承载轮播视图组件的显示界面的执行效率。
需要说明的是,在通过轮播视图组件循环展示视图集合中视图的过程中,可能会对视图组中的多张视图进行更新,例如,删除视图组中的部分视图、对视图组中的部分视图进行替换、向视图组添加视图等。故此,在本实施例的一种实现方式中,可以根据更新后的视图组更新轮播视图组件中的视图集合。
具体地,在通过轮播视图组件循环展示所述视图集合中视图的过程中,图2对应的实施例还可以包括以下步骤:
S210:获取更新信息。
在本实施例中,当需要对展示区域中循环展示的视图进行更新时,服务器可以先获取更新信息。其中,更新信息可以包括待更新到视图组中的视图和该视图在所述视图组中的展示位;例如,当需要删除视图组中的一张视图时,更新信息可以包括该视图和该视图在该视图组中的展示位;当需要对视图组中的部分视图进行替换时,更新信息可以包括待替换视图、待被替换视图、该待替换视图在该视图组中的展示位以及该待被替换视图在该视图组中的展示位;当需要向视图组添加视图时,更新信息可以包括待添加视图和该待添加视图在该视图组中的展示位。
S211:根据所述更新信息将该视图更新到所述视图组中对应的展示位。
在服务器获取到更新信息后,服务器可以将待更新信息中的视图更新到该视图组中对应的展示位。
例如,假设视图组包括两张视图,并且通过这两张视图分别对应的展示位,可以确定出这两张视图的展示顺序为:视图A→视图B;并且,服务器获取到的更新信息包括待添加视图和该待添加视图在该视图组中的展示位,其中,该待添加视图在该视图组中的展示位为在视图B对应的展示位之后,即在展示顺序上,该待添加视图位于视图B之后。服务器在获取到该更新信息后,该服务器可以根据该更新消息中的待添加视图和该待添加视图在该视图组中的展示位,将该待添加视图添加到该视图组中对应的展示位,即在该视图组中,将该待添加视图添加到视图B之后。
S212:根据更新后的视图组更新所述轮播视图组件中的所述视图集合。
服务器对视图组进行更新,得到更新后的视图组之后,可以根据该更新后的视图组更新轮播试图组件中的视图集合。例如,可以根据更新后的视图组中待更新视图对应的展示位,对视图集合进行更新。
继续以S211中的例子为例。服务器在视图组中,将待添加视图添加到视图B之后,可以得到更新后的视图组。接着,服务器可以根据该更新后的视图组更新轮播视图组件的视图集合,具体地,可以在视图集合对应的展示顺序上,在每一张视图B之后均添加一张待添加视图。
由上述技术方案可以看出,在通过轮播视图组件循环展示所述视图集合中视图的过程中,当获取到更新信息时,可以根据该更新消息对视图组进行更新,并且可以根据更新后的视图组更新轮播试图组件的视图集合。可见,当待循环展示的视图发生更新时,不需要重新构建轮播试图组件,便可以对轮播视图组件中的视图集合进行更新,以使得轮播视图组件可以在展示区域中循环展示待更新视图,这样,提高了轮播视图组件循环展示视图的灵活性,以及提高了更新待循环展示视图的效率。
需要说明的是,本申请实施例提供了多种控制视图滑动组件将视图集合中的视图滑动到展示区域的方式,例如,轮播视图组件需要循环展示视图集合中的视图时,可以控制视图滑动组件将视图集合中的视图滑动到展示区域,或者,轮播视图组件需要基于用户的滑动操作展示用户想看到的视图时,可以响应该滑动操作控制视图滑动组件将视图集合中的视图滑动到展示区域。可以理解的是,滑动操作可以为肢体在展示区域中进行滑动的操作,且该操作能够使得视图集合中的视图进行滑动,比如,当检测到手指按压屏幕并进行滑动时,若可以控制视图滑动组件将视图集合中的视图进行滑动,则可以将该操作作为滑动操作。其中,视图滑动组件可以为能够将视图进行滑动的组件,并且,视图滑动组件可以应用于各类操作***环境中,比如windows、ios、android等操作***,作为一种示例,当视图滑动组件应用于android操作***时,视图滑动组件可以包括属性动画(ValueAnimator)。接下来,将具体介绍上述两种控制视图滑动组件将视图集合中的视图滑动到展示区域的方式。
首先,将介绍控制视图滑动组件将视图集合中的视图滑动到展示区域的方式。
在一种实现方式中,图2对应的实施例还可以包括以下步骤:记录轮播视图组件在展示区域上展示第一视图的时长,并在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域。
在本实施例中,第一视图可以为视图集合中的任一张视图,第二视图可以为视图集合中在展示顺序上位于第一视图下一张的视图。
具体地,当轮播试图组件在展示区域上展示第一视图时,可以记录第一视图在展示区域上所展示的时长。在一种实现方式中,轮播视图组件还可以包括定时器,比如定时任务(TimeJob),其中,可以通过轮播视图组件中的定时器,记录该轮播视图组件在展示区域上展示第一视图的时长;例如,当控制视图滑动组件将第一视图滑动到展示区域、且第一视图在展示区域中停止滑动时,定时器可以开始记录轮播视图组件在该展示区域上展示第一视图的时长。
需要说明的是,若第一视图在展示区域上所展示的时长达到第一时长,说明可以控制视图滑动组件将视图集合中的视图滑动到展示区域中,其中,第一时长可以是根据实际需求进行设置的,例如,可以是在构建视图轮播组件时所设置的。这样,配置人员便可以基于不同场景调整对应的第一时长,例如,当需要通过轮播视图组件在展示区域中循环展示广告视图时,可以将第一时长设置为1s,当需要通过轮播视图组件在展示区域中循环展示新闻视图时,可以将第一时长设置为3s。
本实施例提供了多种当轮播视图组件在展示区域上展示第一视图的时长达到第一时长时,控制视图滑动组件将视图集合中的第二视图滑动到展示区域的方式。接下来,将具体介绍其中一种实现方式,具体地,上述所提及的“在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域”的步骤可以包括以下步骤:
S220:判断展示区域中是否了展示所述第二视图的部分视图内容。
S221:根据判断结果确定针对所述第二视图的滑动距离。
需要说明的是,在服务器需要在展示区域中展示视图集合中的视图或视图的部分视图内容之前,均需要先对待展示的视图进行渲染。渲染完成后的视图或视图的部分视图内容便可以在展示区域中进行展示,并且,服务器可以获取到渲染完成后的视图的位置信息。
在本实施例中,若S220的判断结果为展示区域中展示有第二视图的部分视图内容,则可以将所述展示区域中第一视图和第二视图同一侧之间的距离作为所述第二视图的滑动距离。
作为一种示例,可以根据第二视图在轮播视图组件循环展示视图的滑动方向上处于该展示区域中的一侧的位置,以及第一视图在该轮播视图组件循环展示视图的滑动方向上处于该展示区域中的一侧的位置,确定该第二视图的滑动距离。其中,第二视图在轮播视图组件循环展示视图的滑动方向上处于展示区域中的一侧,可以理解为第二视图朝向轮播视图组件循环展示视图的滑动方向的一侧,例如,假设轮播视图组件循环展示视图的滑动方向为由右到左,那么,第二视图的左侧即为该第二视图在该轮播视图组件循环展示视图的滑动方向上处于展示区域中的一侧;而第二视图在轮播视图组件循环展示视图的滑动方向上处于展示区域中的一侧的位置,可以理解为第二视图相对于展示区域所处的坐标。第一视图在轮播视图组件循环展示视图的滑动方向上处于展示区域中的一侧,可以理解为第一视图朝向轮播视图组件循环展示视图的滑动方向的一侧;第一视图在轮播视图组件循环展示视图的滑动方向上处于展示区域中的一侧的位置,可以理解为第一视图相对于展示区域所处的坐标。
接下来,将结合图4举例说明当判断结果为展示区域中展示有第二视图的部分视图内容时,如何确定针对所述第二视图的滑动距离。假设第一时长为5s,且轮播视图组件循环展示视图的滑动方向为由右向左;当第一视图402在展示区域401上所展示的时长达到第一时长5s时,由于展示区域中展示有第二视图403的部分视图内容,并且第一视图402在该轮播视图组件循环展示视图的滑动方向上处于该展示区域401中的一侧为第一视图402的左侧,第二视图403在该轮播视图组件循环展示视图的滑动方向上处于该展示区域中的一侧为第二视图402的左侧,故可以将第二视图403的左侧的位置作为控制视图滑动组件将第二视图403进行滑动的起点,以及将第一视图402的左侧的位置作为控制视图滑动组件将第二视图403进行滑动的终点;接着,可以根据第二视图403的左侧的位置与第一视图402的左侧的位置,确定第二视图402需要在轮播视图组件循环展示视图的滑动方向上从第二视图403的左侧的位置滑动800个像素点,才能够滑动到第一视图402的左侧的位置,即可以确定第二视图402的滑动距离为800个像素点。
若S220的判断结果为展示区域中未展示第二视图,说明轮播视图组件可以在展示区域上完全展示第一视图,从而可以确定第二视图需要滑动的距离为该展示区域在轮播视图组件循环展示视图的滑动方向上的展示长度,即可以将该展示区域的展示长度作为第二视图的滑动距离。
接下来,结合图5举例说明当判断结果为展示区域中未展示有第二视图时,如何确定针对所述第二视图的滑动距离。假设第一时长为5s,且展示区域501的展示长度为800个像素点;当第一视图502在展示区域501上所展示的时长达到第一时长5s时,由于展示区域中未展示有第二视图503,故可以将展示区域501的展示长度800个像素点作为第二视图502的滑动距离。
S222:控制所述视图滑动组件根据所述滑动距离滑动所述第二视图,以将所述第二视图自动滑动到所述展示区域。
接下来,结合图4举例说明。假设视图循环展示方向为由右向左;在根据判断结果确定出针对第二视图403的滑动距离为800个像素点后,可以控制视图滑动组件由右向左将第二视图403滑动800个像素点,从而将第二视图403自动滑动到该展示区域401上。
在介绍完当检测到用户没有针对展示区域进行任何滑动操作时,如何控制视图滑动组件将视图集合中的视图滑动到展示区域后,接下来,将介绍当检测到用户针对展示区域进行了滑动操作时,如何响应滑动操作控制视图滑动组件将视图集合中的视图滑动到展示区域。
在本实施例中,当终端检测到针对展示区域的滑动操作时,终端可以将滑动操作相关信息(比如滑动操作对应的滑动操作方向和滑动操作对应的滑动距离)向服务器发送,服务器便可以根据该滑动操作相关信息,控制视图滑动组件将视图集合中的视图进行滑动。其中,视图集合中的视图滑动方向与滑动操作方向可以是相同的。
其中,滑动操作方向可以理解为轮播视图组件需要基于用户的滑动操作展示用户想看到的视图时,响应该滑动操作控制视图滑动组件将视图在展示区域中进行滑动的方向;其中,滑动操作方向可以是根据滑动操作的起始触控点和结束触控点确定的,例如,滑动操作的起始触控点在结束触控点的左边,则可以确定滑动操作方向为由左到右。需要说明的是,滑动操作方向可以是由左向右或者由右向左,也可以是由上向下或由下向上,当然,滑动操作方向还可以为其他形式,在这里不对滑动操作方向做任何限定。
可以理解的是,当终端检测到用户针对展示区域的滑动操作的情况时,说明展示区域中所展示的视图需要滑动切换。在该场景下,展示区域中通常具有两张视图,其中,这两张视图中的一张视图为待滑入视图,另一张视图为待滑出视图。需要强调的是,该待滑入视图的部分视图内容已滑入该展示区域,但该待滑入视图并未完全滑入该展示区域中,同样地,该待滑出视图的部分视图内容已滑出该展示区域,但该待滑出视图并未完全滑出该展示区域。
需要说明的是,在滑动操作结束时,比如,在手指离开屏幕时,若轮播视图组件在展示区域上展示的视图包括第一视图和第二视图,且第一视图在滑动操作方向上处于该展示区域外的一侧的位置,与展示区域中第一视图经过的一条展示边界的位置间的距离等于或大于预设阈值,其中,预设阈值可以根据第一视图的长度确定,例如,预设阈值可以为第一视图的长度的二分之一;则可以确定第一视图为待滑出视图,相应地,该展示区域中的第二视图则为待滑入视图,并且,可以将该第一视图的长度与该第一视图在滑动操作方向上处于该展示区域外的一侧的位置与该条展示边界的位置之间的距离的差值,作为针对待滑入视图的滑动距离。
若该第一视图在自动滑动方向上处于展示区域外的一侧的位置与该条展示边界之间的距离小于预设阈值,则可以确定该第一视图为待滑入视图,相应地,该第二视图为待滑出视图,并且,可以将该第一视图在自动滑动方向上处于展示区域外的一侧的位置与该条展示边界的位置之间的距离作为针对待滑入视图的滑动距离。
具体地,在一种实现方式中,图2对应的实施例还可以包括以下步骤:
S230:若检测到针对展示区域的滑动操作,在所述滑动操作结束时,根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图。
在本实施例中,若检测到针对展示区域的滑动操作,说明可以根据滑动操作控制视图滑动组件将视图集合中的视图滑动到展示区域中。故在终端检测到针对展示区域的滑动操作后,服务器可以停止控制视图滑动组件将视图集合中的视图自动滑动到展示区域中,并且,若终端检测到该滑动操作结束,服务器可以根据该滑动操作的滑动操作方向与自动滑动方向,从展示在该展示区域中的两张视图中确定出目标视图;其中,该目标视图可以用于确定出将这两张视图中的待滑入视图滑动到该展示区域中的滑动距离。
为使得待滑入视图滑动到展示区域中的滑动距离的计算方式更加简便,在一种实现方式中,若滑动操作方向与轮播视图组件循环展示所述视图集合中视图的滑动方向相同,在展示区域中的两张视图中,可以将滑出该展示区域的视图确定为目标视图;若滑动操作方向与轮播视图组件循环展示所述视图集合中视图滑动方向相反,在展示区域中的两张视图中,可以将滑入该展示区域的视图确定为所述目标视图。可见,在本实施例中,无论滑动操作方向与轮播视图组件循环展示视图集合中视图的滑动方向是否一致,均可以在展示区域中确定出位于同一侧的目标视图,以使得在不同情况下,均可以通过位于同一侧的目标视图计算待滑入视图滑动到展示区域中的滑动距离,从而使得待滑入视图滑动到展示区域中的滑动距离的计算方式更加简便。
接下来,将结合图6和图7分别举例说明。
如图6所示,假设终端检测到针对展示区域601的滑动操作,且轮播视图组件循环展示视图集合中视图的滑动方向为由右向左,滑动操作方向为由右向左;在该滑动操作结束时,由于滑动操作方向与轮播视图组件循环展示视图集合中视图的滑动方向相同,故展示区域601中的视图602为滑出该展示区域601的视图,因此,服务器可以将该视图602作为目标视图。
如图7所示,假设服务器检测到针对展示区域701的滑动操作,且轮播视图组件循环展示视图集合中视图的滑动方向为由右向左,滑动操作方向为由左向右;在该滑动操作结束时,由于滑动操作方向与轮播视图组件循环展示视图集合中视图的滑动方向相反,故展示区域701中的视图702为滑入该展示区域701的视图,因此,服务器可以将该视图702作为目标视图。
S231:根据所述目标视图与所述展示区域的展示边界间的位置关系确定滑动距离。
在展示区域中的两张视图中确定出目标视图后,可以先获取目标视图的长度和位置,比如目标视图的坐标,以及展示区域的展示边界的位置,比如展示边界的坐标。需要说明的是,在本实施的一种实现方式中,可以以展示区域的中心为原点、以水平方向为X轴、以垂直方向为Y轴建立坐标系。
然后,可以根据目标视图的位置以及展示区域的展示边界的位置,确定该目标视图与该展示区域的展示边界间的位置关系,比如,可以确定目标视图位于展示区域的哪一条展示边界周围,其中,为便于描述,可以将展示区域中与目标视图最接近的一条展示边界称之为目标展示边界。举例来说,若目标视图的横坐标为负值,则可以确定该目标视图位于展示区域的左侧,且该目标视图与该展示区域的左侧展示边界最接近,即目标展示边界为该展示区域的左侧展示边界。
接着,可以根据目标视图与展示区域的展示边界间的位置关系确定滑动距离。若目标视图为待滑出视图,则可以根据目标视图在轮播视图组件循环展示视图集合中视图的滑动方向上处于展示区域外的一侧的位置与目标展示边界的位置确定滑动距离,比如可以先确定该目标视图在轮播视图组件循环展示视图集合中视图的滑动方向上处于展示区域外的一侧的坐标与目标展示边界的坐标之间的差值,然后,可以将该目标视图的长度与该差值的绝对值之间的差值作为滑动距离。若目标视图为待滑入视图,则可以根据目标视图在轮播视图组件循环展示视图集合中视图的滑动方向上处于展示区域外的一侧的位置与目标展示边界的位置确定滑动距离,比如可以将该目标视图在轮播视图组件循环展示视图集合中视图的滑动方向上处于展示区域外的一侧的坐标与目标展示边界的坐标之间的差值的绝对值作为滑动距离。
S232:控制视图滑动组件根据所述滑动距离滑动所述两张视图中的待滑入视图,以将所述待滑入视图滑动到所述展示区域。
由上技术方案可以看出,本申请实施例提供的多种控制视图滑动组件将视图集合中的视图滑动到展示区域的方式,在确定针对展示区域中的视图的滑动距离时,确定规则简单且所确定的滑动距离准确性高,提高了计算视图的滑动距离的效率。
需要说明的是,为能够实现精细化的控制视图滑动组件将视图滑动到展示区域中,在本实施例的一种实现方式中,在控制视图滑动组件将视图集合中的视图滑动到展示区域的过程中,还可以包括以下步骤:
S240:在控制视图滑动组件将一张视图滑动到所述展示区域的过程中,获取所述视图滑动组件发送的至少一次回调通知。
在本实施例中,控制视图滑动组件将一张视图滑动到展示区域的过程需要在预设执行时长内完成,其中,预设执行时长可以根据实际需求进行设置。并且,在控制视图滑动组件将一张视图滑动到展示区域的过程中,轮播视图组件可以获取该视图滑动组件发送的至少一次回调通知。
在一种实现方式中,视图滑动组件对视图滑动到展示区域中的滑动进度可以理解为在相邻的两次视图滑动组件发送回调通知之间,视图滑动组件实际将视图滑动的距离。
在本申请实施例中,通过回调通知可以向轮播视图组件告知当前视图滑动组件将视图滑动到展示区域的实际滑动进度,从而轮播视图组件可以根据该实际滑动进度确定视图滑动组件在发送该回调通知时是否完成了应该完成的滑动进度。轮播视图组件还可以在发现实际滑动进度与应该完成的滑动进度间出现误差时,及时通知视图滑动组件进行调整。
其中,视图滑动组件发送回调通知的时间可以根据预设执行时长以及在该预设执行时长内需要发送回调通知的次数确定,比如,假设预设执行时长为1s,且视图滑动组件需要在该预设执行时长内发送4次回调通知,那么,在控制该视图滑动组件将一张视图滑动到展示区域的过程中,该视图滑动组件可以每隔0.25s发送一次回调通知。
S241:根据获取的回调通知确定在获取下一次回调通知前所述视图滑动组件滑动所述视图的滑动距离。
轮播视图组件获取到回调通知后,可以根据该回调通知所包括的滑动进度,确定在获取下一次回调通知前视图滑动组件视图的滑动距离,其中,视图的滑动距离可以理解为在相邻的两次视图滑动组件发送回调通知之间,视图滑动组件需将视图滑动的理想距离。
接下来,将结合图8进行举例说明。假设,轮播视图组件800中的RecyclerView 801获取到的针对视图的滑动距离为800个像素点,视图滑动组件802需要在预设执行时长1s内发送4次回调通知,即在理想状态下,视图滑动组件802需要在0.25s内将视图滑动250个像素点的距离;当视图滑动组件802的执行时长为0.25s时,视图滑动组件802可以先获取在执行时长为0.25s内的滑动进度,其中,该滑动进度可以为视图滑动组件802已将视图滑动了230个像素点,然后,可以向RecyclerView 801发送携带有该滑动进度的回调通知。RecyclerView 801获取到该回调通知后,RecyclerView 801可以根据该回调通知所包括的该滑动进度,计算在获取下一次回调通知前,该视图的滑动距离为270个像素点,并将该滑动距离向视图滑动组件802发送。
S242:控制所述视图滑动组件根据该滑动距离滑动该张视图。
在确定出在获取下一次回调通知前视图滑动组件视图的滑动距离之后,可以控制该视图滑动组件根据该滑动距离滑动该张视图。
由上述技术方案可以看出,在控制所述视图滑动组件将一张视图滑动到所述展示区域的过程中,轮播视图组件在获取到视图滑动组件发送的回调通知后,由于回调通知包括了发送该回调通知时视图滑动组件对视图滑动到展示区域中的滑动进度,因此,轮播视图组件可以根据获取的回调通知确定在获取下一次回调通知前视图滑动组件视图的滑动距离,并可以控制视图滑动组件根据该滑动距离滑动该张视图,从而可以在控制视图滑动组件将一张视图滑动到展示区域的过程中,对视图的滑动进度实现了精细化的控制。
为便于更好的理解和实施本申请实施例的上述方案,下面将结合图9来举例相应的应用场景,对本申请实施例所提供的一种视图循环展示方法进行具体说明。其中,图9对应的应用场景中可以包括能够构建轮播视图组件的服务器,且可以通过浏览器应用运行具有广告展示区域的网页页面的智能手机。
假设用户在智能手机中通过浏览器应用打开了一个具有广告展示区域的网页页面,那么,该广告展示区域可以进行广告视图循环展示。具体地,在该服务器中,该广告展示区域进行广告视图循环展示的过程可以包括以下步骤:
S901:服务器获取视图组。
其中,所述视图组包括待循环展示的多张广告视图。
S902:该服务器根据所述视图组构建轮播视图组件。
所述轮播视图组件所包括的视图集合是根据展示次数和所述视图组生成的,所述视图集合中的视图数量满足所述展示次数;
S903:该服务器在通过所述轮播视图组件循环展示所述视图集合中广告视图的过程中,若所述视图集合中未被展示的广告视图数量满足第一数值,根据第二数值增加所述轮播视图组件的展示次数,并根据所述视图组向所述视图集合中添加数量满足增加的展示次数的广告视图。
S904:该服务器记录所述轮播视图组件在展示区域上展示第一广告视图的时长,并在所述时长达到第一时长时控制视图滑动组件将第二广告视图滑动到所述展示区域。
所述第一广告视图为所述视图集合中的任一张视图,所述第二广告视图为展示顺序上位于所述第一视图下一张的视图。
S905:该服务器判断所述展示区域中是否展示所述第二广告视图的部分视图内容。
S906:该服务器根据判断结果确定针对所述第二广告视图的滑动距离。
若所述展示区域中展示所述第二广告视图的部分视图内容,根据所述第二广告视图在所述轮播视图组件循环展示视图集合中视图的滑动方向上处于所述展示区域中的一侧的位置和所述第一广告视图在轮播视图组件循环展示视图集合中视图的滑动方向上处于所述展示区域中的一侧的位置确定所述第二广告视图的滑动距离;
若所述展示区域中未展示所述第二广告视图,将所述展示区域的展示长度作为所述第二广告视图的滑动距离。
S907:该服务器控制所述视图滑动组件根据所述滑动距离滑动所述第二视图,以将所述第二视图自动滑动到所述展示区域。
S908:该服务器在通过所述轮播视图组件循环展示所述视图集合中广告视图的过程中,获取更新信息。
所述更新信息包括待更新到所述视图组中的广告视图和广告视图在所述视图组中的展示位。
S909:该服务器根据所述更新信息将该视图更新到所述视图组中对应的展示位;
S910:该服务器根据更新后的视图组更新所述轮播视图组件中的所述视图集合。
为便于更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图10a所示,本申请实施例提供的一种视图循环展示装置1000,所述视图循环展示装置1000包括:第一获取模块1001、构建模块1002、增加模块1003和添加模块1004。
所述第一获取模块1001,用于获取视图组,所述视图组包括待循环展示的多张视图;
所述构建模块1002,用于根据所述视图组构建轮播视图组件,所述轮播视图组件所包括的视图集合是根据展示次数和所述视图组生成的,所述视图集合中的视图数量满足所述展示次数;所述轮播视图组件的展示次数用于标识所述轮播视图组件循环展示视图的次数;
所述增加模块1003,用于在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量满足第一数值,根据第二数值增加所述轮播视图组件的展示次数;
所述添加模块1004,用于根据所述视图组向所述视图集合中添加数量满足增加的展示次数的视图。
可选的,所述第二数值是根据所述视图组所包括的视图数量确定的。
在一个实施例中,请参阅图10b所示,所述装置还包括:记录模块1005和自动滑动模块1006;
所述记录模块1005,用于记录所述轮播视图组件在展示区域上展示第一视图的时长;
所述自动滑动模块1006,用于在所述时长达到第一时长时控制视图滑动组件将第二视图自动滑动到所述展示区域,所述第一视图为所述视图集合中的任一张视图,所述第二视图为展示顺序上位于所述第一视图下一张的视图。
可选的,所述自动滑动模块1006,具体用于:
判断所述展示区域中是否展示了所述第二视图的部分视图部分;
根据判断结果确定针对所述第二视图的滑动距离;
控制控制所述视图滑动组件根据所述滑动距离滑动所述第二视图,以将所述第二视图自动滑动到所述展示区域。
可选的,所述滑动模块1006,还具体用于:
若所述展示区域中展示所述第二视图的部分视图内容,将所述展示区域中所述第一视图和所述第二视图同一侧之间的距离作为所述第二视图的滑动距离;
若所述展示区域中未展示所述第二视图,将所述展示区域的展示长度作为所述第二视图的滑动距离。
在一个实施例中,请参阅图10c所示,所述装置还包括:第一确定模块1007、第二确定模块1008和第一滑动模块1009;
所述第一确定模块1007,用于若检测到针对所述展示区域的滑动操作,在所述滑动操作结束时,根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图;所述滑动操作方向是根据所述滑动操作的起始触控点和结束触控点确定的;
所述第二确定模块1008,用于根据所述目标视图与所述展示区域的展示边界间的位置关系确定滑动距离;
所述第一滑动模块1009,用于控制视图滑动组件根据所述滑动距离滑动所述两张视图中的待滑入视图,以将所述待滑入视图滑动到所述展示区域。
可选的,所述第一确定模块1007,具体用于:
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相同,在所述展示区域中的两张视图中,将滑出所述展示区域的视图确定为所述目标视图;
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相反,在所述展示区域中的两张视图中,将滑入所述展示区域的视图确定为所述目标视图。
在一个实施例中,请参阅图10d所示,所述装置还包括:第二获取模块1010、第三确定模块1011和第二滑动模块1012;
所述第二获取模块1010,用于在控制所述视图滑动组件将一张视图滑动到所述展示区域的过程中,获取所述视图滑动组件发送的至少一次回调通知;所述回调通知包括发送所述回调通知时所述视图滑动组件对该张视图滑动到所述展示区域中的滑动进度;
所述第三确定模块1011,用于根据获取的回调通知确定在获取下一次回调通知前所述视图滑动组件滑动所述视图的滑动距离;
所述第二滑动模块1012,用于控制所述视图滑动组件根据该滑动距离滑动该张视图。
在一个实施例中,请参阅图10e所示,在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,所述装置还包括:第三获取模块1013、第一更新模块1014和第二更新模块1015;
所述第三获取模块1013,用于获取更新信息,所述更新信息包括待更新到所述视图组中的视图,以及视图在所述视图组中的展示位;
所述更新模块1014,用于根据所述更新信息将该视图更新到所述视图组中对应的展示位;
所述第二更新模块1015,用于根据更新后的视图组更新所述轮播视图组件中的所述视图集合。
本申请实施例提供了一种视图循环展示设备,如图11所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、销售终端(Point ofSales,POS)、车载电脑等任意终端设备,以终端为手机为例:
图11示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图11,手机包括:射频(Radio Frequency,RF)电路1110、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、无线保真(wireless fidelity,WiFi)模块1170、处理器1180、以及电源1190等部件。本领域技术人员可以理解,图11中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图11对手机的各个构成部件进行具体的介绍:
RF电路1110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1180处理;另外,将设计上行的数据发送给基站。通常,RF电路1110包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(LowNoiseAmplifier,LNA)、双工器等。此外,RF电路1110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(Global System ofMobile communication,GSM)、通用分组无线服务(General PacketRadio Service,GPRS)、码分多址(Code Division MultipleAccess,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1130可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1130可包括触控面板1131以及其他输入设备1132。触控面板1131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1131上或在触控面板1131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1180,并能接收处理器1180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1131。除了触控面板1131,输入单元1130还可以包括其他输入设备1132。具体地,其他输入设备1132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1140可包括显示面板1141,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1141。进一步的,触控面板1131可覆盖显示面板1141,当触控面板1131检测到在其上或附近的触摸操作后,传送给处理器1180以确定触摸事件的类型,随后处理器1180根据触摸事件的类型在显示面板1141上提供相应的视觉输出。虽然在图11中,触控面板1131与显示面板1141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1131与显示面板1141集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1141的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1160、扬声器1161,传声器1162可提供用户与手机之间的音频接口。音频电路1160可将接收到的音频数据转换后的电信号,传输到扬声器1161,由扬声器1161转换为声音信号输出;另一方面,传声器1162将收集的声音信号转换为电信号,由音频电路1160接收后转换为音频数据,再将音频数据输出处理器1180处理后,经RF电路1110以发送给比如另一手机,或者将音频数据输出至存储器1120以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WiFi模块1170,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1180可包括一个或多个处理单元;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
手机还包括给各个部件供电的电源1190(比如电池),优选的,电源可以通过电源管理***与处理器1180逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1180还具有以下功能:
获取视图组,所述视图组包括待循环展示的多张视图;
根据所述视图组构建轮播视图组件,所述轮播视图组件所包括的视图集合是根据展示次数和所述视图组生成的,所述视图集合中的视图数量满足所述展示次数;所述轮播视图组件的展示次数用于标识所述轮播视图组件循环展示视图的次数;
在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量满足第一数值,根据第二数值增加所述轮播视图组件的展示次数,并根据所述视图组向所述视图集合中添加数量满足增加的展示次数的视图。
可选的,所述第二数值是根据所述视图组所包括的视图数量确定的。
可选的,所述方法还包括:
记录所述轮播视图组件在展示区域上展示第一视图的时长,并在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域,所述第一视图为所述视图集合中的任一张视图,所述第二视图为展示顺序上位于所述第一视图下一张的视图。
可选的,所述在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域,包括:
判断所述展示区域中是否展示了所述第二视图的部分视图内容;
根据判断结果确定针对所述第二视图的滑动距离;
控制所述视图滑动组件根据所述滑动距离滑动所述第二视图,以将所述第二视图自动滑动到所述展示区域。
可选的,所述根据判断结果确定针对所述第二视图的滑动距离,包括:
若所述展示区域中展示所述第二视图的部分视图内容,将所述展示区域中所述第一视图和所述第二视图同一侧之间的距离作为所述第二视图的滑动距离;
若所述展示区域中未展示所述第二视图,将所述展示区域的展示长度作为所述第二视图的滑动距离。
可选的,所述方法还包括:
若检测到针对所述展示区域的滑动操作,在所述滑动操作结束时,根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图;所述滑动操作方向是根据所述滑动操作的起始触控点和结束触控点确定的;
根据所述目标视图与所述展示区域的展示边界间的位置关系确定滑动距离;
控制视图滑动组件根据所述滑动距离滑动所述两张视图中的待滑入视图,以将所述待滑入视图滑动到所述展示区域。
可选的,所述根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图,包括:
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相同,在所述展示区域中的两张视图中,将滑出所述展示区域的视图确定为所述目标视图;
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相反,在所述展示区域中的两张视图中,将滑入所述展示区域的视图确定为所述目标视图。
可选的,所述方法还包括:
在控制所述视图滑动组件将一张视图滑动到所述展示区域的过程中,获取所述视图滑动组件发送的至少一次回调通知;所述回调通知包括发送所述回调通知时所述视图滑动组件对该张视图滑动到所述展示区域中的滑动进度;
根据获取的回调通知确定在获取下一次回调通知前所述视图滑动组件滑动所述视图的滑动距离;
控制所述视图滑动组件根据该滑动距离滑动该张视图。
可选的,在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,所述方法还包括:
获取更新信息,所述更新信息包括待更新到所述视图组中的视图,以及视图在所述视图组中的展示位;
根据所述更新信息将该视图更新到所述视图组中对应的展示位;
根据更新后的视图组更新所述轮播视图组件中的所述视图集合。
本申请实施例提供了一种视图循环展示设备,该视图循环展示设备可以为如图12所示的服务器。图12是本申请实施例提供的一种服务器结构示意图,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(centralprocessing units,CPU)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在服务器1200上执行存储介质1230中的一系列指令操作。
服务器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作***1241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图12所示的服务器结构。
其中,CPU 1222用于执行如下步骤:
获取视图组,所述视图组包括待循环展示的多张视图;
根据所述视图组构建轮播视图组件,所述轮播视图组件所包括的视图集合是根据展示次数和所述视图组生成的,所述视图集合中的视图数量满足所述展示次数;所述轮播视图组件的展示次数用于标识所述轮播视图组件循环展示视图的次数;
在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量满足第一数值,根据第二数值增加所述轮播视图组件的展示次数,并根据所述视图组向所述视图集合中添加数量满足增加的展示次数的视图。
可选的,所述第二数值是根据所述视图组所包括的视图数量确定的。
可选的,所述方法还包括:
记录所述轮播视图组件在展示区域上展示第一视图的时长,并在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域,所述第一视图为所述视图集合中的任一张视图,所述第二视图为展示顺序上位于所述第一视图下一张的视图。
可选的,所述在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域,包括:
判断所述展示区域中是否展示了所述第二视图的部分视图内容;
根据判断结果确定针对所述第二视图的滑动距离;
控制所述视图滑动组件根据所述滑动距离滑动所述第二视图,以将所述第二视图自动滑动到所述展示区域。
可选的,所述根据判断结果确定针对所述第二视图的滑动距离,包括:
若所述展示区域中展示所述第二视图的部分视图内容,将所述展示区域中所述第一视图和所述第二视图同一侧之间的距离作为所述第二视图的滑动距离;
若所述展示区域中未展示所述第二视图,将所述展示区域的展示长度作为所述第二视图的滑动距离。
可选的,所述方法还包括:
若检测到针对所述展示区域的滑动操作,在所述滑动操作结束时,根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图;所述滑动操作方向是根据所述滑动操作的起始触控点和结束触控点确定的;
根据所述目标视图与所述展示区域的展示边界间的位置关系确定滑动距离;
控制视图滑动组件根据所述滑动距离滑动所述两张视图中的待滑入视图,以将所述待滑入视图滑动到所述展示区域。
可选的,所述根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图,包括:
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相同,在所述展示区域中的两张视图中,将滑出所述展示区域的视图确定为所述目标视图;
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相反,在所述展示区域中的两张视图中,将滑入所述展示区域的视图确定为所述目标视图。
可选的,所述方法还包括:
在控制所述视图滑动组件将一张视图滑动到所述展示区域的过程中,获取所述视图滑动组件发送的至少一次回调通知;所述回调通知包括发送所述回调通知时所述视图滑动组件对该张视图滑动到所述展示区域中的滑动进度;
根据获取的回调通知确定在获取下一次回调通知前所述视图滑动组件滑动所述视图的滑动距离;
控制所述视图滑动组件根据该滑动距离滑动该张视图。
可选的,在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,所述方法还包括:
获取更新信息,所述更新信息包括待更新到所述视图组中的视图,以及视图在所述视图组中的展示位;
根据所述更新信息将该视图更新到所述视图组中对应的展示位;
根据更新后的视图组更新所述轮播视图组件中的所述视图集合。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述各个实施例所述的一种视图循环展示方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种视图循环展示方法,其特征在于,所述方法包括:
获取视图组,所述视图组包括待循环展示的多张视图;
根据所述视图组构建轮播视图组件,所述轮播视图组件所包括的视图集合是根据展示次数和所述视图组生成的,所述视图集合中的视图数量满足所述展示次数;所述轮播视图组件的展示次数用于标识所述轮播视图组件循环展示视图的次数;
在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量小于或等于第一数值,根据第二数值增加所述轮播视图组件的展示次数,并根据所述视图组向所述视图集合中添加数量满足增加的展示次数的视图,其中,所述第一数值是在获取所述视图组之前进行设置的,所述第二数值是根据所述视图组所包括的视图数量确定的。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录所述轮播视图组件在展示区域上展示第一视图的时长,并在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域,所述第一视图为所述视图集合中的任一张视图,所述第二视图为展示顺序上位于所述第一视图下一张的视图。
3.根据权利要求2所述的方法,其特征在于,所述在所述时长达到第一时长时控制视图滑动组件将第二视图滑动到所述展示区域,包括:
判断所述展示区域中是否展示了所述第二视图的部分视图内容;
根据判断结果确定针对所述第二视图的滑动距离;
控制所述视图滑动组件根据所述滑动距离滑动所述第二视图,以将所述第二视图自动滑动到所述展示区域。
4.根据权利要求3所述的方法,其特征在于,所述根据判断结果确定针对所述第二视图的滑动距离,包括:
若所述展示区域中展示所述第二视图的部分视图内容,将所述展示区域中所述第一视图和所述第二视图同一侧之间的距离作为所述第二视图的滑动距离;
若所述展示区域中未展示所述第二视图,将所述展示区域的展示长度作为所述第二视图的滑动距离。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到针对展示区域的滑动操作,在所述滑动操作结束时,根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图;所述滑动操作方向是根据所述滑动操作的起始触控点和结束触控点确定的;根据所述目标视图与所述展示区域的展示边界间的位置关系确定滑动距离;
控制视图滑动组件根据所述滑动距离滑动所述两张视图中的待滑入视图,以将所述待滑入视图滑动到所述展示区域。
6.根据权利要求5所述的方法,其特征在于,所述根据所述滑动操作的滑动操作方向从展示在所述展示区域中的两张视图中确定出目标视图,包括:
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相同,在所述展示区域中的两张视图中,将滑出所述展示区域的视图确定为所述目标视图;
若所述滑动操作方向与所述轮播视图组件循环展示所述视图集合中视图的滑动方向相反,在所述展示区域中的两张视图中,将滑入所述展示区域的视图确定为所述目标视图。
7.根据权利要求2-6任意一项所述的方法,其特征在于,所述方法还包括:
在控制所述视图滑动组件将一张视图滑动到所述展示区域的过程中,获取所述视图滑动组件发送的至少一次回调通知;所述回调通知包括发送所述回调通知时所述视图滑动组件对该张视图滑动到所述展示区域中的滑动进度;
根据获取的回调通知确定在获取下一次回调通知前所述视图滑动组件滑动所述视图的滑动距离;
控制所述视图滑动组件根据该滑动距离滑动该张视图。
8.根据权利要求1-6任意一项所述的方法,其特征在于,在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,所述方法还包括:
获取更新信息,所述更新信息包括待更新到所述视图组中的视图,以及视图在所述视图组中的展示位;
根据所述更新信息将该视图更新到所述视图组中对应的展示位;
根据更新后的视图组更新所述轮播视图组件中的所述视图集合。
9.一种视图循环展示装置,其特征在于,所述装置包括:第一获取模块、构建模块、增加模块和添加模块;
所述第一获取模块,用于获取视图组,所述视图组包括待循环展示的多张视图;
所述构建模块,用于根据所述视图组构建轮播视图组件,所述轮播视图组件所包括的视图集合是根据展示次数和所述视图组生成的,所述视图集合中的视图数量满足所述展示次数;所述轮播视图组件的展示次数用于标识所述轮播视图组件循环展示视图的次数;
所述增加模块,用于在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量满足第一数值,根据第二数值增加所述轮播视图组件的展示次数;
所述添加模块,在通过所述轮播视图组件循环展示所述视图集合中视图的过程中,若所述视图集合中未被展示的视图数量小于或等于第一数值,根据第二数值增加所述轮播视图组件的展示次数,并根据所述视图组向所述视图集合中添加数量满足增加的展示次数的视图,其中,所述第一数值是在获取所述视图组之前进行设置的,所述第二数值是根据所述视图组所包括的视图数量确定的。
10.一种视图循环展示设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-8中任一项所述视图循环展示方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-8中任一项所述视图循环展示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810936344.1A CN109189300B (zh) | 2018-08-16 | 2018-08-16 | 一种视图循环展示方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810936344.1A CN109189300B (zh) | 2018-08-16 | 2018-08-16 | 一种视图循环展示方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189300A CN109189300A (zh) | 2019-01-11 |
CN109189300B true CN109189300B (zh) | 2022-04-22 |
Family
ID=64918510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810936344.1A Active CN109189300B (zh) | 2018-08-16 | 2018-08-16 | 一种视图循环展示方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189300B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110333816B (zh) * | 2019-07-03 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 一种轮播处理方法及装置 |
CN111782994B (zh) * | 2019-09-30 | 2024-04-05 | 北京京东尚科信息技术有限公司 | 基于视图控件循环展示信息的方法和装置 |
CN110929193B (zh) * | 2019-11-20 | 2022-08-09 | 北京明略软件***有限公司 | 一种信息循环展示方法、信息循环展示装置及电子设备 |
CN113739367A (zh) * | 2020-05-29 | 2021-12-03 | 青岛海尔空调器有限总公司 | 空调器室内机及其控制方法 |
CN113486270B (zh) * | 2021-06-30 | 2024-02-06 | 北京达佳互联信息技术有限公司 | 一种信息展示方法、装置、电子设备和存储介质 |
CN114443198B (zh) * | 2022-01-26 | 2024-03-29 | 阿里巴巴(中国)有限公司 | 视图组件管理方法、装置、存储介质及计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678574A (zh) * | 2015-12-31 | 2016-06-15 | 合一网络技术(北京)有限公司 | 一种广告轮播的方法及*** |
CN106843701A (zh) * | 2017-02-06 | 2017-06-13 | 福建中金在线信息科技有限公司 | 一种图片轮换展示方法及装置 |
CN107092655A (zh) * | 2017-03-21 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | 用于Android宽屏设备中组图的循环展示方法及*** |
CN107861680A (zh) * | 2017-10-18 | 2018-03-30 | 福建中金在线信息科技有限公司 | 轮播图的缩放方法、装置和移动终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8700999B2 (en) * | 2011-08-15 | 2014-04-15 | Google Inc. | Carousel user interface for document management |
-
2018
- 2018-08-16 CN CN201810936344.1A patent/CN109189300B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678574A (zh) * | 2015-12-31 | 2016-06-15 | 合一网络技术(北京)有限公司 | 一种广告轮播的方法及*** |
CN106843701A (zh) * | 2017-02-06 | 2017-06-13 | 福建中金在线信息科技有限公司 | 一种图片轮换展示方法及装置 |
CN107092655A (zh) * | 2017-03-21 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | 用于Android宽屏设备中组图的循环展示方法及*** |
CN107861680A (zh) * | 2017-10-18 | 2018-03-30 | 福建中金在线信息科技有限公司 | 轮播图的缩放方法、装置和移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109189300A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189300B (zh) | 一种视图循环展示方法和装置 | |
US11237724B2 (en) | Mobile terminal and method for split screen control thereof, and computer readable storage medium | |
CN106161628B (zh) | 拍摄文件上传方法及装置 | |
JP6598408B2 (ja) | 表示方法および端末デバイス | |
WO2015079331A1 (en) | Application activation method and apparatus and electronic equipment | |
CN107967129B (zh) | 显示控制方法及相关产品 | |
CN108156508B (zh) | 弹幕信息处理的方法、装置、移动终端、服务器及*** | |
CN108205398B (zh) | 网页动画适配屏幕的方法和装置 | |
CN110569078B (zh) | 一种网页级程序的预加载方法和装置 | |
WO2018214734A1 (zh) | 拍照控制方法及相关产品 | |
US10506292B2 (en) | Video player calling method, apparatus, and storage medium | |
CN110099296B (zh) | 一种信息显示方法及终端设备 | |
CN104571979B (zh) | 一种实现分屏视图的方法和装置 | |
CN111580815B (zh) | 一种页面元素的编辑方法及相关设备 | |
US11216997B2 (en) | Method and apparatus for displaying historical chat record | |
CN110874128B (zh) | 可视化数据处理方法和电子设备 | |
CN109032491B (zh) | 数据处理方法、装置以及移动终端 | |
CN104954159A (zh) | 一种网络信息统计的方法和装置 | |
KR102239616B1 (ko) | 메시지 통지 방법 및 단말기 | |
CN104238931B (zh) | 信息输入方法、装置及电子设备 | |
CN110753914B (zh) | 信息处理方法、存储介质和移动终端 | |
CN107908527B (zh) | 一种应用图标显示方法及装置 | |
CN112445967B (zh) | 信息推送的方法、装置、可读存储介质及信息推送*** | |
CN109316751B (zh) | 游戏适配方法、相关设备以及计算机可读存储介质 | |
CN108108221B (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 |