一种触控页面展示方法及系统与流程

文档序号:11285598阅读:181来源:国知局
一种触控页面展示方法及系统与流程

本发明涉及通讯技术领域,具体涉及一种触控页面展示方法及系统。



背景技术:

listview或者gridview是android开发过程中较为常见的组件之一,它将数据以列表的形式展现出来。

图1为现有技术中一实施例提供的触控页面的示意图,参照图1,在一般的应用中都会遇到这个的页面。它的上面是一个布局不管是图片还是别的什么效果,下面要求是列表样式,并且滑动时要求是整个页面在滑动而不是单独的列表滑动,即滑动的效果要作用在父控件上。具有滑动的父控件,一般是选用scrollview,但是如果将listview作为子控件放到scrollview中后,就会导致listview显示不全的问题。出现这种情况是因为scrollview的滑动将优先于listview的滑动,listview做为scrollview子控件后,滑动起了冲突造成的。而且,这种触控页面展示中出现的问题也使得用户体验效果差。



技术实现要素:

针对现有技术中的缺陷,本发明提供了一种触控页面展示方法及系统,能在展示数据的同时避免出现子控件和父控件之间滑动冲突的问题。

本发明提出了一种触控页面展示方法,包括:

在接收到滑动指令时,父控件执行所述滑动指令,控制所述触控页面作与所述滑动指令对应的滑动动作,所述父控件为预加载到所述触控页面的;

子控件接收展示指令,并执行所述展示指令在所述触控页面展示待展示数据;

其中,所述展示指令为系统根据所述滑动指令生成的。

优选地,所述子控件为与系统根据滑动指令从所述触控页面的子窗口列表中选择的子窗口的标识关联的子控件;

其中,所述子窗口列表包括:至少一个子窗口、子窗口的标识及与标识关联的待展示数据和子控件。

优选地,所述子窗口为系统基于滑动块在滑动条上的相对位置从所述子窗口列表中选择的;

所述滑动块在滑动条上的相对位置为系统在所述触控页面作滑动动作时获取的。

优选地,所述展示指令携带有赋值操作的信息;

相应地,所述子控件执行所述展示指令在所述触控页面展示待展示数据的步骤具体包括:

子控件执行赋值操作,在所述触控页面的重新绘制区域展示与所述子窗口的标识关联的待展示数据;

其中,所述重新绘制区域为系统根据所述滑动指令生成的。

优选地,所述展示指令还携带有在父控件执行滑动指令时子控件不与父控件发生相对滑动的信息。

本发明还提供了一种触控页面展示系统,包括:

父控件,用于在接收到滑动指令时,执行所述滑动指令,控制所述触控页面作与所述滑动指令对应的滑动动作,所述父控件为预加载到所述触控页面的;

子控件,用于接收展示指令,并执行所述展示指令在所述触控页面展示待展示数据;

其中,所述展示指令为系统根据所述滑动指令生成的。

优选地,所述子控件为与系统根据滑动指令从所述触控页面的子 窗口列表中选择的子窗口的标识关联的子控件;

其中,所述子窗口列表包括:至少一个子窗口、子窗口的标识及与标识关联的待展示数据和子控件。

优选地,所述子窗口为系统基于滑动块在滑动条上的相对位置从所述子窗口列表中选择的;

所述滑动块在滑动条上的相对位置为系统在所述触控页面作滑动动作时获取的。

优选地,所述展示指令携带有赋值操作的信息;

相应地,所述子控件,还用于执行赋值操作,在所述触控页面的重新绘制区域展示与所述子窗口的标识关联的待展示数据;

其中,所述重新绘制区域为系统根据所述滑动指令生成的。

优选地,所述展示指令还携带有在父控件执行滑动指令时子控件不与父控件发生相对滑动的信息

由上述技术方案可知,本发明提出的触控页面展示方法,基于自定义子控件,在接收到滑动指令时,控件执行所述滑动指令以滑动触控界面,子控件执行展示指令在所述触控页面展示待展示数据,以使子控件在展示数据的同时,不会与父控件发生滑动冲突。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1示出了现有技术中一实施例提供的触控页面的示意图;

图2示出了本发明一实施例提供的一种触控页面展示方法的流程示意图;

图3示出了本发明一实施例提供的一种触控页面展示方法中创建子窗口列表步骤的流程示意图;

图4示出了本发明一实施例提供的一种触控页面展示方法中选择 子窗口步骤的流程示意图;

图5示出了本发明一实施例提供的一种触控页面展示系统的结构示意图。

具体实施方式

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

图2为本发明一实施例提供的一种触控页面展示方法的流程示意图,参照图2,该触控页面展示方法,包括以下步骤:

210、在接收到滑动指令时,父控件执行所述滑动指令,控制所述触控页面作与所述滑动指令对应的滑动动作,所述父控件为预加载到所述触控页面的;

可理解的是,本方法优选地用于android系统的终端,例如手机,平板等等,但其他适用的操作系统也是可用的;其中的触控页面可以为手机界面,平板界面甚至是电脑触控界面;滑动指令可以由用户在触控页面上的手滑动信息生成,也可以由用户在触控页面上的设备滑动信息生成;在父控件执行滑动指令时,例如,滑动指令为上滑指令时,父控件控制触控页面上滑,而且系统将同步自动绘制触控页面,以将待展示窗口展示在新绘制的触控页面上。

220、子控件接收展示指令,并执行所述展示指令在所述触控页面展示待展示数据;

其中,所述展示指令为系统根据所述滑动指令生成的。

需要说明的是,由于本发明自定义的子控件不具有滑动功能,因 此在父控件执行滑动指令时,两者之间不会发生滑动冲突。

综上所述,本发明基于自定义子控件,在接收到滑动指令时,父控件执行所述滑动指令以滑动触控界面,子控件执行展示指令在所述触控页面展示待展示数据,以使子控件在展示数据的同时,不会与父控件发生滑动冲突。

本实施例中,系统将选择性的将展示指令发送给子控件,具体步骤如下:

子控件为与系统根据滑动指令从所述触控页面的子窗口列表中选择的子窗口的标识关联的子控件;其中,所述子窗口列表包括:至少一个子窗口、子窗口的标识及与标识关联的待展示数据和子控件。

需要说明的是,在完成建立子窗口列表后,系统将对每一个子窗口关联一个子控件;另外,系统根据触控页面所作的滑动动作自动绘制触控页面,并根据绘制的触控页面从所述触控页面的子窗口列表中选择子窗口以及与子窗口关联的子控件;

可理解的是,在滑动指令为上滑1个单元的距离时,系统可能需要展示1个新的子窗口,而且该子窗口与当前触控页面显示的子窗口有一定关系,以顺序关系为例,当前触控页面显示了第1-4个子窗口,那么该新窗口即为第5个窗口,因此系统需要在子窗口列表中选择出第5个窗口。

本实施例中,所述展示指令携带有赋值操作的信息;

相应地,步骤220具体包括:子控件执行赋值操作,在所述触控页面的重新绘制区域展示与所述子窗口的标识关联的待展示数据;

其中,所述重新绘制区域为系统根据所述滑动指令生成的。

需要说明的是,系统在选择出对应的子窗口后将对选择出的子窗口关联的子控件进行赋值处理,以将与选择出的子窗口关联的待展示数据展示在子窗口上;

以选择出的子窗口为第5个子窗口为例,根据第5子窗口的标识查 找出第5个子窗口的子控件,并向第5个子窗口的子控件发送展示指令,以使第5个子窗口的子控件执行赋值操作,将与第5个子窗口关联的待展示数据展示在新绘制的触控页面上。

本实施例中,所述展示指令还携带有在父控件执行滑动指令时子控件不与父控件发生相对滑动的信息;

需要说明的是,本发明基于自定义子控件,在接收到滑动指令时,父控件执行所述滑动指令以滑动触控界面,子控件执行展示指令以在所述触控页面展示待展示数据,而不会与父控件之间发生相对滑动。

图3为本发明另一实施例提供的一种触控页面展示方法的流程示意图,参照图3,该触控页面展示方法包括以下步骤:

310、系统在检测到所述触控页面启动时,向服务器端发起获取待展示数据的请求;

需要说明的是,在触控页面启动时,将同步加载父控件到触控页面中;另外,服务器端与打开的触控页面的相对应,例如:检测到打开的触控页面为凤凰新闻页面,服务器端即为凤凰新闻的服务器;

320、接收所述服务器端反馈的至少一个字段名及对应字段内容的数据;

330、遍历所述至少一个字段名,并生成与所述至少一个字段名对应数量的子窗口;

需要说明的是,此处的每一条数据均有一个标识性的字段名,以方便遍历步骤;

340、对每个子窗口关联一个字段名及对应字段内容的数据,建立子窗口列表。

可理解的是,在遍历字段名后,系统获知有多少条数据等待展示,并创建与待展示数据的数量相同的子窗口,并将根据子窗口的标识将字段名与标识进行关联,以达到将子窗口与待展示数据关联的目的。

在一可行的实施例中,本发明的子窗口为系统基于滑动块在滑动 条上的相对位置从所述子窗口列表中选择的;所述滑动块在滑动条上的相对位置为系统在所述触控页面作滑动动作时获取的。

可理解的是,触控页面在作滑动动作时,滑动块将与触控页面同步滑动;在触控页面向下滑动时,滑动块将同步在滑动条上滑动,由此系统能获取到触控页面的滑动信息,并基于滑动信息选择子窗口。

图4为本发明一实施例提供的一种触控页面展示方法中选择子窗口步骤的流程示意图,参照图4,选择子窗口步骤具体以下:

410、在检测到滑动指令,且父控件执行所述滑动指令时,获取触控页面的滑动块在滑动条中的第一位置;

需要说明的是,在进行步骤410之前,还需要加载滑动条子控件到触控页面中;

可理解的是,此处的第一位置为父控件将要执行滑动指令时滑动块在滑动条中的位置,其中的滑动条可以为水平滑动条也可以为垂直滑动条;

420、根据所述第一位置和所述滑动指令,获取所述滑动块在滑动条中的第二位置;

需要说明的是,系统根据触控页面收到的操作信息,基于第一位置,计算获取滑动块在滑动条中的第二位置;

可以理解的是,第一位置和第二位置优选为相对位置,可以以滑动条的百分比表示;

430、定义滑动块在滑动条中的相对位置与选择的子窗口之间的对应关系;

需要说明的是,此处定义的对应关系优选为,在某个相对位置范围内对相应的子窗口的子控件进行赋值;举例说明,当前触页面上显示的是第1-4个子窗口,此时,若滑动块在滑动条中大于50%长度滑动时,则展示第5个子窗口;;若滑动块在滑动条中由50%长度滑动至80%长度时,则展示第5-7个子窗口;

可理解的是,此处滑动块在滑动条中的相对位置与子窗口之间的对应关系还基于每页触控页面能显示的子窗口的个数;

440、根据所述第二位置从子窗口列表中选择子窗口;

需要说明的是,步骤440具体包括根据所述第二位置和步骤430中的对应关系从子窗口列表中选择出与所述第二位置对应的子窗口。

450、根据所述子窗口的标识查找出与所述子窗口关联的待展示数据和子控件;

460、将与子窗口关联的待展示数据赋值给与子窗口的标识关联的子控件。

需要说明的是,基于上述的子窗口列表中存有的待展示数据和子控件与子窗口的标识之间的关联关系,查找出与选择出的子窗口关联的待展示数据,并将待展示数据赋值给与子窗口关联的控件对象,以完成对子窗口展示。

下面对本发明的设计原理进行详细说明:

本发明采用自定义一个view(窗口)对象,该view(窗口)对象在实现列表展示数据的同时自身又不会滑动,从而避免了与父控件的滑动冲突。

