CN103914204B - 一种用于视图显示和切换的方法和装置 - Google Patents
一种用于视图显示和切换的方法和装置 Download PDFInfo
- Publication number
- CN103914204B CN103914204B CN201210592990.3A CN201210592990A CN103914204B CN 103914204 B CN103914204 B CN 103914204B CN 201210592990 A CN201210592990 A CN 201210592990A CN 103914204 B CN103914204 B CN 103914204B
- Authority
- CN
- China
- Prior art keywords
- view
- adapter
- show
- stream
- view stream
- 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
Landscapes
- Telephone Function (AREA)
Abstract
本发明公开了一种用于视图显示和切换的方法和装置,使用视图流库实现视图的显示和切换,其中用于视图显示和切换的方法包括:在页面布局文件中预设视图流组件,对视图流组件添加适配器;调用视图流组件创建视图流对象,使用适配器装载需要显示的多个视图;使用视图流对象加载适配器装载的视图以显示视图;监听需要显示的视图,当监听到需要显示的视图发生变化时,调用视图流组件的切换函数以切换视图。利用本发明的方法和装置,可以在事先不能确定视图数量的情况下实现视图显示和流畅切换。
Description
技术领域
本发明涉及智能终端显示领域,特别涉及一种用于视图显示和切换的方法和装置。
背景技术
随着智能终端例如智能手机平台的高速发展,人们对移动终端的需求也越来越高,Android智能手机系统也凭借自己开源的特点越来越显现出其优势,各种丰富多彩的应用也让我们的生活更加有趣。现在的手机软件经常分出很多TAB页面。目前现有的页面切换效果,多数是通过ViewGroup组件实现的,该技术的表现形式是用户点击某一TAB标题,然后自动闪屏切换到该TAB标题的相关内容。该方式的缺陷,首先是使用技术比较传统,通过ViewGroup来实现activity的切换代码代价略高。其次是事先需要确定TAB页面数量,切换效果不流畅。
发明内容
本发明提供一种用于视图显示和切换的方法和装置,方便视图切换且不需要事先确定页面的数目。为达到上述目的,本发明使用视图流库实现视图的显示和切换,用于视图显示和切换的方法包括:
在页面布局文件中预设视图流组件,对视图流组件添加适配器;
调用视图流组件创建视图流对象,使用适配器装载需要显示的多个视图;
使用视图流对象加载适配器装载的视图以显示视图;
监听需要显示的视图,当监听到需要显示的视图发生变化时,调用视图流组件的切换函数以切换视图。
其中,所述在页面布局文件中预设视图流组件,包括:使用视图流库,在页面布局文件中加入视图流组件,并预设缓存参数为N,N为正整数;缓存参数为N,表示视图流组件预留了缓存N个视图的空间。
其中,所述使用适配器装载需要显示的多个视图,进一步包括:设置初始显示的视图。
其中,该方法进一步包括:使用视图流库中的视图流圆点指示器组件,在页面布局文件中预设圆点指示器组件,或使用视图流库中的视图流标题指示器组件,在页面布局文件中预设标题指示器组件;在显示视图或切换视图时,调用圆点指示器组件或标题指示器组件,显示圆点指示器或标题指示器。
其中,所述适配器装载的需要显示的多个视图具有连续的号码;该方法进一步包括:在加载适配器装载的视图以显示视图之后,自动切换需要显示的视图,具体包括:经过预设的时间间隔之后,将当前显示的视图的号码加一并且除以视图总数取余数,所得的余数即为需要显示的视图的号码。
本发明还公开了一种用于视图显示和切换的装置,该装置使用视图流库实现视图的显示和切换,该装置包括:预设模块、处理模块、显示模块和切换模块,
预设模块,用于在页面布局文件中预设视图流组件,对视图流组件添加适配器;
处理模块,用于调用视图流组件创建视图流对象,使用适配器装载需要显示的多个视图;
显示模块,用于使用视图流对象加载适配器装载的视图以显示视图;
切换模块,用于监听需要显示的视图,当监听到需要显示的视图发生变化时,调用视图流组件的切换函数以切换视图。
其中,所述预设模块,具体用于使用视图流库,在页面布局文件中加入视图流组件,并预设缓存参数为N,N为正整数;缓存参数为N,表示视图流组件预留了缓存N个视图的空间。
其中,所述处理模块,进一步用于,在使用适配器装载需要显示的多个视图时,设置初始显示的视图。
其中,所述预设模块,进一步用于使用视图流库中的视图流圆点指示器组件,在页面布局文件中预设圆点指示器组件,或使用视图流库中的视图流标题指示器组件,在页面布局文件中预设标题指示器组件;所述显示模块,进一步用于在显示视图或切换视图时,调用圆点指示器组件或标题指示器组件,显示圆点指示器或标题指示器。
其中,所述适配器装载的需要显示的多个视图具有连续的号码,该切换模块还包括计数子模块:所述计数子模块,用于在加载适配器装载的视图以显示视图之后,每经过预设的时间间隔,则将当前显示的视图的号码加一并且除以视图总数取余数,所得的余数即为需要显示的视图的号码。
本发明实施例的有益效果是:通过预设视图流组件,使用适配器装载需要显示的多个视图,可以在事先不能确定视图数量的情况下实现视图显示和切换。
附图说明
图1为本发明较佳实施例提供的一种用于视图显示和切换的方法的流程图;
图2为本发明较佳实施例提供的一种用于视图显示和切换的装置的框图;
图3为使用圆点指示器的效果示意图;
图4为使用标题指示器的效果示意图。
具体实施方式
为使本发明的目的技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步的详细描述。
图1为本发明较佳实施例提供的一种用于视图显示和切换的方法的流程图。该方法使用视图流库实现视图的显示和切换,包括以下步骤:
S100:在页面布局文件中预设视图流组件,对视图流组件添加适配器。
S200:调用视图流组件创建视图流对象,使用适配器装载需要显示的多个视图。
S300:加载适配器装载的视图以显示视图。
S400:监听需要显示的视图,当监听到需要显示的视图发生变化时,调用视图流组件的切换函数以切换视图。
其中,步骤S100之中,所述在页面布局文件中预设视图流(viewflow)组件,包括:使用视图流(viewflow)库,在页面布局(layout)文件中加入视图流组件,并预设缓存参数(sidebuffer)为N,N为正整数。
其中,缓存参数为N,表示视图流组件预留了缓存N个视图的空间。这里的缓存参数,只是给出了缓存空间。结合之后的适配器(adapter)一并进行分析,令适配器装载的视图(view)的数目为M。如果M不大于N,则在显示屏幕上显示M个视图,可以滑动切换或自动切换;如果M大于N,则可以在显示屏幕上显示最近的N个视图。
步骤S200之中,所述使用适配器装载需要显示的多个视图,进一步包括:设置初始显示的视图。即设置初始时显示的视图,可以通过设置初始显示视图的标号实现。
一般在视图切换时,不论是滑动切换还是自动切换,都可以设置指示器。则该方法进一步包括:使用视图流库中的视图流圆点指示器组件,在页面布局文件中预设圆点指示器组件,或使用视图流库中的视图流标题指示器组件,在页面布局文件中预设标题指示器组件。这样就可以在页面布局(layout)文件中预设指示器组件。
进一步地,显示视图或切换视图时,时,可以调用圆点指示器组件或标题指示器组件,显示圆点指示器或标题指示器。
本实施例中,所述适配器(adapter)装载的需要显示的多个视图具有连续的号码;该方法进一步包括:在加载适配器装载的视图以显示视图之后,自动切换需要显示的视图,自动切换视图具体包括:经过预设的时间间隔之后,将当前显示的视图的号码加一并且除以视图总数取余数,所得的余数即为需要显示的视图的号码。通过累加取余数的方式,可以连续地自动切换视图,通过间隔一段预设的时间间隔,可以由使用者或开发者调整预设的时间间隔而调整切换的速度。
图2为本发明较佳实施例提供的一种用于视图显示和切换的装置的框图。该装置使用视图流库实现视图的显示和切换,该装置包括:预设模块100、处理模块200、显示模块300和切换模块400。
预设模块100,用于在页面布局文件中预设视图流组件,对视图流组件添加适配器。
处理模块200,用于调用视图流组件创建视图流对象,使用适配器装载需要显示的多个视图。
显示模块300,用于使用视图流对象加载适配器装载的视图以显示视图。
切换模块400,用于监听需要显示的视图,当监听到需要显示的视图发生变化时,调用视图流组件的切换函数以切换视图。
预设模块100,具体用于使用视图流库,在页面布局文件中加入视图流组件,并预设缓存参数为N,N为正整数;缓存参数为N,表示视图流组件预留了缓存N个视图的空间。
所述处理模块200,进一步用于,在使用适配器装载需要显示的多个视图时,设置初始显示的视图。可以通过设置初始显示视图的标号实现
所述预设模块100,进一步用于使用视图流库中的视图流圆点指示器组件,在页面布局文件中预设圆点指示器组件,或使用视图流库中的视图流标题指示器组件,在页面布局文件中预设标题指示器组件;
所述显示模块300,进一步用于在显示视图或切换视图时,调用圆点指示器组件或标题指示器组件,显示圆点指示器或标题指示器。
本实施例之中,所述适配器装载的需要显示的多个视图具有连续的号码,该切换模块400还包括:计数子模块410,用于在所述显示模块300加载适配器装载的视图以显示视图之后,每次经过预设的时间间隔,则将当前显示的视图的号码加一并且除以视图总数取余数,所得的余数即为需要显示的视图的号码。通过累加取余数的方式,可以连续地自动切换视图,通过间隔一段预设的时间间隔,可以由使用者或开发者调整预设的时间间隔而调整切换的速度。
以下以安卓系统为例进行详细的说明:
在布局的文件中添加viewflow组件,需要设置对应该组件的属性。然后在代码中,进行该组件的初始化,添加一个数据适配器。这里适配器装载的内容是滑屏的几个视图的view:
(1)viewFlow是现成的组件,使用viewflow库,首先在目标layout文件中加入,然后预设缓存参数sidebuffer,例如预设sidebuffer为7:
Layout文件是存放这些控件并控制它们的位置排列的布局文件,就像HTML中div,table一样,Android布局也起到同样的作用。
其中sidebuffer属性是指当前viewflow需要缓存多少个tab页面view。这里sidebuffer属性是指预留了N个页面的空间以供使用,可以取需要的数值,例如取7,那么即滑动屏幕时可以最多承载7个页面相互滑动,若目前只用了6个页面,那么有6个页面可供滑动。若目前共有8个页面,因为sidebuffer为7,所以系统会自动加载最新使用过的前7个页面进行显示。图3为使用圆点指示器的效果示意图。圆点指示器组件可以先在页面布局文件(layout)中定义,可以根据不同的需求进行设置圆点指示器的属性,例如间距、空间高度、宽度、圆点自动隐藏的秒数以及圆点的半径等,并可以根据需要,在显示视图或切换视图时,调用圆点指示器组件。
图4为使用标题指示器的效果示意图。标题指示器也是先在页面布局文件(layout)里定义,可以根据不同的需求进行设置圆点指示器的属性,例如间距、空间高度、宽度、布局以及颜色等,并可以根据需要,在显示视图或切换视图时,调用标题指示器组件。、
安卓系统之中,可以根据用户的输入,进行滑动循环,滑动循环功能通过在适配器adapter的getcount方法要返回Integer.Max_value。然后在getview方法中,由于position不断递增,可以取余数。余数即将要切换到的界面的位置,这样调用viewflow.setSelection(3*图片数)来实现循环。
同样,安卓系统之中自动播放是通过自动累加计数取余,以及时间延迟实现的。具体是由以下方法实现的:通过handler实现延迟消息。Handler运行在主线程中(UI线程中),它与子线程可以通过Message对象来传递数据,这个时候,Handler就接受子线程传过来的(子线程用sendMessage()方法传递)包含数据的Message对象,把这些消息放入主线程队列中,配合主线程进行更新UI。创建一个handler需要重写handleMessage方法。
通过position递增,取余数,然后调用viewflow.setSelection方法来实现自动循环。在循环中间需要时间间隔,所以就需要延迟发送消息。
这里handler.sendMessageDelayed(message,timeSpan);就是向handler发送消息,告诉主线程我要对当前的显示界面做一些改变了,然后handler会根据收到消息的先后依次处理。timeSpan参数是个时间参数,意思就是过timeSpan秒后再将该消息发送给handler,换言之,timeSpan参数代表时间延迟。这样就可以延迟发送消息以及实现自动播放了。
本发明的实施例具有以下的优点:
(一)通过预设视图流组件,使用适配器装载需要显示的多个视图,可以在事先不能确定视图数量的情况下实现视图显示和流畅切换;
(二)通过监听需要显示视图的变化,切换视图,切换更流畅;
(三)通过对显示视图自动累加、计数取余,以及预设时间间隔实现时间延迟,可以实现自动切换和自动播放视图。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (4)
1.一种用于视图显示和切换的方法,其特征在于,该方法使用视图流库实现视图的显示和切换,包括:
在页面布局文件中预设视图流组件,对视图流组件添加适配器;
调用视图流组件创建视图流对象,使用适配器装载需要显示的多个视图;
使用视图流对象加载适配器装载的视图以显示视图;
监听需要显示的视图,当监听到需要显示的视图发生变化时,调用视图流组件的切换函数以切换视图;
所述适配器装载的需要显示的多个视图具有连续的号码;
所述使用适配器装载需要显示的多个视图,进一步包括:通过设置初始显示视图的标号设置初始显示的视图;
所述在页面布局文件中预设视图流组件,包括:使用视图流库,在页面布局文件中加入视图流组件,并预设缓存参数为N,N为正整数;
缓存参数为N,表示视图流组件预留了缓存N个视图的空间;
结合适配器一并进行分析,令适配器装载的视图的数目为M,如果M不大于N,则在显示屏幕上显示M个视图,滑动切换或自动切换;如果M大于N,则在显示屏幕上显示最近的N个视图;
所述适配器装载的需要显示的多个视图具有连续的号码;该方法进一步包括:
在加载适配器装载的视图以显示视图之后,自动切换需要显示的视图,具体包括:经过预设的时间间隔之后,将当前显示的视图的号码加一并且除以视图总数取余数,所得的余数即为需要显示的视图的号码。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
使用视图流库中的视图流圆点指示器组件,在页面布局文件中预设圆点指示器组件,或使用视图流库中的视图流标题指示器组件,在页面布局文件中预设标题指示器组件;
在显示视图或切换视图时,调用圆点指示器组件或标题指示器组件,显示圆点指示器或标题指示器。
3.一种用于视图显示和切换的装置,其特征在于,该装置使用视图流库实现视图的显示和切换,该装置包括:预设模块、处理模块、显示模块和切换模块;
预设模块,用于在页面布局文件中预设视图流组件,对视图流组件添加适配器;
处理模块,用于调用视图流组件创建视图流对象,使用适配器装载需要显示的多个视图;所述适配器装载的需要显示的多个视图具有连续的号码;显示模块,用于使用视图流对象加载适配器装载的视图以显示视图;
切换模块,用于监听需要显示的视图,当监听到需要显示的视图发生变化时,调用视图流组件的切换函数以切换视图;
所述处理模块,进一步用于,在使用适配器装载需要显示的多个视图时,通过设置初始显示视图的标号设置初始显示的视图;
预设模块,具体用于使用视图流库,在页面布局文件中加入视图流组件,并预设缓存参数为N,N为正整数;
缓存参数为N,表示视图流组件预留了缓存N个视图的空间;
结合适配器一并进行分析,令适配器装载的视图的数目为M,如果M不大于N,则在显示屏幕上显示M个视图,滑动切换或自动切换;如果M大于N,则在显示屏幕上显示最近的N个视图;
所述适配器装载的需要显示的多个视图具有连续的号码,该切换模块还包括计数子模块:
所述计数子模块,用于在加载适配器装载的视图以显示视图之后,每经过预设的时间间隔,则将当前显示的视图的号码加一并且除以视图总数取余数,所得的余数即为需要显示的视图的号码。
4.根据权利要求3所述的装置,其特征在于,
所述预设模块,进一步用于使用视图流库中的视图流圆点指示器组件,在页面布局文件中预设圆点指示器组件,或使用视图流库中的视图流标题指示器组件,在页面布局文件中预设标题指示器组件;
所述显示模块,进一步用于在显示视图或切换视图时,调用圆点指示器组件或标题指示器组件,显示圆点指示器或标题指示器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592990.3A CN103914204B (zh) | 2012-12-31 | 2012-12-31 | 一种用于视图显示和切换的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592990.3A CN103914204B (zh) | 2012-12-31 | 2012-12-31 | 一种用于视图显示和切换的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914204A CN103914204A (zh) | 2014-07-09 |
CN103914204B true CN103914204B (zh) | 2018-02-06 |
Family
ID=51039934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210592990.3A Active CN103914204B (zh) | 2012-12-31 | 2012-12-31 | 一种用于视图显示和切换的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914204B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708967B (zh) * | 2016-11-30 | 2020-06-02 | 北京小米移动软件有限公司 | 页面显示方法及装置 |
CN109324848B (zh) * | 2017-07-31 | 2021-04-09 | 武汉斗鱼网络科技有限公司 | 标题栏与页面元素的联动方法、存储介质、电子设备及系统 |
CN107450992B (zh) * | 2017-07-31 | 2020-05-12 | 武汉斗鱼网络科技有限公司 | 标题栏与弹框栏同步通信的方法、存储介质、设备及系统 |
CN107704241B (zh) * | 2017-09-26 | 2022-04-29 | 阿里巴巴(中国)有限公司 | 一种页面状态切换的显示方法和装置 |
CN108052361B (zh) * | 2017-11-01 | 2019-08-23 | 武汉斗鱼网络科技有限公司 | 基于Android的页面启动方法、存储介质、电子设备及系统 |
CN108108221B (zh) * | 2018-01-02 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 一种指定操作切换实时数据显示的方法及装置 |
CN108958831B (zh) * | 2018-06-12 | 2021-10-15 | 北京奇艺世纪科技有限公司 | 一种ViewGroup动态布局方法、装置及电子设备 |
CN109189525B (zh) * | 2018-08-10 | 2021-03-26 | 广州酷狗计算机科技有限公司 | 加载子页面的方法、装置、设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102763419A (zh) * | 2009-12-17 | 2012-10-31 | 通用仪表公司 | 3d视频转换装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004077264A2 (en) * | 2003-02-24 | 2004-09-10 | Collabnet, Inc. | Systems and methods for managing distributed design chains |
-
2012
- 2012-12-31 CN CN201210592990.3A patent/CN103914204B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102763419A (zh) * | 2009-12-17 | 2012-10-31 | 通用仪表公司 | 3d视频转换装置 |
Non-Patent Citations (2)
Title |
---|
"android使用ViewFlow实现左右滑动";雨点点的博客;《http://blog.sina.com.cn/s/blog_5da93c8f0101anyd.html》;20121102;正文第1页第9-15行,第2页第1-10,14-20,28-35行,第3页第11-16行 * |
"ViewFlow,一个滑动效果库";gundumw100;《http://gundumw100.iteye.com/blog/1069531》;20110603;图1-2 * |
Also Published As
Publication number | Publication date |
---|---|
CN103914204A (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103914204B (zh) | 一种用于视图显示和切换的方法和装置 | |
CN103929492B (zh) | 业务链负载均衡方法及其装置、系统 | |
US9755935B2 (en) | Method, system and computer storage medium for bandwidth optimization of network application | |
JP2007043493A (ja) | 議事進行を進捗管理する会議支援システム、会議支援方法、及び会議支援プログラム | |
CN103607564B (zh) | 一种基于摄像头的视频采集实现的方法及装置 | |
CN105867845A (zh) | 一种应用程序存储空间的管理方法及装置 | |
CN103870155A (zh) | 信息处理的方法及电子设备 | |
CN104767809A (zh) | 一种下载控制方法及系统 | |
CN111459758B (zh) | 一种应用信息的显示方法、装置、电子设备及存储介质 | |
CN108494788A (zh) | 数据的传输方法、数据传输装置及计算机可读存储介质 | |
CN103873380B (zh) | 一种数据分发策略的调整方法、装置及系统 | |
CN106997351A (zh) | 一种资源缓存管理方法及系统和装置 | |
CN106294188A (zh) | 存储空间处理方法及装置 | |
CN104424333A (zh) | 表格数据加载方法及系统 | |
CN105898391A (zh) | 在线媒体服务的带宽分配方法及系统 | |
CN104581345A (zh) | 一种调整显示帧的方法及装置 | |
CN106445308A (zh) | 一种分屏界面的控制方法及终端 | |
CN109067562B (zh) | 基于智能指针的动态配置更新方法及系统、服务器及介质 | |
CN103916607A (zh) | 一种多个视频的处理方法 | |
CN105373373B (zh) | 一种快速生成图标的方法和装置 | |
CN106791957A (zh) | 视频直播处理方法及装置 | |
CN105808324A (zh) | 一种提高系统流畅度的方法及移动终端 | |
CN103270663B (zh) | 用电管理装置和用电管理方法 | |
CN105975168A (zh) | 一种osd菜单淡入/淡出方法及装置 | |
CN105094858B (zh) | 一种列表控件的加载方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602 Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |