System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 布局文件生成方法、装置、电子设备及存储介质制造方法及图纸_技高网

布局文件生成方法、装置、电子设备及存储介质制造方法及图纸

技术编号:42832033 阅读:20 留言:0更新日期:2024-09-24 21:05
本申请提供一种布局文件生成方法、装置、电子设备及存储介质,该方法包括:解析待开发应用程序的目标页面的Sketch文件,获取JSON源数据;根据JSON源数据创建N个第一父布局对象、生成多个Compose控件,并形成第一父布局对象与Compose控件的映射关系,N个第一父布局对象容纳于第二父布局对象;基于JSON源数据确定控件属性信息,设置Compose控件的样式属性值;将Compose控件添加至对应的第一父布局对象,生成目标页面的布局结构;将布局结构以代码形式写入所创建的kotlin文件,生成页面布局文件。本申请可自动化生成页面布局文件,提高布局的准确性和一致性,提高代码质量和可维护性。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种布局文件生成方法、装置、电子设备及存储介质


技术介绍

1、sketch:是一款专为用户界面(user interface,ui)设计师开发的ui设计工具,可以用来创建图形。compose:是用于构建原生android ui的现代工具包,作为一种全新的ui编程框架,它使开发人员能够使用声明式的方式来构建用户界面。通过jetpack compose,开发人员可以使用简单的代码描述ui,并且可以轻松地进行ui的更改和调整。此外,jetpack compose还具有响应式设计,可以自动跟踪状态变化并更新ui,使得开发人员能够更快地构建响应式和易于维护的用户界面。

2、现阶段,软件开发工程师在开发android compose应用程序时,通常需要根据设计师在sketch文件中标注的尺寸和样式,手动进行应用程序布局和样式开发。这一过程涉及逐一查看sketch文件中的ui控件,并根据其样式和尺寸进行手动编码设计,存在如下缺陷:

3、1、可维护性差:当设计需求变更或者需要对布局进行调整时,由于布局是手动编码的,因此需要对每个受影响的ui控件进行手动修改,容易出现遗漏或错误,增加了维护成本。

4、2、技术人员的门槛高:手动编写compose布局代码需要开发人员具备一定的编码能力,对于一些技术水平不高或者专注于业务逻辑的开发人员来说,学习和掌握这些技能需要额外的时间和精力。

5、3、容错性差:在手动编码布局过程中,compose开发人员容易犯错或者遗漏某些细节,例如控件的位置、大小、样式等,而这些错误可能在后续的测试和使用过程中被发现,增加了调试和修复的成本。


技术实现思路

1、鉴于上述问题,本申请实施例提供一种克服上述问题或者至少部分地解决上述问题的布局文件生成方法、装置、电子设备及存储介质。

2、第一方面,本申请实施例提供了一种布局文件生成方法,包括:

3、解析目标页面对应的sketch文件,获取指示所述目标页面的页面布局情况的json源数据,所述目标页面为待开发的应用程序对应的应用页面;

4、根据所述json源数据,创建n个第一父布局对象、生成多个compose控件,所述第一父布局对象与所述compose控件之间形成映射关系,n为大于或者等于1的整数,所述n个第一父布局对象容纳于第二父布局对象中;

5、基于所述json源数据,确定所述compose控件对应的控件属性信息,根据所述控件属性信息设置所述compose控件对应的样式属性值;

6、基于所述映射关系,将设置样式属性值的compose控件添加至对应的第一父布局对象,生成符合compose布局规范、且关联所述n个第一父布局对象和所述第二父布局对象的布局结构;

7、将所述布局结构以代码形式写入所创建的kotlin文件,生成所述目标页面对应的页面布局文件。

8、第二方面,本申请实施例提供了一种布局文件生成装置,包括:

9、解析获取模块,用于解析目标页面对应的sketch文件,获取指示所述目标页面的页面布局情况的json源数据,所述目标页面为待开发的应用程序对应的应用页面;

10、创建生成模块,用于根据所述json源数据,创建n个第一父布局对象、生成多个compose控件,所述第一父布局对象与所述compose控件之间形成映射关系,n为大于或者等于1的整数,所述n个第一父布局对象容纳于第二父布局对象中;

11、确定设置模块,用于基于所述json源数据,确定所述compose控件对应的控件属性信息,根据所述控件属性信息设置所述compose控件对应的样式属性值;

12、添加生成模块,用于基于所述映射关系,将设置样式属性值的compose控件添加至对应的第一父布局对象,生成符合compose布局规范、且关联所述n个第一父布局对象和所述第二父布局对象的布局结构;

13、写入生成模块,用于将所述布局结构以代码形式写入所创建的kotlin文件,生成所述目标页面对应的页面布局文件。

14、第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述第一方面所述的布局文件生成方法的步骤。

15、第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的布局文件生成方法的步骤。

16、本申请实施例技术方案,通过解析目标页面对应的sketch文件,获取指示目标页面的页面布局情况的json源数据,基于json源数据所携带的数据创建n个第一父布局对象、生成多个compose控件并设置compose控件的样式属性值,将设置样式属性值的compose控件添加至第一父布局对象,生成目标页面对应的、符合compose布局规范的布局结构,将布局结构以代码形式写入目标页面对应的kotlin文件,生成目标页面对应的页面布局文件,实现自动化生成页面布局文件,避免由于人为疏忽或错误导致的布局不一致或样式错误,提高了布局的准确性和一致性;且基于自动生成的页面布局文件,开发人员可以更快地进行迭代和调整,快速响应设计变更或用户反馈,加速产品开发迭代;由于自动生成的页面布局文件遵循统一的规范和标准,减少了手动编写布局代码可能出现的错误,提高了代码质量和可维护性。

本文档来自技高网...

【技术保护点】

1.一种布局文件生成方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述JSON源数据,创建N个第一父布局对象、生成多个Compose控件,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述位置尺寸属性值对所述多个JSON控件进行组别划分,创建每组JSON控件分别对应的第一父布局对象,包括:

4.根据权利要求3所述的方法,其特征在于,在创建N个第一父布局对象之后,还包括:

5.根据权利要求2所述的方法,其特征在于,所述基于所述JSON源数据,确定所述Compose控件对应的控件属性信息,根据所述控件属性信息设置所述Compose控件对应的样式属性值,包括:

6.根据权利要求2所述的方法,其特征在于,所述基于所述映射关系,将设置样式属性值的Compose控件添加至对应的第一父布局对象,生成符合Compose布局规范、且关联所述N个第一父布局对象和所述第二父布局对象的布局结构,包括:

7.根据权利要求1、2或6所述的方法,其特征在于,所述将所述布局结构以代码形式写入所创建的kotlin文件,生成所述目标页面对应的页面布局文件,包括:

8.一种布局文件生成装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的布局文件生成方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的布局文件生成方法的步骤。

...

【技术特征摘要】

1.一种布局文件生成方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述json源数据,创建n个第一父布局对象、生成多个compose控件,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述位置尺寸属性值对所述多个json控件进行组别划分,创建每组json控件分别对应的第一父布局对象,包括:

4.根据权利要求3所述的方法,其特征在于,在创建n个第一父布局对象之后,还包括:

5.根据权利要求2所述的方法,其特征在于,所述基于所述json源数据,确定所述compose控件对应的控件属性信息,根据所述控件属性信息设置所述compose控件对应的样式属性值,包括:

6.根据权利要求2所述的方法,其特征在于,所述基于所述映射关系,将设置样式属性值的co...

【专利技术属性】
技术研发人员:王猛猛
申请(专利权)人:五八畅生活北京信息技术有限公司
类型:发明
国别省市:

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

1