一种页面加载方法和装置与流程

文档序号:12718730阅读:138来源:国知局
一种页面加载方法和装置与流程

本申请涉及终端技术领域,尤其涉及一种页面加载方法和装置。



背景技术:

相关技术中,当用户使用APP(Application,应用程序)浏览新闻、商品等信息时,第一条信息的上部通常会隐藏有信息搜索框,用户可以通过下拉或上滑的操作实现信息搜索框的展示与隐藏。



技术实现要素:

有鉴于此,本申请提供一种页面加载方法和装置。

具体地,本申请是通过如下技术方案实现的:

一种页面加载方法,所述方法包括:

将活动条目添加到ListView的Header中;

在接收到页面加载指令后,判断业务条目的总高度是否大于等于屏幕中ListView的展示高度;

当业务条目的总高度大于等于所述展示高度时,调用ListView的setSelection,将ListView定位到首个业务条目。

可选的,所述方法还包括:

当业务条目的总高度小于所述展示高度时,计算所述展示高度与业务条目的总高度的差值;

当ListView的Footer中不存在补充条目时,在ListView的Footer中添加高度等于所述差值的补充条目,并调用ListView的setSelection将ListView定位到首个业务条目;

当ListView的Footer中存在补充条目时,将ListView的Footer中的补充条目的高度更新为所述差值,并调用ListView的setSelection将ListView定位到首个业务条目。

可选的,所述方法还包括:

当业务条目的总高度大于等于所述展示高度时,清空ListView的Footer中的补充条目。

可选的,所述补充条目的状态为隐藏状态;或者

所述补充条目的状态为显示状态,且所述补充条目的透明度为100%。

可选的,所述活动条目包括:搜索框展示条目、信息筛选条目;

所述业务条目包括:新闻条目、商品条目、通知消息条目。

一种页面加载装置,所述装置包括:

条目添加单元,将活动条目添加到ListView的Header中;

高度判断单元,在接收到页面加载指令后,判断业务条目的总高度是否大于等于屏幕中ListView的展示高度;

第一定位单元,当业务条目的总高度大于等于所述展示高度时,调用ListView的setSelection,将ListView定位到首个业务条目。

可选的,所述装置还包括:

高度计算单元,当业务条目的总高度小于所述展示高度时,计算所述展示高度与业务条目的总高度的差值;

第二定位单元,当ListView的Footer中不存在补充条目时,在ListView的Footer中添加高度等于所述差值的补充条目,并调用ListView的setSelection将ListView定位到首个业务条目;

第三定位单元,当ListView的Footer中存在补充条目时,将ListView的Footer中的补充条目的高度更新为所述差值,并调用ListView的setSelection将ListView定位到首个业务条目。

可选的,所述装置还包括:

条目清空单元,当业务条目的总高度大于等于所述展示高度时,清空ListView的Footer中的补充条目。

可选的,所述补充条目的状态为隐藏状态;或者

所述补充条目的状态为显示状态,且所述补充条目的透明度为100%。

可选的,所述活动条目包括:搜索框展示条目、信息筛选条目;

所述业务条目包括:新闻条目、商品条目、通知消息条目。

由以上描述可以看出,本申请可以将活动条目添加到ListView自有的Header中,并在业务条目的总高度大于等于屏幕中ListView的展示高度时,将ListView定位到首个业务条目,从而实现对活动条目的隐藏。后续,当用户上滑或下拉刷新时,可以通过ListView默认的滚动机制实现活动条目的显示与隐藏,无需设置用于判断活动条目隐藏与展示的距离阈值,也无需增加活动条目的事件状态,实现简单,大大减少了bug的出现几率。

附图说明

图1是本申请一示例性实施例示出的一种新闻页面示意图。

图2是本申请一示例性实施例示出的一种页面加载方法的流程图。

图3是本申请一示例性实施例示出的一种ListView展示高度的示意图。

图4是本申请一示例性实施例示出的另一种页面加载方法的流程图。

图5是本申请一示例性实施例示出的一种用于页面加载装置的一结构示意图。

图6是本申请一示例性实施例示出的一种页面加载装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

ListView是一种可以使用四种不同视图显示项目的控件,通过该控件可以将项目组成带有或不带有列标头的列,并展示伴随的图标和文本。目前,新浪新闻、今日头条等较多APP均采用ListView实现对信息的展示。以新浪新闻为例,请参考图1,第一条新闻的上部通常会展示有信息搜索框,该信息搜索框在默认状态下是隐藏的,当用户下拉页面时,会将该信息搜索框展示给用户。

相关技术中,在实现信息搜索框的展示与隐藏时,通常会将用于展示信息的ListView(该用于展示信息的ListView中包括有多个新闻条目)作为客户端ListView的一个子View(也可以理解为客户端ListView的某个条目,即该客户端ListView的这个条目中包括有多条新闻条目),将信息搜索框也作为客户端ListView的一个子View,并将信息搜索框这个子View设置在用于展示信息的ListView的子View的上面,然后为信息搜索框添加展示或隐藏的事件状态。当用户上滑或下拉页面时,可以根据用户滑动的距离以及信息搜索框当前的事件状态,确定所述信息搜索框的展示或隐藏。

然而,这样的实现方式至少存在以下问题:

一、实现复杂。采用上述技术方案,通常需要设置信息搜索框状态变更的距离阈值,还需要为信息搜索框新增展示或隐藏的两种事件状态。即便达到了对信息搜索框的展示与隐藏功能,但可能会出现很多未知bug,给用户带来不好的使用体验。此外,在同一APP中,如果某些页面有隐藏信息搜索框的需求,某些页面没有隐藏信息搜索框的需求,则需要对不同页面进行区别判断,增加了实现的复杂度以及出现bug的几率。

二、当用于展示信息的ListView没有相关数据时,如果用户下拉页面进行刷新,将无法隐藏信息搜索框。

针对上述问题,本申请提供一种页面加载方法,可以减轻信息搜索框展示、隐藏状态切换的复杂度,减少bug出现的几率。

图2是本申请一示例性实施例示出的一种页面加载方法的流程图。

请参考图2,所述页面加载方法可以应用在客户端,包括有以下步骤:

步骤201,将活动条目添加到ListView的Header中。

在本实施例中,可以将通过ListView展示的项目(信息)称为ListView的条目(也称ListItem),为便于区分,可以将与APP业务功能相关的条目称为业务条目。一般而言,ListView还包括有Header和Footer,Header和Footer中可能存在业务条目,也可能不存在业务条目,本申请对此不作特殊限制。请参考图1,以新浪新闻APP为例,其ListView的条目为一条条的新闻,该ListView的Header中不存在业务条目。

在本实施例中,所述活动条目为根据用户操作可以展示或隐藏的条目,比如:搜索框展示条目、信息筛选条目等,本申请对比不作特殊限制。在本步骤中,可以将预设的活动条目添加到ListView的Header中,当ListView的Header中存在业务条目时,可以将所述活动条目置于Header中已存在的业务条目的顶部。

步骤202,在接收到页面加载指令后,判断业务条目的总高度是否大于等于屏幕中ListView的展示高度。如果业务条目的总高度大于等于屏幕中ListView的展示高度,则可以执行步骤203。

在本实施例中,可以在检测到用户进入页面、刷新页面的操作后视为接收到页面加载指令,比如:当检测到用户下拉页面的指令后,视为接收到所述页面加载指令。在本步骤中,在接收到所述页面加载指令后,可以从服务端获取最新的业务条目。所述业务条目包括:新闻条目、商品条目、通知消息条目等。当客户端为新闻类客户端时,所述业务条目通常为新闻条目,当客户端为购物类客户端时,所述业务条目通常为商品条目等。

仍以客户端为新闻类客户端为例,在接收到页面加载指令后,客户端可以从服务端获取最新的新闻。比如:当用户下拉页面刷新新闻时,客户端可以从服务端获取上次加载至今尚未更新的新闻。这部分的处理与实现可以参照相关技术,本申请在此不再一一赘述。

在本步骤中,在从服务端获取到最新的业务条目后,可以计算业务条目的总高度,并判断所述总高度是否大于等于屏幕中ListView的展示高度,当所述总高度大于等于所述展示高度时,可以执行步骤203。其中,所述终端屏幕中ListView的展示高度为终端屏幕的高度与页面标题栏高度、按键栏高度的差值。请参考图3所示的页面,终端屏幕中ListView的展示高度H等于终端屏幕的高度减去标题栏的高度,再减去按键栏的高度,即H=H屏幕-H标题栏-H按键栏。当然,在实际应用中,客户端的页面中还可能设置有状态栏,则终端屏幕中ListView的展示高度H等于终端屏幕的高度减去标题栏的高度,减去按键栏的高度,再减去状态栏的高度。

一般而言,在计算业务条目的高度时,由于业务条目的数量可能较多,所以可以从首个业务条目开始,依次相加各个业务条目的高度,当相加得到的高度大于等于所述展示高度时,就可以执行步骤203,而无需真的计算出所有业务条目的总高度。

步骤203,调用ListView的setSelection,将ListView定位到首个业务条目。

基于前述步骤202的判断,当业务条目的总高度大于等于所述展示高度时,可以调用ListView的setSelection,将ListView定位到首个业务条目。其中,当ListView的Header中不存在业务条目时,可以调用ListView.setSelection(1),从而实现将ListView定位到首个业务条目,以图1为例,可以隐藏搜索框展示这个活动条目,并将第一条新闻展示在ListView展示区域的第一行。当ListView的Header中存在有业务条目时,也可以通过计算,调用ListView的setSelection,将ListView定位到Header中的首个业务条目(Header中的首个业务条目也就是ListView的首个业务条目)。

需要说明的是,在本实施例中,当客户端从服务端获取到的业务条目较少,或者没有从服务端获取到最新的业务条目时,依据客户端开发人员的预先设置,客户端也可以从本地缓存中获取已展示给用户的业务条目作为ListView的业务条目,这部分的处理与实现可以参照相关技术,本申请在此不再一一赘述。

由以上描述可以看出,本申请可以将活动条目添加到ListView自有的Header中,并在业务条目的总高度大于等于屏幕中ListView的展示高度时,将ListView定位到首个业务条目,从而实现对活动条目的隐藏。后续,当用户上滑或下拉刷新时,可以通过ListView默认的滚动机制实现活动条目的显示与隐藏,无需设置用于判断活动条目隐藏与展示的距离阈值,也无需增加活动条目的事件状态,实现简单,大大减少了bug的出现几率。

可选的,在本申请另一实施例中,基于图2所示的实施例,当业务条目的总高度小于屏幕中ListView的展示高度时,请参考图4,本申请提供的页面加载方法还可以包括以下步骤:

步骤401,当业务条目的总高度小于屏幕中ListView的展示高度时,计算所述展示高度与业务条目的总高度的差值。

在本实施例中,当业务条目的总高度小于屏幕中ListView的所述展示高度时,基于ListView自身的特性,客户端会展示上述活动条目以及所有业务条目,无法实现活动条目的隐藏。针对这个问题,在本步骤中,客户端可以计算所述展示高度与业务条目的总高度的差值。

步骤402,当ListView的Footer中不存在补充条目时,在ListView的Footer中添加高度等于所述差值的补充条目,并调用ListView的setSelection将ListView定位到首个业务条目。

在本实施例中,当业务条目的总高度小于屏幕中ListView的展示高度时,可以判断ListView的Footer是否存在补充条目,当ListView的Footer中不存在补充条目时,可以在ListView的Footer中添加一个补充条目,所述补充条目的高度等于前述步骤401中计算得到的展示高度与业务条目总高度的差值。至此,ListView中业务条目的总高度和Footer高度之和已达到ListView的展示高度,可以调用ListView的setSelection将ListView定位到首个业务条目,这样页面中显示的就是所有业务条目以及所述补充条目,实现了对活动条目的隐藏。

在本实施例中,当业务条目的总高度小于屏幕中ListView的展示高度时,为实现对活动条目的无感知隐藏,可以将添加到Footer中的补充条目的状态设置为隐藏状态,对于用户而言,屏幕中Footer位置显示的是与页面背景色相同的空白区域。可选的,也可以将所述补充条目的状态设置为显示状态,但将所述补充条目的透明的设置为100%,这样,即便补充条目是显示的状态,但是用户也感知不到补充条目的存在,提升了用户的使用体验。

需要说明的是,当Footer中存在有其他业务条目时,可以将所述补充条目添加到Footer的底部,即在Footer中其他业务条目的后面添加所述补充条目。

步骤403,当ListView的Footer中存在补充条目时,将ListView的Footer中的补充条目的高度更新为所述差值,并调用ListView的setSelection将ListView定位到首个业务条目。

在本实施例中,当业务条目的总高度小于屏幕中ListView的展示高度时,可以判断ListView的Footer是否存在补充条目,当ListView的Footer中存在补充条目时,可以将ListView的Footer中的补充条目的高度更新为所述差值。至此,ListView中业务条目的总高度和Footer高度之和已达到ListView的展示高度,可以调用ListView的setSelection将ListView定位到首个业务条目,这样页面中显示的就是所有业务条目以及所述补充条目,实现了对活动条目的隐藏。

可选的,在本申请另一实施例中,基于图4所示的实施例,在接收到页面加载指令后,如果业务条目的总高度大于等于屏幕中ListView的展示高度时,还可以清空ListView的Footer中的补充条目。

由以上描述可以看出,本申请可以将活动条目添加到ListView自有的Header中,并在业务条目的总高度大于等于屏幕中ListView的展示高度时,将ListView定位到首个业务条目,从而实现对活动条目的隐藏。后续,当用户上滑或下拉刷新时,可以通过ListView默认的滚动机制实现活动条目的显示与隐藏,无需设置用于判断活动条目隐藏与展示的距离阈值,也无需增加活动条目的事件状态,实现简单,大大减少了bug的出现几率。

与前述页面加载方法的实施例相对应,本申请还提供了页面加载装置的实施例。

本申请页面加载装置的实施例可以应用在终端装载的客户端软件上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在终端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请页面加载装置所在终端的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的终端通常根据该指定的实际功能,还可以包括其他硬件,对此不再赘述。

图6是本申请一示例性实施例示出的一种页面加载装置的框图。

请参考图6,所述页面加载装置500可以应用在前述图5所示的终端中装载的客户端软件上,包括有:条目添加单元501、高度判断单元502、第一定位单元503、高度计算单元504、第二定位单元505、第三定位单元506以及条目清空单元507。

其中,条目添加单元501,将活动条目添加到ListView的Header中;

高度判断单元502,在接收到页面加载指令后,判断业务条目的总高度是否大于等于屏幕中ListView的展示高度;

第一定位单元503,当业务条目的总高度大于等于所述展示高度时,调用ListView的setSelection,将ListView定位到首个业务条目。

高度计算单元504,当业务条目的总高度小于所述展示高度时,计算所述展示高度与业务条目的总高度的差值;

第二定位单元505,当ListView的Footer中不存在补充条目时,在ListView的Footer中添加高度等于所述差值的补充条目,并调用ListView的setSelection将ListView定位到首个业务条目;

第三定位单元506,当ListView的Footer中存在补充条目时,将ListView的Footer中的补充条目的高度更新为所述差值,并调用ListView的setSelection将ListView定位到首个业务条目。

条目清空单元507,当业务条目的总高度大于等于所述展示高度时,清空ListView的Footer中的补充条目。

可选的,所述补充条目的状态为隐藏状态;或者

所述补充条目的状态为显示状态,且所述补充条目的透明度为100%。

可选的,所述活动条目包括:搜索框展示条目、信息筛选条目;

所述业务条目包括:新闻条目、商品条目、通知消息条目。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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