[发明专利]应用程序界面布局代码的生成方法、装置及电子设备有效
申请号: | 202110368620.0 | 申请日: | 2021-04-06 |
公开(公告)号: | CN112799669B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 钟辉;韩潇雨 | 申请(专利权)人: | 武汉元光科技有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 界面 布局 代码 生成 方法 装置 电子设备 | ||
1.一种应用程序界面布局代码的生成方法,其特征在于,所述生成方法包括:
从待开发应用程序的用户界面UI设计图中,获取控件的第一位置属性信息;其中,所述UI设计图中包括一个以上的控件,所述第一位置属性信息包括控件的坐标、宽度和高度;
根据所述控件的第一位置属性信息,确定所述控件的第一树形结构,所述第一树形结构包括父控件和子控件;所述第一树形结构包括N层节点,N≥1且为整数;
根据所述第一树形结构,确定所述控件的第二树形结构,包括:分别对所述第一树形结构中的第i层节点的控件进行横向遍历和/或纵向遍历递归,获得第i层节点的树形结构;i依次取值1,2,……,N;根据所述第i层节点的树形结构,生成所述控件的第二树形结构;
其中,所述第二树形结构包括所述控件和布局器,所述布局器为线性布局器,位于所述第二树形结构的根节点或内部节点,所述控件位于所述第二树形结构中的叶子节点;
根据所述第二树形结构,将所述控件的第一位置属性信息转换为相对于所述布局器的第二位置属性信息;
遍历所述第二树形结构中的叶子节点,根据所述控件的第二位置属性信息,生成所述待开发应用程序的界面布局代码。
2.如权利要求1所述的生成方法,其特征在于,在所述根据所述控件的第一位置属性信息,确定所有控件的第一树形结构之后,在所述根据所述第一树形结构,确定所述控件的第二树形结构之前,所述生成方法还包括:
根据所述第一树形结构,将所述子控件的第一位置属性信息转换为相对于所述父控件的第三位置属性信息;
所述根据所述第二树形结构,将所述控件的第一位置属性信息转换为相对于所述布局器的第二位置属性信息,具体包括:
将所述子控件的第三位置属性信息转换为相对于所述布局器的第二位置属性信息。
3.如权利要求2所述的生成方法,其特征在于,所述横向遍历包括:使用与Y轴平行的纵向轴线,沿着X轴方向对所述第i层节点的控件的第三位置属性信息进行横向扫描,获得所述纵向轴线与所述第i层节点的控件不相交的X轴坐标范围;根据所述X轴坐标范围,生成横向线性布局器;所述横向线性布局器中的每一列包括一个或大于一个的第i层节点的控件;
所述纵向遍历包括:使用与X轴平行的横向轴线,沿着Y轴方向对所述横向线性布局器中目标列的控件的第三位置属性信息进行纵向扫描,获得所述横向轴线与所述目标列的控件不相交的Y轴坐标范围;根据所述Y轴坐标范围,在所述目标列生成纵向线性布局器;所述目标列为控件数量大于一个的列;所述纵向线性布局器中的每一行包括一个所述目标列中的控件。
4.如权利要求1所述的生成方法,其特征在于,还包括:
从待开发应用程序的用户界面UI设计图中,获取控件的其它属性信息,所述其它属性信息包括控件的类型、控件的颜色信息、控件的形状信息、控件的文本信息中的至少一种;
所述根据所述控件的第二位置属性信息,生成所述待开发应用程序的界面布局代码,具体包括:
根据所述控件的第二位置属性信息和所述其它属性信息,生成所述待开发应用程序的界面布局代码。
5.如权利要求1所述的生成方法,其特征在于,所述获取待开发的应用程序的用户界面UI设计图中的控件信息,具体包括:
获取待开发的应用程序的用户界面UI设计图;
根据所述UI设计图,获取所述UI设计图的JSON数据;
从所述JSON数据中获取所述UI设计图中的控件信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉元光科技有限公司,未经武汉元光科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110368620.0/1.html,转载请声明来源钻瓜专利网。