CN110045999A - 绘制组件的方法、装置、终端和存储介质 - Google Patents
绘制组件的方法、装置、终端和存储介质 Download PDFInfo
- Publication number
- CN110045999A CN110045999A CN201910328879.5A CN201910328879A CN110045999A CN 110045999 A CN110045999 A CN 110045999A CN 201910328879 A CN201910328879 A CN 201910328879A CN 110045999 A CN110045999 A CN 110045999A
- Authority
- CN
- China
- Prior art keywords
- component
- attribute
- custom attributes
- rendering
- configuration file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开实施例提供了一种绘制组件的方法、装置、终端和存储介质,属于计算机技术领域。所述方法包括:获取目标应用程序在多端对应的基础配置文件,其中,所述基础配置文件包括所述目标应用程序的用户界面UI中各组件分别对应的基础属性,对于所述多端中的目标端,根据所述基础配置文件,生成所述各组件分别对应的基础属性,获取所述目标应用程序对应的自定义属性,根据所述各组件分别对应的基础属性和所述自定义属性,对所述各组件进行绘制处理。采用本公开,可以节约开发时间。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种绘制组件的方法、装置、终端和存储介质。
背景技术
为了适配不同端的操作系统,在开发一个应用程序时,会对应不同端的操作系统分别设置适配于该端的操作系统的应用程序。
由于不同端的操作系统针对同一个应用程序进行分别的组件化实现,所以针对同一应用程序开发,花费的开发时间较多。
发明内容
为了解决开发时间较多的技术的问题,本公开实施例提供了一种绘制组件的方法、装置、终端和存储介质。所述技术方案如下:
第一方面,提供了一种绘制组件的方法,所述方法包括:
获取目标应用程序在多端对应的基础配置文件,其中,所述基础配置文件包括所述目标应用程序的用户界面UI中各组件分别对应的基础属性;
对于所述多端中的目标端,根据所述基础配置文件,生成所述各组件分别对应的基础属性,获取所述目标应用程序对应的自定义属性;
根据所述各组件分别对应的基础属性和所述自定义属性,对所述各组件进行绘制处理。
可选的,所述根据所述各组件分别对应的基础属性和自定义属性,对所述各组件进行绘制处理,包括:
对于所述UI中的每个组件,如果所述组件对应有自定义属性,则确定所述组件对应的基础属性与所述组件对应的自定义属性的交集属性;
在所述组件对应的自定义属性中确定所述交集属性的第一属性值,并在所述组件对应的基础属性中确定所述交集属性的第二属性值;
在所述组件对应的基础属性中,使用所述第一属性值替换所述第二属性值,得到所述组件在绘制时对应的绘制属性;
使用所述各组件分别对应的绘制属性,对所述各组件进行绘制处理。
可选的,所述组件对应的自定义属性中的目标属性不属于所述组件对应的基础属性;
所述方法还包括:
将所述目标属性添加为所述组件对应的绘制属性。
可选的,所述根据所述各组件分别对应的基础属性和自定义属性,对所述各组件进行绘制处理,包括:
对于所述UI中的每个组件,将所述组件在绘制时对应的各绘制属性,转换为按照目标排列顺序进行排序的属性数组;
根据所述组件对应的各基础属性的属性值,生成字典模型;
使用所述字典模型中各基础属性的属性值,为所述属性数组中与所述组件对应的基础属性相同的绘制属性赋值;
使用所述组件对应的所述自定义属性的属性值,替换所述属性数组中与所述自定义属性相同的绘制属性的属性值,并使用所述组件对应的自定义属性的属性值,为所述属性数组中当前不存在属性值的绘制属性赋值,得到所述组件对应的绘制属性;
使用所述各组件分别对应的绘制属性,对所述各组件进行绘制处理。
可选的,所述使用所述各组件分别对应的绘制属性,对所述各组件进行绘制处理,包括:
使用所述各组件分别对应的绘制属性,生成所述各组件在所述目标端的代码;
根据所述代码,对所述各组件进行绘制处理。
可选的,所述方法还包括:
根据所述自定义属性,更新整体布局的位置;
所述根据所述代码,对所述各组件进行绘制处理,包括:
根据所述代码和更新后的位置,对所述各组件进行绘制处理。
可选的,所述基础配置文件为json格式。
第二方面,提供了一种绘制组件的装置,所述装置包括:
获取模块,用于:
获取目标应用程序在多端对应的基础配置文件,其中,所述基础配置文件包括所述目标应用程序的用户界面UI中各组件分别对应的基础属性;
对于所述多端中的目标端,根据所述基础配置文件,生成所述各组件分别对应的基础属性,获取所述目标应用程序对应的自定义属性;
绘制模块,用于根据所述各组件分别对应的基础属性和所述自定义属性,对所述各组件进行绘制处理。
可选的,所述绘制模块,用于:
对于所述UI中的每个组件,如果所述组件对应有自定义属性,则确定所述组件对应的基础属性与所述组件对应的自定义属性的交集属性;
在所述组件对应的自定义属性中确定所述交集属性的第一属性值,并在所述组件对应的基础属性中确定所述交集属性的第二属性值;
在所述组件对应的基础属性中,使用所述第一属性值替换所述第二属性值,得到所述组件在绘制时对应的绘制属性;
使用所述各组件分别对应的绘制属性,对所述各组件进行绘制处理。
可选的,所述组件对应的自定义属性中的目标属性不属于所述组件对应的基础属性;
所述绘制模块,还用于:
将所述目标属性添加为所述组件对应的绘制属性。
可选的,所述绘制模块,用于:
对于所述UI中的每个组件,将所述组件在绘制时对应的各绘制属性,转换为按照目标排列顺序进行排序的属性数组;
根据所述组件对应的各基础属性的属性值,生成字典模型;
使用所述字典模型中各基础属性的属性值,为所述属性数组中与所述组件对应的基础属性相同的绘制属性赋值;
使用所述组件对应的所述自定义属性的属性值,替换所述属性数组中与所述自定义属性相同的绘制属性的属性值,并使用所述组件对应的自定义属性的属性值,为所述属性数组中当前不存在属性值的绘制属性赋值,得到所述组件对应的绘制属性;
使用所述各组件分别对应的绘制属性,对所述各组件进行绘制处理。
可选的,所述绘制模块,用于:
使用所述各组件分别对应的绘制属性,生成所述各组件在所述目标端的代码;
根据所述代码,对所述各组件进行绘制处理。
可选的,所述绘制模块,还用于:
根据所述自定义属性,更新整体布局的位置;
所述绘制模块,用于:
根据所述代码和更新后的位置,对所述各组件进行绘制处理。
可选的,所述基础配置文件为json格式。
第三方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述第一方面所述的绘制组件的方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述第一方面所述的绘制组件的方法。
本公开实施例提供的技术方案带来的有益效果至少包括:
本公开实施例中,终端可以获取目标应用程序在多端对应的基础配置文件,其中,基础配置文件包括目标应用程序的用户界面UI中各组件分别对应的基础属性,对于多端中的目标端,根据基础配置文件,生成各组件分别对应的基础属性,获取目标应用程序对应的自定义属性,根据各组件分别对应的基础属性和自定义属性,对各组件进行绘制处理。这样,由于多端有一套基础配置文件,所以不同端的操作系统统一针对同一个应用程序进行组件化处理,所以针对同一应用程序开发时,节约开发时间。
附图说明
图1是本公开实施例提供的一种绘制组件的方法流程图;
图2是本公开实施例提供的一种基础属性示意图;
图3是本公开实施例提供的一种自定义属性的示意图;
图4是本公开实施例提供的一种绘制属性的示意图;
图5是本公开实施例提供的一种绘制组件的装置的结构示意图;
图6是本公开实施例提供的一种终端的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
本公开实施例提供了一种绘制组件的方法,该方法的执行主体可以是终端。其中,终端可以是电脑、手机、平板电脑。
终端中可以设置有处理器、存储器和收发器等,处理器可以用于进行绘制组件的过程的处理,存储器可以用于存储绘制组件中需要的数据以及产生的数据,收发器可以用于接收以及发送数据。
本实施例中以执行主体为电脑进行方案的详细描述,其它情况与之类似,本实施例不再累述。
在进行实施前,首先介绍一下本公开实施例的应用场景以及有可能涉及的名词概念:
在开发一个应用程序时,想要在多端的风格一致,可以开发一套适配于多端基础配置文件。对于各端如果有区别于其他端的设置,可以单独进行配置。
多端,包括安卓端、ios端和web(网页)端。
组件,包括按钮、表单、标签、提示弹窗等。
本公开实施例提供了一种绘制组件的方法,如图1所示,该方法的执行流程可以如下:
步骤101,获取目标应用程序在多端对应的基础配置文件。
其中,目标应用程序为任一应用程序,基础配置文件可以对应于多端的目标应用程序,且包括目标应用程序的UI中各组件分别对应的基础属性,基础属性可以包括文字尺寸、圆弧尺寸、颜色、边框尺寸等。
在实施中,用户想要使用目标应用程序,可以在终端上安装目标应用程序,然后操作启动目标应用程序,终端则会获取目标应用程序在多端对应的基础配置文件。
需要说明的是,在目标应用程序安装在终端上后,基础配置文件随目标应用程序一起存储在终端上。
可选的,基础配置文件为json格式。
在实施中,基础配置文件可以为json格式,另外,在满足使用的条件下,也可以为其他格式。
步骤102,对于多端中的目标端,根据基础配置文件,生成各组件分别对应的基础属性,获取目标应用程序对应的自定义属性。
其中,目标端可以是多端中的任意一端,本公开实施例以目标端为ios端为例进行方案的说明。
在实施中,如果终端的操作系统为ios系统,则可以确定目标应用程序是属于目标端的应用程序,可以使用基础配置文件,生成目标应用程序的各组件分别对应的基础属性。例如,如图2所示,目标应用程序为A应用程序,对于A应用程序中的A组件,基础属性有文字大小、颜色、圆弧大小、边框大小等,文字大小对应的属性值为大(34px(相对长度单位)),颜色对应的属性值为红色,圆弧大小对应的属性值为4px,边框大小对应的属性值为1px。
终端还可以获取目标应用程序对应的自定义属性,此处是:如果目标应用程序的某个组件对应有自定义属性,则可以获取到该组件对应的自定义属性。例如,如图3所示,目标应用程序的A组件对应有自定义属性,包括有边框大小的属性值为2px、边框颜色的属性值为红色、背景颜色的属性值为白色。如果目标应用程序的某个组件未对应有自定义属性,则获取不到该组件对应的自定义属性。
需要说明的是,目标应用程序对应的自定义属性中包括:有自定义属性的组件与其对应的自定义属性的对应关系。
步骤103,根据各组件分别对应的基础属性和自定义属性,对各组件进行绘制处理。
在实施中,终端获取到各组件分别对应的基础属性和目标应用程序的自定义属性后,可以使用各组件对应的基础属性和目标应用程序对应的自定义属性,确定出各组件最终绘制时使用的属性(即后面所提到的绘制属性),然后使用各组件分别对应的最终绘制时使用的属性,对各组件进行绘制处理。
可选的,在步骤103中,使用各组件分别对应的基础属性和目标应用程序对应的自定义属性绘制各组件时,有多种处理方式,以下给出两种可行的处理方式:
方式一,对于UI中的每个组件,如果组件对应有自定义属性,则确定组件对应的基础属性与组件对应的自定义属性的交集属性,在组件对应的自定义属性中确定交集属性的第一属性值,并在组件对应的基础属性中确定交集属性的第二属性值,在组件对应的基础属性中,使用第一属性值替换第二属性值,得到组件在绘制时对应的绘制属性,使用各组件分别对应的绘制属性,对各组件进行绘制处理。
其中,绘制属性指组件在绘制时所使用的属性。
在实施中,对于目标应用程序的UI中的任一组件i,可以进行如下处理:
如果在目标应用程序对应的自定义属性中,能找到组件i对应的自定义属性,则确定组件i对应有自定义属性。然后可以确定组件i对应的基础属性与组件对应的自定义属性的交集属性,在组件i对应的自定义属性中,确定交集属性的第一属性值,并在组件对应的基础属性中,确定交集属性的第二属性值。然后在组件i对应的基础属性中,使用第一属性值替换第二属性值,得到组件i在绘制时对应的绘制属性。例如,组件i对应有自定义属性,组件i对应的基础属性与组件对应的自定义属性的交集属性为文字大小,文字大小在自定义属性中的第一属性值为34px,文字大小在基础属性中的第二属性值为28px,那么组件i在绘制时对应的绘制属性中文字大小为34px,除文字大小之外的其他绘制属性与基础属性相同。
如果在目标应用程序对应的自定义属性中,未能找到组件i对应的自定义属性,则确定组件i未对应有自定义属性,可以直接将组件i对应的基础属性,确定为组件i在绘制时对应的绘制属性。
这样,依照与组件i相同的方式,即可确定出目标应用程序的各组件在绘制时对应的绘制属性。
然后,可以使用各组件在绘制时对应的绘制属性,绘制各组件。
可选的,对于目标应用程序中的某个组件,对应的自定义属性中的目标属性不属于组件对应的基础属性。例如,目标应用程序的组件A,对应的基础属性为文字大小、边框大小、文字颜色,组件A对应的自定义属性为文字大小、背景颜色,目标属性为背景颜色。这种情况下,也将目标属性添加为对应的绘制属性,处理过程可以如下:
将目标属性添加为组件对应的绘制属性。
在实施中,终端可以将目标属性添加为组件对应的绘制属性,这样,可以获取到组件完整的绘制属性。
方式二,对于UI中的每个组件,将组件在绘制时对应的各绘制属性,转换为按照目标排列顺序进行排序的属性数组,根据组件对应的各基础属性的属性值,生成字典模型,使用字典模型中各基础属性的属性值,为属性数组中与组件对应的基础属性相同的绘制属性赋值,使用组件对应的自定义属性的属性值,替换属性数组中与自定义属性相同的绘制属性的属性值,并使用组件对应的自定义属性的属性值,为属性数组中当前不存在属性值的绘制属性赋值,得到组件对应的绘制属性,使用各组件分别对应的绘制属性,对各组件进行绘制处理。
在实施中,对于目标应用程序的UI中的任一组件i,可以进行如下处理:
对于组件i,可以将组件i在绘制时使用的绘制属性,转换为按照目标排列属性进行排序的属性数组。并可以根据组件对应各基础属性的属性值,生成字典模型,在字典模型中,各基础属性对应有属性值。例如,目标应用程序的组件A,目标排列顺序为字体大小、圆弧大小、文字颜色、背景颜色,属性数组为{字体大小、圆弧大小、文字颜色、背景颜色}
然后使用字典模型中,各基础属性对应的属性值,为属性数组中与基础属性相同的绘制属性赋值。然后使用组件i对应的自定义属性的属性值,替换属性数组中与自定义属性相同的绘制属性的属性值,并使用组件i对应的自定义属性在属性数组中,确定当前不存在属性值的绘制属性,然后使用组件i对应的自定义属性,为当前不存在属性值,且与组件i的自定义属性相同的绘制属性赋值。例如,如图4所示,对于目标应用程序的组件A,目标排列顺序为字体大小、圆弧大小、文字颜色、背景颜色,组件A的基础属性中,字体大小的属性值为26px,圆弧大小的属性值为4px,文字颜色的属性值为红色,组件A的自定义属性为:字体大小的属性值为32px,圆弧大小的属性值为2px、背景颜色的属性值为黄色,组件A对应的绘制属性为:字体大小的属性值为32px,圆弧大小的属性值为2px,文字颜色的属性值为红色,文字颜色的属性值为红色,背景颜色的属性值为黄色。
这样,依照与组件i相同的方式,即可确定出目标应用程序的各组件在绘制时对应的绘制属性。
然后,可以使用各组件在绘制时对应的绘制属性,绘制各组件。
可选的,可以使用如下方式,对各组件进行绘制处理:
使用各组件分别对应的绘制属性,生成各组件在目标端的代码;根据代码,对各组件进行绘制处理。
在实施中,可以使用各组件分别对应的绘制属性,生成各组件在目标端的代码,然后使用该代码,对各组件进行绘制处理。
可选的,由于存在自定义属性,有可能改变整体布局,所以要进行整体布局的更新,处理过程可以如下:
根据自定义属性,更新整体布局的位置;根据代码和更新后的位置,对各组件进行绘制处理。
在实施中,终端可以使用自定义属性,更新整体布局的位置,使其适配于目标端,然后使用各组件在目标端的代码和更新后的位置,对各组件进行绘制处理。这样,即使存在自定义属性,也可以适配于目标端。
本公开实施例中,终端可以获取目标应用程序在多端对应的基础配置文件,其中,基础配置文件包括目标应用程序的用户界面UI中各组件分别对应的基础属性,对于多端中的目标端,根据基础配置文件,生成各组件分别对应的基础属性,获取目标应用程序对应的自定义属性,根据各组件分别对应的基础属性和自定义属性,对各组件进行绘制处理。这样,由于多端有一套基础配置文件,所以不同端的操作系统统一针对同一个应用程序进行组件化处理,所以针对同一应用程序开发时,节约开发时间。
基于相同的技术构思,本公开实施例还提供了一种绘制组件的装置,如图5所示,该装置包括:
获取模块510,用于:
获取目标应用程序在多端对应的基础配置文件,其中,所述基础配置文件包括所述目标应用程序的用户界面UI中各组件分别对应的基础属性;
对于所述多端中的目标端,根据所述基础配置文件,生成所述各组件分别对应的基础属性,获取所述目标应用程序对应的自定义属性;
绘制模块520,用于根据所述各组件分别对应的基础属性和所述自定义属性,对所述各组件进行绘制处理。
可选的,所述绘制模块520,用于:
对于所述UI中的每个组件,如果所述组件对应有自定义属性,则确定所述组件对应的基础属性与所述组件对应的自定义属性的交集属性;
在所述组件对应的自定义属性中确定所述交集属性的第一属性值,并在所述组件对应的基础属性中确定所述交集属性的第二属性值;
在所述组件对应的基础属性中,使用所述第一属性值替换所述第二属性值,得到所述组件在绘制时对应的绘制属性;
使用所述各组件分别对应的绘制属性,对所述各组件进行绘制处理。
可选的,所述组件对应的自定义属性中的目标属性不属于所述组件对应的基础属性;
所述绘制模块520,还用于:
将所述目标属性添加为所述组件对应的绘制属性。
可选的,所述绘制模块520,用于:
对于所述UI中的每个组件,将所述组件在绘制时对应的各绘制属性,转换为按照目标排列顺序进行排序的属性数组;
根据所述组件对应的各基础属性的属性值,生成字典模型;
使用所述字典模型中各基础属性的属性值,为所述属性数组中与所述组件对应的基础属性相同的绘制属性赋值;
使用所述组件对应的所述自定义属性的属性值,替换所述属性数组中与所述自定义属性相同的绘制属性的属性值,并使用所述组件对应的自定义属性的属性值,为所述属性数组中当前不存在属性值的绘制属性赋值,得到所述组件对应的绘制属性;
使用所述各组件分别对应的绘制属性,对所述各组件进行绘制处理。
可选的,所述绘制模块520,用于:
使用所述各组件分别对应的绘制属性,生成所述各组件在所述目标端的代码;
根据所述代码,对所述各组件进行绘制处理。
可选的,所述绘制模块520,还用于:
根据所述自定义属性,更新整体布局的位置;
所述绘制模块520,用于:
根据所述代码和更新后的位置,对所述各组件进行绘制处理。
可选的,所述基础配置文件为json格式。
本公开实施例中,终端可以获取目标应用程序在多端对应的基础配置文件,其中,基础配置文件包括目标应用程序的用户界面UI中各组件分别对应的基础属性,对于多端中的目标端,根据基础配置文件,生成各组件分别对应的基础属性,获取目标应用程序对应的自定义属性,根据各组件分别对应的基础属性和自定义属性,对各组件进行绘制处理。这样,由于多端有一套基础配置文件,所以不同端的操作系统统一针对同一个应用程序进行组件化处理,所以针对同一应用程序开发时,节约开发时间。
需要说明的是:上述实施例提供的绘制组件的装置在绘制组件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的绘制组件的装置与绘制组件的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6示出了本公开一个示例性实施例提供的终端600的结构框图。该终端600可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的绘制组件的方法。
在一些实施例中,终端600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位终端600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源609用于为终端600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在终端600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置终端600的正面、背面或侧面。当终端600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在终端600的前面板。接近传感器616用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开另一实施例,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述所述的绘制组件的方法。
本公开另一实施例,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述所述的绘制组件的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种绘制组件的方法,其特征在于,所述方法包括:
获取目标应用程序在多端对应的基础配置文件,其中,所述基础配置文件包括所述目标应用程序的用户界面UI中各组件分别对应的基础属性;
对于所述多端中的目标端,根据所述基础配置文件,生成所述各组件分别对应的基础属性,获取所述目标应用程序对应的自定义属性;
根据所述各组件分别对应的基础属性和所述自定义属性,对所述各组件进行绘制处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述各组件分别对应的基础属性和自定义属性,对所述各组件进行绘制处理,包括:
对于所述UI中的每个组件,如果所述组件对应有自定义属性,则确定所述组件对应的基础属性与所述组件对应的自定义属性的交集属性;
在所述组件对应的自定义属性中确定所述交集属性的第一属性值,并在所述组件对应的基础属性中确定所述交集属性的第二属性值;
在所述组件对应的基础属性中,使用所述第一属性值替换所述第二属性值,得到所述组件在绘制时对应的绘制属性;
使用所述各组件分别对应的绘制属性,对所述各组件进行绘制处理。
3.根据权利要求2所述的方法,其特征在于,所述组件对应的自定义属性中的目标属性不属于所述组件对应的基础属性;
所述方法还包括:
将所述目标属性添加为所述组件对应的绘制属性。
4.根据权利要求1所述的方法,其特征在于,所述根据所述各组件分别对应的基础属性和自定义属性,对所述各组件进行绘制处理,包括:
对于所述UI中的每个组件,将所述组件在绘制时对应的各绘制属性,转换为按照目标排列顺序进行排序的属性数组;
根据所述组件对应的各基础属性的属性值,生成字典模型;
使用所述字典模型中各基础属性的属性值,为所述属性数组中与所述组件对应的基础属性相同的绘制属性赋值;
使用所述组件对应的所述自定义属性的属性值,替换所述属性数组中与所述自定义属性相同的绘制属性的属性值,并使用所述组件对应的自定义属性的属性值,为所述属性数组中当前不存在属性值的绘制属性赋值,得到所述组件对应的绘制属性;
使用所述各组件分别对应的绘制属性,对所述各组件进行绘制处理。
5.根据权利要求2或4所述的方法,其特征在于,所述使用所述各组件分别对应的绘制属性,对所述各组件进行绘制处理,包括:
使用所述各组件分别对应的绘制属性,生成所述各组件在所述目标端的代码;
根据所述代码,对所述各组件进行绘制处理。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述自定义属性,更新整体布局的位置;
所述根据所述代码,对所述各组件进行绘制处理,包括:
根据所述代码和更新后的位置,对所述各组件进行绘制处理。
7.根据权利要求1至4任一所述的方法,其特征在于,所述基础配置文件为json格式。
8.一种绘制组件的装置,其特征在于,所述装置包括:
获取模块,用于:
获取目标应用程序在多端对应的基础配置文件,其中,所述基础配置文件包括所述目标应用程序的用户界面UI中各组件分别对应的基础属性;
对于所述多端中的目标端,根据所述基础配置文件,生成所述各组件分别对应的基础属性,获取所述目标应用程序对应的自定义属性;
绘制模块,用于根据所述各组件分别对应的基础属性和所述自定义属性,对所述各组件进行绘制处理。
9.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至7任一所述的绘制组件的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至7任一所述的绘制组件的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910328879.5A CN110045999B (zh) | 2019-04-23 | 2019-04-23 | 绘制组件的方法、装置、终端和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910328879.5A CN110045999B (zh) | 2019-04-23 | 2019-04-23 | 绘制组件的方法、装置、终端和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110045999A true CN110045999A (zh) | 2019-07-23 |
CN110045999B CN110045999B (zh) | 2022-03-11 |
Family
ID=67278703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910328879.5A Active CN110045999B (zh) | 2019-04-23 | 2019-04-23 | 绘制组件的方法、装置、终端和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110045999B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178012A (zh) * | 2019-12-03 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 一种表单渲染方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011621A1 (en) * | 2005-07-06 | 2007-01-11 | Lite-On Technology Corporation | Methods and systems of graphical user interface presentation |
CN106021617A (zh) * | 2016-07-12 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 页面生成的方法和装置 |
CN106648555A (zh) * | 2015-10-28 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种页面的生成方法及装置 |
CN107566875A (zh) * | 2017-08-31 | 2018-01-09 | 江苏省公用信息有限公司 | 一种在智能机顶盒上ui灵活配置、动态更新的方法 |
CN107870798A (zh) * | 2017-09-26 | 2018-04-03 | 五八有限公司 | 应用程序的页面布局处理方法及终端 |
CN109388399A (zh) * | 2018-10-25 | 2019-02-26 | 北京字节跳动网络技术有限公司 | 页面和通用页面配置文件生成方法、装置、设备及介质 |
-
2019
- 2019-04-23 CN CN201910328879.5A patent/CN110045999B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011621A1 (en) * | 2005-07-06 | 2007-01-11 | Lite-On Technology Corporation | Methods and systems of graphical user interface presentation |
CN106648555A (zh) * | 2015-10-28 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种页面的生成方法及装置 |
CN106021617A (zh) * | 2016-07-12 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 页面生成的方法和装置 |
CN107566875A (zh) * | 2017-08-31 | 2018-01-09 | 江苏省公用信息有限公司 | 一种在智能机顶盒上ui灵活配置、动态更新的方法 |
CN107870798A (zh) * | 2017-09-26 | 2018-04-03 | 五八有限公司 | 应用程序的页面布局处理方法及终端 |
CN109388399A (zh) * | 2018-10-25 | 2019-02-26 | 北京字节跳动网络技术有限公司 | 页面和通用页面配置文件生成方法、装置、设备及介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178012A (zh) * | 2019-12-03 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 一种表单渲染方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110045999B (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502308A (zh) | 页面样式切换方法、装置、计算机设备及存储介质 | |
CN109977333A (zh) | 网页显示方法、装置、计算机设备及存储介质 | |
CN110309243A (zh) | 获取实景电子地图的方法、装置、设备和存储介质 | |
CN109522146A (zh) | 对客户端进行异常测试的方法、装置及存储介质 | |
CN110121094A (zh) | 视频合拍模板的显示方法、装置、设备及存储介质 | |
CN109101213A (zh) | 控制声卡传输音频的方法、装置及存储介质 | |
CN110081902A (zh) | 导航中的方向指示方法、装置及终端 | |
CN108132790A (zh) | 检测无用代码的方法、装置及计算机存储介质 | |
CN110288689A (zh) | 对电子地图进行渲染的方法和装置 | |
WO2019192061A1 (zh) | 图形码的识别及生成方法、装置及计算机可读存储介质 | |
CN110321126A (zh) | 生成页面代码的方法和装置 | |
CN109068008A (zh) | 铃声设置方法、装置、终端及存储介质 | |
CN109218751A (zh) | 推荐音频的方法、装置及系统 | |
CN108734662A (zh) | 显示图标的方法和装置 | |
CN109117466A (zh) | 表格格式转换方法、装置、设备及存储介质 | |
CN108848492A (zh) | 用户身份识别卡的启用方法、装置、终端及存储介质 | |
CN110244999A (zh) | 控制目标应用程序运行的方法、装置、设备及存储介质 | |
CN110109770A (zh) | 调试方法、装置、电子设备及介质 | |
CN110297684A (zh) | 基于虚拟人物的主题显示方法、装置及存储介质 | |
CN110275655A (zh) | 歌词显示方法、装置、设备及存储介质 | |
CN109308265A (zh) | 生成反向测试用例的方法和装置 | |
CN107943484A (zh) | 执行业务功能的方法和装置 | |
CN108829582A (zh) | 程序兼容的方法和装置 | |
CN108664300A (zh) | 一种画中画模式下的应用界面显示方法及装置 | |
CN110045999A (zh) | 绘制组件的方法、装置、终端和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |