CN104252356A - 生成界面的方法和系统 - Google Patents
生成界面的方法和系统 Download PDFInfo
- Publication number
- CN104252356A CN104252356A CN201310271599.8A CN201310271599A CN104252356A CN 104252356 A CN104252356 A CN 104252356A CN 201310271599 A CN201310271599 A CN 201310271599A CN 104252356 A CN104252356 A CN 104252356A
- Authority
- CN
- China
- Prior art keywords
- interface
- interface element
- data
- script engine
- generation
- 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
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种生成界面的方法,所述方法包括:脚本引擎读取界面描述文件,解析所述界面描述文件生成界面数据,并发送给主程序;所述主程序根据所述界面数据,从所述脚本引擎获取与所述界面数据对应的界面元素,并根据获取的所述界面元素和所述界面数据绘制界面。上述生成界面的方法,主程序减少了读取和解析界面描述文件的步骤,使得主程序能够快速生成界面。此外,还提供了一种生成界面的系统。
Description
技术领域
本发明涉及计算机领域,特别是涉及一种生成界面的方法和系统。
背景技术
随着互联网技术的发展,程序可以实现越来越多的功能,极大地改善了我们的生活,而界面是程序与用户之间沟通的桥梁,是人机交互过程中不可缺少的元素,界面美观、交互方便、用户体验好,程序也会被更多的人认可。
发明人发现现有技术中至少存在如下问题:
传统的界面生成方法,通过读取、解析界面描述文件(比如XML(可扩展标记语言)文件),从而生成界面。当界面元素较多时,界面描述文件变得庞大,解析界面描述文件所用的时间也更多,进而导致生成界面时消耗的时间更多。
发明内容
基于此,有必要针对上述程序通过读取界面描述文件生成界面,导致生成界面耗时多的问题,提供一种生成界面的方法和系统。
一种生成界面的方法,所述方法包括:
脚本引擎读取界面描述文件,解析所述界面描述文件生成界面数据,并发送给主程序;
主程序根据所述界面数据,从脚本引擎获取与所述界面数据对应的界面元素,并根据获取的所述界面元素和所述界面数据绘制界面。
一种生成界面的系统,所述系统包括:
脚本引擎,用于读取界面描述文件,解析所述界面描述文件生成界面数据,并发送给主程序;
主程序,用于根据所述界面数据,从所述脚本引擎获取与所述界面数据对应的界面元素,并根据获取的所述界面元素和所述界面数据绘制界面。
一种生成界面的方法,所述方法包括:
从脚本引擎接收界面数据;
根据所述界面数据,从脚本引擎获取与所述界面数据对应的界面元素;
根据获取的所述界面元素和所述界面数据绘制界面。
一种生成界面的系统,所述系统包括:
界面数据获取模块,用于从脚本引擎接收界面数据;
界面元素获取模块,用于从脚本引擎获取与所述界面数据对应的界面元素;
绘制模块,用于根据获取的所述界面元素和所述界面数据绘制界面。
上述生成界面的方法和系统,通过直接从脚本引擎获取布局数据,生成界面,相比现有技术,减少了读取和解析界面描述文件的步骤,使得程序能够快速生成界面。
附图说明
图1为一个实施例中生成界面的方法的流程示意图;
图2为另一个实施例中生成界面的方法的流程示意图;
图3为一个实施例中层级结构的结构框图;
图4为一个实施例中界面元素的位置信息的示意图;
图5为一个实施例中生成界面的方法的流程示意图;
图6为一个实施例中调整界面的示意图;
图7为一个实施例中生成界面的方法的流程示意图;
图8为一个实施例中生成界面的系统的结构框图;
图9为图8中脚本引擎的结构框图;
图10为图9中布局数据生成模块的结构框图;
图11为另一个实施例中生成界面的系统的结构框图;
图12为再一个实施例中主程序的结构框图;
图13为一个实施例中生成界面的方法的流程示意图;
图14为一个实施例中生成界面的系统的结构框图;
图15为图14中界面数据获取模块的结构框图;
图16为另一个实施例中生成界面的系统的结构框图;
图17为一个实施例中生成界面的终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供了一种生成界面的方法。本实施例主要以该生成界面的方法应用于包含有主程序和脚本引擎的终端中来举例说明,该终端可以包括智能手机、平板电脑、膝上型便携计算机和台式计算机等等。该生成界面的方法,包括:
步骤110,脚本引擎读取界面描述文件,解析界面描述文件生成界面数据,并发送给主程序。
脚本(Script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称为宏或批处理文件。脚本引擎是指为了实现预定的功能,而经过包装的函数库,可以读取并解析脚本。界面描述文件是脚本的一种,可以是XML(extensible markup language,可扩展标记语言)文件。界面描述文件使用描述性语言,记载了生成界面所需的信息。脚本引擎可以是一个可执行程序,也可以是一个动态链接库(DLL,Dynamic Link Library)。脚本引擎根据预设的界面描述定义解析界面描述文件,比如当界面描述文件是XML文件时,脚本引擎使用预设的XML文件的描述定义,解析XML文件,获取其中的信息。
脚本引擎可以对解析获得的界面描述文件中的信息进行处理,生成预定格式的界面数据,发送给主程序。如果界面描述文件中的信息已经是预定格式的界面数据,脚本引擎也可以不做进一步处理,直接将该界面数据发送给主程序。脚本引擎可以独立输出布局数据,方便设计人员查看界面效果。
在一个实施例中,主程序与脚本引擎通信可以通过预设接口进行,比如在windows平台采用ATL(Active Template Library,活动模板库,是一种微软程序库)可以很容易就实现JavaScript(一种基于对象和事件驱动并具有相对安全性的客户端脚本语言)脚本的支持。
步骤120,主程序根据界面数据,从脚本引擎获取与界面数据对应的界面元素,并根据获取的界面元素和界面数据绘制界面。
主程序是需要生成界面的应用程序,主程序直接从脚本引擎接收界面数据,从而根据界面数据,从脚本引擎获取与界面数据对应的界面元素。脚本引擎中存在一个界面元素库,包含生成界面所需的界面元素。界面数据记载着生成界面所需的界面元素,主程序根据界面数据从该界面元素库中获取生成界面所需的界面元素,然后根据界面数据绘制界面。界面元素是生成界面所需的基本视觉元素,比如控件的图标,界面元素可以是图片。
脚本引擎可以独立于主程序运行,可以在主程序运行前运行,比如,在终端开机的时候就启动脚本引擎,主程序启动时直接从脚本引擎获取界面数据,从而进一步根据界面数据从脚本引擎获取界面元素,绘制界面。
在一个实施例中,主程序检测针对界面元素的功能触发事件;当主程序检测到功能触发事件时,根据功能触发事件完成与功能触发事件对应的界面元素的功能。本实施例中界面描述文件只记载着生成界面所需的信息,不对界面元素的功能进行定义,界面元素的功能由主程序实现。主程序可以通过检测针对界面元素的功能触发事件,比如鼠标的点击、快捷键等,根据预先定义,对功能触发事件作出反馈,完成与功能触发事件对应的界面元素的功能。本实施例中,界面数据直接由脚本引擎提供,主程序完成界面元素的功能的实现,减少了主程序启动时为生成界面而增加的耗时。
本实施例中,由脚本引擎读取并解析界面描述文件生成界面数据,并发送给主程序。主程序直接从脚本引擎接收界面数据,根据界面数据从脚本引擎获取生成界面所需的界面元素,从而根据获取的界面元素和界面数据绘制界面,相比现有技术,主程序减少了读取和解析界面描述文件的步骤,使得主程序能够快速生成界面。
如图2所示,其为另一个实施例中生成界面的方法的流程示意图。本实施例中,步骤110,脚本引擎读取界面描述文件,解析界面描述文件生成界面数据,并发送给主程序的步骤包括:
步骤112,脚本引擎读取并解析界面描述文件,从而获取界面元素标识、界面元素的组合关系信息和样式数据,界面元素的组合关系信息包括界面元素的排列顺序以及界面元素在层级结构中的位置标识。
界面元素标识可以唯一标识出界面元素,主程序可以根据界面元素标识从脚本引擎的界面元素库中调取生成界面所需的界面元素。样式数据可以在主程序生成界面时,对界面元素作出进一步地调整,在一个实施例中,样式数据可以包括颜色、字体、字号和界面元素是否显示中的至少一项。
界面元素的组合关系信息包括界面元素的排列顺序以及界面元素在层级结构中的位置标识。界面元素的排列顺序可以表示界面元素相对于其它界面元素的排列位置。层级结构通过分层,使得界面元素层次分明,相互关系明确,便于对界面元素进行调整。界面元素在层级结构中的位置标识可以标识界面元素在层级结构中的相对位置,也可以表示界面元素是否叠加于其它界面元素之上或之下,还可以表示该界面元素是否包含或包含于其它界面元素。
如图3所示,其为一个实施例中层级结构的结构框图,该层级结构包括:至少一框架(比如图3中的FrameLayout)、至少一行(比如图3中的Line1Layout、Line2Layout和Line3Layout)、至少一界面元素(比如Button1、Button2和Button3)和至少一组(比如UI Group1、UI Group2和UI Group3);其中框架包含行、行包含组或者界面元素,组包含界面元素。比如行Line2Layout包含三个组,分别是UI Group1、UI Group2和UI Group3,组UI Group2包含三个界面元素,分别是Button1、Button2和Button3。需要说明的是,行可以直接包含界面元素,层级结构中可以没有组。框架用以表示整个界面显示的区域,框架可以包含多行;组是多个界面元素的组合,一组可以包含多个界面元素。界面元素在该层级结构中的位置标识可以包括行标识,当还存在组时,位置标识还可以包括组标识,行标识可以表示界面元素属于哪一行,组标识可以表示界面元素属于哪一组。
步骤114,脚本引擎根据界面元素标识和界面元素的组合关系信息计算界面元素的位置信息,从而生成布局数据,布局数据包括界面元素标识、界面元素的位置信息和界面元素的组合关系信息。
脚本引擎根据界面元素标识和界面元素的组合关系信息,可以计算出界面元素的位置信息。界面元素的组合关系信息,表示了界面元素的相对位置,脚本引擎可以通过计算,得到界面元素的具体位置。比如,界面元素的组合关系信息中,说明界面元素位于“中间”,通过计算可以获得该界面元素在绘制时的具体坐标。
在一个实施例中,脚本引擎根据界面元素标识获取界面元素的尺寸信息;脚本引擎根据尺寸信息和界面元素的组合关系信息,从层级结构中的第一行开始,逐行计算界面元素的位置信息。本实施例中,界面元素的尺寸信息可以是控件图标的宽度和高度。如图4所示,其为一个实施例中界面元素的位置信息的示意图,脚本引擎通过计算,可以获得界面元素的位置信息,其中位置信息包括界面元素在绘制区域中的起始坐标、高和宽。起始坐标、高和宽可以确定界面元素在绘制区域中的位置和大小。本实施例中,在绘制区域(绘制界面的区域)中,左上角坐标从(0,0)开始,向右是X坐标轴,向下是Y坐标轴。脚本引擎读取并解析XML文件(界面描述文件),获取到5个控件图标的标识(界面元素标识)、界面元素的组合关系信息和控件上显示的文字的字体、大小和颜色(样式数据),界面元素的组合关系信息包括控件图标在绘制时的先后顺序(界面元素的排列顺序)以及控件图标在层级结构中的行数和组数(界面元素在层级结构中的位置标识)。其中3个控件图标在第一行,属于第一组,并按照界面元素的排列顺序排列;1个控件图标在第二行;1个控件图标和一个空组在第三行。计算位置信息时,脚本引擎根据各个控件图标的标识,获取各个控件图标的尺寸信息,尺寸信息可以是控件图标的高度和宽度,然后从第一行开始逐行计算。先计算第一行中3个控件图标各自在绘制区域中的起始坐标、高和宽,比如如图示所示,第一行中排列在第一的控件图标,在绘制区域中对应的起始坐标就是(0,0)(本实施例中起始坐标是指控件图标左上角在绘制区域中对应的坐标);第一行中排在第二的控件图标,对应的起始坐标就是(1,0),其X坐标值由在第一行中排第一的控件图标的宽确定;第一行中的组的宽度是三个图标的宽度的和。然后依次计算第二行和第三行。其中第三行中排在第一的是一个空组,可以不绘制;第三行中排在第二的控件图标的起始坐标是(1,2),其X坐标值由空组的宽确定,其Y坐标值由行数确定,其在绘制区域中的高和宽由该控件图标的尺寸信息确定。如图4所示,通过计算,左上角的界面元素起始坐标为(0,0),高是1(Y坐标),宽是1(X坐标);第二行中的界面元素,(0,1)spans3columns,表示起始坐标为(0,1),高是1(Y坐标),宽是3(X坐标)。
步骤116,脚本引擎将包括布局数据和样式数据的界面数据发送给主程序。
脚本引擎将计算后得到的布局数据,连同与布局数据对应的样式数据作为界面数据,发送给主程序,从而由主程序去绘制界面。
本实施例中,脚本引擎通过从界面描述文件中获取的界面元素标识和界面元素的组合关系,计算出界面元素的位置信息,将包括界面元素标识、界面元素的位置信息和界面元素的组合关系信息的布局数据,连同样式数据,作为界面数据输出给主程序,大大减少了主程序读取界面描述文件带来的耗时,主程序在需要生成界面时,直接从脚本引擎获取界面数据,从而生成界面,减少了生成界面的耗时。
如图5所示,其示出了一个实施例中生成界面的方法的流程示意图。本实施例中,主程序根据界面数据,从脚本引擎获取与界面数据对应的界面元素,并根据获取的界面元素和界面数据绘制界面的步骤包括:
步骤122,主程序检测界面调整事件。
主程序通过检测界面调整事件,从而判断是否需要对界面进行调整。在一个实施例中,界面调整事件包括:界面元素的创建、界面元素的隐藏、界面元素的删除、界面元素的移动、窗口的缩放、颜色的改变和字体的改变中的至少一项。界面调整事件还可以是鼠标对预设区域的点击。
步骤124,当主程序检测到界面调整事件时,向脚本引擎发送调整界面的控制信号。
当主程序检测到界面调整事件的时候,可以向脚本引擎发送调整界面的控制信号。主程序也可以直接对界面进行调整,比如界面元素的缩放、颜色、字体的调整。
步骤126,脚本引擎根据控制信号,对界面数据进行调整,并将调整后的界面数据发送给主程序。
主程序发来的控制信号,可以包含具体对哪些界面元素做了调整,脚本引擎根据控制信号,对界面数据做出调整。如果一个或多个界面元素的位置发生了变化,可以重新计算该界面元素或多个界面元素的位置信息。在一个实施例中,也可以通过改变界面元素在层级结构中的位置标识,来调整界面数据。
步骤128,主程序根据调整后的界面数据,从脚本引擎获取与调整后的界面数据对应的界面元素,并根据获取的界面元素和调整后的界面数据绘制界面。
主程序从脚本引擎接收调整后的界面数据,按照调整后的界面数据,从脚本引擎获取界面元素,从而绘制界面。
如图6所示,其为一个实施例中调整界面的示意图。本实施例中,可以通检测鼠标对预设的调整界面的功能键的点击,来调整界面。图6中示出了两种不同的界面,可以在界面描述文件中预设多种界面生成方案,对应不同的方案,脚本引擎可以分别生成不同的界面数据。主程序先接收其中一个方案的界面数据,当主程序检测到预设的调整界面的事件时,直接由脚本引擎将另一个方案的界面数据发送给主程序,极大地提高了界面生成的效率。
本实施例中,可以通过检测界面调整事件,判断主程序是否需要调整界面,当检测到界面调整事件时,向脚本引擎发送调整界面的控制信号,由脚本引擎完成对界面数据的调整,主程序接收调整后的界面数据,并根据调整后的界面数据绘制界面,从而可以灵活地对界面作出调整,提高了生成界面的效率。
如图7所示,在一个实施例中,主程序为浏览器,该生成界面的方法包括:步骤602,脚本引擎读取界面描述文件,解析界面描述文件生成界面数据,并发送给浏览器。
在一个实施例中,脚本引擎读取并解析界面描述文件,从而获取界面元素标识、界面元素的组合关系信息和样式数据,界面元素的组合关系信息包括界面元素的排列顺序以及界面元素在层级结构中的位置标识;脚本引擎根据界面元素标识和界面元素的组合关系信息计算界面元素的位置信息,从而生成布局数据,布局数据包括界面元素标识、界面元素的位置信息和界面元素的组合关系信息;脚本引擎将包括布局数据和样式数据的界面数据发送给浏览器。
在一个实施例中,样式数据包括颜色、字体、字号和界面元素是否显示中的至少一项。
在一个实施例中,层级结构包括:至少一框架、至少一行和至少一界面元素;其中框架包含行、行包含界面元素。
在一个实施例中,层级结构还包括:至少一组,组包含界面元素。
在一个实施例中,脚本引擎根据界面元素标识获取界面元素的尺寸信息;脚本引擎根据尺寸信息和界面元素的组合关系信息,从层级结构中的第一行开始,逐行计算界面元素的位置信息。
在一个实施例中,位置信息包括:界面元素在绘制区域中的起始坐标、高和宽。
步骤604,浏览器根据界面数据,从脚本引擎获取与界面数据对应的界面元素,并根据获取的界面元素和界面数据绘制界面。
在一个实施例中,浏览器检测界面调整事件;当浏览器检测到界面调整事件时,向脚本引擎发送调整界面的控制信号;脚本引擎根据控制信号,对界面数据进行调整,并将调整后的界面数据发送给浏览器;浏览器根据调整后的界面数据,从脚本引擎获取与调整后的界面数据对应的界面元素,并根据获取的界面元素和调整后的界面数据绘制界面。
在一个实施例中,界面调整事件包括:界面元素的创建、界面元素的隐藏、界面元素的删除、界面元素的移动、窗口的缩放、颜色的改变和字体的改变中的至少一项。
在一个实施例中,浏览器检测针对界面元素的功能触发事件;当浏览器检测到功能触发事件时,根据该功能触发事件完成与该功能触发事件对应的界面元素的功能。
本实施例中,浏览器直接从脚本引擎获取界面数据,并根据界面数据绘制界面,减少了读取解析界面描述文件、并对解析的信息进行处理的步骤,使得浏览器能够快速生成界面。
如图8所示,在一个实施例中,还提供了一种生成界面的系统,该系统包括:
脚本引擎710,用于读取界面描述文件,解析界面描述文件生成界面数据,并发送给主程序720。
脚本引擎710可以是一个可执行程序,也可以是一个动态链接库。脚本引擎710可以对解析获得的界面描述文件中的信息进行处理,生成预定格式的界面数据,传输给主程序720。如果界面描述文件中的信息已经是预定格式的界面数据,脚本引擎710也可以不做进一步处理,直接将该界面数据发送给主程序720。脚本引擎710可以独立输出布局数据,方便设计人员查看界面效果。
主程序720,用于从脚本引擎710接收界面数据,根据界面数据,从脚本引擎710获取与界面数据对应的界面元素,并根据获取的界面元素和界面数据绘制界面。
主程序720直接从脚本引擎710接收界面数据,从而根据界面数据,从脚本引擎710获取与界面数据对应的界面元素。脚本引擎710中存在一个界面元素库,包含生成界面所需的界面元素。界面数据记载着生成界面所需的界面元素,主程序720根据界面数据从该界面元素库中获取生成界面所需的界面元素,然后根据界面数据绘制界面。
脚本引擎710可以独立于主程序720运行,可以在主程序720运行前运行,比如,在终端开机的时候就启动脚本引擎710,主程序720启动时直接从脚本引擎710获取界面数据,从而进一步根据界面数据从脚本引擎710获取界面元素,绘制界面。
本实施例中,由脚本引擎710读取并解析界面描述文件生成界面数据,并发送给主程序720。主程序720直接从脚本引擎710接收界面数据,根据界面数据从脚本引擎710获取生成界面所需的界面元素,从而根据获取的界面元素和界面数据绘制界面,相比现有技术,主程序720减少了读取和解析界面描述文件的步骤,使得程序能够快速生成界面。
如图9所示,在一个实施例中,脚本引擎710包括:
界面描述文件解析模块712,用于读取并解析界面描述文件,从而获取界面元素标识、界面元素的组合关系信息和样式数据,界面元素的组合关系信息包括界面元素的排列顺序以及界面元素在层级结构中的位置标识。
界面元素标识可以唯一标识出界面元素,界面描述文件解析模块712可以根据界面元素标识从脚本引擎710的界面元素库中调取生成界面所需的界面元素。样式数据可以在主程序720生成界面时,对界面元素作出进一步地调整,在一个实施例中,样式数据可以包括颜色、字体、字号和界面元素是否显示中的至少一项。
界面元素的组合关系信息包括界面元素的排列顺序以及界面元素在层级结构中的位置标识。界面元素的排列顺序可以表示界面元素相对于其它界面元素的排列位置。层级结构通过分层,使得界面元素层次分明,相互关系明确,便于对界面元素进行调整。界面元素在层级结构中的位置标识可以标识界面元素在层级结构中的相对位置,也可以表示界面元素是否叠加于其它界面元素之上或之下,也可以表示该界面元素是否包含或包含于其它界面元素。
在一个实施例中,层级结构包括:至少一框架、至少一行和至少一界面元素;其中框架包含行、行包含界面元素。层级结构还可以包括组,组包含界面元素。界面元素在该层级结构中的位置标识可以包括行标识,还可以包括组标识。
布局数据生成模块714,用于根据界面元素标识和界面元素的组合关系信息计算界面元素的位置信息,从而生成布局数据,布局数据包括界面元素标识、界面元素的位置信息和界面元素的组合关系信息。
布局数据生成模块714根据界面元素标识和界面元素的组合关系信息,可以计算出界面元素的位置信息。界面元素的组合关系信息,表示了界面元素的相对位置,脚本引擎710可以通过计算,得到界面元素的具体位置。
如图10所示,在一个实施例中,布局数据生成模块714还包括:
尺寸信息获取模块714a,用于根据界面元素标识获取界面元素的尺寸信息。
位置信息计算模块714b,用于根据尺寸信息和界面元素的组合关系信息,从层级结构中的第一行开始,逐行计算界面元素的位置信息。
界面数据发送模块716,用于将包括布局数据和样式数据的界面数据发送给主程序720。
界面数据发送模块716将计算后得到的布局数据,连同与布局数据对应的样式数据作为界面数据,发送给主程序720,从而由主程序720去绘制界面。
在一个实施例中,位置信息包括:界面元素在绘制区域中的起始坐标、高和宽。
本实施例中,脚本引擎710通过从界面描述文件中获取的界面元素标识和界面元素的组合关系,计算出界面元素的位置信息,将包括界面元素标识、界面元素的位置信息和界面元素的组合关系信息的布局数据,连同样式数据,作为界面数据输出给主程序720,大大减少了主程序720读取界面描述文件带来的耗时,主程序720在需要生成界面时,直接从脚本引擎710获取界面数据,从而生成界面,减少了生成界面的耗时。
如图11所示,在一个实施例中,主程序720包括:
界面调整事件检测模块722,用于检测界面调整事件。
界面调整事件检测模块722通过检测界面调整事件,从而判断是否需要对界面进行调整。在一个实施例中,界面调整事件包括:界面元素的创建、界面元素的隐藏、界面元素的删除、界面元素的移动、窗口的缩放、颜色的改变和字体的改变中的至少一项。界面调整事件还可以是鼠标对预设区域的点击。
控制信号发送模块724,用于当测到界面调整事件时,向脚本引擎710发送调整界面的控制信号。
当控制信号发送模块724检测到界面调整事件的时候,可以向脚本引擎710发送调整界面的控制信号。主程序720也可以直接对界面进行调整。
界面绘制模块726,用于从脚本引擎710接收调整后的界面数据,根据调整后的界面数据,从脚本引擎710获取与调整后的界面数据对应的界面元素,并根据获取的界面元素和调整后的界面数据绘制界面。
界面绘制模块726从脚本引擎710接收调整后的界面数据,按照调整后的界面数据,从脚本引擎710获取界面元素,从而绘制界面。
本实施例中,通过检测界面调整事件,判断主程序720是否需要调整界面,当检测到界面调整事件时,向脚本引擎710发送调整界面的控制信号,由脚本引擎710完成对界面数据的调整,主程序720接收调整后的界面数据,并根据调整后的界面数据绘制界面,从而可以灵活地对界面作出调整,提高了生成界面的效率。
如图12所示,在一个实施例中,主程序720还包括:
功能触发事件检测模块728,用于检测针对界面元素的功能触发事件。
功能实现模块729,用于当检测到功能触发事件时,根据功能触发事件完成与功能触发事件对应的界面元素的功能。
本实施例中,界面数据直接由脚本引擎710提供,主程序720完成界面元素的功能的实现,减少了主程序720启动时为生成界面而增加的耗时。
如图13所示,在一个实施例中,还提供了另一种生成界面的方法,包括:
步骤1010,从脚本引擎接收界面数据。
脚本引擎可以是一个可执行程序,也可以是一个动态链接库。界面数据可以包括布局数据和样式数据,布局数据包括界面元素标识、界面元素的位置信息和界面元素的组合关系信息。样式数据可以包括颜色、字体、字号和界面元素是否显示中的至少一项。位置信息包括界面元素在绘制区域中的起始坐标、高和宽。界面元素的组合关系信息可以包括界面元素的排列顺序以及界面元素在层级结构中的位置标识。该层级结构可以包括:至少一框架、至少一行和至少一界面元素;其中框架包含行、行包含界面元素。层级结构还可以包括组,组包含界面元素。
步骤1020,根据界面数据,从脚本引擎获取与界面数据对应的界面元素。
脚本引擎中存在一个界面元素库,包含生成界面所需的界面元素。可以根据界面数据中的界面元素标识,从脚本引擎的界面元素库中获取界面元素。
步骤1030,根据获取的界面元素和界面数据绘制界面。
可以根据界面数据中的信息,对获取的界面元素进行处理,从而绘制界面。
在一个实施例中,该生成界面的方法还包括:检测针对界面元素的功能触发事件;当检测到功能触发事件时,根据所述功能触发事件完成与所述功能触发事件对应的界面元素的功能。
本实施例中,直接从脚本引擎获取界面数据,并根据界面数据从脚本引擎中获取界面元素,从而绘制界面,提高了生成界面的效率,可以快速生成界面。
在另一个实施例中,从脚本引擎接收界面数据的步骤包括:
检测界面调整事件。
界面调整事件可以包括:界面元素的创建、界面元素的隐藏、界面元素的删除、界面元素的移动、窗口的缩放、颜色的改变和字体的改变中的至少一项。界面调整事件还可以是鼠标对预设区域的点击。
当检测到界面调整事件时,向脚本引擎发送调整界面的控制信号。
当检测到界面调整事件时,需要对界面数据进行处理,因此向脚本引擎发送调整界面的控制信号,由脚本引擎根据控制信号对界面数据进行处理。
接收脚本引擎根据控制信号调整的界面数据。
脚本引擎根据控制信号对界面数据进行调整,并将调整后的界面数据反馈回来。接收到调整后的界面数据,就可以根据调整后的界面数据绘制界面。
本实施例中,当检测到界面调整事件事,向脚本引擎发送控制信号,由脚本引擎对界面数据进行调整,从而根据接收到的调整后的界面数据绘制界面,从而可以灵活地对界面作出调整,提高了生成界面的效率。
如图14所示,在一个实施例中,提供了另一种生成界面的系统,包括:
界面数据获取模块1210,用于从脚本引擎接收界面数据。
脚本引擎可以是一个可执行程序,也可以是一个动态链接库。界面数据可以包括布局数据和样式数据,布局数据包括界面元素标识、界面元素的位置信息和界面元素的组合关系信息。样式数据可以包括颜色、字体、字号和界面元素是否显示中的至少一项。位置信息包括界面元素在绘制区域中的起始坐标、高和宽。界面元素的组合关系信息可以包括界面元素的排列顺序以及界面元素在层级结构中的位置标识。该层级结构可以包括:至少一框架、至少一行和至少一界面元素;其中框架包含行、行包含界面元素。该层级结构还可以包括组,组包含界面元素。
界面元素获取模块1220,用从脚本引擎获取与界面数据对应的界面元素。
脚本引擎中存在一个界面元素库,包含生成界面所需的界面元素。可以根据界面数据中的界面元素标识,从脚本引擎的界面元素库中获取界面元素。
绘制模块1230,用于根据获取的界面元素和界面数据绘制界面。
可以根据界面数据中的信息,对获取的界面元素进行处理,从而绘制界面。
本实施例中,直接从脚本引擎获取界面数据,并根据界面数据从脚本引擎中获取界面元素,从而绘制界面,提高了生成界面的效率,可以快速生成界面。
如图15所示,在另一个实施例中,界面数据获取模块1210包括:
事件检测模块1211,用于检测界面调整事件。
界面调整事件可以包括:界面元素的创建、界面元素的隐藏、界面元素的删除、界面元素的移动、窗口的缩放、颜色的改变和字体的改变中的至少一项。界面调整事件还可以是鼠标对预设区域的点击。
信号发送模块1212,用于当检测到界面调整事件时,向脚本引擎发送调整界面的控制信号。
当检测到界面调整事件时,需要对界面数据进行处理,因此向脚本引擎发送调整界面的控制信号,由脚本引擎根据控制信号对界面数据进行处理。
数据接收模块1213,用于接收脚本引擎根据控制信号调整的界面数据。
脚本引擎根据控制信号对界面数据进行调整,并将调整后的界面数据反馈回来。数据接收模块1213接收到调整后的界面数据,就可以根据调整后的界面数据绘制界面。
本实施例中,当检测到界面调整事件事,向脚本引擎发送控制信号,由脚本引擎对界面数据进行调整,从而根据接收到的调整后的界面数据绘制界面,从而可以灵活地对界面作出调整,提高了生成界面的效率。
如图16所示,在一个实施例中,该生成界面的系统还包括:
功能触发事件检测模块1240,用于检测针对界面元素的功能触发事件。
功能实现模块1250,用于当检测到所述功能触发事件时,根据所述功能触发事件完成与所述功能触发事件对应的界面元素的功能。
本实施例中,界面数据直接由脚本引擎提供,界面元素的功能的实现与,减少了主程序720启动时为生成界面而增加的耗时。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
本发明实施例还提供了另一种生成界面的终端,如图17所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图17示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图17,手机包括:射频(Radio Frequency,RF)电路1110、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、无线通信模块1170、处理器1180、以及电源1190等部件。本领域技术人员可以理解,图17中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图17对手机的各个构成部件进行具体的介绍:
RF电路1110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、长期演进(Long TermEvolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1120可用于存储程序程序以及模块,处理器1180通过运行存储在存储器1120的程序程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1130可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1130可包括触控面板1131以及其他输入设备1132。触控面板1131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1131上或在触控面板1131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1180,并能接收处理器1180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1131。除了触控面板1131,输入单元1130还可以包括其他输入设备1132。具体地,其他输入设备1132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1140可包括显示面板1141,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1141。进一步的,触控面板1131可覆盖显示面板1141,当触控面板1131检测到在其上或附近的触摸操作后,传送给处理器1180以确定触摸事件的类型,随后处理器1180根据触摸事件的类型在显示面板1141上提供相应的视觉输出。虽然在图17中,触控面板1131与显示面板1141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1131与显示面板1141集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1141的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1160、扬声器1161,传声器1162可提供用户与手机之间的音频接口。音频电路1160可将接收到的音频数据转换后的电信号,传输到扬声器1161,由扬声器1161转换为声音信号输出;另一方面,传声器1162将收集的声音信号转换为电信号,由音频电路1160接收后转换为音频数据,再将音频数据输出处理器1180处理后,经RF电路1110以发送给比如另一手机,或者将音频数据输出至存储器1120以便进一步处理。
无线通信模块1170包括但不限于无线保真(wireless fidelity,WiFi,一种短距离无线传输技术)模块、蓝牙模块、红外通信模块等。手机通过无线通信模块1170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图17示出了无线通信模块1170,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1120内的程序程序和/或模块,以及调用存储在存储器1120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1180可包括一个或多个处理单元;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
手机还包括给各个部件供电的电源1190(比如电池),优选的,电源可以通过电源管理系统与处理器1180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器1180还具有以下功能:用于从脚本引擎接收界面数据;根据界面数据,从脚本引擎获取与界面数据对应的界面元素;根据获取的界面元素和界面数据绘制界面。
在一个实施例中,处理器1180还具有以下功能:检测界面调整事件;当检测到界面调整事件时,向脚本引擎发送调整界面的控制信号;接收脚本引擎根据控制信号调整的界面数据。
在一个实施例中,界面调整事件包括:界面元素的创建、界面元素的隐藏、界面元素的删除、界面元素的移动、窗口的缩放、颜色的改变和字体的改变中的至少一项。
在一个实施例中,界面数据包括布局数据和样式数据,布局数据包括界面元素标识、界面元素的位置信息和界面元素的组合关系信息。
在一个实施例中,样式数据包括颜色、字体、字号和界面元素是否显示中的至少一项。
在一个实施例中,界面元素的组合关系信息包括界面元素的排列顺序以及界面元素在层级结构中的位置标识。
在一个实施例中,层级结构包括:至少一框架、至少一行和至少一界面元素;其中框架包含行、行包含界面元素。
在一个实施例中,层级结构包括:至少一组,组包含界面元素。
在一个实施例中,位置信息包括:所述界面元素在绘制区域中的起始坐标、高和宽。
在一个实施例中,处理器1180还具有以下功能:用于检测针对所述界面元素的功能触发事件;当检测到所述功能触发事件时,根据所述功能触发事件完成与所述功能触发事件对应的界面元素的功能。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (40)
1.一种生成界面的方法,其特征在于,所述方法包括:
脚本引擎读取界面描述文件,解析所述界面描述文件生成界面数据,并发送给主程序;
所述主程序根据所述界面数据,从所述脚本引擎获取与所述界面数据对应的界面元素,并根据获取的所述界面元素和所述界面数据绘制界面。
2.根据权利要求1所述的生成界面的方法,其特征在于,所述主程序根据所述界面数据,从所述脚本引擎获取与所述界面数据对应的界面元素,并根据获取的所述界面元素和所述界面数据绘制界面的步骤包括:
所述主程序检测界面调整事件;
当所述主程序检测到所述界面调整事件时,向所述脚本引擎发送调整界面的控制信号;
所述脚本引擎根据所述控制信号,对所述界面数据进行调整,并将所述调整后的界面数据发送给所述主程序;
所述主程序根据所述调整后的界面数据,从所述脚本引擎获取与所述调整后的界面数据对应的界面元素,并根据获取的所述界面元素和所述调整后的界面数据绘制界面。
3.根据权利要求2所述的生成界面的方法,其特征在于,所述界面调整事件包括:
界面元素的创建、界面元素的隐藏、界面元素的删除、界面元素的移动、窗口的缩放、颜色的改变和字体的改变中的至少一项。
4.根据权利要求1-3任一项所述的生成界面的方法,其特征在于,所述脚本引擎读取界面描述文件,解析所述界面描述文件生成界面数据,并发送给主程序的步骤包括:
所述脚本引擎读取并解析所述界面描述文件,从而获取界面元素标识、界面元素的组合关系信息和样式数据,所述界面元素的组合关系信息包括界面元素的排列顺序以及所述界面元素在层级结构中的位置标识;
所述脚本引擎根据所述界面元素标识和所述界面元素的组合关系信息计算界面元素的位置信息,从而生成布局数据,所述布局数据包括所述界面元素标识、所述界面元素的位置信息和所述界面元素的组合关系信息;
所述脚本引擎将包括所述布局数据和所述样式数据的界面数据发送给所述主程序。
5.根据权利要求4所述的生成界面的方法,其特征在于,所述样式数据包括颜色、字体、字号和界面元素是否显示中的至少一项。
6.根据权利要求4所述的生成界面的方法,其特征在于,所述层级结构包括:至少一框架、至少一行和至少一界面元素;其中所述框架包含所述行、所述行包含所述界面元素。
7.根据权利要求6所述的生成界面的方法,其特征在于,所述层级结构还包括:
至少一组,所述组包含所述界面元素。
8.根据权利要求6所述的生成界面的方法,其特征在于,所述方法还包括:
所述脚本引擎根据所述界面元素标识获取所述界面元素的尺寸信息;
所述脚本引擎根据所述尺寸信息和所述界面元素的组合关系信息,从所述层级结构中的第一行开始,逐行计算所述界面元素的位置信息。
9.根据权利要求8所述的生成界面的方法,其特征在于,所述位置信息包括:
所述界面元素在绘制区域中的起始坐标、高和宽。
10.根据权利要求1-3任一项所述的生成界面的方法,其特征在于,所述方法还包括:
所述主程序检测针对所述界面元素的功能触发事件;
当所述主程序检测到所述功能触发事件时,根据所述功能触发事件完成与所述功能触发事件对应的界面元素的功能。
11.一种生成界面的系统,其特征在于,所述系统包括:
脚本引擎,用于读取界面描述文件,解析所述界面描述文件生成界面数据,并发送给主程序;
主程序,用于根据所述界面数据,从所述脚本引擎获取与所述界面数据对应的界面元素,并根据获取的所述界面元素和所述界面数据绘制界面。
12.根据权利要求11所述的生成界面的系统,其特征在于,所述主程序包括:
界面调整事件检测模块,用于检测界面调整事件;
控制信号发送模块,用于当测到所述界面调整事件时,向所述脚本引擎发送调整界面的控制信号;
界面绘制模块,用于从所述脚本引擎接收调整后的界面数据,根据所述调整后的界面数据,从所述脚本引擎获取与所述调整后的界面数据对应的界面元素,并根据获取的所述界面元素和所述调整后的界面数据绘制界面。
13.根据权利要求12所述的生成界面的系统,其特征在于,所述界面调整事件包括:
界面元素的创建、界面元素的隐藏、界面元素的删除、界面元素的移动、窗口的缩放、颜色的改变和字体的改变中的至少一项。
14.根据权利要求11-13任一项所述的生成界面的系统,其特征在于,所述脚本引擎包括:
界面描述文件解析模块,用于读取并解析所述界面描述文件,从而获取界面元素标识、界面元素的组合关系信息和样式数据,所述界面元素的组合关系信息包括界面元素的排列顺序以及所述界面元素在层级结构中的位置标识;
布局数据生成模块,用于根据所述界面元素标识和所述界面元素的组合关系信息计算界面元素的位置信息,从而生成布局数据,所述布局数据包括所述界面元素标识、所述界面元素的位置信息和所述界面元素的组合关系信息;
界面数据发送模块,用于将包括所述布局数据和所述样式数据的界面数据发送给所述主程序。
15.根据权利要求14所述的生成界面的系统,其特征在于,所述样式数据包括颜色、字体、字号和界面元素是否显示中的至少一项。
16.根据权利要求14所述的生成界面的系统,其特征在于,所述层级结构包括:至少一框架、至少一行和至少一界面元素;其中所述框架包含所述行、所述行包含所述界面元素。
17.根据权利要求16所述的生成界面的系统,其特征在于,所述层级结构还包括:
至少一组,所述组包含所述界面元素。
18.根据权利要求16所述的生成界面的系统,其特征在于,所述布局数据生成模块还包括:
尺寸信息获取模块,用于根据所述界面元素标识获取所述界面元素的尺寸信息;
位置信息计算模块,用于根据所述尺寸信息和所述界面元素的组合关系信息,从所述层级结构中的第一行开始,逐行计算所述界面元素的位置信息。
19.根据权利要求18所述的生成界面的系统,其特征在于,所述位置信息包括:
所述界面元素在绘制区域中的起始坐标、高和宽。
20.根据权利要求11-13任一项所述的生成界面的系统,其特征在于,所述主程序还包括:
功能触发事件检测模块,用于检测针对所述界面元素的功能触发事件;
功能实现模块,用于当检测到所述功能触发事件时,根据所述功能触发事件完成与所述功能触发事件对应的界面元素的功能。
21.一种生成界面的方法,其特征在于,所述方法包括:
从脚本引擎接收界面数据;
根据所述界面数据,从脚本引擎获取与所述界面数据对应的界面元素;
根据获取的所述界面元素和所述界面数据绘制界面。
22.根据权利要求21所述的生成界面的方法,其特征在于,所述从脚本引擎接收界面数据的步骤包括:
检测界面调整事件;
当检测到所述界面调整事件时,向所述脚本引擎发送调整界面的控制信号;
接收所述脚本引擎根据所述控制信号调整的界面数据。
23.根据权利要求22所述的生成界面的方法,其特征在于,所述界面调整事件包括:
界面元素的创建、界面元素的隐藏、界面元素的删除、界面元素的移动、窗口的缩放、颜色的改变和字体的改变中的至少一项。
24.根据权利要求21-23任一项所述的生成界面的方法,其特征在于,所述界面数据包括布局数据和样式数据,所述布局数据包括所述界面元素标识、所述界面元素的位置信息和所述界面元素的组合关系信息。
25.根据权利要求24所述的生成界面的方法,其特征在于,所述样式数据包括颜色、字体、字号和界面元素是否显示中的至少一项。
26.根据权利要求24所述的生成界面的方法,其特征在于,所述界面元素的组合关系信息包括界面元素的排列顺序以及所述界面元素在层级结构中的位置标识。
27.根据权利要求26所述的生成界面的方法,其特征在于,所述层级结构包括:至少一框架、至少一行和至少一界面元素;其中所述框架包含所述行、所述行包含所述界面元素。
28.根据权利要求27所述的生成界面的方法,其特征在于,所述层级结构还包括:
至少一组,所述组包含所述界面元素。
29.根据权利要求27所述的生成界面的方法,其特征在于,所述位置信息包括:
所述界面元素在绘制区域中的起始坐标、高和宽。
30.根据权利要求21-23任一项所述的生成界面的方法,其特征在于,所述方法还包括:
检测针对所述界面元素的功能触发事件;
当检测到所述功能触发事件时,根据所述功能触发事件完成与所述功能触发事件对应的界面元素的功能。
31.一种生成界面的系统,其特征在于,所述系统包括:
界面数据获取模块,用于从脚本引擎接收界面数据;
界面元素获取模块,用于从脚本引擎获取与所述界面数据对应的界面元素;
绘制模块,用于根据获取的所述界面元素和所述界面数据绘制界面。
32.根据权利要求31所述的生成界面的系统,其特征在于,所述界面数据获取模块包括:
事件检测模块,用于检测界面调整事件;
信号发送模块,用于当检测到所述界面调整事件时,向所述脚本引擎发送调整界面的控制信号;
数据接收模块,用于接收所述脚本引擎根据所述控制信号调整的界面数据。
33.根据权利要求32所述的生成界面的系统,其特征在于,所述界面调整事件包括:
界面元素的创建、界面元素的隐藏、界面元素的删除、界面元素的移动、窗口的缩放、颜色的改变和字体的改变中的至少一项。
34.根据权利要求31-33任一项所述的生成界面的系统,其特征在于,所述界面数据包括布局数据和样式数据,所述布局数据包括所述界面元素标识、所述界面元素的位置信息和所述界面元素的组合关系信息。
35.根据权利要求34所述的生成界面的系统,其特征在于,所述样式数据包括颜色、字体、字号和界面元素是否显示中的至少一项。
36.根据权利要求34所述的生成界面的系统,其特征在于,所述界面元素的组合关系信息包括界面元素的排列顺序以及所述界面元素在层级结构中的位置标识。
37.根据权利要求36所述的生成界面的系统,其特征在于,所述层级结构包括:至少一框架、至少一行和至少一界面元素;其中所述框架包含所述行、所述行包含所述界面元素。
38.根据权利要求37所述的生成界面的系统,其特征在于,所述层级结构还包括:
至少一组,所述组包含所述界面元素。
39.根据权利要求37所述的生成界面的系统,其特征在于,所述位置信息包括:
所述界面元素在绘制区域中的起始坐标、高和宽。
40.根据权利要求31-33任一项所述的生成界面的系统,其特征在于,所述系统还包括:
功能触发事件检测模块,用于检测针对所述界面元素的功能触发事件;
功能实现模块,用于当检测到所述功能触发事件时,根据所述功能触发事件完成与所述功能触发事件对应的界面元素的功能。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310271599.8A CN104252356B (zh) | 2013-06-28 | 2013-06-28 | 生成界面的方法和系统 |
PCT/CN2013/091264 WO2014206055A1 (en) | 2013-06-28 | 2013-12-31 | A method and system for generating a user interface |
US14/316,058 US9977661B2 (en) | 2013-06-28 | 2014-06-26 | Method and system for generating a user interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310271599.8A CN104252356B (zh) | 2013-06-28 | 2013-06-28 | 生成界面的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104252356A true CN104252356A (zh) | 2014-12-31 |
CN104252356B CN104252356B (zh) | 2018-04-06 |
Family
ID=52140954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310271599.8A Active CN104252356B (zh) | 2013-06-28 | 2013-06-28 | 生成界面的方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104252356B (zh) |
WO (1) | WO2014206055A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016150386A1 (zh) * | 2015-03-25 | 2016-09-29 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
WO2016150387A1 (zh) * | 2015-03-25 | 2016-09-29 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
WO2016150388A1 (zh) * | 2015-03-25 | 2016-09-29 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
CN106933567A (zh) * | 2017-01-24 | 2017-07-07 | 北京广利核系统工程有限公司 | 一种图形用户界面gui系统 |
CN107122175A (zh) * | 2017-03-30 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 界面生成方法及装置 |
CN108733371A (zh) * | 2018-05-16 | 2018-11-02 | 北京奇艺世纪科技有限公司 | 一种界面生成方法、装置及设备 |
CN109324796A (zh) * | 2018-08-01 | 2019-02-12 | 浙江口碑网络技术有限公司 | 界面布局方法及装置 |
CN110201392A (zh) * | 2019-06-06 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 用户界面生成方法、装置和终端 |
CN110806874A (zh) * | 2018-08-03 | 2020-02-18 | 武汉斗鱼网络科技有限公司 | 一种直播间配置文件的解析方法、存储介质、电子设备及系统 |
CN111414165A (zh) * | 2019-01-06 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 界面代码的生成方法及设备 |
CN111752562A (zh) * | 2020-05-18 | 2020-10-09 | 深圳市东微智能科技股份有限公司 | 跨平台的客户端界面开发方法、装置、终端设备及介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3525089A4 (en) * | 2017-01-24 | 2020-06-10 | China Techenergy Co., Ltd | GRAPHIC USER INTERFACE (GUI) SYSTEM |
CN112269577A (zh) * | 2020-10-26 | 2021-01-26 | 北京信而泰科技股份有限公司 | 控制界面的配置方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334728A (zh) * | 2008-07-28 | 2008-12-31 | 北京航空航天大学 | 一种基于xml文档描述的界面生成方法和平台 |
CN101699393A (zh) * | 2009-10-09 | 2010-04-28 | 中国电子科技集团公司第二十八研究所 | 一种面向网络的智能化软件界面动态生成方法 |
CN101702123A (zh) * | 2009-11-03 | 2010-05-05 | 中兴通讯股份有限公司 | 移动终端界面实现方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7672938B2 (en) * | 2007-10-05 | 2010-03-02 | Microsoft Corporation | Creating search enabled web pages |
CN101266543A (zh) * | 2008-01-14 | 2008-09-17 | 中兴通讯股份有限公司 | 一种图形界面处理装置和方法 |
CN101815093A (zh) * | 2010-03-11 | 2010-08-25 | 深圳市嘉讯软件有限公司 | 一种网页到移动终端的适配方法及移动终端页面适配装置 |
-
2013
- 2013-06-28 CN CN201310271599.8A patent/CN104252356B/zh active Active
- 2013-12-31 WO PCT/CN2013/091264 patent/WO2014206055A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334728A (zh) * | 2008-07-28 | 2008-12-31 | 北京航空航天大学 | 一种基于xml文档描述的界面生成方法和平台 |
CN101699393A (zh) * | 2009-10-09 | 2010-04-28 | 中国电子科技集团公司第二十八研究所 | 一种面向网络的智能化软件界面动态生成方法 |
CN101702123A (zh) * | 2009-11-03 | 2010-05-05 | 中兴通讯股份有限公司 | 移动终端界面实现方法及系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016150387A1 (zh) * | 2015-03-25 | 2016-09-29 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
WO2016150388A1 (zh) * | 2015-03-25 | 2016-09-29 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
CN106162342A (zh) * | 2015-03-25 | 2016-11-23 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
CN106162353A (zh) * | 2015-03-25 | 2016-11-23 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
CN106162344A (zh) * | 2015-03-25 | 2016-11-23 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
WO2016150386A1 (zh) * | 2015-03-25 | 2016-09-29 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
CN106933567B (zh) * | 2017-01-24 | 2020-11-06 | 北京广利核系统工程有限公司 | 一种图形用户界面gui系统 |
CN106933567A (zh) * | 2017-01-24 | 2017-07-07 | 北京广利核系统工程有限公司 | 一种图形用户界面gui系统 |
CN107122175A (zh) * | 2017-03-30 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 界面生成方法及装置 |
CN108733371A (zh) * | 2018-05-16 | 2018-11-02 | 北京奇艺世纪科技有限公司 | 一种界面生成方法、装置及设备 |
CN109324796A (zh) * | 2018-08-01 | 2019-02-12 | 浙江口碑网络技术有限公司 | 界面布局方法及装置 |
CN110806874A (zh) * | 2018-08-03 | 2020-02-18 | 武汉斗鱼网络科技有限公司 | 一种直播间配置文件的解析方法、存储介质、电子设备及系统 |
CN110806874B (zh) * | 2018-08-03 | 2023-08-18 | 西安创业天下网络科技有限公司 | 一种直播间配置文件的解析方法、存储介质、电子设备及系统 |
CN111414165A (zh) * | 2019-01-06 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 界面代码的生成方法及设备 |
CN111414165B (zh) * | 2019-01-06 | 2024-04-02 | 阿里巴巴集团控股有限公司 | 界面代码的生成方法及设备 |
CN110201392A (zh) * | 2019-06-06 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 用户界面生成方法、装置和终端 |
CN110201392B (zh) * | 2019-06-06 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 用户界面生成方法、装置和终端 |
CN111752562A (zh) * | 2020-05-18 | 2020-10-09 | 深圳市东微智能科技股份有限公司 | 跨平台的客户端界面开发方法、装置、终端设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104252356B (zh) | 2018-04-06 |
WO2014206055A1 (en) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104252356A (zh) | 生成界面的方法和系统 | |
CN106775637B (zh) | 一种应用程序的页面显示方法和装置 | |
US10853437B2 (en) | Method and apparatus for invoking application programming interface | |
US9740671B2 (en) | Method and apparatus of generating a webpage from an original design file comprising layers | |
CN103605471B (zh) | 单手控制方法、装置及手持设备 | |
KR101794397B1 (ko) | 표시된 폰트를 확대하는 방법과 장치, 및 기록매체 | |
EP2851779A1 (en) | Method, device, storage medium and terminal for displaying a virtual keyboard | |
CN105975190B (zh) | 一种图形界面的处理方法、装置及系统 | |
CN104298436A (zh) | 一种快捷回复操作方法和终端 | |
CN103544056B (zh) | 控制任务速度的方法、装置和终端设备 | |
CN108958606B (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN111580815B (zh) | 一种页面元素的编辑方法及相关设备 | |
CN103677564B (zh) | 滑动操作响应方法、装置及终端设备 | |
US20150089431A1 (en) | Method and terminal for displaying virtual keyboard and storage medium | |
CN104238900B (zh) | 一种页面定位方法及装置 | |
CN106371749A (zh) | 一种终端控制的方法和装置 | |
CN104820546B (zh) | 功能信息展示方法和装置 | |
CN104869465A (zh) | 视频播放控制方法和装置 | |
CN104679724A (zh) | 页面注释方法及装置 | |
CN105653112B (zh) | 一种显示浮层的方法及装置 | |
CN107479799B (zh) | 一种显示窗口的方法和装置 | |
CN103399657A (zh) | 鼠标指针的控制方法、装置及终端设备 | |
US10101894B2 (en) | Information input user interface | |
CN107632985A (zh) | 网页预加载方法及装置 | |
CN104123308A (zh) | 网页生成方法及网页生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |