基于Android的RTL布局适配方法、装置、存储介质及电子设备制造方法及图纸

技术编号:19691210 阅读:37 留言:0更新日期:2018-12-08 11:01
本发明专利技术涉及一种基于Android的RTL布局适配方法、装置、存储介质及电子设备,所述方法包括:对待适配页面进行分割,得到所述待适配页面上的每一独立元素;分别对每一所述独立元素进行定义,以确定每一所述独立元素的布局;根据各所述独立元素的布局生成所述待适配页面的RTL布局文件;当Android系统的RTL布局功能使能时,调用所述RTL布局文件,以按照RTL布局显示所述待适配页面。通过本发明专利技术的技术方案,可以灵活配置待适配页面的RTL布局,且无需创建和存储RTL布局图片,可以减少资源文件的使用,降低Android系统App的存储空间占用。

【技术实现步骤摘要】
基于Android的RTL布局适配方法、装置、存储介质及电子设备
本专利技术涉及Android系统
,具体地,涉及一种基于Android的RTL布局适配方法、装置、存储介质及电子设备。
技术介绍
RTL(RightToLeft)布局是一种从右到左UI布局的方式,该布局方式通常被使用在诸如阿拉伯语、希伯来语等环境中。现有技术中,针对Android系统,通常在待适配页面的布局文件中增加MarginStart和MarginEnd两个布局属性,以取代MarginLeft和MarginRight,即MarginStart在LTR布局模式下,等同于MarginLeft,而在RTL布局模式下则等同于MarginRight;而MarginEnd在LTR布局模式下等同于MarginRight,在RTL布局模式下则等同于MarginLeft,从而可以实现待适配页面按照RTL布局显示;或者,针对Android系统中的待适配页面,提供LTR布局和RTL布局的两种图片,以分别在不同的布局模式下调用不同的图片。然而,第一种方法仅适用于简单页面的RTL布局,并不能灵活地实现复杂页面的RTL布局,而第二种方法将增大Android系统中App的存储空间。
技术实现思路
为了克服现有技术中存在的问题,本专利技术的目的是提供一种基于Android的RTL布局适配方法、装置、存储介质及电子设备。为了实现上述目的,本专利技术提供一种基于Android的RTL布局适配方法,包括:对待适配页面进行分割,得到所述待适配页面上的每一独立元素;分别对每一所述独立元素进行定义,以确定每一所述独立元素的布局;根据各所述独立元素的布局生成所述待适配页面的RTL布局文件;当Android系统的RTL布局功能使能时,调用所述RTL布局文件,以按照RTL布局显示所述待适配页面。可选地,在所述根据各所述独立元素的布局生成所述待适配页面的RTL布局文件之前,包括:根据各所述独立元素的布局生成LTR布局文件;所述根据各所述独立元素的布局生成所述待适配页面的RTL布局文件,包括:通过调整各所述独立元素在所述LTR布局文件的布局,生成所述RTL布局文件。可选地,所述通过调整各所述独立元素在所述LTR布局文件的布局,生成所述RTL布局文件,包括:针对自身可RTL布局的独立元素,引用该独立元素在所述LTR布局文件中的图像,创建该图像的镜像,所述RTL布局文件包括该图像的镜像。可选地,所述通过调整各所述独立元素在所述LTR布局文件的布局,生成所述RTL布局文件,包括:针对所述LTR布局文件中在同一行显示的独立元素的集合,使用include标签倒序排列该集合中的每一独立元素在该行的显示位置,所述RTL布局文件包括倒序排列后该集合中的每一独立元素在该行的显示位置。可选地,所述分别对每一所述独立元素进行定义,以确定每一所述独立元素的布局,包括:通过所述Android系统的预设接口检测所述独立元素是否包含LTR方向字符;若所述独立元素包含所述LTR方向字符,则使用BidiFormatter函数对所述LTR方向字符进行处理,以使所述独立元素中的所述LTR方向字符保持LTR方向布局。可选地,所述方法还包括:分开存储所述RTL布局文件和所述LTR布局文件。本专利技术还提供一种基于Android的RTL布局适配装置,包括:分割模块,被配置为对待适配页面进行分割,得到所述待适配页面上的每一独立元素;布局定义模块,被配置为分别对每一所述独立元素进行定义,以确定每一所述独立元素的布局;RTL布局文件生成模块,被配置为根据各所述独立元素的布局生成所述待适配页面的RTL布局文件;调用模块,被配置为当Android系统的RTL布局功能使能时,调用所述RTL布局文件,以按照RTL布局显示所述待适配页面。可选地,所述装置还包括:LTR文件生成模块,被配置为在根据各所述独立元素的布局生成所述待适配页面的RTL布局文件之前,根据各所述独立元素的布局生成LTR布局文件;所述RTL布局文件生成模块包括:RTL布局文件生成子模块,被配置为通过调整各所述独立元素在所述LTR布局文件的布局,生成所述RTL布局文件。可选地,所述RTL布局文件生成子模块包括:镜像创建子模块,被配置为针对自身可RTL布局的独立元素,引用该独立元素在所述LTR布局文件中的图像,创建该图像的镜像,所述RTL布局文件包括该图像的镜像。可选地,所述RTL布局文件生成子模块包括:倒序排列子模块,被配置为针对所述LTR布局文件中在同一行显示的独立元素的集合,使用include标签倒序排列该集合中的每一独立元素在该行的显示位置,所述RTL布局文件包括倒序排列后该集合中的每一独立元素在该行的显示位置。可选地,所述布局定义模块包括:检测子模块,被配置为通过所述Android系统的预设接口检测所述独立元素是否包含LTR方向字符;处理子模块,被配置为当所述独立元素包含所述LTR方向字符时,使用BidiFormatter函数对所述LTR方向字符进行处理,以使所述独立元素中的所述LTR方向字符保持LTR方向布局。可选地,所述装置还包括:存储模块,被配置为分开存储所述RTL布局文件和所述LTR布局文件。本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本专利技术提供的基于Android的RTL布局适配方法的步骤。本专利技术还提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本专利技术提供的基于Android的RTL布局适配方法的步骤。通过上述技术方案,通过对待适配页面进行分割,分别对分割得到的每一独立元素进行定义,以确定每一独立元素的布局,并根据各独立元素的布局生成待适配页面的RTL布局文件,当Android系统的RTL布局功能使能时,调用RTL布局文件以按照RTL布局显示待适配页面,可以灵活配置待适配页面的RTL布局,且无需创建和存储RTL布局图片,可以减少资源文件的使用,降低Android系统App的存储空间占用。本专利技术的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术,但并不构成对本专利技术的限制。在附图中:图1是根据本专利技术一示例性实施例示出的一种基于Android的RTL布局适配方法的流程图;图2是根据本专利技术一示例性实施例示出的一待适配页面的示意图;图3是根据本专利技术另一示例性实施例示出的一待适配页面的示意图;图4是根据本专利技术一示例性实施例示出的独立元素集合的LTR布局示意图;图5是根据本专利技术一示例性实施例示出的独立元素集合的RTL布局示意图;图6是根据本专利技术一示例性实施例示出的一种基于Android的RTL布局适配装置的框图;图7是根据本专利技术另一示例性实施例示出的一种基于Android的RTL布局适配装置的框图;图8是根据本专利技术一示例性实施例示出的一种电子设备的框图。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。图1是根据本专利技术一示例性实施例示出的一种基于Android的RTL布局适配方法的本文档来自技高网...

【技术保护点】
1.一种基于Android的RTL布局适配方法,其特征在于,包括:对待适配页面进行分割,得到所述待适配页面上的每一独立元素;分别对每一所述独立元素进行定义,以确定每一所述独立元素的布局;根据各所述独立元素的布局生成所述待适配页面的RTL布局文件;当Android系统的RTL布局功能使能时,调用所述RTL布局文件,以按照RTL布局显示所述待适配页面。

【技术特征摘要】
1.一种基于Android的RTL布局适配方法,其特征在于,包括:对待适配页面进行分割,得到所述待适配页面上的每一独立元素;分别对每一所述独立元素进行定义,以确定每一所述独立元素的布局;根据各所述独立元素的布局生成所述待适配页面的RTL布局文件;当Android系统的RTL布局功能使能时,调用所述RTL布局文件,以按照RTL布局显示所述待适配页面。2.根据权利要求1所述的方法,其特征在于,在所述根据各所述独立元素的布局生成所述待适配页面的RTL布局文件之前,包括:根据各所述独立元素的布局生成LTR布局文件;所述根据各所述独立元素的布局生成所述待适配页面的RTL布局文件,包括:通过调整各所述独立元素在所述LTR布局文件的布局,生成所述RTL布局文件。3.根据权利要求2所述的方法,其特征在于,所述通过调整各所述独立元素在所述LTR布局文件的布局,生成所述RTL布局文件,包括:针对自身可RTL布局的独立元素,引用该独立元素在所述LTR布局文件中的图像,创建该图像的镜像,所述RTL布局文件包括该图像的镜像。4.根据权利要求2所述的方法,其特征在于,所述通过调整各所述独立元素在所述LTR布局文件的布局,生成所述RTL布局文件,包括:针对所述LTR布局文件中在同一行显示的独立元素的集合,使用include标签倒序排列该集合中的每一独立元素在该行的显示位置,所述RTL布局文件包括倒序排列后该集合中的每一独立元素在该行的显示位置。5.根据权利要求1所述的方法,其特征在于,所述分别对每一所述独立元素进行定义,以确定每一所述独立元素的布局,包括:通过所述Android系统的预设...

【专利技术属性】
技术研发人员:刘歆宁
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1