一种界面生成方法、装置及设备与流程

文档序号:15828728发布日期:2018-11-03 00:11阅读:135来源:国知局

本发明涉及计算机技术领域,特别是涉及一种界面生成方法、装置及设备。

背景技术

随着移动终端设备的普及,用户能够通过安装于移动终端设备上的应用软件来获取自己所需的信息。相应地,应用软件运营商为了方便用户查找自己所需的信息,通常会在应用软件中设置多个ui(userinterface,用户界面),每一ui用于为用户提供不同类型的信息。例如,视频应用软件可以设置电影ui为用户提供电影类型的信息,可以设置娱乐ui为用户提供娱乐节目类型的信息,可以设置电视剧ui为用户提供电视剧类型的信息。

现有技术中,在生成ui时,将用于生成ui的每一文字内容对象分别存储至具有文字绘制功能的view(视图)控件中;将用于生成ui的每一图片内容对象分别存储至具有图片绘制功能的view中;然后,将各个view分别存储到groupview(视图组)控件中各个层级的节点中,groupview分别计算各个层级的节点中存储的view的位置、大小,并根据计算结果对各个view进行布局从而生成ui。

然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:

利用groupview生成ui的过程中,需要逐个层级计算各个view的位置、大小,并计算各个view之间的相互位置关系,导致生成ui效率低。



技术实现要素:

本发明实施例的目的在于提供一种界面生成方法、装置及设备,以实现提高ui生成效率。具体技术方案如下:

本发明实施的一方面,提供了一种界面生成方法,所述方法包括:

获得待显示界面内容,并确定所述待显示界面内容中的内容对象,作为目标内容对象;

按照预设容器具有的层级数据结构,将所述目标内容对象存储至所述预设容器中,其中,所述预设容器集成有绘制功能,所述绘制功能包括:文字绘制功能和图片绘制功能;

根据所述目标内容对象和预设的声明文件,确定界面布局,其中,所述声明文件为:定义用于描述界面内容中内容对象的参数的文件;

根据所述界面布局,通过所述预设容器的所述绘制功能,生成用户界面。

可选的,所述按照预设容器具有的层级数据结构,将所述目标内容对象存储至所述预设容器中的步骤,包括:

确定所述目标内容对象中各个内容对象的数字标识;

根据所述数字标识,确定所述目标内容对象中各个内容对象在所述层级数据结构中的存储位置;

根据所确定的存储位置,将所述目标内容对象中各个内容对象存储至所述预设容器中。

可选的,所述根据所述目标内容对象和预设的声明文件,确定界面布局的步骤,包括:

在所述目标内容对象包含文字内容对象时,根据所述声明文件中定义的参数,确定用于显示所述目标内容对象中文字内容对象的文字属性;

在所述目标内容对象包含图片内容对象时,根据所述声明文件中定义的参数,确定用于显示所述目标内容对象中图片内容对象的图片属性;

根据所确定的文字属性和图片属性确定所述界面布局。

可选的,

所述文字属性包括:文字内容、文字在用户界面中的展示位置;

所述图片属性包括:图片来源、图片在用户界面中的展示位置。

可选的,所述声明文件为:采用json语言生成的文件。

本发明实施的又一方面,还提供了一种界面生成装置,该装置包括:

获得模块,用于获得待显示界面内容,并确定所述待显示界面内容中的内容对象,作为目标内容对象;

存储模块,用于按照预设容器具有的层级数据结构,将所述目标内容对象存储至所述预设容器中,其中,所述预设容器集成有绘制功能,所述绘制功能包括:文字绘制功能和图片绘制功能;

确定模块,用于根据所述目标内容对象和预设的声明文件,确定界面布局,其中,所述声明文件为:定义用于描述界面内容中内容对象的参数的文件;

生成模块,用于根据所述界面布局,通过所述预设容器的所述绘制功能,生成用户界面。

可选的,所述存储模块具体用于:

确定所述目标内容对象中各个内容对象的数字标识;

根据所述数字标识,确定所述目标内容对象中各个内容对象在所述层级数据结构中的存储位置;

根据所确定的存储位置,将所述目标内容对象中各个内容对象存储至所述预设容器中。

可选的,所述确定模块具体用于:

在所述目标内容对象包含文字内容对象时,根据所述声明文件中定义的参数,确定用于显示所确定目标内容对象中文字内容对象的文字属性;

在所述目标内容对象包含图片内容对象时,根据所述声明文件中定义的参数,确定用于显示所确定目标内容对象中图片内容对象的图片属性;

根据所确定的文字属性和图片属性确定所述界面布局。

可选的,

所述文字属性包括:文字内容、文字在用户界面中的展示位置;

所述图片属性包括:图片来源、图片在用户界面中的展示位置。

可选的,所述声明文件为:采用json语言生成的文件。

本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一所述的界面生成方法。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的界面生成方法。

在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的界面生成方法。

本发明实施例提供的界面生成方法、装置及设备,能够将待显示界面内容中的内容对象存储到具有层级结构并集成有绘制功能的预设容器中,利用预设容器中的绘制功能即可生成用户界面,相比于现有技术,本发明实施例提供的技术方案无需将用于生成ui的各个内容对象分别存储到view中,从而无需逐个层级计算各个view的位置、大小,并计算各个view之间的相互位置关系,因此,能够提高生成用户界面的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的一种界面生成方法的流程示意图;

图2为本发明实施例提供的声明文件中定义的部分参数;

图3为本发明实施例提供的声明文件中定义的另一部分参数;

图4为本发明实施例提供的一种界面生成装置的结构示意图;

图5为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

参照图1,示出了本发明实施例提供的一种界面生成方法的流程示意图,该方法包括:

s100,获得待显示界面内容,并确定待显示界面内容中的内容对象,作为目标内容对象。

其中,上述内容对象可以理解为:在所要生成的用户界面中进行显示的对象。

一种实现方式中,内容对象可以包括:文字内容对象和/或图片内容对象。具体的,文字内容对象可以包括:待显示的文字、待显示文字显示格式的描述信息,其中,待显示文字显示格式的描述信息可以包括:待显示文字的字体、大小、颜色、显示位置等信息;图片内容对象可以包括:待显示的图片、待显示图片显示格式的描述信息,其中,待显示图片显示格式的描述信息可以包括:待显示图片的宽度、高度、显示位置等信息。

为了能够明确待显示界面内容中的内容对象为文字内容对象还是为图片内容对象,本发明实施例的一种实现方式中,每个内容对象中还可以包含该内容对象的类型标识,具体的,可以设定“type:img”表示某个内容对象为图片内容对象;设定“type:txt”表示某个内容对象为文字内容对象。基于此,能够根据各个内容对象中包含的类型标识确定每一内容对象具体为文字内容对象还是为图片内容对象。

s200,按照预设容器具有的层级数据结构,将目标内容对象存储至预设容器中,其中,预设容器集成有绘制功能,绘制功能包括:文字绘制功能和图片绘制功能。

一种实现方式中,文字绘制功能可以通过集成具有文字绘制功能的函数实现,其中,具有文字绘制功能的功能函数可以为:drawtext函数;图片绘制功能可以通过集成具有图片绘制功能函数而实现,其中,具有图片绘制功能的功能函数可以为:drawable.setbounds函数。

预设容器是具有数据存储功能、且具有层级数据结构的容器。

预设容器具有层级数据结构,是指能够按照层级方式将待存储的数据作为数据元素进行存储的数据结构。

一种实现方式中,在确定待显示界面内容中的内容对象后,可以将所确定的每一内容对象作为预设容器中层级数据结构的一个数据元素存储至预设容器。

为了明确各个内容对象在预设容器具有的层级结构中的存储位置,本发明实施例一种实现方式中,可以为每个内容对象分配一数字标识,相应地,按照预设容器具有的层级数据结构,将所述目标内容对象存储至所述预设容器中的步骤,包括:

确定目标内容对象中各个内容对象的数字标识;

根据所述数字标识,确定所述目标内容对象中各个内容对象在所述层级数据结构中的存储位置;

根据所确定的存储位置,将所述目标内容对象中各个内容对象存储至所述预设容器中。

一种实现方式中,可以用cute表示内容对象,相应地,“cute1”,“cute2”……“cuten”表示存储在层级数据结构中同一层级上的不同内容对象的数字标识;“cute1-1”“cute1-2”……“cute1-n”表示存储在“cute1”子层级上的不同内容对象的数字标识;“cute1-1-1”“cute1-1-2”……“cute1-1-3”表示存储在“cute1-1”子层级上的不同内容对象的数字标识;基于此,确定各个内容对象的数字标识后,可以根据各个内容对象的数字标识确定各个内容对象在层级结构中的存储位置。

一种实现方式中,由于各个内容对象中包括待显示的文字或图像和待显示文字或图像显示格式的描述信息,各个内容对象在用户界面中显示格式是相互独立的,因此,可以将各个内容对象存储在同一层级上。

另一种实现方式中,为了使各个内容对象之间的关系更清晰方便后续绘制用户界面,可以将各个内容对象存储在不同的层级中;例如,cute1为作为背景图像的图片内容对象,cute1-1为在背景图像上显示的文字内容对象,cute1-2为在背景图像上显示的图片内容对象。

s300,根据目标内容对象和预设的声明文件,确定界面布局,其中,声明文件为:定义用于描述界面内容中内容对象的参数的文件。

界面布局可以理解为各个内容对象在用户界面中显示位置的布局。

用于描述内容对象的参数可以理解为描述内容对象显示属性的参数,可以包括:定义内容对象显示位置的参数、定义内容对象显示格式的参数;例如,可以包括:定义内容对象的宽度、高度、展示位置等显示格式的参数。具体的,可以定义“w”为表示内容对象宽度的参数,定义“h”为表示内容对象高度的参数,相应地,当某个内容对象中包括“w”:93,“h”:92显示格式的描述信息时,则可以确定该内容对象的宽度为93,高度为92。

json(javascriptobjectnotation)是一种轻量级的数据交换格式。简洁和清晰的层次结构使得json成为理想的数据交换语言,易于用户阅读和编写,同时也易于机器解析。基于此,本发明实施例一种实现方式中,可以采用json语言生成的声明文件。参见图2,示出了本发明实施例采用json语言生成的声明文件中定义图片内容对象的部分参数。参见图3,示出了本发明实施例采用json语言生成的声明文件中定义文字内容对象的部分参数。

一种实现方式中,根据声明文件中定义的个参数和目标内容对象中包含的各个内容对象的显示格式的描述信息,确定各个内容对象的显示格式和在用户界面中的显示位置,从而确定界面布局。

具体的,在目标内容对象包含文字内容对象时,根据声明文件中定义的参数,确定用于显示目标内容对象中文字内容对象的文字属性,其中,文字属性可以包括:文字内容、文字在用户界面中的展示位置、文字字体、文字大小、文字颜色等。

在目标内容对象包含图片内容对象时,根据声明文件中定义的参数,确定用于显示目标内容对象中图片内容对象的图片属性,其中,图片属性可以包括:图片来源、图片在用户界面中的展示位置、图片宽度、图片高度等。

根据所确定的文字属性和图片属性确定界面布局。

文字内容可以为需要显示的文字的具体内容,也可以为需要显示的文字具体内容的存储地址,还可以为存储有需要显示的文字具体内容的文件的id(identification)。当文字内容为存储地址时,则可以根据存储地址查找并获取需要显示的文字的具体内容;当文字内容为id时,则可以根据id查找对应的文件从而获取需要显示的文字具体内容。

图片来源可以为图片的存储地址,也可以为图片的id。

一种实现方式中,可以定义用户界面左下角为坐标原点,水平方向为x轴,竖直方向为y轴,基于此,可以通过用户界面中的坐标来表示文字在用户界面中的展示位置和图片在用户界面中的展示位置。

以下以一具体实施例来对上述确定界面布局的过程进行说明,首先,确定待显示界面内容中包括两个内容对象分别为cute1和cute2,其中,

cute1包含描述信息:id:“idcornerrt”;type:“img”;w:“93”;h:“92”;x:“100”;y:“100”。

cute2包含描述信息:id:“iddescrb”;type:“txt”;font:“宋体”;font-size:“16”;x:“200”;y:“150”。

根据声明文件中定义的参数,可以确定cute1为图片内容对象,待展示的图片的id为idcornerrt,图片的宽度为93,高度为93,展示的位置为以用户界面左下角为坐标原点,坐标为100,100的位置。

确定cute2为文字内容对象,待展示的文字的id为iddescrb,文字的字体为宋体,字号为16,展示的位置为以用户界面左下角为坐标原点,坐标为200,150的位置。

最后,确根据所确定的cute1和cute2的显示位置和显示格式从而确定页面布局。

s400,根据界面布局,通过预设容器的所述绘制功能,生成用户界面。

确定各个文字内容对象和各个图片内容对象在界面中显示位置的页面布局后,通过预设容器的文字绘制功能对文字内容对象进行绘制,通过预设容器的图片绘制功能对图片对象内容进行绘制,从而生成用户界面。

应用本发明实施例提供的界面生成方法,能够将待显示界面内容中的内容对象存储到具有层级结构并集成有绘制功能的预设容器中,利用预设容器中的绘制功能即可生成用户界面,相比于现有技术,本发明实施例提供的技术方案无需将用于生成ui的各个内容对象分别存储到view中,从而无需逐个层级计算各个view的位置、大小,并计算各个view之间的相互位置关系,因此,能够提高生成用户界面的效率。

参照图4,示出了本发明实施例提供的一种界面生成装置的结构示意图,该装置包括:

获得模块500,用于获得待显示界面内容,并确定所述待显示界面内容中的内容对象,作为目标内容对象;

存储模块600,用于按照预设容器具有的层级数据结构,将所述目标内容对象存储至所述预设容器中,其中,所述预设容器集成有绘制功能,所述绘制功能包括:文字绘制功能和图片绘制功能;

确定模块700,用于根据所述目标内容对象和预设的声明文件,确定界面布局,其中,所述声明文件为:定义用于描述界面内容中内容对象的参数的文件;

生成模块800,用于根据所述界面布局,通过所述预设容器的所述绘制功能,生成用户界面。

本发明实施例一种实现方式中,存储模块600具体用于:

确定所述目标内容对象中各个内容对象的数字标识;

根据所述数字标识,确定所述目标内容对象中各个内容对象在所述层级数据结构中的存储位置;

根据所确定的存储位置,将所述目标内容对象中各个内容对象存储至所述预设容器中。

本发明实施例一种实现方式中,确定模块700具体用于:

在所述目标内容对象包含文字内容对象时,根据所述声明文件中定义的参数,确定用于显示所确定目标内容对象中文字内容对象的文字属性;

在所述目标内容对象包含图片内容对象时,根据所述声明文件中定义的参数,确定用于显示所确定目标内容对象中图片内容对象的图片属性;

根据所确定的文字属性和图片属性确定所述界面布局。

本发明实施例一种实现方式中,

文字属性可以包括:文字内容、文字在用户界面中的展示位置;

图片属性可以包括:图片来源、图片在用户界面中的展示位置。

本发明实施例一种实现方式中,声明文件可以为:采用json语言生成的文件。

本发明实施例提供的各个方案中,界面生成装置能够将待显示界面内容中的内容对象存储到具有层级结构并集成有绘制功能的预设容器中,利用预设容器中的绘制功能即可生成用户界面,相比于现有技术,本发明实施例提供的技术方案无需将用于生成ui的各个内容对象分别存储到view中,从而无需逐个层级计算各个view的位置、大小,并计算各个view之间的相互位置关系,因此,能够提高生成用户界面的效率。

本发明实施例还提供了一种电子设备,如图5所示,包括处理器001、通信接口002、存储器003和通信总线004,其中,处理器001,通信接口002,存储器003通过通信总线004完成相互间的通信,

存储器003,用于存放计算机程序;

处理器001,用于执行存储器003上所存放的程序时,实现本发明实施例所述的界面生成方法。

具体的,上述界面生成方法包括:

获得待显示界面内容,并确定所述待显示界面内容中的内容对象,作为目标内容对象;

按照预设容器具有的层级数据结构,将所述目标内容对象存储至所述预设容器中,其中,所述预设容器集成有绘制功能,所述绘制功能包括:文字绘制功能和图片绘制功能;

根据所述目标内容对象和预设的声明文件,确定界面布局,其中,所述声明文件为:定义用于描述界面内容中内容对象的参数的文件;

根据所述界面布局,通过所述预设容器的所述绘制功能,生成用户界面。

需要说明的是,上述处理器001执行存储器003上所存放的程序实现界面生成方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。

本发明实施例提供的各个方案中,电子设备能够将待显示界面内容中的内容对象存储到具有层级结构并集成有绘制功能的预设容器中,利用预设容器中的绘制功能即可生成用户界面,相比于现有技术,本发明实施例提供的技术方案无需将用于生成ui的各个内容对象分别存储到view中,从而无需逐个层级计算各个view的位置、大小,并计算各个view之间的相互位置关系,因此,能够提高生成用户界面的效率。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralpomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,实现本发明实施例所述的界面生成方法。

具体的,上述界面生成方法,包括:

获得待显示界面内容,并确定所述待显示界面内容中的内容对象,作为目标内容对象;

按照预设容器具有的层级数据结构,将所述目标内容对象存储至所述预设容器中,其中,所述预设容器集成有绘制功能,所述绘制功能包括:文字绘制功能和图片绘制功能;

根据所述目标内容对象和预设的声明文件,确定界面布局,其中,所述声明文件为:定义用于描述界面内容中内容对象的参数的文件;

根据所述界面布局,通过所述预设容器的所述绘制功能,生成用户界面。

需要说明的是,通过上述计算机可读存储介质实现界面生成方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。

本发明实施例提供的各个方案中,通过运行上述计算机可读存储介质中存储的指令,能够将待显示界面内容中的内容对象存储到具有层级结构并集成有绘制功能的预设容器中,利用预设容器中的绘制功能即可生成用户界面,相比于现有技术,本发明实施例提供的技术方案无需将用于生成ui的各个内容对象分别存储到view中,从而无需逐个层级计算各个view的位置、大小,并计算各个view之间的相互位置关系,因此,能够提高生成用户界面的效率。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,实现本发明实施例所述界面生成方法。

具体的,上述界面生成方法,包括:

获得待显示界面内容,并确定所述待显示界面内容中的内容对象,作为目标内容对象;

按照预设容器具有的层级数据结构,将所述目标内容对象存储至所述预设容器中,其中,所述预设容器集成有绘制功能,所述绘制功能包括:文字绘制功能和图片绘制功能;

根据所述目标内容对象和预设的声明文件,确定界面布局,其中,所述声明文件为:定义用于描述界面内容中内容对象的参数的文件;

根据所述界面布局,通过所述预设容器的所述绘制功能,生成用户界面。

需要说明的是,通过上述计算机程序产品实现界面生成方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。

本发明实施例提供的各个方案中,通过运行上述包含指令的计算机程序产品,能够将待显示界面内容中的内容对象存储到具有层级结构并集成有绘制功能的预设容器中,利用预设容器中的绘制功能即可生成用户界面,相比于现有技术,本发明实施例提供的技术方案无需将用于生成ui的各个内容对象分别存储到view中,从而无需逐个层级计算各个view的位置、大小,并计算各个view之间的相互位置关系,因此,能够提高生成用户界面的效率。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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