一种界面展示的处理方法及系统与流程

文档序号:15980619发布日期:2018-11-17 00:17阅读:176来源:国知局

本发明涉及软件开发技术领域,具体来讲是一种界面展示的处理方法及系统。

背景技术

当用户在客户端中进行各种操作时,客户端系统会根据需要展示不同类型的界面,例如:没有数据的时候需要展示空界面、数据访问异常的时候需要展示异常界面、数据加载的时候需要展示加载界面、在搜索的时候如果没有权限需要展示无权限的界面、有数据的时候需要展示数据界面等。通常在进行界面展示时,需要确保有且仅有一个界面是处于展示状态的,不能同时两个界面处于展示状态,如果两个界面同时是展示状态就有可能出现展示异常的问题。

目前,开发人员在对展示界面进行控制处理时,通常采用的是单独对上一个界面进行先隐藏再显示的方式。比如,当需要展示加载界面时,首先得知道上一个界面是什么类型的展示界面,然后根据界面类型对上一个界面进行隐藏后再来展示加载界面。而上一个界面可能是空界面类型、无权限界面类型或加载失败界面类型等多种情况,针对每一种情况需要进行手动维护,人为方式来进行展示。

但是,实际应用中,现有的处理方式存在以下缺陷:当切换展示界面时,需要开发人员自己判断上一个界面是什么类型的然后进行隐藏掉后再将下一个需要展示的界面展示出来。由于上一个界面的类型可能有多种情况所以导致手动维护起来代码变得异常复杂并且会显得逻辑很难理解、代码结构不清晰。这种开发模式下开发出来的代码非常容易出现各种各样的界面展示异常的问题。



技术实现要素:

本发明的目的是为了克服上述背景技术的不足,提供一种界面展示的处理方法及系统,能够有效避免出现界面展示异常的问题,并且使得界面展示的切换逻辑变得清晰、易理解。

为达到以上目的,本发明采取的技术方案是:提供一种界面展示的处理方法,该处理方法包括以下步骤:

步骤s1、通过调用定义好的基本视图接口的显示视图函数传入待展示界面的类型字段信息;根据传入的待展示界面的类型字段信息,利用switch-case语句确定待展示界面的类型;

步骤s2、对所有类型的界面都进行隐藏操作,使得当前界面上的所有的元素都被隐藏;

步骤s3、根据确定的待展示界面的类型,将对应的待展示界面展示出来。

在上述技术方案的基础上,步骤s2具体包括以下操作:依次对每种类型的展示界面的对象进行获取并判断,判断各类型的展示界面的对象是否不为空,若不为空,则调用android已有的setvisibility(view.gone)方法将对应的view类设置为不可见状态。

在上述技术方案的基础上,步骤s3具体包括以下操作:

步骤s301、根据确定的待展示界面的类型,判断对应的待展示界面的对象是否不为空,若是,转入步骤s302;若否,转入步骤s303;

步骤s302、利用android已有的setvisibility(view.visible)方法将待展示界面的对象中的view类设置为可见状态,实现待展示界面的展示;

步骤s303、展示程序显示异常的提示信息。

在上述技术方案的基础上,展示界面的类型包括:加载界面、加载失败界面、空数据界面、附近页面中的空数据界面、无定位权限界面和访问请求数据界面;所述待展示界面的类型为上述六种中的一种。

在上述技术方案的基础上,步骤s1中,所述类型字段信息为整形数据。

本发明还提供一种界面展示的处理系统,该处理系统包括顺次相连的类型判定模块、元素隐藏模块和界面展示模块;所述类型判定模块用于:通过调用定义好的基本视图接口的显示视图函数传入待展示界面的类型字段信息;根据传入的待展示界面的类型字段信息,利用switch-case语句确定待展示界面的类型,向元素隐藏模块发送隐藏信号;所述元素隐藏模块用于:收到隐藏信号后,对所有类型的界面都进行隐藏操作,使得当前界面上的所有的元素都被隐藏;向界面展示模块发送展示信号;所述界面展示模块用于:收到展示信号后,根据确定的待展示界面的类型,将对应的待展示界面展示出来。

在上述技术方案的基础上,所述元素隐藏模块进行隐藏操作的具体流程为:收到隐藏信号后,依次对每种类型的展示界面的对象进行获取并判断,判断各类型的展示界面的对象是否不为空,若不为空,则调用android已有的setvisibility(view.gone)方法将对应的view类设置为不可见状态。

在上述技术方案的基础上,所述界面展示模块将待展示界面展示出来的具体流程为:收到展示信号后,根据确定的待展示界面的类型,判断对应的待展示界面的对象是否不为空,若是,利用android已有的setvisibility(view.visible)方法将待展示界面的对象中的view类设置为可见状态,实现待展示界面的展示;若否,展示程序显示异常的提示信息。

在上述技术方案的基础上,展示界面的类型包括:加载界面、加载失败界面、空数据界面、附近页面中的空数据界面、无定位权限界面和访问请求数据界面;所述待展示界面的类型为上述六种中的一种。

在上述技术方案的基础上,所述类型字段信息为整形数据。

本发明的有益效果在于:

(1)本发明中,在确定待展示界面的类型之后,展示待展示界面之前,会先将当前界面上的所有视图元素全部隐藏起来,即对所有类型的界面都进行一个隐藏操作。由于首先将当前界面上的所有视图元素全部隐藏起来,这样无论之前是什么类型的界面,我们都能够有效的将之前的界面进行隐藏掉。全部隐藏完成后,再根据确定的待展示界面的类型,将对应的待展示界面展示出来,这样就能够有效的避免界面展示出错的可能性,无论任何情况下我们都能够有效的将我们需要展示的视图进行展示。

(2)本发明中,通过一个定义好的基本视图接口来完成待展示界面的类型字段信息的传入,使得开发人员能够利用该接口传入不同的参数,从而实现任何界面的切换,操作简便。并且,本发明仅通过一个接口函数就能够有效的将所有的展示界面类型进行封装,降低了接口函数的数量,使得整个代码结构变得更为简洁,极大的提高了代码后期的维护性,有助于后期对接口函数的维护和管理。

(3)本发明中利用switch-case语句确定待展示界面的类型。与传统的利用if条件语句来进行判断相比,使用switch-case语句来确定待展示界面的类型,可使得整个判定过程清晰易懂,开发人员只需要根据case中的不同类型来进行不同类型界面的展示逻辑处理即可。使得代码变得清晰明了,后续如果增加新的类型的界面展示,开发人员仅仅只需要增加新的一个case语句就能够完美兼容新界面的展示,极大的提高程序的可扩展性和可维护性。

附图说明

图1为本发明实施例中界面展示的处理方法的流程图;

图2为本发明实施例中界面展示的处理系统的结构框图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。

参见图1所示,本发明实施例提供一种界面展示的处理方法,包括以下步骤:

步骤s1、根据传入的待展示界面的类型字段信息,确定待展示界面的类型。本实施例中,以直播客户端的应用场景为例,展示界面的类型包括但不限于以下几种:

1、加载界面,标记为show_loading_view;

2、加载失败界面,标记为show_load_fail_view;

3、空数据界面,标记为show_empty_view;

4、附近页面(所述附近页面是指直播客户端中用来显示附近直播间或附近用户的页面)中的空数据界面,标记为show_near_empty_view;

5、无定位权限(所述定位权限是指直播客户端中进行附近搜索时的定位权限)界面,标记为show_no_permission_view;

6、访问请求数据界面,标记为show_recycle_view。可以理解的是,待展示界面的类型为上述六种中的一种。

实际操作中,步骤s1具体包括以下流程:

步骤s101、通过调用定义好的mzbaseview接口(基本视图接口)的showview函数(显示视图函数)传入待展示界面的类型字段信息,该类型字段信息为整形数据。具体实现为:

publicinterfacemzbaseview{

voidshowview(inttype,object...objects);

}

其中,showview函数中传递两个参数,第一个参数是类型字段信息type,type是一个整型(int)的数据,主要用于标记待展示界面的类型(即是什么类型的界面)。针对本实施例中待展示界面的类型,将对应的类型字段信息定义如下:

将show_loading_view对应的类型字段信息定义为1;

将show_load_fail_view对应的类型字段信息定义为2;

将show_empty_view对应的类型字段信息定义为3;

将show_near_empty_view对应的类型字段信息定义为4;

将show_no_permission_view对应的类型字段信息定义为5;

将show_recycle_view对应的类型字段信息定义为6。

第二个参数是一个可变参数,我们使用的是object...objects来表示可变参数,参数的类型是object类型的,object类型的数据在java中是一个最底层的抽象类,object类型的参数可以用于接收任何类型的数据类型。这种设计使得我们可以在传递参数的时候能够传递任意个数的任意类型的数据。

本实施例中,通过定义好的showview函数voidshowview(inttype,object...objects)中的type字段能够有效的区分待展示界面的类型信息,并且通过object...objects可变参数类型可以传递任意个数任意类型的参数到定义好的showview函数中来,从而使得开发人员仅仅通过一个接口函数就能够有效的将所有的展示界面需求进行封装,降低了接口函数的数量,有助于后期对接口函数的维护和管理。

步骤s102、根据传入的待展示界面的类型字段信息,利用switch-case语句来确定待展示界面的类型。其具体实现为:

其中,showloading()、showfailview()等是后续展示对应类型的待展示界面的实现方法函数。例如,showloading()是展示加载界面show_loading_view类型的对应实现方法函数;showfailview()是展示加载失败界面show_load_fail_view类型的对应实现方法函数。

本实施例中,利用switch-case语句根据传入的类型字段信息来确定待展示界面的类型,而没有使用传统的if(type==show_loading_view)的方式来进行判断。之所以这样设计,是因为如果使用if条件语句来进行判断会使得整个判断过程有很多if条件判断,从而使得代码变得臃肿难以理解。而通过使用switch-case语句来确定待展示界面的类型,可使得整个判定过程清晰易懂,开发人员只需要根据case中的不同类型来进行不同类型界面的展示逻辑处理即可。使得代码变得清晰明了,后续如果增加新的类型的界面展示,我们仅仅只需要增加新的一个case语句就能够完美兼容新界面的展示,极大的提高程序的可扩展性和可维护性。

步骤s2、对所有类型的界面都进行一个隐藏操作,使得当前界面上的所有的元素都被隐藏。

实际操作中,步骤s2具体包括以下流程:依次对每种类型的展示界面的对象进行获取并判断,判断各类型的展示界面的对象是否不为空,若不为空,则调用android已有的setvisibility(view.gone)方法将对应的view类设置为不可见状态。

本实施例中,针对前述六种展示界面类型:加载界面show_loading_view、加载失败界面show_load_fail_view、空数据界面show_empty_view、附近页面中的空数据界面show_near_empty_view、无定位权限界面show_no_permission_view、访问请求数据界面show_recycle_view,对应的六个展示界面的对象分别表示为:loadingview、loadfailedview、loademptyview、loadnearemptyview、nopermissionview和recyclerview。并且,在判断各类型的展示界面的对象是否不为空时,可使用if判断语句来进行判定,例如:if(loadfailedview!=null)。

可以理解的是,通过步骤s2的操作,使得我们在展示任何界面前会对所有类型的界面都进行一个隐藏操作,然后再在一个空白界面中去展示我们需要展示的界面信息,这样我们就能够非常有效避免界面异常问题的发生。

步骤s3、根据确定的待展示界面的类型,将对应的待展示界面展示出来。

具体来说,步骤s3包括以下流程:

步骤s301、根据确定的待展示界面的类型,判断对应的待展示界面的对象是否不为空,若是,转入步骤s302;若否,转入步骤s303。本实施例中,可使用if语句来判断对应的待展示界面的对象是否不为空,例如:if(loadingview!=null)。

步骤s302、利用android已有的setvisibility(view.visible)方法将待展示界面的对象(如loadingview)中的view类设置为可见状态,实现待展示界面的展示,例如:loadingview.setvisibility(view.visible)。

步骤s303、展示程序显示异常的提示信息。

利用本发明实施例的方法进行界面展示的处理时,开发人员只需关注待展示界面的内容而不再需要关注上次界面是什么类型的界面,因为无论上次是什么类型的界面都能够将其隐藏掉。这样就使得代码逻辑变的比原始方式清晰明了很多,也使得整个代码结构变得更为简洁,极大的提高了代码后期的维护性。

参见图2所示,本发明实施例还提供一种界面展示的处理系统,该处理系统包括顺次相连的类型判定模块、元素隐藏模块和界面展示模块。

其中,类型判定模块用于:通过调用定义好的基本视图接口的显示视图函数传入待展示界面的类型字段信息;根据传入的待展示界面的类型字段信息,利用switch-case语句确定待展示界面的类型,向元素隐藏模块发送隐藏信号。

元素隐藏模块用于:收到隐藏信号后,对所有类型的界面都进行隐藏操作,使得当前界面上的所有的元素都被隐藏;向界面展示模块发送展示信号。其具体实现流程为:收到隐藏信号后,依次对每种类型的展示界面的对象进行获取并判断,判断各类型的展示界面的对象是否不为空,若不为空,则调用android已有的setvisibility(view.gone)方法将对应的view类设置为不可见状态。

界面展示模块用于:收到展示信号后,根据确定的待展示界面的类型,将对应的待展示界面展示出来。其具体流程为:收到展示信号后,根据确定的待展示界面的类型,判断对应的待展示界面的对象是否不为空,若是,利用android已有的setvisibility(view.visible)方法将待展示界面的对象中的view类设置为可见状态,实现待展示界面的展示;若否,展示程序显示异常的提示信息。

需要说明的是:上述实施例提供的处理系统在进行实际操作时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。

本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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