一种页面跳转方法、终端设备和计算机存储介质
技术领域
本公开涉及互联网技术领域,尤其涉及一种页面跳转方法、终端设备和计算机存储介质。
背景技术
目前,大多数App自定义的导航栏都是一体化的跳转模式,这就导致在页面跳转的时候,导航栏会整体跟随着页面进行跳转。例如:APP左上角的箭头或者是下角的按钮等,在页面跳转的时候会重新载入和弹出,用户体验较差。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本公开目的在于提供一种页面跳转方法、终端设备和计算机存储介质,可以实现导航栏灵活高效的跳转需求,提升用户体验。
本公开提供一种页面跳转方法、终端设备和计算机存储介质是这样实现的:
一种页面跳转方法,所述方法包括:
获取用户对应用界面的页面跳转请求;
响应于所述跳转请求,确定所述页面的导航栏是否需要进行跳转,其中,所述导航栏被划分为标题区和操作按钮区,标题区和所述操作按钮区位于不同层;
在确定所述导航栏不需要跳转的情况下,控制所述页面的状态栏进行跳转,控制所述导航栏的标题区进行跳转,控制所述导航栏的操作按钮区不变。
在一个实施方式中,所述导航栏划分为:
底层容器层,用于承载页面的背景色;
内容层,用于承载所述导航栏的操作按钮区;
标题层,用于承载所述导航栏的标题区。
在一个实施方式中,所述标题层位于所述内容层的中间位置,所述内容层两侧的位置设置操作按钮。
在一个实施方式中,还包括:
接收对所述底层容器层高度的设置参数;
获取所述状态栏的高度参数;
将所述设置参数与所述高度参数的差值作为所述导航栏的高度。
在一个实施方式中,控制所述导航栏的标题区进行跳转,包括:
获取与所述标题区匹配的跳转动画;
按照与所述标题区匹配的跳转动画,对所述标题区进行跳转。
在一个实施方式中,应用于移动终端中应用界面的跳转。
在一个实施方式中,获取用户对应用界面的页面跳转请求,包括:
获取用户对所述应用界面的预设区域沿预设方向的触发操作;
将所述触发操作作为所述页面跳转请求。
一种终端设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
获取用户对应用界面的页面跳转请求;
响应于所述跳转请求,确定所述页面的导航栏是否需要进行跳转,其中,所述导航栏被划分为标题区和操作按钮区,标题区和所述操作按钮区位于不同层;
在确定所述导航栏不需要跳转的情况下,控制所述页面的状态栏进行跳转,控制所述导航栏的标题区进行跳转,控制所述导航栏的操作按钮区不变。
在一个实施方式中,所述导航栏划分为:
底层容器层,用于承载页面的背景色;
内容层,用于承载所述导航栏的操作按钮区;
标题层,用于承载所述导航栏的标题区。
在一个实施方式中,所述标题层位于所述内容层的中间位置,所述内容层两侧的位置设置操作按钮。
在一个实施方式中,上述处理器还执行如下操作:
接收对所述底层容器层高度的设置参数;
获取所述状态栏的高度参数;
将所述设置参数与所述高度参数的差值作为所述导航栏的高度。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述方法的步骤。
本公开提供的页面跳转方法,对导航栏进行分层,将标题区和按钮区设置在不同分层,在接收到跳转请求的情况下,仅控制页面的状态栏和导航栏的标题区进行跳转,控制所述导航栏的操作按钮区不变,即,在页面跳转的时候,可以维持按钮区以及背景区不变,从而避免了在跳转的时候整个页面的跳转所导致的资源消耗过多的问题,达到了有效减少资源浪费和提升用户体验的技术效果。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开提供的页面跳转方法一种实施例的方法流程图;
图2是本公开导航栏分层设计示意图;
图3是本公开提供的计算机终端的架构示意图;
图4是本公开提供的页面跳转装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本公开中的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本发明实施例的以下说明清楚且简明,本发明省略了已知功能和已知部件的详细说明。
针对现有的APP界面上的导航栏,在跳转的时候需要重新载入和显示的问题,以及无法灵活控制导航栏里的各个元素,使得页面需要整体跳转的问题。在本实施例中,考虑到可以对导航栏进行分层设计,针对不同的层进行不同的触发操作,从而可以实现对导航栏的灵活控制。
如图1所示,在本例中,提供了一种页面跳转方法,可以包括如下步骤:
步骤101:获取用户对应用界面的页面跳转请求;
其中,页面跳转请求可以是基于用户手势操作的,也可以是基于用户语音或者是基于用户眼睛转动等进行触发的,都可以作为用户的页面跳转请求的触发形式。在实际实现的时候,应用界面在进行跳转,就是实现页面的切换,即,由页面的当前界面转换至另一界面,另一界面仍旧是当前应用的界面。
步骤102:响应于所述跳转请求,确定所述页面的导航栏是否需要进行跳转,其中,所述导航栏被划分为标题区和操作按钮区,所述标题区和所述操作按钮区位于不同层;
即,标题区和操作按钮区分开设置,可以是分在不同的层设置,例如,标题区位于最上层,操作按钮区位于第二层。因为是分层设置的,因此在进行跳转时,可以仅控制某一层进行跳转,而其它层保持不变。
步骤103:在确定所述导航栏不需要跳转的情况下,控制所述页面的状态栏进行跳转,控制所述导航栏的标题区进行跳转,控制所述导航栏的操作按钮区不变。
在上例中,由于对导航栏进行分层,将标题区和按钮区设置在不同分层,这样,在接收到跳转请求的情况下,仅控制页面的状态栏和导航栏的标题区进行跳转,控制所述导航栏的操作按钮区不变,即,在页面跳转的时候,可以维持操作按钮区以及背景区不变,从而避免了在跳转的时候整个页面的跳转所导致的资源消耗过多的问题,达到了有效减少资源浪费和提升用户体验的技术效果。
其中,所谓应用界面的跳转就是应用从上一页面切换至下一页面。考虑到页面跳转的时候,有时并不需要页面的所有内容都进行跳转,很多情况下,导航栏是不需要进行跳转的,即使导航栏需要跳转,也仅是导航栏中的标题区需要跳转。然而,因为一般情况下页面的导航栏是完整的,未分层的,就导致,在需要跳转的时候,只能整体进行跳转。为此,在本例中,考虑到可以对导航栏进行分层,从而使得可以对不同层进行不同的操作,这样在跳转的时候,可以仅控制标题区跳转,对于背景或者是操作按钮区等可以不进行跳转,由于对导航栏进行了分层,从而使得这些操作需求成为可能。
具体的,在实现的时候,导航栏可以按照如下层级进行划分:
1)底层容器层,用于承载页面的背景色;
例如,页面的背景色为白色,那么整个底层容器层被填充的都是白色,如果页面的背景色为黑色,那么整个底层容器层被填充的就是黑色。
然而,在实际实现的时候,对于底层容器层而言,有时不是完全的一种颜色,例如,底色为渐变色,或者上面一半为深灰色,下面一半为浅灰色等等。预先设定的背景色是什么,那么在底层容器层中就填充对应的颜色。
2)内容层,用于承载所述导航栏的操作按钮区;
对于内容层而言,就是导航栏的总区域,可以包括页面上方的导航区域和页面下方的导航区域,当然在实现的时候,有时可能是页面左侧或者右侧的导航区域。具体导航栏的位置可以根据实际需要选择和设定。在导航栏区域中设置有按钮,按钮位于内容层中,这些按钮可以是设置在内容层的两侧位置。在实际应用的时候,按钮位置的具体设定可以是设置在内容层的两侧位置,也可以设置在内容层的中间位置,具体设置位置可以根据实际需要选择,本公开对此不作限定。
3)标题层,用于承载所述导航栏的标题区。
其中,所述标题层位于所述内容层的中间位置,所述内容层两侧的位置设置操作按钮。然而值得注意的是,本例中所举例的标题层和操作按钮的位置仅是一种示例性描述,在实际实现的时候,可以根据需要选择设定,本公开对此不作限定。
即,可以按照需求将导航栏划分为背景层、操作按钮层和标题层,这样可以实现对这三个元素的分别控制。
在实际实现的时候,针对不同的移动终端,往往手机屏幕的导航栏的高度是不同的,即,界面的高度往往是不同的,但是因为这种不同主要是状态栏的不同,因此,最终导航栏自身的高度是相同的。因此,在确定导航栏自身的高度的时候,可以按照如下方式确定:
S1:接收对所述底层容器层高度的设置参数;
例如,在实际实现的时候,开发人员可以手动输入参数,可以在设置界面上显示输入高度操作的输入窗口,开发人员在该窗口中输入高度参数,例如:100cm,那就表明底层容器的高度为100cm。具体实现的时候,可以预先获取显示界面的高度,将该显示界面的高度,作为底层容器层的高度,即,使得底层容器层可以对显示界面实现全覆盖。
S2:获取所述状态栏的高度参数;
对于状态栏而言,可以理解为显示界面的显示内容,例如,在新闻阅读界面,该阅读界面最上面预定区域的位置可以作为导航栏,最下面预定区域的位置也可以作为导航栏;在阅读界面中显示主体新闻内容的区域,就是状态栏,在状态栏中显示具体的界面内容,即,状态栏就是用户用于获取信息的区域。
S3:将所述设置参数与所述高度参数的差值作为所述导航栏的高度。
对于标题区而言,不同的应用,或者不同页面切换的时候,跳转动画有时是不同的,或者是需要适配转换后的页面的,因此,在控制导航栏的标题区进行跳转的时候,可以获取与所述标题区匹配的跳转动画;按照与所述标题区匹配的跳转动画,对所述标题区进行跳转。
上述的页面跳转方法可以应用于移动终端中应用界面的跳转。
上述步骤101中,获取用户对应用界面的页面跳转请求,可以包括:获取用户对所述应用界面的预设区域沿预设方向的触发操作;将所述触发操作作为所述页面跳转请求。例如,该预设区域沿预设方向的触发操作可以是左侧预设区域向右滑动的触发操作,然而值得注意的是,上述所举例的触发操作的类型仅是一种示例性描述,触发操作的具体操作类型可以根据实际需要选择,本公开对此不作限定。
即,在页面上可以设置一个触发跳转的区域,例如,界面的最左侧,可以设置2个像素的宽度读取,如果用户在该区域触发向右滑动的操作,那么就触发进行跳转。然而,值得注意的是,上述所列举的跳转触发请求仅是一种示例性描述,在实际实现的时候,也可以有其它的触发方式,例如,点击按钮,或者在右侧设置等等,本公开对此不作限定。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本公开,并不构成对本公开的不当限定。
导航栏从视觉上一般可以分为:左、中、右三个区域,目前大部分APP都是将这三个区域的元素添加在导航栏视图中(NavView),因此,在进行页面切换跳转的时候,导航栏整体都会跟着页面跑,无法实现对导航栏的灵活控制。
为此,在本例中考虑到,可以将导航栏划分为多个层级,不同层次设置不同的作用,这样在进行页面跳转的时候,可以对跳转时导航栏进行灵活控制。
如图2所示,在本例中,将导航栏进行了分层显示,具体的,可以分为如下四层:
第一层:NavView层,导航栏底层容器,用于显示导航栏的背景色。
第二层:ContainerView层,导航栏上层容器,与ContentView的大小保持一致,用于实现将上层操作区和底层背景的分离。
第三层:ContentView层,导航栏内容区,用于承载导航栏左右操作按钮,将左右操作按钮与进行分离,适配iPhoneX等不同导航栏高度的屏幕,其中,ContentView层的高度为NavView的高度减去状态栏的高度。对于不同手机而言,屏幕的导航栏高度不同,往往体现在状态栏上,因此,ContentView的实际高度一般是不变的。
第四层:TitleView层,导航栏标题区,TitleView属于容器View,位于ContentView中间部位,ContentView的左右两边可以添加导航栏元素。之所以将标题区进行分层,是因为每个页面的标题是不同的,进行分层可以灵活控制标题动画。
在实际实现的时候,可以在页面上可以设置一个触发跳转的区域,例如,界面的最左侧,可以设置2个像素的宽度读取,如果用户在该区域触发向右滑动的操作,那么就触发进行跳转。然而,值得注意的是,上述所列举的跳转触发请求仅是一种示例性描述,在实际实现的时候,也可以有其它的触发方式,例如,点击按钮,或者在右侧设置等等,本公开对此不作限定。
通过上述的对导航栏进行分层的方式,可以实现在页面操作的时候,对导航栏各元素进行更加灵活的控制。
本公开上述的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图3是本发明实施例的一种页面跳转方法的计算机终端的硬件结构框图。如图3所示,计算机终端20可以包括一个或多个(图中仅示出一个)处理器202(处理器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器204、以及用于通信功能的传输模块206。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端20还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的页面跳转方法对应的程序指令/模块,处理器202通过运行存储在存储器204内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的页面跳转方法。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端20。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端20的通信供应商提供的无线网络。在一个实例中,传输模块206包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块206可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在软件层面,上述页面跳转装置可以如图4所示,包括:
获取模块401,用于获取用户对应用界面的页面跳转请求;
确定模块402,用于响应于所述跳转请求,确定所述页面的导航栏是否需要进行跳转,其中,所述导航栏被划分为标题区和操作按钮区,标题区和所述操作按钮区位于不同层;
控制模块403,用于在确定所述导航栏不需要跳转的情况下,控制所述页面的状态栏进行跳转,控制所述导航栏的标题区进行跳转,控制所述导航栏的操作按钮区不变。
在一个实施方式中,上述导航栏可以被划分为:
1)底层容器层,用于承载页面的背景色;
例如,页面的背景色为白色,那么整个底层容器层被填充的都是白色,如果页面的背景色为黑色,那么整个底层容器层被填充的就是黑色。
然而,在实际实现的时候,对于底层容器层而言,有时不是完全的一种颜色,例如,底色为渐变色,或者上面一半为深灰色,下面一半为浅灰色等等。预先设定的背景色是什么,那么在底层容器层中就填充对应的颜色。
2)内容层,用于承载所述导航栏的操作按钮区;
对于内容层而言,就是导航栏的总区域,可以包括页面上方的导航区域和页面下方的导航区域,当然在实现的时候,有时可能是页面左侧或者右侧的导航区域。具体导航栏的位置可以根据实际需要选择和设定。在导航栏区域中设置有按钮,这些按钮或者是触发点,就位于内容层中。
3)标题层,用于承载所述导航栏的标题区。
其中,所述标题层位于所述内容层的中间位置,所述内容层两侧的位置设置操作按钮。
即,可以按照需求将导航栏划分为背景层、操作按钮层和标题层,这样可以实现对这三个元素的分别控制。
在一个实施方式中,上述装置还可以接收对所述底层容器层高度的设置参数;获取所述状态栏的高度参数;将所述设置参数与所述高度参数的差值作为所述导航栏的高度。
在一个实施方式中,上述控制模块403具体可以获取与所述标题区匹配的跳转动画;按照与所述标题区匹配的跳转动画,对所述标题区进行跳转。
在一个实施方式中,上述装置可以是应用于移动终端中应用界面的跳转。
在一个实施方式中,上述获取模块401具体可以获取用户对所述应用界面的预设区域沿预设方向的触发操作;将所述触发操作作为所述页面跳转请求。
其中,所谓应用界面的跳转就是应用从上一页面切换至下一页面。考虑到页面跳转的时候,有时并不需要页面的所有内容都进行跳转,很多情况下,导航栏是不需要进行跳转的,即使导航栏需要跳转,也仅是导航栏中的标题区需要跳转。然而,因为一般情况下页面的导航栏是完整的,未分层的,就导致,在需要跳转的时候,只能整体进行跳转。为此,在本例中,考虑到可以对导航栏进行分层,从而使得可以对不同层进行不同的操作,这样在跳转的时候,可以仅控制标题区跳转,对于背景或者是操作按钮等可以不进行跳转,因为进行了分层,从而使得这些操作需求成为可能。
在上例中,提供了一种页面跳转方法,对导航栏进行分层,将标题区和按钮区设置在不同分层,在接收到跳转请求的情况下,仅控制页面的状态栏和导航栏的标题区进行跳转,控制所述导航栏的操作按钮区不变,即,在页面跳转的时候,可以维持按钮区以及背景区不变,从而避免了在跳转的时候整个页面的跳转所导致的资源消耗过多的问题,达到了有效减少资源浪费和提升用户体验的技术效果。
虽然本公开提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
本公开中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本公开所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本公开,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本公开可借助软件加必需的硬件的方式来实现。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本公开各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本公开的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本公开,本领域普通技术人员知道,本公开有许多变形和变化而不脱离本公开的精神,希望所附的权利要求包括这些变形和变化而不脱离本公开的精神。