申请/专利权人:北京爱奇艺科技有限公司
申请日:2021-08-30
公开(公告)日:2024-04-23
公开(公告)号:CN113672227B
主分类号:G06F8/38
分类号:G06F8/38;G06F8/34;G06F8/51
优先权:
专利状态码:有效-授权
法律状态:2024.04.23#授权;2021.12.07#实质审查的生效;2021.11.19#公开
摘要:本申请实施例提供了一种用户界面代码生成方法、装置、电子设备及存储介质,获取用户界面的设计文件,设计文件包含有多个图层;建立多个图层的层级树,其中,层级树中,每个子节点所表示的图层在该子节点的父节点所表示的图层的区域内;按照行分组和或列分组的方式,对层级树上每个节点的一组子节点进行迭代分组,得到每个节点对应的多组子节点,以及每个节点的布局描述信息,每个节点的布局描述信息包括该节点对应的多组子节点的划分情况;按照预设的编码语法,将每个节点的布局描述信息转换为用户界面代码。应用本申请实施例提供的技术方案,能够减少分析设计文件所占用的人力资源,提高UI代码生成效率。
主权项:1.一种用户界面代码生成方法,其特征在于,包括:获取所述用户界面的设计文件,所述设计文件包含有多个图层;建立所述多个图层的层级树,其中,所述层级树中,每个子节点所表示的图层在该子节点的父节点所表示的图层的区域内;按照行分组和或列分组的方式,对所述层级树上每个节点的一组子节点进行迭代分组,得到每个节点对应的多组子节点,以及每个节点的布局描述信息,每个节点的布局描述信息包括该节点对应的多组子节点的划分情况;按照预设的编码语法,将所述层级树中所有节点的布局描述信息转换为用户界面代码;所述建立所述多个图层的层级树的步骤,包括:针对所述多个图层中每一图层,将该图层作为层级树的当前节点;若所述多个图层中其他图层在所述当前节点的区域内,且所述其他图层不在所述当前节点的子节点的区域内,则将所述其他图层作为所述当前节点的子节点,所述当前节点的作为所述其他图层的父节点;若所述其他图层在所述当前节点的区域内,且所述其他图层在当前节点的第一子节点的区域内,则将所述其他图层作为所述第一子节点的子节点,所述第一子节点作为所述其他图层的父节点;当所述多个图层均确定了父节点和或子节点后,所述层级树构建完成;所述按照行分组和或列分组的方式,对所述层级树上每个节点的一组子节点进行迭代分组,得到每个节点对应的多组子节点,以及每个节点的布局描述信息的步骤,包括:以所述层级树上每个节点的一组子节点作为该节点的候选分组,按照行分组和列分组的方式,分别对每个节点的候选分组进行分组,得到每个节点对应的行分组和列分组;根据每个节点对应的行分组的数量和列分组的数量,将每个节点对应的行分组或列分组更新为该节点的候选分组,并重新执行所述按照行分组和列分组的方式,分别对每个节点的候选分组进行分组,得到每个节点对应的多个行分组和多个列分组的步骤,直至候选分组包括的子节点的数量小于等于预设数量;利用更新每个节点的候选分组时采用的分组方式,确定每个节点的布局描述信息。
全文数据:
权利要求:
百度查询: 北京爱奇艺科技有限公司 用户界面代码生成方法、装置、电子设备及存储介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。