因此,此自定义的view是不能继承自身带有上下滑动的控件作为父类的。一般都是直接继承view对象或者是继承linearlayout对象。可知的是listview的主要作用就是将一个数据集以列表的形式展现在触控页面上,所以本发明自定义的view最主要的功能就是处理一个给定的数据集,并将它以同种方式展现到触控页面上;因为linearlayout本身是一个线性的布局,它可以实现列表的展示方式,但是它只能处理一条数据,对应一个庞大的数据集就鞭长莫及了;此处的数据集即为服务器端反馈的数据。

因此本发明自定义的view一般是继承linearlayout布局,在自定义的view中对所有的数据集进行遍历,依次加到这个自定义view的 控件中,如下代码:

for(inti=0;i<count;i++){

viewv=adapter.getview(i,null,null);

finalinttmp=i;

finalobjectobj=adapter.getitem(i);

v.setonclicklistener(newview.onclicklistener(){

@override

publicvoidonclick(viewv){

if(onitemclicklistener!=null){

onitemclicklistener.onitemclicked(v,obj,tmp);}}});

addview(v,i);}

针对上面的说明,在使用自定义的view替代listview的时候,要依次按照以下步骤实现:

1、创建一个新的class文件,继承linearlayout布局;

2、在此自定义的view中增加baseadapter对象,用来管理数据集,一般此对象都是根据需要在此view的外部进行实例化和赋值操作,然后再传递给此自定义view使用;

3、在此自定义的view中依次遍历所有的数据集,一条数据对应于一个view对象,将这个数据中要展现的数据赋给view中的控件对象,用于最终的触控页面展示;在此遍历赋值时可以增加对view的点击操作的处理,这样对展现在手机上的每一条数据都有点击事件,方便程序员后续操作;

4、自定义的view做好以后,就可以在代码中使用了,首先在布局界面上使用时要带完整的包名路径;然后在代码中实例化此自定义的view对象;再然后对这个自定义的view的操作就可以完全按照listview那样进行赋值和操作了。这样既解决了与父类滑动控件的冲突又实现以列表式的展示效果。

对于方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。

图5为本发明另一实施例提供的一种触控页面展示系统的结构示意图,参照图5,该系统包括:

父控件510,用于在接收到滑动指令时,执行所述滑动指令,控制所述触控页面作与所述滑动指令对应的滑动动作,所述父控件为预加载到所述触控页面的;

子控件520,用于接收展示指令,并执行所述展示指令在所述触控页面展示待展示数据;

本发明基于自定义子控件,在接收到滑动指令时,父控件510执行所述滑动指令以滑动触控界面,子控件520执行展示指令在所述触控页面展示待展示数据,以使子控件520在展示数据的同时,不会与父控件510发生滑动冲突。

在一可行的实施例中,子控件520为与系统根据滑动指令从所述触控页面的子窗口列表中选择的子窗口的标识关联的子控件520;

其中,所述子窗口列表包括:至少一个子窗口、子窗口的标识及与标识关联的待展示数据和子控件520。

在一可行的实施例中,所述子窗口为系统基于滑动块在滑动条上的相对位置从所述子窗口列表中选择的;

所述滑动块在滑动条上的相对位置为系统在所述触控页面作滑动动作时获取的。

在一可行的实施例中,所述展示指令携带有赋值操作的信息;

相应地,所述子控件520,还用于执行赋值操作,在所述触控页 面的重新绘制区域展示与所述子窗口的标识关联的待展示数据;

其中,所述重新绘制区域为系统根据所述滑动指令生成的。

在一可行的实施例中,所述展示指令还携带有在父控件执行滑动指令时子控件不与父控件510发生相对滑动的信息。

对于装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。

应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。

本发明的各个部件实施方式可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本装置中,pc通过实现因特网对设备或者装置远程控制,精准的控制设备或者装置每个操作的步骤。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样实现本发明的程序可以存储在计算机可读介质上,并且程序产生的文件或文档具有可统计性,产生数据报告和cpk报告等,能对功放进行批量测试并统计。应该注意的是上述实施方式对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施方式。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可 以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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