一种基于Android的动态布局方法及系统与流程

文档序号:12595678阅读:583来源:国知局
一种基于Android的动态布局方法及系统与流程

本发明涉及Android应用开发和维护领域,特别涉及一种基于Android的动态布局方法及系统。



背景技术:

随着移动互联的高速发展以及智能手机的普及,越来越多的传统和非传统行业逐渐步入了智能化移动化的工作新模式,通过Android应用来完成日常生活工作也越来越普遍,因此Android应用需求爆发式增长。

在Android应用开发和维护中,界面动态布局能够有效的兼容各种应用场景,简化维护工作,有效灵活的控制权限;往往在同一应用上,不同的用户角色有不同的功能界面,采用动态布局就能很好的满足这种场景,便于统一升级维护。

Android布局是直接关系到Android应用界面能否吸引到用户的眼球,所以在布局上开发人员都要花费大量的精力去打磨。Android的视图布局是由可拓展标记语言(xml)资源文件控制的,xml资源文件里对界面进行了静态的布局,应用直接根据xml资源文件而呈现视图布局;然而在遇到一个Android应用需要在不同的场景下显示不同的用户界面问题时,传统方式就是为各种应用场景进行独立布局,通过定义多个xml资源文件然后在android代码中通过各个场景的判断条件以满足多场景应用需求;或者定义一个xml资源文件,包含所有功能布局,在android代码中通过判断条件来控制显示或者隐藏某一功能,从而实现动态布局的效果。

然而以上两种方法均存在问题:第一种方法中,定义多个布局文件再通过android代码来判断,资源文件重用率高,违背了轻量化的设计;资源文件是静态的,小细节的修改也必须修改源资源文件;场景多了后判断代码就会繁多,增加了逻辑复杂度。

第二种方法中,定义一个xml资源文件,包含所有功能布局,在android代码中通过判断条件来控制显示或者隐藏某一功能,这样每个功能的布局顺序相对固定,存在无法灵活的对各个功能块排序的局限性;同时不利于拓展,因为每增加新功能,还需要修改整体布局资源文件。



技术实现要素:

本发明提供了一种基于Android的动态布局方法及系统,其目的是为了解决传统的Android静态布局方式资源文件重用率高、逻辑复杂度高且无法灵活的对各个功能块排序等问题。

为了达到上述目的,本发明的实施例提供了一种基于Android的动态布局方法,包括:

获取当前用户针对一待布局应用的各个功能的权限参数;

根据当前用户的权限参数,确定可以执行的可执行功能,进而获取可执行功能对应的属性参数,属性参数包括各个功能的显示位置、名称以及图标;

根据可执行功能的属性参数,生成视图单元,并确定各个视图单元的显示顺序;

确定待布局应用的主界面中的视图单元的预留位置,根据显示顺序,在主界面添加各个视图单元。

进一步地,在获取当前用户针对一待布局应用的各个功能的权限参数的步骤之前,该方法还包括:

获取待布局应用的所有功能,对每个功能进行属性参数配置,属性参数至少包括该功能的显示位置、名称以及图标,并依据每个功能的显示位置对所有功能进行排序。

进一步地,确定待布局应用的主界面中的视图单元的预留位置,根据显示顺序,在主界面添加各个视图单元的步骤之后,该方法还包括:

生成布局资源文件,并依据布局资源文件显示布局界面。

进一步地,每个功能的属性参数还包括该功能的标记、权限控制以及跳转动作。

进一步地,依据布局资源文件显示布局界面的步骤包括:

对布局资源文件进行解析,生成布局界面;

对布局界面进行显示。

为了实现上述目的,本发明还提供了一种基于Android的动态布局系统,包括:

第一获取模块,用于获取当前用户针对一待布局应用的各个功能的权限参数;

第二获取模块,用于根据当前用户的权限参数,确定可以执行的可执行功能,进而获取可执行功能对应的属性参数,属性参数包括各个功能的显示位置、名称以及图标;

视图单元生成模块,用于根据可执行功能的属性参数,生成视图单元,并确定各个视图单元的显示顺序;

视图单元添加模块,用于确定待布局应用的主界面中的视图单元的预留位置,根据显示顺序,在主界面添加各个视图单元。

进一步地,该系统还包括:

属性参数配置模块,用于获取待布局应用的所有功能,对每个功能进行属性参数配置,属性参数至少包括该功能的显示位置、名称以及图标,并依据每个功能的显示位置对所有功能进行排序。

进一步地,该系统还包括:

资源文件生成模块,用于生成布局资源文件,并依据布局资源文件显示布局界面。

进一步地,每个功能的属性参数还包括该功能的标记、权限控制以及跳转动作。

进一步地,资源文件生成模块包括:

解析子模块,用于对布局资源文件进行解析,生成布局界面;

显示子模块,用于对布局界面进行显示。

本发明的上述方案至少包括以下有益效果:

本发明提供的基于Android的动态布局方法及系统,通过配置各个功能的属性参数来灵活的动态布局界面,功能布局模块与主界面分离,满足轻量化设计的要求,方便后期维护;布局资源文件是动态的,具有良好的拓展性,需要 更改界面布局时,只需修改对应功能的属性参数即可,解决了静态的功能布局方式中,各功能顺序相对固定,无法灵活排序的局限性;在属性参数配置时,对各个功能的显示位置做了设定,避开了需要逻辑代码判断布局,降低了界面布局的复杂性。

附图说明

图1为本发明的实施例所述的基于Android的动态布局方法的步骤流程图;

图2为本发明的实施例所述的基于Android的动态布局系统的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

参见图1,本发明针对现有的问题,提供了一种基于Android的动态布局方法,该方法可以应用于一安装有安卓操作系统的终端设备,该终端设备具体可以是智能手机或平板电脑,该方法包括:

步骤101,获取当前用户针对一待布局应用的各个功能的权限参数。

步骤102,根据当前用户的权限参数,确定可以执行的可执行功能,进而获取可执行功能对应的属性参数,属性参数包括各个功能的显示位置、名称以及图标。

也就是说,只选择当前用户可执行的功能参与界面布局,避免了在android代码中通过判断条件来控制显示或者隐藏某一功能的繁琐程序,同时也使资源文件轻量化。

这里,获取可执行功能对应的属性参数可以从终端设备本地读取,或者是向一预定的远程服务器发起请求,等待远程服务器向终端设备反馈。

步骤103,根据可执行功能的属性参数,生成视图单元,并确定各个视图单元的显示顺序。

这里,根据可执行功能的属性参数中的图标找到对应的图片,根据名称找到对应的字符值,完成视图单元的构造,显示位置对视图单元进行排序。

步骤104,确定待布局应用的主界面中的视图单元的预留位置,根据显示 顺序,在主界面添加各个视图单元。

这里,往往在同一应用上,不同的用户角色对各个功能有着不同的需求,本发明根据不同用户对各个功能的需求,显示用户所需的视图单元,使界面布局更加满足用户需求。进一步地,在获取当前用户针对一待布局应用的各个功能的权限参数的步骤之前,还包括:

获取待布局应用的所有功能,对每个功能进行属性参数配置,属性参数至少包括该功能的显示位置、名称以及图标,并依据每个功能的显示位置对所有功能进行排序;进一步地,每个功能的属性参数还包括该功能的标记、权限控制以及跳转动作。

由于本方法中,布局资源文件是动态的,因此,当某个功能的显示位置、名称、图标、标记、权限控制以及跳转动作等参数发生变化时,只需修改该功能的属性参数即可,无需修改资源文件。

进一步地,确定待布局应用的主界面中的视图单元的预留位置,根据显示顺序,在主界面添加各个视图单元的步骤之后,还包括:

生成布局资源文件,并依据布局资源文件显示布局界面。

进一步地,依据布局资源文件显示布局界面的步骤包括:

对布局资源文件进行解析,生成布局界面;

对布局界面进行显示。

这里,动态生成xml资源文件,应用直接对xml资源文件解析,呈现布局界面,进而实现动态控制Android的布局界面的效果。

本发明提供的基于Android的动态布局方法及系统,通过配置各个功能的属性参数来灵活的动态布局界面,功能布局模块与主界面分离,满足轻量化设计的要求,方便后期维护;在属性参数配置时,对各个功能的显示位置做了设定,避开了需要逻辑代码判断布局,降低了界面布局的复杂性。

参见图2,为了实现上述目的,本发明还提供了一种基于Android的动态布局系统,包括:

第一获取模块201,用于获取当前用户针对一待布局应用的各个功能的权限参数;

第二获取模块202,用于根据当前用户的权限参数,确定可以执行的可执 行功能,进而获取可执行功能对应的属性参数,属性参数包括各个功能的显示位置、名称以及图标;

视图单元生成模块203,用于根据可执行功能的属性参数,生成视图单元,并确定各个视图单元的显示顺序;

视图单元添加模块204,用于确定待布局应用的主界面中的视图单元的预留位置,根据显示顺序,在主界面添加各个视图单元。

进一步地,该系统还包括:

属性参数配置模块205,用于获取待布局应用的所有功能,对每个功能进行属性参数配置,属性参数至少包括该功能的显示位置、名称以及图标,并依据每个功能的显示位置对所有功能进行排序。

进一步地,该系统还包括:

资源文件生成模块206,用于生成布局资源文件,并依据布局资源文件显示布局界面。

进一步地,每个功能的属性参数还包括该功能的标记、权限控制以及跳转动作。

进一步地,资源文件生成模块206包括:

解析子模块2061,用于对布局资源文件进行解析,生成布局界面;

显示子模块2062,用于对布局界面进行显示。

需要说明的是,本发明提供的基于Android的动态布局系统是应用上述方法的装置,即上述方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

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

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