CN103399750A - 用户界面实现方法及装置 - Google Patents

用户界面实现方法及装置 Download PDF

Info

Publication number
CN103399750A
CN103399750A CN2013103416851A CN201310341685A CN103399750A CN 103399750 A CN103399750 A CN 103399750A CN 2013103416851 A CN2013103416851 A CN 2013103416851A CN 201310341685 A CN201310341685 A CN 201310341685A CN 103399750 A CN103399750 A CN 103399750A
Authority
CN
China
Prior art keywords
behavior
descriptor
result
user interface
corresponding relation
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
Application number
CN2013103416851A
Other languages
English (en)
Other versions
CN103399750B (zh
Inventor
张震
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310341685.1A priority Critical patent/CN103399750B/zh
Publication of CN103399750A publication Critical patent/CN103399750A/zh
Priority to PCT/CN2014/083584 priority patent/WO2015018299A1/zh
Application granted granted Critical
Publication of CN103399750B publication Critical patent/CN103399750B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

本发明公开了一种用户界面实现方法及装置。其中方法包括:为用户界面上的界面元素建立物体-行为-结果模型,其中,所述物体-行为-结果模型包括物体、行为和结果的描述信息,所述物体是指所述用户界面上的界面元素;所述行为是指对所述物体进行的动作;所述结果是指对所述物体执行所述行为之后,所述用户界面呈现的状态;解析所述物体-行为-结果模型以得到物体、行为和结果之间的对应关系;根据所述物体的描述信息以及物体、行为和结果之间的对应关系,将与所述物体对应的界面元素显示在用户界面上,并实现与用户的界面交互。基于该物体-行为-结果模型使得开发应用主题变得简单,也使得复杂的逻辑描述变得简单。

Description

用户界面实现方法及装置
技术领域
本发明涉及智能终端交互技术领域,具体涉及一种用户界面实现方法及装置。
背景技术
随着智能终端设备的不断普及,用户对智能终端设备的软件需求越来越多,但目前提供给用户的各种软件良莠不齐,界面各异,智能终端用户在众多的应用软件中,最终会选择用户界面(User Interface,简称:UI)视觉效果良好,且具有良好的体验的应用留在自己的智能终端上长期使用。面对用户的多样化需求,如何设计出能够满足用户需求的UI成为一个巨大的挑战。
UI设计是智能终端软件的人机交互、操作逻辑、美观界面的整体设计。UI是智能终端操作系统中人机交互的窗口,它必须基于智能终端的物理特性和软件的应用特性进行合理的设计。目前,已有的UI设计基于的是可扩展标记语言(eXtensible Markup Language,简称:XML)的界面解析渲染技术,该技术主要利用XML作为数据结构的载体,记录UI元素的位置、布局等属性,以便在运行时解析以生成所需要的对象。以小米手机的锁屏引擎为例,在其XML文件中以每个UI元素为单位定义UI元素的各种属性和逻辑,例如对于解锁UI元素(该元素为一个图片),定义了这个图片的位置、旋转、透明度、缩放比例等属性,这个图片所适用的各种动画效果,以及这个图片的操作属性,如“unlocker”属性,表示该解锁UI元素可以直线拖拽,拖拽动作会引发解锁行为。在这类UI设计中,UI模式比较单一,都是以一个UI元素为单位,描述该UI元素的属性和逻辑,采用这样的方式对逻辑的描述不足,难以支持类似于游戏这样的复杂逻辑;而且这种设计的扩展性不足,它仅支持直线拖拽的解锁行为,如更改解锁模式需要开发单独的逻辑,有可能已经超出了其最初的设计框架。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用户界面实现方法和相应的用户界面实现装置。
根据本发明的一个方面,提供了一种用户界面实现方法,包括:
为用户界面上的界面元素建立物体-行为-结果模型,其中,所述物体-行为-结果模型包括物体、行为和结果的描述信息,所述物体是指所述用户界面上的界面元素;所述行为是指对所述物体进行的动作;所述结果是指对所述物体执行所述行为之后,所述用户界面呈现的状态;
解析所述物体-行为-结果模型以得到物体、行为和结果之间的对应关系;
根据所述物体的描述信息以及物体、行为和结果之间的对应关系,将与所述物体对应的界面元素显示在用户界面上,并实现与用户的界面交互。
根据本发明的另一方面,提供了一种用户界面实现装置,包括:
模型构建器,适于为用户界面上的界面元素建立物体-行为-结果模型,其中,所述物体-行为-结果模型包括物体、行为和结果的描述信息,所述物体是指所述用户界面上的界面元素;所述行为是指对所述物体进行的动作;所述结果是指对所述物体执行所述行为之后,所述用户界面呈现的状态;
解析器,适于解析所述物体-行为-结果模型以得到物体、行为和结果之间的对应关系;
执行器,适于根据所述物体的描述信息以及物体、行为和结果之间的对应关系,将与所述物体对应的界面元素显示在用户界面上,并实现与用户的界面交互。
在本发明提供的方案中,不再以UI元素为单位预先定义其属性和逻辑,而是将多个UI元素的属性和逻辑等信息分为物体、行为和结果的描述信息分别来定义,然后通过解析物体-行为-结果模型得到物体、行为和结果之间的对应关系,根据该对应关系在用户界面上实现多个UI元素。基于该物体-行为-结果模型使得开发应用主题变得简单,也使得复杂的逻辑描述变得简单。物体-行为-结果模型的开放性和扩展性可以支持更多复杂、有趣的界面设计,无论是物体、行为和结果都可以独立地进行演进,因此当开发者需要实现当前应用能力以外的功能时,可以独立于主框架继续开发新增加的功能,从而很方便的实现扩展。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的用户界面实现方法的流程图;
图2示出了根据本发明一个实施例的建立IBA模型的过程示意图;
图3示出了根据本发明一个实施例的用户界面实现装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
通常来说,智能终端设备的每一个应用的用户界面都包含很多个UI元素,如果按照现有技术以每个UI元素为单位定义其属性和逻辑,势必会使上述问题更加复杂化。因此,本发明提供了一种用户界面实现方法及装置,在该方法及装置中,为多个UI元素建立物体(Item)-行为(Behavior)-结果(Action)模型,以下简称IBA模型。在本发明中,不再以UI元素为单位预先定义其属性和逻辑,而是将多个UI元素的属性和逻辑等信息分为物体、行为和结果的描述信息分别来定义,然后通过解析IBA模型得到物体、行为和结果之间的对应关系,根据该对应关系在用户界面上实现多个UI元素。
在本发明以下实施例中,将以锁屏应用为例介绍本发明的技术方案。本发明实施例所采用的锁屏应用是基于安卓(Android)系统的平台性质锁屏产品。通过该锁屏应用用户可以根据个人偏好随意下载服务器端提供的各式各样的锁屏主题样式,在智能终端自由进行锁屏主题切换。该锁屏应用将锁屏能力、终端系统的各种快捷功能以及服务器端业务能力以统一UI交互、接口或配置文件等方式对外提供,抽象成为统一的锁屏开发规范提供给第三方开发者。该锁屏应用将形成一个锁屏产品的平台,让第三方开发者发布的主题通过服务器端锁屏中心的渠道提供给用户。
图1示出了根据本发明一个实施例的用户界面实现方法100的流程图。如图1所示,方法100始于步骤S101,其中为用户界面上的UI元素建立IBA模型。IBA模型包括物体、行为和结果的描述信息。其中,物体是指用户界面上的界面元素,具体地,物体可以包括:用于在用户界面上展现静态图或动态图的图片控件、用于在用户界面上展现文本内容的文字控件、用于描述矩形的区域控件、用于包含多个控件的组控件或预定义物体控件。行为是指对物体进行的动作,行为可以是用户的操作行为,如用户在界面上进行的某种可触发事件的动作,例如点击或拖拽某个物体;行为也可以是系统的自身行为,如可触发事件的触发条件。结果是指对物体执行行为之后,用户界面呈现的状态,结果表示行为将会触发的事件,可能是产生某个系统行为(如解锁、打电话等),也可能是系统自身参数的调整。
以锁屏应用为例,本发明将用户界面抽象为物体、行为和结果,以近自然的语言描述UI,这里采用的是XML语言。图2示出了根据本发明一个实施例的建立IBA模型的过程200示意图,如图2所示,该过程200始于步骤S201,首先,在预设目录下新建XML文件,定义锁屏主题。例如,在XML文件中定义:
<lock name="onepiece">
</lock>
其中,lock name字段填写的是主题名称。后续所有定义的内容都会填写在<lock>标签内。
在步骤S201之后,过程200进入步骤S202,其中在主题标签内部定义图层标签。例如,在<lock>标签内部定义:
<layer name="mainlayer">
</layer>
其中,layer name字段填写的是图层名称。后续所有位于同一图层的物体都要在同一图层标签内部定义。不同图层标签的layer name字段是唯一的,不能重复使用。
在步骤S202之后,过程200进入步骤S203,其中在图层标签内部添加物体,即定义物体的描述信息。物体的描述信息包括物体名称和物体属性,物体名称用于唯一标识该物体,物体属性用于描述根据物体的描述信息所显示的界面元素的特征信息。可选地,物体属性可以包括以下属性中的一项或多项:位置属性、大小属性、旋转属性、缩放属性、可见度属性以及颜色属性等等。可选地,物体属性还可以包括动画属性,动画属性用于描述根据物体的描述信息所显示的界面元素的动画效果。根据物体类型的不同,其对应的物体属性也会有所不同。
以最简单的滑动解锁为例,该主题一般包括一个图片控件,图片控件用于在锁屏界面上展示静态或动态的图片,图片来源可以被设置为预先配置好的主题包中的图片,也可以由用户自定义选择。
举例来说,在图层标签内部添加子节点图片控件如下:
<image name="ship"res="ship.png"basey="#screen_h-80"basex="#screen_w/8"restraint="keepy"/>
上述图片控件的描述信息包括物体名称name=“ship”和物体属性,物体属性包括:图片来源属性res="ship.png"和位置属性basey="#screen_h-80"basex="#screen_w/8"。其中,“ship”是图片控件的唯一标识符,该图片控件使用的图片是"ship.png",图片的起始中心坐标为"#screen_w/8","#screen_h-80",其中#screen_w表示屏幕宽度,#screen_h表示屏幕高度。
为了让上述图片只能横向运动,即实现横向滑动解锁,还需在图层标签外部添加约束器,即定义约束器的描述信息。例如,添加约束器如下:
<restraint name="keepy">
<restraint_element type="shortcut" shortcut="keepy"/>
</restraint>
上述约束器的描述信息包括约束器名称name="keepy"和移动范围信息type="shortcut" shortcut="keepy"。其中,"keepy"是该约束器的唯一标识符,type="shortcut"表示约束器的类型为shortcut,当约束器的类型为shortcut时,keepx表示移动时x轴的坐标不变,keepy表示移动时y轴的坐标保持不变。因此上述约束器的移动范围信息具体为保持y轴的坐标不变。对应的,图片控件的描述信息还包括约束器信息restraint="keepy","keepy"与上述添加的约束器的名称是相对应的,表示图片控件受到上述约束器的限制,移动时需保持y轴的坐标不变,即在水平方向上移动。
另外,为了定义解锁的目标区域,还需在图层标签内部添加子节点区域控件如下:
<region name="target" basey="#screen_h-80" basex="#screen_w*7/8" h="100" w="100"/>
上述区域控件的描述信息包括物体名称name="target"以及位置属性basey="#screen_h-80" basex="#screen_w*7/8"、大小属性h="100" w="100"。其中,"target"是区域控件的唯一标识符,区域的起始中心坐标为"#screen_w*7/8","#screen_h-80",区域的高为100,宽为100。
由于绝大部分用户点亮手机查看锁屏界面的主要目的是查看时间,那么显示一个漂亮的时钟和当前的日期能够大大方便用户的使用。为了显示时钟,可以利用预定义物体控件来实现。预定义物体控件集成了一些特殊功能的组件,实际上是一个组,但不需要分别定义子节点。以时钟组件为例,在预先配置好的主题包内提供有clock_0.png~clock9.png以及冒号clock_dot.png共11张图片,预定义的时钟组件class="clock"由这些图片组成,在图层标签内部添加预定义物体控件如下:
<superitem name="clock" basey="#screen_h*0.1" basex="#screen_w*0.5"class="clock"/>
上述预定义物体控件的描述信息包括物体名称name="clock"和位置属性basey="#screen_h*0.1"basex="#screen_w*0.5"、类型属性class="clock"。其中,"clock"是该预定义控件的唯一标识符,该预定义控件由主题包内的11张图片组成,其起始中心坐标为"#screen_w*0.5","#screen_h*0.1"。依据这些属性,上述11张图片将会以起始中心坐标为中心自动并排排版,中间无间隔、无重叠,形成时钟。
为了显示日期,可以利用文字控件来实现。例如,在图层标签内部添加文字控件如下:
<text name="date"align="center"color="#AAEEEEEE"basey="#screen_h*0.1+60"basex="#screen_w*0.5"paras="date_yyyy/MM/dd EE"content="%s"size="16"/>
上述文字控件的描述信息包括文字名称name="date"和物体属性,该物体属性包括:对齐属性align="center"、颜色属性color="#AAEEEEEE"、位置属性basey="#screen_h*0.1+60"basex="#screen_w*0.5"、参数属性paras="date_yyyy/MM/dd EE"、内容属性content="%s"、文字大小属性size="16"。其中,"date"是该文字控件的唯一标识符,该文字控件中文本的对齐方式为以中心对齐,文字的颜色值为"#AAEEEEEE",文字大小为16,文字控件起始中心坐标为"#screen_w*0.5","#screen_h*0.1+60"。内容属性content表示需要显示的文字内容,支持类似于C语言的格式化字符串,用%表示需要替换的参数。在该例子中,内容属性是可配置的字符串参数"%s",它的实际参数定义在paras内,以date开头,这表示content内的"%s"将被替换为一串日期信息,具体格式为yyyy/MM/dd EE,例如2012/07/06周二。
为了能够使锁屏界面更富有生气,还可以添加一些具有动画效果的图片控件。例如,为上述图片控件"ship"添加背景海浪(由另一图片控件"wave1"来实现)和前景海浪(由另一图片控件"wave2"来实现),让图片控件"ship"显示在两层海浪之间。而海浪不应该是固定的,它们可以上下波动。海浪依然需要定义在图层标签内部,由于先定义的控件将被置于底层,而后定义的控件将被置于顶层,因此将wave1的描述信息放在"ship"的描述信息之前,将wave2的描述信息放在"ship"的描述信息之后。在图层标签内部添加两个图片控件"wave1"和"wave2":
<image name="wave1"res="wave1.png"basey="#screen_h-50+6*$sin(6.28*(#time%3000/3000))"basex="#screen_w/2"/>
……
<image name="wave2"res="wave2.png"basey="#screen_h-30+6*$sin(-6.28*(#time%3000/3000))"basex="#screen_w/2"/>
上述两个图片控件的动画效果是通过位置属性来实现的,这两个图片控件的basey都是根据表达式得到的,其中"#time"的值表示从锁屏启动到当前帧所花费的毫秒数;那么"#time%3000/3000"则表示一个以三秒为周期,从0到1的周期变化。结合三角函数,可以很方便地制造出波动效果。
可选地,也可以通过物体属性所包含的动画属性来描述所显示UI元素的动画效果。该动画属性可以为alpha渐变动画(alpha_animation),位移动画(position_animation),缩放动画(scale_animation),旋转动画(rotate_animation),图片帧动画(frame_animation),斜切动画(skew_animation)。这些动画属性也可以作为控件的子元素来定义。每种动画的播放方式都可以分为单次播放和循环播放,由其状态值来控制,状态值为0表示停止播放,状态值为1表示单次播放,状态值为2表示循环播放。动画由若干关键帧组成,对于关键帧时间点,按照动画属性的具体取值获得当前的属性值;对于非关键帧时间点,可以使用差值的方法确定具体的属性值,例如在时间点t(t0<t<t1,其中t0和t1是两个相邻的关键帧时间点),其属性值为v=(t-t0)*(v1-v0)/(t1-t0)+v0,其中v0是时间点t0的属性值,v1是时间点t1的属性值。这样,当动画线程运行时,根据线程运行的任意时间t,可以推出对应的属性值v,随着线程的运行(t不断增加,单位毫秒),属性值也不断变化,在界面上即可看到UI元素在做相应的动画(例如属性值是rotate,即可看到UI元素在旋转)。
通过添加上述多个物体,在解析之后可以在用户界面上显示一张漂亮的壁纸,但仅显示壁纸是不够的,还要实现为用户提供进一步的UI交互功能。因此,在步骤S203之后,过程200进入步骤S204,其中在主题标签内部添加行为,即定义行为的描述信息。在本发明中,行为包括两种,一种是用户的操作行为,这种行为对应于行为的动作模式;另一种是系统自身的行为,这种行为对应于行为的触发模式。
用户的操作行为是用户的动作所对应的主动行为,这种行为的描述信息包括行为受体、动作信息以及结果信息。其中,行为受体与物体名称具有对应关系,结果信息与结果名称(为结果的描述信息,将在后续描述)具有对应关系,动作信息用于描述对物体所进行的动作。本发明中动作信息支持以下动作:
down:手指在物体上按下;
move:物体被移动;
up:手指抬起离开物体;
onclick:手指在物体上点击(按下后立即抬起);
longclick:手指在物体上的固定位置停留超过一段时间;
doubleclick:在一定时间内手指在物体上连续点击两次;
dragto:手指拖拽物体到目标区域内后抬起手指,抬手时触发,在行为的子节点中必须定义to属性,from属性可以不定义,默认是执行该动作的物体;
dragin:手指拖拽物体从目标区域外到区域内,物体中心越界时触发,在行为的子节点中必须定义to属性,from属性可以不定义,默认是执行该动作的物体;
dragout:手指拖拽物体从目标区域内到区域外。物体中心越界时触发,在行为的子节点中必须定义from属性,to属性可以不定义,默认是执行该动作的物体;
slide:手指在开始(from)区域内按下并滑动到结束(to)区域抬起。开始区域和结束区域都必须在行为的子节点中定义;
slide_left:手指在行为受体对应的区域内向左滑动后抬手,或者滑出区域后抬手;
slide_right:手指在行为受体对应的区域内向右滑动后抬手,或者滑出区域后抬手;
slide_up:手指在行为受体对应的区域内向上滑动后抬手,或者滑出区域后抬手;
slide_down:手指在行为受体对应的区域内向下滑动后抬手,或者滑出区域后抬手;
movein:物体移入目标区域,可以是随动画移入,与dragin有区别;
moveout:物体移出目标区域,可以是随动画移出,与dragout有区别;
scroll x、y:物体滚动(scroll)动作结束时触发;
slide_over:手指按下的触点作为起点,当手指当前位置与起点连线越过行为受体对应的区域时触发;
on_init:屏幕第一次锁上时触发,一般利用此动作执行参数初始化操作,行为受体应为图层名称;
on_refresh:屏幕刷新时调用,一般利用此动作执行持续的变量监听,行为受体应为图层名称。
继续以滑动解锁为例,在添加了上述物体之后,在图层标签外部添加行为如下:
<behavior name="drag_to_unlock"verb="dragto"object="ship">
<behavior_element action="unlock"to="target"/>
</behavior>
上述行为的描述信息包括行为名称name="drag_to_unlock",动作信息verb="dragto",行为受体object="ship",还包括在行为的子节点behavior_element中定义的结果信息action="unlock"。另外,在行为的子节点中还定义了to属性to="target"。行为受体与物体名称相对应,结果信息与后续描述的结果名称相对应,该行为所描述的是用户将图片控件"ship"拖动到区域控件"target"中,将触发"unlock"动作。
系统自身的行为是由于某参数变化达到了触发条件而产生的被动行为,这种行为的描述信息包括触发条件和结果信息。其中,触发条件是行为的触发条件,结果信息与后续描述结果名称相对应。举例如下:
<behavior name="behavior_name"trigger="expression">
<behavior_element condition="expression"action="action_name"/>
</behavior>
其中,上述行为的描述信息包括行为名称name="behavior_name",触发条件trigger="expression"和结果信息action="action_name",除此之外,该行为的描述信息还包括执行条件condition="expression"。其中trigger可以理解为一个触发器,它用于被动地监听"expression"参数变化事件,例如,当"expression"由0变成1时,trigger监听到这个变化,该行为的触发条件得到满足,行为就被触发执行。condition是结果的执行条件,如果执行条件得到满足,对应的结果"action_name"就被触发执行。
在上述示例中,行为包括一个子元素,但还存在行为包括多个子元素的情况,即包含多个behavior_element。当行为的触发条件得到满足时,多个behavior_element将被逐个触发执行,会尝试执行每个behavior_element的action。但在执行action之前,还需要判断执行条件condition是否得到满足,如满足,则继续执行对应的action;如不满足,则放弃执行对应的action,继续尝试执行下一个behavior_element的action。另外,还可以规定,如果一个behavior_element的action被执行,那么后续的behavior_element将被丢弃,不再执行。在这种情况下,如果希望一个behavior同时执行多个action,可以在对应的action的描述语言中定义多个action_element。
在添加了行为之后,过程200进入步骤S205,其中在主题标签内部添加结果,即定义结果的描述信息。结果的描述信息包括结果名称、结果状态和结果类型;其中,结果状态用于描述用户界面呈现的状态,结果类型用于描述用户界面呈现状态对应的系统类型。在本发明中,结果类型支持三种:系统调用(standard)、自更新(self)和自定义调用(intent)。系统调用是指调用锁屏中心预定义的跳转事件,自定义调用是指调用安卓系统自带的功能界面,自更新是指通过调整UI参数(参见后续的描述)来对整个UI界面进行调整控制。
以上述滑动解锁为例,在添加了上述物体和行为之后,在图层标签外部添加结果如下:
<action name="unlock">
<action_element intent="unlock"type="standard"/>
</action>
上述结果的描述信息包括结果名称name="unlock",结果状态intent="unlock"以及结果类型type="standard"。结果的描述信息中所包含的结果名称对应于行为的描述信息中所包含的结果信息,"unlock"是一个标准动作,所以定义其类型为"standard"。上述结果描述的是执行对应的行为之后用户界面呈现的状态为解锁。
进一步的,在建立IBA模型的过程中,除了定义上述物体、行为和结果的描述信息,还可以定义全局参数的描述信息。顾名思义,全局参数是整个主题中都可调用的参数,其目的是能使主题应用在逻辑层面呈现更加复杂多样的功能。全局参数的描述信息包括全局参数名称,对应的,与全局参数有关的结果的描述信息还包括全局参数名称及全局参数的赋值;与全局参数有关的物体的描述信息所包括物体属性与全局参数的赋值相关联。全局参数的赋值是在与其有关的结果中完成的,而与全局参数有关的物体的物体属性则受到全局参数的赋值的影响。举例如下,在主题标签内部定义如下全局参数:
<parameter name="state"type="int"value="0"min="0"max="1"></parameter>
上述全局参数的描述信息包括全局参数名称name="state",还包括全局参数类型type="int",全局参数的当前值value="0",全局参数的最小值min="0",最大值max="1"。
该全局参数的赋值是在某个与之有关的结果中完成的,例如:
<behavior name="hidephoto"object="lock"verb="down">
<behavior_element action="action_hidephoto"></behavior_element>
</behavior>
<action name="action_hidephoto">
<action_element type="self"intent="state=1;wave.fra_anim_state=0"></action_element>
</action>
行为受体"lock"被按下("down")时触发"action_hidephoto",通过执行"action_hidephoto",将全局参数state赋值为1。
与此同时,与全局参数有关的物体的属性受到全局参数的赋值的影响,例如:
<image name="pic_1"res="default_1.png"basex="80"basey="#screen_h*0.60"rotate="-3"customize="1"visible="$eq(state,0)"></image>
在全局参数state被赋值为1后,图片控件"pic_1"的可见度属性visible="$eq(state,0)"变为0,即不可见,其中$eq是一个逻辑函数,若其两个参数相等则返回1,否则返回0。
通过定义上述全局参数,实现了行为受体"lock"被按下时,触发图片控件"pic_1"不可见的功能。由于支持全局参数的自由调整,使得本发明实施例方案的逻辑执行能力进一步提升,能够支持一些更为复杂的UI逻辑,例如游戏类型的主题等。
经过上述步骤S201-步骤S205,在XML文件中分别定义了物体、行为和结果的描述信息,由此建立了IBA模型。IBA模型是用户界面的统一抽象描述,它遵循物体-行为-结果的因果逻辑,是以近似自然语言的方式来描述的,这样做的好处是具有足够强的可扩展性。
在建立了IBA模型之后,方法100进入步骤S102,其中解析IBA模型以得到物体、行为和结果之间的对应关系。通过以上描述可知,IBA模型所包含的物体、行为和结果的描述信息之间存在千丝万缕的联系,如行为受体与物体名称具有对应关系,结果信息与结果名称具有对应关系。基于这种联系得到物体、行为和结果之间的对应关系。具体包括:根据行为受体与物体名称的对应关系,建立行为与物体的对应关系;根据结果信息与结果名称的对应关系,建立行为与结果的对应关系。
在上述滑动解锁的例子中,解析IBA模型可得到如表1所示的对应关系:
表1
即,名称为"ship"和"target"的物体与名称为"drag_to_unlock"的行为具有对应关系,名称为"drag_to_unlock"的行为与名称为"unlock"的结果具有对应关系。
随后,方法100进入步骤S103,其中根据物体的描述信息以及物体、行为和结果之间的对应关系,将与物体对应的UI元素显示在用户界面上,并实现与用户的UI交互。根据物体的描述信息可将物体对应的UI元素显示在用户界面上,具体地,根据上述在图层标签内部添加的各个控件的描述信息中所描述的UI元素的特征信息,在用户界面上显示这些控件。进一步的,根据步骤S102得到的物体、行为和结果之间的对应关系,实现UI交互。在上述滑动解锁的例子中,可在用户界面上显示"ship"控件、"target"控件、"clock"控件、"date"控件、"wave1"控件和"wave2"控件。如果用户手指拖拽"ship"到"target"内后抬起手指,那么触发执行"unlock",则用户界面呈现解锁状态,即实现了滑动解锁。
虽然上述实施例是以锁屏应用为例进行的描述说明,但本发明不仅限于锁屏应用,其它基于UI设计的用户界面实现也可以采用本发明提供的这种方案。例如:
(a).即时聊天工具的动态交互表情/贺卡:用户A可以选择系统提供的某一个表情/贺卡的主题包给用户B发送过去。用户B下载该主题包后,用户B的客户端即可按照IBA模型来解析渲染内容。这样,一个动态的、可交互的临时性界面即可显示在用户B的客户端屏幕上。用户B不仅可以看到动态效果,还可以通过点击、拖拽、滑动等方式与之交互。在这种例子中,Item是要显示的贺卡内容,Behavior是用户B的操作,Action是行为结果,如打开礼物包、显示祝贺语、开始一段动画或者回复给用户A某种信息等等。
(b).轻量级可替换主题的嵌入式设备界面:以可佩带设备的首屏(如智能手表的首屏)为例,用户的手表表盘可以随意更换主题包,以显示为不同的风格,同时可以进行轻量级交互。在这种情况下Behavior可以是来自于用户触摸操作,也可以是来自于系统自身的感应器,如用户抬手、晃动等动作所引发的感应。
(c).由于IBA模型并不限定于具体平台实现,所以是基于IBA模型的方案是一种跨平台的界面部署方式。同一个主题包可以应用于多处的屏幕,以获得统一的交互体验。例如:对于手机的锁屏、电视机顶盒的待机屏幕、手表屏幕和电脑屏保,用户可以在线挑选一套主题包,通过云端分别部署到不同的设备上,显示出统一的风格。不同设备只需要分别实现并部署对应的解析引擎即可。
根据本发明实施例提供的技术方案,为用户界面上多个UI元素建立IBA模型,该IBA模型包括物体、行为和结果的描述信息,解析IBA模型可得到物体、行为和结果之间的对应关系,根据物体的描述信息以及物体、行为和结果之间的对应关系,将UI元素显示在用户界面上,并实现与用户的UI交互。本发明不再以UI元素为单位预先定义其属性和逻辑,而是将多个UI元素的属性和逻辑等信息分为物体、行为和结果的描述信息分别来定义,以自然语言的方式抽象了UI上的内容和行为,基于这种IBA模型使得开发应用主题变得简单,也使得复杂逻辑的描述变得简单。即使没有编程基础的开发者,只要逻辑清晰,能够采用自然语言描述其设计,都可以利用本模型来进行设计,无需从头学习编程语言、无需考虑内存以及安卓运行机制等技术问题,可以专注于UI设计本身,从而也大大降低了主题制作的门槛。IBA模型的开放性和扩展性可以支持更多复杂、有趣的界面设计,无论是物体、行为和结果都可以独立地进行演进,因此当开发者需要实现当前应用能力以外的功能时,可以独立于主框架继续开发新增加的功能,从而很方便的实现扩展。举个简单的例子,如果在某个用户界面上想要增加通过按住某按钮摇一摇手机发微博的功能,无需像传统应用那样重新编写代码,只要把物体(按钮)、行为(按下与重力传感器触发)和结果(调用标准intent启动微博应用)这三个元素定义到IBA模型中即可实现上述功能。
图3示出了根据本发明一个实施例的用户界面实现装置的结构框图。如图3所示,该装置包括:模型构建器31、解析器32以及执行器33。其中,模型构建器31可以包括:物体模型构建单元311、结果模型构建单元312和行为模型构建单元313。
模型构建器31适于为用户界面上的界面元素建立IBA模型,其中,IBA模型包括物体、行为和结果的描述信息。物体是指用户界面上的界面元素。具体地,物体可以包括:用于在用户界面上展现静态图或动态图的图片控件、用于在用户界面上展现文本内容的文字控件、用于描述矩形的区域控件、用于包含多个控件的组控件或预定义物体控件。行为是指对物体进行的动作。行为可以是用户的操作行为,如用户在界面上进行的某种可触发事件的动作,例如点击或拖拽某个物体;行为也可以是系统的自身行为,如可触发事件的触发条件。结果是指对物体执行行为之后,用户界面呈现的状态,结果表示行为将会触发的事件,可能是产生某个系统行为(如解锁、打电话等),也可能是系统自身参数的调整。
具体地说,物体模型构建单元311适于构建物体的描述信息。物体模型构建单元311在图层标签内部添加物体,即定义物体的描述信息。物体的描述信息包括物体名称和物体属性;其中,物体名称用于唯一标识该物体,物体属性用于描述根据物体的描述信息所显示的界面元素的特征信息。可选地,物体属性包括以下属性中的一项或多项:位置属性、大小属性、旋转属性、缩放属性、可见度属性以及颜色属性。可选地,物体属性还包括动画属性,动画属性用于描述根据物体的描述信息所显示的界面元素的动画效果。该动画属性可以为alpha渐变动画(alpha_animation),位移动画(position_animation),缩放动画(scale_animation),旋转动画(rotate_animation),图片帧动画(frame_animation),斜切动画(skew_animation)。这些动画属性也可以作为控件的子元素来定义。每种动画的播放方式都可以分为单次播放和循环播放,由其状态值来控制,状态值为0表示停止播放,状态值为1表示单次播放,状态值为2表示循环播放。动画由若干关键帧组成,对于关键帧时间点,按照动画属性的具体取值获得当前的属性值;对于非关键帧时间点,可以使用差值的方法确定具体的属性值,例如在时间点t(t0<t<t1,其中t0和t1是两个相邻的关键帧时间点),其属性值为v=(t-t0)*(v1-v0)/(t1-t0)+v0,其中v0是时间点t0的属性值,v1是时间点t1的属性值。这样,当动画线程运行时,根据线程运行的任意时间t,可以推出对应的属性值v,随着线程的运行(t不断增加,单位毫秒),属性值也不断变化,在界面上即可看到UI元素在做相应的动画(例如属性值是rotate,即可看到UI元素在旋转)。
行为模型构建单元313适于构建行为的描述信息。行为模型构建单元313在主题标签内部添加行为,即定义行为的描述信息。在本发明中,行为包括两种,一种是用户的操作行为,这种行为对应于行为的动作模式;另一种是系统自身的行为,这种行为对应于行为的触发模式。用户的操作行为是用户的动作所对应的主动行为,这种行为的描述信息包括行为受体、动作信息以及结果信息。其中,行为受体与物体名称具有对应关系,结果信息与结果名称(为结果的描述信息,将在后续描述)具有对应关系,动作信息用于描述对物体所进行的动作。本发明中动作信息所支持的动作参见方法实施例的描述。系统自身的行为是由于某参数变化达到了触发条件而产生的被动行为,这种行为的描述信息包括触发条件和结果信息。其中,触发条件是行为的触发条件,结果信息与后续描述结果名称相对应。可选地,行为模型构建单元313所构建的行为的描述信息还包括执行条件,该执行条件是结果的执行条件。
结果模型构建单元312适于构建结果的描述信息。结果模型构建单元312在主题标签内部添加结果,即定义结果的描述信息。结果的描述信息包括结果名称、结果状态和结果类型;其中,结果状态用于描述用户界面呈现的状态,结果类型用于描述用户界面呈现状态对应的系统类型。在本发明中,结果类型支持三种:系统调用(standard)、自更新(self)和自定义调用(intent)。系统调用是指调用锁屏中心预定义的跳转事件,自定义调用是指调用安卓系统自带的功能界面,自更新是指通过调整UI参数(参见后续的描述)来对整个UI界面进行调整控制。
进一步的,上述模型构建器31还可以包括:约束器构建单元314,适于构建约束器的描述信息。约束器构建单元314在图层标签外部添加约束器,即定义约束器的描述信息。约束器的描述信息包括约束器名称和移动范围信息,移动范围信息用于描述根据物体的描述信息所显示的界面元素被约束的移动范围。物体模型构建单元311所构建的物体的描述信息还包括约束器信息,约束器信息与约束器名称具有对应关系,该物体受到约束器的限制,按照被约束的移动范围进行移动。
进一步的,模型构建器31还包括:全局参数构建单元315,适于构建全局参数的描述信息。其中,全局参数的描述信息包括全局参数名称。结果模型构建单元312所构建的结果的描述信息还包括全局参数名称及全局参数的赋值;物体模型构建单元311所构建的物体的描述信息所包括物体属性与全局参数的赋值相关联。全局参数的赋值是在与其有关的结果中完成的,而与全局参数有关的物体的物体属性则受到全局参数的赋值的影响。
解析器32适于解析IBA模型以得到物体、行为和结果之间的对应关系。通过以上描述可知,IBA模型所包含的物体、行为和结果的描述信息之间存在千丝万缕的联系,如行为受体与物体名称具有对应关系,结果信息与结果名称具有对应关系。基于这种联系得到物体、行为和结果之间的对应关系。具体地,解析器32根据行为受体与物体名称的对应关系,建立行为与物体的对应关系;根据结果信息与结果名称的对应关系,建立行为与结果的对应关系。
执行器33适于根据物体的描述信息以及物体、行为和结果之间的对应关系,将与物体对应的界面元素显示在用户界面上,并实现与用户的界面交互。执行器33根据物体的描述信息可将物体对应的UI元素显示在用户界面上,具体地,根据上述物体模型构建单元311所构建的各个物体的描述信息中所描述的UI元素的特征信息,在用户界面上显示这些控件。执行器33根据解析器32得到的物体、行为和结果之间的对应关系,实现UI交互。
根据本发明提供的用户界面实现装置,为用户界面上多个UI元素建立IBA模型,该IBA模型包括物体、行为和结果的描述信息,解析IBA模型可得到物体、行为和结果之间的对应关系,根据物体的描述信息以及物体、行为和结果之间的对应关系,将UI元素显示在用户界面上,并实现与用户的UI交互。本发明不再以UI元素为单位预先定义其属性和逻辑,而是将多个UI元素的属性和逻辑等信息分为物体、行为和结果的描述信息分别来定义,以自然语言的方式抽象了UI上的内容和行为,基于这种IBA模型使得开发应用主题变得简单,也使得复杂逻辑的描述变得简单。即使没有编程基础的开发者,只要逻辑清晰,能够采用自然语言描述其设计,都可以利用本模型来进行设计,无需从头学习变成语言、无需考虑内存以及安卓运行机制等技术问题,可以专注于UI设计本身,从而也大大降低了主题制作的门槛。IBA模型的开放性和扩展性可以支持更多复杂、有趣的界面设计,无论是物体、行为和结果都可以独立地进行演进,因此当开发者需要实现当前应用能力以外的功能时,可以独立于主框架继续开发新增加的功能,从而很方便的实现扩展。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用户界面实现装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种用户界面实现方法,其包括:
为用户界面上的界面元素建立物体-行为-结果模型,其中,所述物体-行为-结果模型包括物体、行为和结果的描述信息,所述物体是指所述用户界面上的界面元素;所述行为是指对所述物体进行的动作;所述结果是指对所述物体执行所述行为之后,所述用户界面呈现的状态;
解析所述物体-行为-结果模型以得到物体、行为和结果之间的对应关系;
根据所述物体的描述信息以及物体、行为和结果之间的对应关系,将与所述物体对应的界面元素显示在用户界面上,并实现与用户的界面交互。
A2、根据A1所述的方法,其中:
所述物体的描述信息包括物体名称和物体属性;其中,所述物体属性用于描述根据所述物体的描述信息所显示的界面元素的特征信息;
所述结果的描述信息包括结果名称、结果状态和结果类型;其中,所述结果状态用于描述所述用户界面呈现的状态,所述结果类型用于描述所述用户界面呈现所述状态对应的系统类型;
所述行为的描述信息包括行为受体、动作信息以及结果信息;或者,所述行为的描述信息包括触发条件和结果信息;其中,所述行为受体与所述物体名称具有对应关系,所述结果信息与所述结果名称具有对应关系,所述动作信息用于描述对所述物体所进行的动作,所述触发条件是所述行为的触发条件。
A3、根据A2所述的方法,其中,所述解析所述物体-行为-结果模型以得到物体、行为和结果之间的对应关系包括:
根据所述行为受体与所述物体名称的对应关系,建立所述行为与所述物体的对应关系;
根据所述结果信息与所述结果名称的对应关系,建立所述行为与所述结果的对应关系。
A4、根据A2所述的方法,其中,所述物体属性包括以下属性中的一项或多项:位置属性、大小属性、旋转属性、缩放属性、可见度属性以及颜色属性。
A5、根据A4所述的方法,其中,所述物体属性还包括动画属性,所述动画属性用于描述根据所述物体的描述信息所显示的界面元素的动画效果。
A6、根据A1所述的方法,其中,所述物体包括:用于在用户界面上展现静态图或动态图的图片控件、用于在用户界面上展现文本内容的文字控件、用于描述矩形的区域控件、用于包含多个控件的组控件或预定义物体控件。
A7、根据A2所述的方法,所述物体-行为-结果模型还包括约束器的描述信息,所述约束器的描述信息包括约束器名称和移动范围信息,所述移动范围信息用于描述根据所述物体的描述信息所显示的界面元素被约束的移动范围;
所述物体的描述信息还包括约束器信息,所述约束器信息与所述约束器名称具有对应关系。
A8、根据A2所述的方法,所述行为的描述信息还包括执行条件,所述执行条件是所述结果的执行条件。
A9、根据A2所述的方法,所述物体-行为-结果模型还包括全局参数的描述信息;其中,所述全局参数的描述信息包括全局参数名称;所述结果的描述信息还包括全局参数名称及所述全局参数的赋值;所述物体的描述信息所包括物体属性与所述全局参数的赋值相关联。
本发明公开了B10、一种用户界面实现装置,其包括:
模型构建器,适于为用户界面上的界面元素建立物体-行为-结果模型,其中,所述物体-行为-结果模型包括物体、行为和结果的描述信息,所述物体是指所述用户界面上的界面元素;所述行为是指对所述物体进行的动作;所述结果是指对所述物体执行所述行为之后,所述用户界面呈现的状态;
解析器,适于解析所述物体-行为-结果模型以得到物体、行为和结果之间的对应关系;
执行器,适于根据所述物体的描述信息以及物体、行为和结果之间的对应关系,将与所述物体对应的界面元素显示在用户界面上,并实现与用户的界面交互。
B11、根据B10所述的装置,其中,所述模型构建器包括:
物体模型构建单元,适于构建所述物体的描述信息,所述物体的描述信息包括物体名称和物体属性;其中,所述物体属性用于描述根据所述物体的描述信息所显示的界面元素的特征信息;
结果模型构建单元,适于构建所述结果的描述信息,所述结果的描述信息包括结果名称、结果状态和结果类型;其中,所述结果状态用于描述所述用户界面呈现的状态,所述结果类型用于描述所述用户界面呈现所述状态对应的系统类型;
行为模型构建单元,适于构建所述行为的描述信息,所述行为的描述信息包括行为受体、动作信息以及结果信息;或者,所述行为的描述信息包括触发条件和结果信息;其中,所述行为受体与所述物体名称具有对应关系,所述结果信息与所述结果名称具有对应关系,所述动作信息用于描述对所述物体所进行的动作,所述触发条件是所述行为的触发条件。
B12、根据B11所述的装置,其中,所述解析器进一步适于:根据所述行为受体与所述物体名称的对应关系,建立所述行为与所述物体的对应关系;根据所述结果信息与所述结果名称的对应关系,建立所述行为与所述结果的对应关系。
B13、根据B11所述的装置,其中,所述物体模型构建单元所构建的物体属性包括以下属性中的一项或多项:位置属性、大小属性、旋转属性、缩放属性、可见度属性以及颜色属性。
B14、根据B13所述的装置,其中,所述物体模型构建单元所构建的物体属性还包括动画属性,所述动画属性用于描述根据所述物体的描述信息所显示的界面元素的动画效果。
B15、根据B10所述的装置,其中,所述物体包括:用于在用户界面上展现静态图或动态图的图片控件、用于在用户界面上展现文本内容的文字控件、用于描述矩形的区域控件、用于包含多个控件的组控件或预定义物体控件。
B16、根据B11所述的装置,其中,所述模型构建器还包括:约束器构建单元,适于构建约束器的描述信息;所述约束器的描述信息包括约束器名称和移动范围信息,所述移动范围信息用于描述根据所述物体的描述信息所显示的界面元素被约束的移动范围;
所述物体模型构建单元所构建的所述物体的描述信息还包括约束器信息,所述约束器信息与所述约束器名称具有对应关系。
B17、根据B11所述的装置,其中,所述行为模型构建单元所构建的所述行为的描述信息还包括执行条件,所述执行条件是所述结果的执行条件。
B18、根据B11所述的装置,其中,所述模型构建器还包括:全局参数构建单元,适于构建所述全局参数的描述信息;其中,所述全局参数的描述信息包括全局参数名称;
所述结果模型构建单元所构建的所述结果的描述信息还包括全局参数名称及所述全局参数的赋值;所述物体模型构建单元所构建的所述物体的描述信息所包括物体属性与所述全局参数的赋值相关联。

Claims (10)

1.一种用户界面实现方法,其包括:
为用户界面上的界面元素建立物体-行为-结果模型,其中,所述物体-行为-结果模型包括物体、行为和结果的描述信息,所述物体是指所述用户界面上的界面元素;所述行为是指对所述物体进行的动作;所述结果是指对所述物体执行所述行为之后,所述用户界面呈现的状态;
解析所述物体-行为-结果模型以得到物体、行为和结果之间的对应关系;
根据所述物体的描述信息以及物体、行为和结果之间的对应关系,将与所述物体对应的界面元素显示在用户界面上,并实现与用户的界面交互。
2.根据权利要求1所述的方法,其中:
所述物体的描述信息包括物体名称和物体属性;其中,所述物体属性用于描述根据所述物体的描述信息所显示的界面元素的特征信息;
所述结果的描述信息包括结果名称、结果状态和结果类型;其中,所述结果状态用于描述所述用户界面呈现的状态,所述结果类型用于描述所述用户界面呈现所述状态对应的系统类型;
所述行为的描述信息包括行为受体、动作信息以及结果信息;或者,所述行为的描述信息包括触发条件和结果信息;其中,所述行为受体与所述物体名称具有对应关系,所述结果信息与所述结果名称具有对应关系,所述动作信息用于描述对所述物体所进行的动作,所述触发条件是所述行为的触发条件。
3.根据权利要求2所述的方法,其中,所述解析所述物体-行为-结果模型以得到物体、行为和结果之间的对应关系包括:
根据所述行为受体与所述物体名称的对应关系,建立所述行为与所述物体的对应关系;
根据所述结果信息与所述结果名称的对应关系,建立所述行为与所述结果的对应关系。
4.根据权利要求2所述的方法,其中,所述物体属性包括以下属性中的一项或多项:位置属性、大小属性、旋转属性、缩放属性、可见度属性以及颜色属性。
5.根据权利要求4所述的方法,其中,所述物体属性还包括动画属性,所述动画属性用于描述根据所述物体的描述信息所显示的界面元素的动画效果。
6.根据权利要求1所述的方法,其中,所述物体包括:用于在用户界面上展现静态图或动态图的图片控件、用于在用户界面上展现文本内容的文字控件、用于描述矩形的区域控件、用于包含多个控件的组控件或预定义物体控件。
7.根据权利要求2所述的方法,所述物体-行为-结果模型还包括约束器的描述信息,所述约束器的描述信息包括约束器名称和移动范围信息,所述移动范围信息用于描述根据所述物体的描述信息所显示的界面元素被约束的移动范围;
所述物体的描述信息还包括约束器信息,所述约束器信息与所述约束器名称具有对应关系。
8.根据权利要求2所述的方法,所述行为的描述信息还包括执行条件,所述执行条件是所述结果的执行条件。
9.根据权利要求2所述的方法,所述物体-行为-结果模型还包括全局参数的描述信息;其中,所述全局参数的描述信息包括全局参数名称;所述结果的描述信息还包括全局参数名称及所述全局参数的赋值;所述物体的描述信息所包括物体属性与所述全局参数的赋值相关联。
10.一种用户界面实现装置,其包括:
模型构建器,适于为用户界面上的界面元素建立物体-行为-结果模型,其中,所述物体-行为-结果模型包括物体、行为和结果的描述信息,所述物体是指所述用户界面上的界面元素;所述行为是指对所述物体进行的动作;所述结果是指对所述物体执行所述行为之后,所述用户界面呈现的状态;
解析器,适于解析所述物体-行为-结果模型以得到物体、行为和结果之间的对应关系;
执行器,适于根据所述物体的描述信息以及物体、行为和结果之间的对应关系,将与所述物体对应的界面元素显示在用户界面上,并实现与用户的界面交互。
CN201310341685.1A 2013-08-07 2013-08-07 用户界面实现方法及装置 Active CN103399750B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310341685.1A CN103399750B (zh) 2013-08-07 2013-08-07 用户界面实现方法及装置
PCT/CN2014/083584 WO2015018299A1 (zh) 2013-08-07 2014-08-01 用户界面实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310341685.1A CN103399750B (zh) 2013-08-07 2013-08-07 用户界面实现方法及装置

Publications (2)

Publication Number Publication Date
CN103399750A true CN103399750A (zh) 2013-11-20
CN103399750B CN103399750B (zh) 2017-05-24

Family

ID=49563384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310341685.1A Active CN103399750B (zh) 2013-08-07 2013-08-07 用户界面实现方法及装置

Country Status (2)

Country Link
CN (1) CN103399750B (zh)
WO (1) WO2015018299A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320546A (zh) * 2014-11-14 2015-01-28 刘长红 一种智能手机随机动态图锁屏界面实现方法及其移动终端
WO2015018299A1 (zh) * 2013-08-07 2015-02-12 北京奇虎科技有限公司 用户界面实现方法及装置
CN104392474A (zh) * 2014-06-30 2015-03-04 贵阳朗玛信息技术股份有限公司 一种生成、展示动画的方法及装置
WO2016150386A1 (zh) * 2015-03-25 2016-09-29 中兴通讯股份有限公司 界面处理方法、装置及系统
CN106162302A (zh) * 2015-04-22 2016-11-23 Tcl集团股份有限公司 一种Launcher主界面的编排方法、装置及智能电视
CN107203389A (zh) * 2016-03-18 2017-09-26 百度在线网络技术(北京)有限公司 控件展现方法及装置
CN107203372A (zh) * 2016-03-18 2017-09-26 百度在线网络技术(北京)有限公司 控件展现方法及装置
CN110569096A (zh) * 2019-08-20 2019-12-13 上海沣沅星科技有限公司 去代码化制作人机交互界面的系统、方法、介质及设备
CN111667562A (zh) * 2020-05-07 2020-09-15 深圳思为科技有限公司 基于图片素材的动效界面生成方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717593B1 (en) * 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
US20070055932A1 (en) * 2005-09-02 2007-03-08 Microsoft Corporation Application programming interfaces for graphical user interfaces
CN101859245A (zh) * 2009-04-09 2010-10-13 北大方正集团有限公司 一种生成用户界面的方法和装置
CN101887370A (zh) * 2010-07-23 2010-11-17 北京数码大方科技有限公司 创建系统用户界面的方法及装置
CN101980155A (zh) * 2010-11-04 2011-02-23 青岛海信电器股份有限公司 电视机用户界面的实现方法和系统、电视机
CN102402364A (zh) * 2010-09-10 2012-04-04 北京创新方舟科技有限公司 一种根据用户的触摸屏操作进行应用调用的方法与设备
CN102750101A (zh) * 2012-06-26 2012-10-24 宇龙计算机通信科技(深圳)有限公司 触发启动应用的指令的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340598A (zh) * 2008-08-07 2009-01-07 北京衡准科技有限公司 一种实现媒体三维播放的方法及装置
CN103399750B (zh) * 2013-08-07 2017-05-24 北京奇虎科技有限公司 用户界面实现方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717593B1 (en) * 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
US20070055932A1 (en) * 2005-09-02 2007-03-08 Microsoft Corporation Application programming interfaces for graphical user interfaces
CN101859245A (zh) * 2009-04-09 2010-10-13 北大方正集团有限公司 一种生成用户界面的方法和装置
CN101887370A (zh) * 2010-07-23 2010-11-17 北京数码大方科技有限公司 创建系统用户界面的方法及装置
CN102402364A (zh) * 2010-09-10 2012-04-04 北京创新方舟科技有限公司 一种根据用户的触摸屏操作进行应用调用的方法与设备
CN101980155A (zh) * 2010-11-04 2011-02-23 青岛海信电器股份有限公司 电视机用户界面的实现方法和系统、电视机
CN102750101A (zh) * 2012-06-26 2012-10-24 宇龙计算机通信科技(深圳)有限公司 触发启动应用的指令的方法及装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015018299A1 (zh) * 2013-08-07 2015-02-12 北京奇虎科技有限公司 用户界面实现方法及装置
CN104392474A (zh) * 2014-06-30 2015-03-04 贵阳朗玛信息技术股份有限公司 一种生成、展示动画的方法及装置
CN104320546A (zh) * 2014-11-14 2015-01-28 刘长红 一种智能手机随机动态图锁屏界面实现方法及其移动终端
WO2016150386A1 (zh) * 2015-03-25 2016-09-29 中兴通讯股份有限公司 界面处理方法、装置及系统
CN106162302A (zh) * 2015-04-22 2016-11-23 Tcl集团股份有限公司 一种Launcher主界面的编排方法、装置及智能电视
CN106162302B (zh) * 2015-04-22 2020-08-18 Tcl科技集团股份有限公司 一种Launcher主界面的编排方法、装置及智能电视
CN107203389A (zh) * 2016-03-18 2017-09-26 百度在线网络技术(北京)有限公司 控件展现方法及装置
CN107203372A (zh) * 2016-03-18 2017-09-26 百度在线网络技术(北京)有限公司 控件展现方法及装置
CN107203372B (zh) * 2016-03-18 2021-03-19 百度在线网络技术(北京)有限公司 控件展现方法及装置
CN110569096A (zh) * 2019-08-20 2019-12-13 上海沣沅星科技有限公司 去代码化制作人机交互界面的系统、方法、介质及设备
CN111667562A (zh) * 2020-05-07 2020-09-15 深圳思为科技有限公司 基于图片素材的动效界面生成方法和装置
CN111667562B (zh) * 2020-05-07 2023-07-28 深圳思为科技有限公司 基于图片素材的动效界面生成方法和装置

Also Published As

Publication number Publication date
WO2015018299A1 (zh) 2015-02-12
CN103399750B (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CN103399750A (zh) 用户界面实现方法及装置
CN102414682B (zh) 用于在图形用户接口中提供零碎网页的方法和设备
Zukowski The definitive guide to Java Swing
US20110316858A1 (en) Apparatuses and Methods for Real Time Widget Interactions
CN102194003A (zh) 一种网页弹窗方法及装置
US20160110907A1 (en) Animation Across Multiple Handheld Computing Devices
US20160274776A1 (en) System and method for modifying a look and feel of a graphical user interface for an application
JP2016502199A (ja) スマートディバイス画面で可視的に変化するウィジェットに対応して相異なるコンテンツを提供する方法
US20110173550A1 (en) Data driven user interface animation
CN106257418A (zh) 用于通过使用辅助应用来评价应用的技术
CN102520935A (zh) 一种用于快速开发用户界面的方法
CN112445564A (zh) 界面显示方法及电子设备、计算机可读存储介质
CN103530023B (zh) 发布信息的处理方法及系统、客户端
CN110262749B (zh) 一种网页操作方法、装置、容器、设备及介质
CN114780077A (zh) 网页可视化编辑的装置及方法
CN105511737A (zh) 一种管理网页上的菜单选项的方法及电子设备
CN103761020A (zh) 一种快捷导航的方法和装置
CN111857715B (zh) 基于h5的联动下拉组件选中方法、装置、设备及存储介质
CN112445501A (zh) 数据烧录方法及设备、计算机可读存储介质
KR101572928B1 (ko) 스마트 디바이스 화면에서 가시적으로 변화하는 위젯에 대응하여 상이한 콘텐트를 제공하는 방법
CN107092468A (zh) 一种消息显示方法及装置
KR101480398B1 (ko) 스마트 디바이스 화면에서 가시적으로 변화하는 위젯에 대응하여 상이한 콘텐트를 제공하는 시스템
KR20140105044A (ko) 인터랙티브한 편집기능이 구비된 멀티 미디어 컨텐츠 저작 시스템 및 그 방법
EP2372532A1 (en) Method for programming a web application
CN111352615B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220706

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.