CN114237413A - 处理交互事件的方法和装置 - Google Patents
处理交互事件的方法和装置 Download PDFInfo
- Publication number
- CN114237413A CN114237413A CN202010945205.2A CN202010945205A CN114237413A CN 114237413 A CN114237413 A CN 114237413A CN 202010945205 A CN202010945205 A CN 202010945205A CN 114237413 A CN114237413 A CN 114237413A
- Authority
- CN
- China
- Prior art keywords
- event
- interaction
- behavior
- interactive
- sliding
- 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.)
- Pending
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 260
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000012545 processing Methods 0.000 title claims abstract description 90
- 230000002452 interceptive effect Effects 0.000 claims abstract description 196
- 230000006399 behavior Effects 0.000 claims description 185
- 230000000875 corresponding effect Effects 0.000 claims description 76
- 230000015654 memory Effects 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 24
- 230000002596 correlated effect Effects 0.000 claims description 16
- 238000010200 validation analysis Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000012805 post-processing Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 13
- 230000003044 adaptive effect Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 48
- 238000004891 communication Methods 0.000 description 38
- 230000006854 communication Effects 0.000 description 38
- 230000001960 triggered effect Effects 0.000 description 19
- 238000007726 management method Methods 0.000 description 15
- 238000010295 mobile communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 14
- 230000005236 sound signal Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 230000033001 locomotion Effects 0.000 description 9
- 230000009466 transformation Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 4
- 230000003321 amplification Effects 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008093 supporting effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0414—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种处理交互事件的方法和装置,该方法包括:获取至少一个交互事件;确定所述至少一个交互事件对应的交互行为;调用所述交互行为对应的控件执行所述交互行为。上述方法可以由统一交互框架执行。交互事件的行为识别由统一交互框架执行,控件可以直接执行统一交互框架识别出的交互行为,因此,控件无需与交互设备进行适配。当软件***需要适配新增交互设备时,开发人员对统一交互框架进行一次适配开发即可为多个控件适配新增交互设备,从而减小了开发工作量。
Description
技术领域
本申请涉及电子技术领域,具体涉及一种处理交互事件的方法和装置。
背景技术
用户在用户界面(user interface,UI)上操作时,应用程序(application,APP)需要响应用户的操作,以完成与用户的交互。安卓***进行用户交互的方法是事件驱动,例如,用户在触控板上的单击操作触发安卓***生成ACTION_DOWN事件和ACTION_UP事件,安卓***通过安卓应用程序框架感知并处理这两个事件,随后将这两个事件发送至对应的控件;控件对这两个事件进行识别,确定对应的行为是选择对象,则可以通过应用程序编程接口(application programming interface,API)控制APP选择对象。
上述示例中,控件需要执行从事件到行为的映射,因此,当安卓***需要适配新增交互设备时,开发人员需要为每个控件开发针对新增交互设备的适配能力,开发工作量较大。
发明内容
本申请提供了一种处理交互事件的方法,能够减小适配交互设备的工作量,提升交互体验一致性。
第一方面,提供了一种处理交互事件的方法,包括:获取至少一个交互事件;确定所述至少一个交互事件对应的交互行为;调用所述交互行为对应的控件执行所述交互行为。
上述方法例如可以由统一交互框架执行。统一交互框架可以从安卓应用程序框架获取至少一个交互事件,并对该至少一个交互事件进行行为识别,确定该至少一个交互事件对应的交互行为。随后,统一交互框架可以调用控件执行该交互行为。在本实施例中,交互事件的行为识别由统一交互框架执行,控件可以直接执行统一交互框架识别出的交互行为,因此,控件无需对交互设备进行适配。当安卓***需要适配新增交互设备时,开发人员对统一交互框架进行一次适配开发即可为多个控件适配新增交互设备,从而减小了开发工作量。
可选地,所述调用所述交互行为对应的控件执行所述交互行为,包括:通过所述控件注册的行为生效API调用所述控件执行所述交互行为。
行为生效API是统一交互框架与控件之间进行交互的接口,控件可以在统一交互框架中注册行为行为生效API,统一交互框架回调该行为生效API,即可调用控件执行交互行为。
可选地,所述方法还包括:通过领域特定语言(domain specific language,DSL)配置文件配置使能API和/或注册回调API,其中,所述控件能够通过所述使能API被APP调用,所述控件能够通过所述注册回调API调用所述APP。
一些第三方APP在开发时使用的软件开发工具包(software development kit,SDK)不是华为SDK,这些APP无法调用情感用户界面(emotion user interface,EMUI)新增的API(如增强控件交互能力的使能API和/或注册回调API),EMUI可以通过DSL引擎解析配置文件,并根据配置文件中的配置信息对使能API和/或注册回调API进行配置,这样,控件可以通过注册回调API与第三方APP进行交互,第三方APP也可以通过使能API与EMUI控件进行交互。当交互行为涉及应用数据刷新时,统一交互框架可以通过控件注册的行为生效API调用控件执行交互行为,随后,控件可以通过DSL文件配置的注册回调API调用第三方APP完成数据刷新,从而实现了控件的功能增强。
可选地,所述调用所述交互行为对应的控件执行所述交互行为之前,所述方法还包括:从所述控件接收注册信息,所述注册信息用于指示所述交互行为与所述控件之间的对应关系。
控件可以向统一交互框架发送注册信息,变更控件与交互行为之间的对应关系,从而可以灵活变更关注的交互行为。
可选地,所述方法还包括:根据所述至少一个交互事件的事件值生成行为参数;向所述控件发送所述行为参数。
一些交互事件存在事件值,则统一交互框架可以基于这类交互事件的事件值生成与其对应的行为参数。例如,用户在触控板上拖动触发的交互事件包括拖动幅度值(事件值的一个示例,用于指示用户的拖动距离),则统一交互框架可以生成包括进度条移动长度值的行为参数,控件获取行为行为参数后,能够基于行为参数控制进度条进行归一化交互,从而增强了用户的体验。
可选地,所述行为参数包括行为幅度值,所述行为幅度值与所述至少一个交互事件的事件值正相关,并且,所述行为幅度值与变换系数正相关,所述变换系数与所述至少一个交互事件对应的交互设备的类型存在对应关系。
行为幅度值例如是进度条拖动长度值,由于不同交互设备的UI尺寸不同,在拖动幅度值相同的情况下,若直接使用该拖动幅度值控制进度条的拖动长度,一些交互设备的进度条的拖动长度与这些交互设备的UI尺寸不匹配。本实施例基于变换系数对事件值进行处理生成行为幅度值,不同交互设备的变换系数不同,使得事件值经过处理后得到的行为幅度值与交互设备的UI尺寸保持匹配,增强了用户的体验效果。
可选地,所述变换系数与所述交互设备的类型的对应关系包括:所述变换系数与所述交互设备的UI尺寸正相关。
交互设备可以按照UI尺寸划分为大屏设备和小屏设备。大屏设备的UI尺寸较大,统一交互框架可以使用较大的变换系数处理事件值,得到较大的行为幅度值;小屏设备的UI尺寸较小,统一交互框架可以使用较小的变换系数处理事件值,得到较小的行为幅度值。因此,本实施例能够使得事件值经过处理后得到的行为幅度值与交互设备的UI尺寸保持匹配,增强了用户的体验效果。
可选地,所述至少一个交互事件包括多个交互事件,所述交互行为包括:所述多个交互事件的组合交互行为。
上述多个交互事件可以是由不同交互设备产生的,例如,当用户通过Ctrl键和鼠标滚轮实现图像放大时,统一交互框架获取的至少一个交互事件为Ctrl事件和鼠标滚轮事件;当用户通过Ctrl键和W键实现图像放大时,统一交互框架获取的至少一个交互事件为Ctrl事件和W事件;统一交互框架可以通过Ctrl事件和鼠标滚轮事件的组合控制ImageView控件进行图像放大,也可以通过Ctrl事件和W事件的组合控制ImageView控件进行图像放大,ImageView控件无需感知交互设备的具体类型。适用于键盘和鼠标的ImageView控件也适用于单一键盘场景,控件和APP无需二次开发,从而减小了交互适配的工作量。
可选地,所述至少一个交互事件包括起始滑动事件、中间滑动事件和结束滑动事件,所述起始滑动事件为:滑动***启动后首次监听到的滑动事件,或者,一个结束滑动事件生成后首次生成的滑动事件;所述中间滑动事件为:所述起始滑动事件生成后在预设时段内生成的滑动事件;所述结束滑动事件为:所述起始滑动事件或中间滑动事件生成后,在所述预设时段内未生成滑动事件时拟合的滑动事件;所述交互行为包括:与所述起始滑动事件对应的滑动前处理;与所述中间滑动事件对应的滑动处理;与所述结束滑动事件对应的滑动后处理。
一些交互设备触发的交互事件没有明确的起始标识和结束标识,统一交互框架可以从这类交互事件中选择一些特定的交互事件作为起始交互事件或结束交互事件,或者,统一交互框架可以在特定的时刻拟合一些事件作为起始交互事件或结束交互事件。例如,智能手表的表冠旋转触发的滑动事件没有明确的起始标识和结束标识,统一交互框架可以将滑动***启动后首次监听到的滑动事件作为起始滑动事件,并基于起始滑动事件调用滑动控件执行滑动前处理;当表冠静止时,不会再触发滑动事件,则统一交互框架可以在确定表冠静止时拟合出一个滑动事件,作为结束滑动事件,并基于结束滑动事件调用滑动控件执行滑动后处理。上述滑动控件无需感知交互设备的具体类型,适用于鼠标拖动的滑动控件也适用于表冠旋转,控件和APP无需二次开发。此外,本实施例扩展了滑动控件的应用场景,增强了用户体验。
第二方面,本申请提供了一种处理交互事件的装置,包括用于执行第一方面所述的方法的单元。该装置可以是终端设备,也可以是终端设备内的芯片。该装置可以包括输入单元和处理单元。该处理单元可以是处理器,该输入单元可以是通信接口;该终端设备还可以包括存储单元,该存储单元可以是存储器;该存储单元用于存储指令,该处理单元执行该存储单元所存储的指令,以使该终端设备执行第一方面所述的方法。
第三方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质中存储了计算机程序,该计算机程序被处理器执行时,使得处理器执行第一方面所述的方法。
第四方面,本申请提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码被处理器运行时,使得处理器执行第一方面所述的方法。
附图说明
图1是本申请提供的一种处理交互任务的装置的硬件结构示意图;
图2是本申请提供的一种处理交互任务的软件***的结构示意图;
图3是本申请提供的一种处理交互任务的方法的示意图;
图4是本申请提供的一种统一交互框架处理交互事件的方法的示意图;
图5是本申请提供的另一种统一交互框架处理交互事件的方法的示意图;
图6是本申请提供的几种交互行为生效方式的示意图;
图7是本申请提供的一种处理列表滑动事件的方法的示意图;
图8是本申请提供的一种处理缩放事件的方法的示意图;
图9是本申请提供的另一种处理交互任务的装置的示意图;
图10是本申请提供的一种处理交互任务的电子设备的示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
图1示出了一种适用于本申请的装置的硬件结构,该装置可以用于处理交互事件。
如图1所示,装置100可以是手机、智慧屏、平板电脑、可穿戴电子设备、车载电子设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、投影仪等等,本申请实施例对装置100的具体类型不作任何限制。
装置100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
需要说明的是,图1所示的结构并不构成对装置100的具体限定。在本申请另一些实施例中,装置100可以包括比图1所示的部件更多或更少的部件,或者,装置100可以包括图1所示的部件中某些部件的组合,或者,装置100可以包括图1所示的部件中某些部件的子部件。图1示的部件可以以硬件、软件、或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如,处理器110可以包括以下处理单元中的至少一个:应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processing unit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signal processor,DSP)、基带处理器、神经网络处理器(neural-network processing unit,NPU)。其中,不同的处理单元可以是独立的器件,也可以是集成的器件。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。例如,处理器110可以包括以下接口中的至少一个:内部集成电路(inter-integrated circuit,I2C)接口、内部集成电路音频(inter-integrated circuit sound,I2S)接口、脉冲编码调制(pulse codemodulation,PCM)接口、通用异步接收传输器(universal asynchronous receiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processor interface,MIPI)、通用输入输出(general-purpose input/output,GPIO)接口、SIM接口、USB接口。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K、充电器、闪光灯、摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现装置100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194和摄像头193等***器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI)、显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现装置100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现装置100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号接口,也可被配置为数据信号接口。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194、无线通信模块160、音频模块170和传感器模块180。GPIO接口还可以被配置为I2C接口、I2S接口、UART接口或MIPI接口。
USB接口130是符合USB标准规范的接口,例如可以是迷你(Mini)USB接口、微型(Micro)USB接口或C型USB(USB Type C)接口。USB接口130可以用于连接充电器为装置100充电,也可以用于装置100与***设备之间传输数据,还可以用于连接耳机以通过耳机播放音频。USB接口130还可以用于连接其他装置100,例如AR设备。
图1所示的各模块间的连接关系只是示意性说明,并不构成对装置100的各模块间的连接关系的限定。可选地,装置100的各模块也可以采用上述实施例中多种连接方式的组合。
充电管理模块140用于从充电器接收电力。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的电流。在一些无线充电的实施例中,充电管理模块140可以通过装置100的无线充电线圈接收电磁波(电流路径如虚线所示)。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为装置100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量、电池循环次数和电池健康状态(例如,漏电、阻抗)等参数。可选地,电源管理模块141可以设置于处理器110中,或者,电源管理模块141和充电管理模块140可以设置于同一个器件中。
装置100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等器件实现。
天线1和天线2用于发射和接收电磁波信号。装置100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在装置100上的无线通信的解决方案,例如下列方案中的至少一个:第二代(2th generation,2G)移动通信解决方案、第三代(3thgeneration,3G)移动通信解决方案、***(4th generation,5G)移动通信解决方案、第五代(5th generation,5G)移动通信解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波和放大等处理,随后传送至调制解调处理器进行解调。移动通信模块150还可以放大经调制解调处理器调制后的信号,放大后的该信号经天线1转变为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(例如,扬声器170A、受话器170B)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
与移动通信模块150类似,无线通信模块160也可以提供应用在装置100上的无线通信解决方案,例如下列方案中的至少一个:无线局域网(wireless local areanetworks,WLAN)、蓝牙(bluetooth,BT)、全球导航卫星***(global navigationsatellite system,GNSS)、调频(frequency modulation,FM)、近场通信(near fieldcommunication,NFC)、红外(infrared,IR)。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,并将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频和放大,该信号经天线2转变为电磁波辐射出去。
在一些实施例中,装置100的天线1和移动通信模块150耦合,装置100的天线2和无线通信模块160耦合。
装置100可以通过GPU、显示屏194以及应用处理器实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194可以用于显示图像或视频。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)、有源矩阵有机发光二极体(active-matrix organic light-emitting diode,AMOLED)、柔性发光二极管(flex light-emitting diode,FLED)、迷你发光二极管(mini light-emitting diode,Mini LED)、微型发光二极管(micro light-emitting diode,Micro LED)、微型OLED(Micro OLED)或量子点发光二极管(quantum dotlight emitting diodes,QLED)。在一些实施例中,装置100可以包括1个或N个显示屏194,N为大于1的正整数。
装置100可以通过ISP、摄像头193、视频编解码器、GPU、显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP可以对图像的噪点、亮度和色彩进行算法优化,ISP还可以优化拍摄场景的曝光和色温等参数。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的红绿蓝(red green blue,RGB),YUV等格式的图像信号。在一些实施例中,装置100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当装置100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。装置100可以支持一种或多种视频编解码器。这样,装置100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1、MPEG2、MPEG3和MPEG4。
NPU是一种借鉴生物神经网络结构的处理器,例如借鉴人脑神经元之间传递模式对输入信息快速处理,还可以不断地自学习。通过NPU可以实现装置100的智能认知等功能,例如:图像识别、人脸识别、语音识别和文本理解。
外部存储器接口120可以用于连接外部存储卡,例如安全数码(secure digital,SD)卡,实现扩展装置100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能(例如,声音播放功能和图像播放功能)所需的应用程序。存储数据区可存储装置100使用过程中所创建的数据(例如,音频数据和电话本)。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如:至少一个磁盘存储器件、闪存器件和通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令和/或存储在设置于处理器中的存储器的指令,执行装置100的各种功能应用以及数据处理。
装置100可以通过音频模块170、扬声器170A、受话器170B、麦克风170C、耳机接口170D以及应用处理器等实现音频功能,例如,音乐播放和录音。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也可以用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170或者音频模块170的部分功能模块可以设置于处理器110中。
扬声器170A,也称为喇叭,用于将音频电信号转换为声音信号。装置100可以通过扬声器170A收听音乐或免提通话。
受话器170B,也称为听筒,用于将音频电信号转换成声音信号。当用户使用装置100接听电话或语音信息时,可以通过将受话器170B靠近耳朵接听语音。
麦克风170C,也称为话筒或传声器,用于将声音信号转换为电信号。当用户拨打电话或发送语音信息时,可以通过靠近麦克风170C发声将声音信号输入麦克风170C。装置100可以设置至少一个麦克风170C。在另一些实施例中,装置100可以设置两个麦克风170C,以实现降噪功能。在另一些实施例中,装置100还可以设置三个、四个或更多麦克风170C,以实现识别声音来源和定向录音等功能。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动装置100平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,例如可以是电阻式压力传感器、电感式压力传感器或电容式压力传感器。电容式压力传感器可以是包括至少两个具有导电材料的平行板,当力作用于压力传感器180A,电极之间的电容改变,装置100根据电容的变化确定压力的强度。当触摸操作作用于显示屏194时,装置100根据压力传感器180A检测所述触摸操作。装置100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令;当触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定装置100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定装置100围绕三个轴(即,x轴、y轴和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。例如,当快门被按下时,陀螺仪传感器180B检测装置100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消装置100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航和体感游戏等场景。
气压传感器180C用于测量气压。在一些实施例中,装置100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。装置100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当装置100是翻盖机时,装置100可以根据磁传感器180D检测翻盖的开合。装置100可以根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测装置100在各个方向上(一般为x轴、y轴和z轴)加速度的大小。当装置100静止时可检测出重力的大小及方向。加速度传感器180E还可以用于识别装置100的姿态,作为横竖屏切换和计步器等应用的输入参数。
距离传感器180F用于测量距离。装置100可以通过红外或激光测量距离。在一些实施例中,例如在拍摄场景中,装置100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(light-emitting diode,LED)和光检测器,例如,光电二极管。LED可以是红外LED。装置100通过LED向外发射红外光。装置100使用光电二极管检测来自附近物体的红外反射光。当检测到反射光时,装置100可以确定附近存在物体。当检测不到反射光时,装置100可以确定附近没有物体。装置100可以利用接近光传感器180G检测用户是否手持装置100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式或口袋模式的自动解锁与自动锁屏。
环境光传感器180L用于感知环境光亮度。装置100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测装置100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。装置100可以利用采集的指纹特性实现解锁、访问应用锁、拍照和接听来电等功能。
温度传感器180J用于检测温度。在一些实施例中,装置100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,装置100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,装置100对电池142加热,以避免低温导致装置100异常关机。在其他一些实施例中,当温度低于又一阈值时,装置100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称为触控器件。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,触摸屏也称为触控屏。触摸传感器180K用于检测作用于其上或其附近的触摸操作。触摸传感器180K可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于装置100的表面,并且与显示屏194设置于不同的位置。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键和音量键。按键190可以是机械按键,也可以是触摸式按键。装置100可以接收按键输入信号,实现于案件输入信号相关的功能。
马达191可以产生振动。马达191可以用于来电提示,也可以用于触摸反馈。马达191可以对作用于不同应用的触摸操作产生不同的振动反馈效果。对于作用于显示屏194的不同区域的触摸操作,马达191也可产生不同的振动反馈效果。不同的应用场景(例如,时间提醒、接收信息、闹钟和游戏)可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态和电量变化,也可以用于指示消息、未接来电和通知。
SIM卡接口195用于连接SIM卡。SIM卡可以***SIM卡接口195实现与装置100的接触,也可以从SIM卡接口195拔出实现与装置100的分离。装置100可以支持1个或N个SIM卡接口,N为大于1的正整数。同一个SIM卡接口195可以同时***多张卡,所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容外部存储卡。装置100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,装置100采用嵌入式SIM(embedded-SIM,eSIM)卡,eSIM卡可以嵌在装置100中,不能和装置100分离。
上文详细描述了处理交互事件的装置100的硬件***,下面介绍本申请实施例提供的处理交互事件的装置100的软件***。软件***可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构,本申请实施例以分层架构为例,示例性地描述处理交互事件的装置100的软件***。
如图2所示,分层架构将软件***分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将软件***分为三层,从上至下分别为应用层、UI框架层和操作***层。
应用层可以包括相机、图库、日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、短信息等应用程序。
UI框架层包括统一交互框架和控件,统一交互框架的接收处理模块用于识别交互事件的类别和行为,统一交互框架的转换处理模块用于对行为参数进行归一化处理,并生效到控件上。控件能够集成统一交互框架的功能,通过API与APP进行交互。
操作***层包括安卓应用程序编程框架。安卓应用程序框架从硬件层获取交互事件,将交互事件传输至统一交互框架。
例如,当用户在触摸传感器180K上进行触摸操作时,相应的硬件中断被发送至操作***层,操作***层将触摸操作加工成交互事件,该交互事件例如包括触摸坐标和触摸操作的时间戳等信息;随后,操作***层识别出该交互事件对应的控件,并通知该控件对应的APP。当上述触摸操作为单击操作、上述控件为相机APP的控件时,相机APP的控件根据该交互事件通过API调用摄像头驱动,进而控制摄像头193进行拍摄。
基于前述关于硬件架构和软件架构描述的前提下,下面对本申请提供的处理交互事件的方法进行描述。其中所述处理交互事件的方法适用于前述硬件架构和软件架构中,且图2所述的软件架构搭载在图1所示的硬件结构上。装置100可以执行处理交互事件的方法所涉及的全部或者部分步骤。
下面对本申请提供的处理交互事件的方法。如图3所示,方法300包括:
S310,获取至少一个交互事件。
上述至少一个交互事件可以是一个交互事件,也可以是多个交互事件。例如,该至少一个交互事件可以是用户在触控板上单击触发的交互事件,也可以是用户通过键盘和鼠标触发的两个交互事件。本申请对交互事件的具体内容以及触发交互事件的方式不做限定。
上述至少一个交互事件可以是交互设备触发的,此时,统一交互框架可以从安卓应用程序框架获取至少一个交互事件。上述至少一个交互事件也可以是统一交互框架拟合的,本申请对获取至少一个交互事件的方式不做限定。
可以基于交互设备的类型将交互事件划分为按键事件(KeyEvent)和移动事件(MotionEvent)。例如,键盘、旋钮和遥控器等交互设备触发的交互事件是按键事件,鼠标、触控板、触控板和智能手表的表冠等交互设备触发的交互事件是移动事件。
不同的交互事件包含的信息可能不同,例如:
鼠标点击和触控板点击触发的交互事件包括:事件源、事件类型和坐标;
表冠触发的交互事件包括:事件源、事件类型和事件值;
鼠标滚轮滑动和触控板滑动触发的交互事件包括:事件源、事件类型、坐标和事件值;
键盘、旋钮和遥控器触发的交互事件包括:事件源、事件类型和键码。
上述交互事件包含的信息中,事件源用于指示交互设备的类型,事件类型例如是按下、抬起、移动或滚动,事件值例如是移动事件对应的操作幅度值,不同的交互事件可以通过事件源、事件类型和键码进行区分。交互事件还可以包含其它信息,本申请对交互事件包含的信息的具体内容不做限定。
可选地,还可以基于交互事件是否包含事件值将交互事件划分为无值事件和有值事件,即,事件类型还可以包括有值事件和无值事件。其中,交互操作指的是用户使用交互设备进行的单击、拖动、移动等操作。
例如,键盘通常只能打出固定的字符,旋钮通常只有开关功能,遥控器通常只能输出固定的指令,这三个交互设备的交互操作没有可选择的空间,因此,键盘、旋钮和遥控器触发的交互事件为无值事件。
又例如,用户使用鼠标、触控板或触控屏进行拖动操作时可以拖动不同的距离,用户控制表冠旋转时可以旋转不同的角度,这些交互设备的交互操作存在可选的操作幅度,因此,鼠标、触控板、触控屏或表冠触发的交互事件为有值事件。
统一交互框架获取至少一个交互事件后,可以执行下列步骤。
S320,确定所述至少一个交互事件对应的交互行为。
交互事件与交互行为存在关联关系,交互行为可以是控件对于交互操作的反馈。例如,用户在触控板上单击触发的交互行为可以是选择对象,其中,单击即交互操作的一个示例,选择对象即交互行为的一个示例。表1是本申请提供的一些交互操作与交互行为之间的对应关系。
表1
一个交互事件可以对应一个交互行为,例如,双指点击可以对应显示菜单;一个交互事件也可以对应多个交互行为,例如,鼠标滚轮滚动可以对应进度调节和翻页,其中,统一交互框架可以基于控件注册的交互行为确定鼠标滚轮滚动对应的是进度调节还是翻页。
多个交互事件可以对应多个交互行为,也可以对应一个交互行为,例如,统一交互框架获取的至少一个交互事件包括Menu事件和鼠标滚轮滚动事件,统一交互框架可以确定这两个交互事件对应的交互行为为触发菜单和翻页,或者,统一交互框架可以确定这两个交互事件对应的交互行为为图像缩放。若控件注册了组合交互行为,则统一交互框架获取多个交互事件后可以确定该多个交互事件对应一个交互行为(即,组合交互行为);若控件未注册组合交互行为,则统一交互框架获取多个交互事件后分别处理这多个交互事件,确定对应的多个交互行为。
统一交互框架可以通过HwKeyEventDetector或HwGenericEventDetector等处理类对单个交互事件进行解析处理,也可以通过组合处理类HwCompoundEventDetector对多个交互事件进行解析处理。
图4示出了本申请提供的一种统一交互框架处理交互事件的方法的示意图。
接收处理模块获取交互事件后首先进行事件源识别,确定交互事件对应的交互设备,以便于根据不同的交互设备对交互事件进行差异化处理。随后,接收处理模块根据控件支持的交互行为确定交互事件对应的交互行为,其中,接收处理模块可以基于预设信息(例如,控件事先注册的交互行为)确定控件所支持的交互行为。若接收处理模块获取了多个交互事件,可以确定多个交互事件在组合情况下对应的交互行为。
例如,接收处理模块获取一个交互事件后,通过HwKeyEventDetector或HwGenericEventDetector解析该交互事件,获取交互事件包含的信息;若该交互事件的事件源指示该交互事件对应的交互设备为鼠标,则接收处理模块可以根据鼠标相关的控件注册的交互行为确定该交互事件对应的交互行为。一个控件可以注册一个或者多个交互行为,通常情况下,该多个交互行为对应的交互事件互不相同,以使得接收处理模块能够根据至少一个交互事件确定唯一对应的交互行为。
又例如,接收处理模块获取两个交互事件(键盘事件和鼠标事件)后,通过HwCompoundEventDetector确定需要关注多个交互事件的组合交互行为,则接收处理模块可以解析该两个交互事件。在本实施例中,当键盘事件为Ctrl键事件、鼠标事件为滚轮事件时,该两个交互事件对应的组合交互行为可以是缩放对象。
一些交互事件存在事件值,则统一交互框架可以基于这些交互事件的事件值生成与其对应的行为参数,并向控件发送该行为参数。
例如,接收处理模块确定交互事件对应的交互行为后,若交互事件包括事件值,则转换处理模块可以根据事件值生成行为参数,即,进行参数转换处理。行为参数可以包括行为幅度值,行为幅度值与交互事件的事件值正相关,例如,交互事件的事件类型为触控板触发的移动事件,则事件值为移动事件对应的幅度值,幅度值能够指示用户的手指在触控板上滑动的距离,转换处理模块根据移动事件对应的幅度值确定进度条滑动的长度值,进度条滑动的长度值即行为幅度值。控件获取行为幅度值后,能够基于行为幅度值控制进度条进行归一化交互,从而增强了用户的体验。
控件可能会安装在不同的交互设备上,由于不同的交互设备的UI尺寸存在较大的差异,统一交互框架可以针对不同的交互设备的事件值进行差异化处理,确定与交互设备的UI尺寸匹配的幅度值。转换处理模块可以确定交互设备对应的变换系数,根据变换系数和事件值确定行为幅度值,其中,行为幅度值与交互事件的事件值正相关,并且,所述行为幅度值与变换系数正相关。
例如,在用户的手指在触控屏上滑动的距离相同的情况下,若控件安装于智能手表上,则转换处理模块根据变换系数C1确定的进度条滑动的长度值是L1;若控件安装于手机上,则转换处理模块根据变换系数C2确定的进度条滑动的长度值是L2;若控件安装于智能电视上,则转换处理模块根据变换系数C3确定的进度条滑动的长度值是L3;其中,C1<C2<C3,L1<L2<L3,即,行为幅度值与变换系数正相关。在本实施例中,智能手表的UI尺寸最小,进度条滑动的距离也最短;智能电视的UI尺寸最大,进度条滑动的距离也最长;因此,转换处理模块基于与交互设备相关的变换系数确定行为幅度值,能够使行为幅度与UI尺寸匹配,从而增强了用户的体验。
确定交互事件对应的交互行为后,统一交互框架可以执行下列步骤。
S330,调用所述交互行为对应的控件执行所述交互行为。
图5是统一交互框架与控件交互的示意图。
安卓应用程序框架获取至少一个交互事件后,将该至少一个交互事件传输至统一交互框架。
统一交互框架对该至少一个交互事件进行事件源识别,确定该至少一个交互事件对应的交互设备,随后进一步识别该至少一个交互事件对应的交互行为,并基于控件事先注册的交互行为确定该至少一个交互行为对应的控件。对于一些具有事件值的交互事件,统一交互框架还可以对事件值进行参数转换,将事件值转换为行为幅度值。
随后,统一交互框架可以基于控件事先注册的交互行为回调控件执行上述至少一个交互事件对应的交互行为。可选地,还可以将行为幅度值发送至控件。
控件收到行为回调指令后,进行行为响应,可以通过API调用APP配合完成交互行为,例如进行应用数据的刷新。
例如,对于进度条控件,其不需要关注外设有哪些,只需要将其所支持的行为注册到统一交互框架(setOnChangeProgressListener),统一交互框架即可启动7种交互设备的交互事件(如键盘的左右方向键事件、车机的旋钮事件、遥控器的左右方向键事件、鼠标滚轮事件、触控板双指滑动事件、手表表冠事件、触控屏事件)的识别;统一交互框架收到任何一种交互事件后,都可以识别成更改进度的交互行为,并适配好行为参数(进度变化量),回调注册的Listener中的接口onChangeProgress触发进度条控件刷新进度。
由此可见,在方法300中,交互事件的行为识别由统一交互框架执行,控件不再需要识别交互事件,也无需再处理交互事件的参数。控件可以直接执行统一交互框架识别出的交互行为,因此,控件无需与交互设备进行适配。当安卓***需要适配新增交互设备时,开发人员对统一交互框架进行一次适配开发即可为多个控件适配新增交互设备,从而减小了开发工作量。
由于控件的种类多种多样,不同的控件的能力不同,统一交互框架可以针对不同的控件采取不同的调用方式,实现交互行为的生效。图6示出了本申请提供的几种交互行为生效方式。
方式一:默认生效。
统一交互框架确定交互事件对应的交互行为后,可以直接调用交互能力处于开启状态的控件执行交互行为,例如,EMUI中的华为控件和部分原生控件、以及华为前端框架(UIKIT)中的多态控件中的交互功能默认生效。
方式二:通过使能API进行交互。
使能API为能够激活控件交互能力的API,对于一些交互能力默认关闭的控件,控件提供使能API,以便于APP通过使能API激活这些控件的交互能力。例如,ImageView控件根据“Ctrl+滚轮”进行图像缩放功能是默认关闭的,APP可以通过使能API激活ImageView控件的图像缩放功能;统一交互框架识别出“Ctrl+滚轮”对应的组合交互行为为图像缩放,则可以调用ImageView控件进行图像缩放。
方式三:通过注册回调API进行交互。
注册回调接口使得控件能够调用APP完成数据刷新,当交互行为涉及数据刷新时,控件可以通过注册回调API调用APP完成数据刷新。例如,用户在列表界面上进行“Ctrl+V”等操作时,列表控件需要调度列表APP进行数据刷新,此时,列表控件可以通过注册回调API调用列表APP进行数据刷新。
方式四:DSL生效。
方式二和方式三是EMUI相对于安卓开源项目(Android open-source project,AOSP)新增的能力,一些第三方APP(例如,一些未集成华为SDK或未使用华为UIKIT的APP)无法识别EMUI中新增的使能API和注册回调API,因此无法获得EMUI中新增的控件交互能力。对于这种情况,EMUI可以通过DSL解析引擎从DSL配置文件中解析出的配置信息,并根据配置信息配置使能API和注册回调API,这样,控件能够通过注册回调API调用第三方APP,第三方APP也能够通过使能API调用控件,第三方APP不需要集成EMUI的SDK即可获得增强的控件交互能力。EMUI可以直接向第三方APP提供接口,也可以通过UIKIT向第三方APP提供接口。UIKIT可以使用EMUI的DSL解析引擎能力。
此外,当第三方APP安装在非EMUI上时,DSL配置文件不会被读取,不影响第三方APP的功能,因此,第三方APP不需要需改代码,实现APP代码的多平台归一化,降低了第三方APP的适配成本。
下面将详细介绍交互行为的DSL生效方式。
可以在assets目录中放置一份JavaScript对象简谱(JavaScript objectnotation,JSON)配置文件,DSL解析引擎解析JSON配置文件,配置使能API和注册回调API,使得第三方APP能够使用EMUI中统一交互框架的功能。
可以通过JSON配置文件进行全局功能配置或单个控件的功能配置,以Ctrl+滚轮实现图像缩放为例,可以按照如下方式配置使能API。
其中,“app”标签用于配置app内所有控件的图像缩放功能,当zoomable”的值为true时,表示打开了该app内所有控件的图像缩放功能;标签“layout”用于对指定布局页面中某个控件配置独立的缩放功能,当zoomable”的值为true时,表示打开了控件的图像缩放功能。本实施例可以根据需要灵活配置控件的使能API。
对于注册回调类接口,JSON配置文件可以按照如下方式进行配置。
1、设置TAG。
其中,“R.layout.mainpage”标签指定了布局的ID,“R.id.widget”指定了布局内的ImageView的ID,“onZoom”指定了实现缩放的方法。DSL解析引擎会将实现onZoomSample的方法进行封装并注册到ImageView上,替代默认的缩放方法。
上文详细介绍了本申请提供的处理交互事件的方法300,下面再结合具体场景介绍两个处理交互事件的实施例。
一些交互设备触发的交互事件没有明确的起始标识和结束标识,统一交互框架可以从这类交互事件中选择一些特定的交互事件作为起始交互事件或结束交互事件,或者,统一交互框架可以在特定的时刻拟合一些事件作为起始交互事件或结束交互事件。
图7示出了一种处理表冠的列表滑动事件的方法。
在触控屏上,手指接触屏产生ACTION_DOWN事件,手指滑动时产生ACTION_MOVE事件,手指离开时产生ACTION_UP事件,所以对于触控的列表滑动操作,有明确的开始、结束时机。而表冠旋转产生的交互事件是离散的滑动事件(ACTION_SCROLL),没有明确的起始标识和结束标识,如果想保持列表滑动与触控交互效果一致,则需要识别一次表冠操作过程中的起始事件、结束事件以及操作结束时当前列表的滑动速度。主要过程如图7所示。
列表控件例如是ListView和ScrollView,可以通过实例化OnScrollListener,实现onStart、onScrollBy和onEnd三个方法,并将这三个方法注册到统一交互框架。列表控件只需要关注其本身的UI交互功能,不需要关注列表滑动事件识别、参数转换和滑动速度计算,也不需要关注列表滑动事件来源于表冠还是鼠标滚轮。
统一交互框架根据列表控件所关注的交互行为启动行为识别,由于表冠旋转产生的交互事件没有开始标识和结束标识,统一交互框架在进行行为识别时需要定义一次交互的起始标识和结束标识。
例如,统一交互框架可以将滑动***(OnScrollListener)注册后首次监听到的滑动事件作为起始滑动事件,通过onStart回调通知列表控件进行滑动前处理,其中,滑动前处理可以是对当前列表状态进行调整,如结束上一次的滑动;当表冠静止时,不会再触发滑动事件,则统一交互框架可以在确定表冠静止时拟合出一个滑动事件,作为结束滑动事件,并计算滑动速度,随后通过onEnd回调触发列表的滑动后处理,该滑动后处理可以是抛滑处理,即,列表的滑动速度从非零速度逐渐降至0的处理;统一交互框架获取起始滑动事件后以及获取结束滑动事件前获取的滑动事件即中间滑动事件,统一交互框架可以将中间滑动事件(ACTION_SCROL事件)中的事件值(一般与表冠操作的角度相关)进行归一化处理,转换为列表需要滑动的距离像素值,而后通过onScrollBy回调触发列表滑动。
上述过程中,列表控件无需感知交互设备的具体类型,适用于鼠标滚轮的列表控件也适用于表冠旋转,无需二次开发。此外,本实施例扩展了列表控件的应用场景,增强了用户体验。
图8示出了一种处理缩放事件的方法。
Windows照片应用中支持“Ctrl+滚轮”进行图像缩放的功能,基于统一交互框架可以在安卓***中实现该功能。
例如,ImageView控件可以使用统一交互框架的能力,实现OnZoomListener接口类(其中包括了实现缩放逻辑的onZoom方法)。ImageView控件可以在统一交互框架中注册图像缩放的组合交互行为,即,将接口的实例(onZoom)注册给统一交互框架;随后,统一交互框架在获取Ctrl事件和滚轮事件后,确定这两个交互事件的组合交互行为是ImageView控件关注的图像缩放,可以通过回调onZoom实现ImageView控件的缩放功能。
对于Pad等不存在鼠标的交互设备,统一交互框架也可以提供上述缩放功能,方便Pad进行图像缩放。例如,在支持“Ctrl+滚轮”的基础上,开发人员可以修改统一交互框架,使得统一交互框架支持通过“Ctrl+S/W”触发图像缩放。
ImageView控件可以在统一交互框架中注册图像缩放的组合交互行为,随后,统一交互框架在获取Ctrl事件和S/W事件后,确定这两个交互事件的组合交互行为是ImageView控件关注的图像缩放,可以通过回调onZoom实现ImageView控件的缩放功能。
由此可见,识别和处理交互事件的功能与交互行为生效实现了解耦,统一交互框架专注于识别和处理交互事件;控件专注于交互行为生效,无需关注识别和处理交互事件。支持相同交互行为的控件可以复用统一交互框架的能力,当软件***需要适配新增交互设备时,开发人员对统一交互框架进行一次适配开发即可为多个控件适配新增交互设备,从而减小了开发工作量,提升交互体验的一致性。
上文详细介绍了本申请提供的处理交互事件的方法的示例。可以理解的是,相应的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请可以根据上述方法示例对处理交互事件的装置进行功能单元的划分,例如,可以将各个功能划分为各个功能单元,也可以将两个或两个以上的功能集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图9示出了本申请提供的一种处理交互事件的装置的结构示意图。装置900包括处理单元910和输入单元920。输入单元920能够在处理单元910的控制下执行输入操作或获取操作。
输入单元920用于:获取至少一个交互事件;
处理单元910用于:确定所述至少一个交互事件对应的交互行为;调用所述交互行为对应的控件执行所述交互行为。
可选地,所述处理单元910具体用于:通过所述控件注册的行为生效API调用所述控件执行所述交互行为。
可选地,处理单元910还用于:通过DSL配置文件配置使能API和/或注册回调API,其中,所述控件能够通过所述使能API被APP调用,所述控件能够通过所述注册回调API调用APP。
可选地,所述调用所述交互行为对应的控件执行所述交互行为之前,输入单元920还用于:从所述控件接收注册信息,所述注册信息用于指示所述交互行为与所述控件之间的对应关系。
可选地,处理单元910还用于:根据所述至少一个交互事件的事件值生成行为参数;装置900还包括输出单元930,用于:向所述控件发送所述行为参数。
可选地,所述行为参数包括行为幅度值,所述行为幅度值与所述至少一个交互事件的事件值正相关,并且,所述行为幅度值与变换系数正相关,所述变换系数与所述至少一个交互事件对应的交互设备的类型存在对应关系。
可选地,所述变换系数与所述交互设备的类型的对应关系包括:所述变换系数与所述交互设备的UI尺寸正相关。
可选地,所述至少一个交互事件包括多个交互事件,所述交互行为包括:所述多个交互事件的组合交互行为。
可选地,所述至少一个交互事件包括起始滑动事件、中间滑动事件和结束滑动事件,
所述起始滑动事件为:滑动***启动后首次监听到的滑动事件,或者,一个结束滑动事件生成后首次生成的滑动事件;
所述中间滑动事件为:所述起始滑动事件生成后在预设时段内生成的滑动事件;
所述结束滑动事件为:所述起始滑动事件或中间滑动事件生成后,在所述预设时段内未生成滑动事件时拟合的滑动事件;
所述交互行为包括:
与所述起始滑动事件对应的滑动前处理;
与所述中间滑动事件对应的滑动处理;
与所述结束滑动事件对应的滑动后处理。
装置900执行处理交互事件的方法的具体方式以及产生的有益效果可以参见方法实施例中的相关描述。
装置900是处理交互事件的装置的一个示例,可选地,处理交互事件的装置还可以具备图10所示的结构。
图10示出了本申请提供的一种处理交互事件的电子设备的结构示意图。设备1000可用于实现上述方法实施例中描述的方法。设备1000可以是终端设备或芯片。
设备1000包括一个或多个处理器1001,该一个或多个处理器1001可支持设备1000实现方法实施例中的方法。处理器1001可以是通用处理器或者专用处理器。例如,处理器1001可以是中央处理器(central processing unit,CPU)。CPU可以用于对设备1000进行控制,执行软件程序,处理软件程序的数据。设备1000还可以包括通信单元1005,用以实现信号的输入(接收)和/或输出(发送)。
例如,设备1000可以是芯片,通信单元1005可以是该芯片的输入和/或输出电路,或者,通信单元1005可以是该芯片的通信接口,该芯片可以作为终端设备或其它电子设备的组成部分。
又例如,设备1000可以是终端设备,通信单元1005可以是该终端设备的收发器,或者,通信单元1005可以是该终端设备的收发电路,其中,设备1000可以具备图1所示的结构。当设备1000具备图1所示的结构时,处理器1001可以是处理器110,存储器1002可以是内部存储器121,通信单元1005可以是处理器110与传感器模块180之间的接口。
设备1000中可以包括一个或多个存储器1002,其上存有程序1004,程序1004可被处理器1001运行,生成指令1003,使得处理器1001根据指令1003执行上述方法实施例中描述的方法。可选地,存储器1002中还可以存储有数据(如执行方法300的代码)。可选地,处理器1001还可以读取存储器1002中存储的数据,该数据可以与程序1004存储在相同的存储地址,该数据也可以与程序1004存储在不同的存储地址。
处理器1001和存储器1002可以单独设置,也可以集成在一起,例如,集成在终端设备的***级芯片(system on chip,SOC)上。
处理器1001执行方法实施例的具体方式可以参见方法实施例中的相关描述。
应理解,上述方法实施例的各步骤可以通过处理器1001中的硬件形式的逻辑电路或者软件形式的指令完成。处理器1001可以是CPU、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件,例如,分立门、晶体管逻辑器件或分立硬件组件。
本申请还提供了一种计算机程序产品,该计算机程序产品被处理器1001执行时实现本申请中任一方法实施例所述的方法。
该计算机程序产品可以存储在存储器1002中,例如是程序1004,程序1004经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理器1001执行的可执行目标文件。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现本申请中任一方法实施例所述的方法。该计算机程序可以是高级语言程序,也可以是可执行目标程序。
该计算机可读存储介质例如是存储器1002。存储器1002可以是易失性存储器或非易失性存储器,或者,存储器1002可以同时包括易失性存储器和非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和设备的具体工作过程以及产生的技术效果,可以参考前述方法实施例中对应的过程和技术效果,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例的一些特征可以忽略,或不执行。以上所描述的装置实施例仅仅是示意性的,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个***。另外,各单元之间的耦合或各个组件之间的耦合可以是直接耦合,也可以是间接耦合,上述耦合包括电的、机械的或其它形式的连接。
在本申请的各种实施例中,序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
另外,本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请实施例中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种处理交互事件的方法,其特征在于,包括:
获取至少一个交互事件;
确定所述至少一个交互事件对应的交互行为;
调用所述交互行为对应的控件执行所述交互行为。
2.根据权利要求1所述的方法,其特征在于,所述调用所述交互行为对应的控件执行所述交互行为,包括:
通过所述控件注册的行为生效应用程序编程接口API调用所述控件执行所述交互行为。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
通过领域特定语言DSL配置文件配置使能API和/或注册回调API,其中,所述控件能够通过所述使能API被应用程序APP调用,所述控件能够通过所述注册回调API调用所述APP。
4.根据权利要求1至3中任一项的方法,其特征在于,所述调用所述交互行为对应的控件执行所述交互行为之前,所述方法还包括:
从所述控件接收注册信息,所述注册信息用于指示所述交互行为与所述控件之间的对应关系。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
根据所述至少一个交互事件的事件值生成行为参数;
向所述控件发送所述行为参数。
6.根据权利要求5所述的方法,其特征在于,所述行为参数包括行为幅度值,所述行为幅度值与所述至少一个交互事件的事件值正相关,并且,所述行为幅度值与变换系数正相关,所述变换系数与所述至少一个交互事件对应的交互设备的类型存在对应关系。
7.根据权利要求6所述的方法,其特征在于,所述变换系数与所述交互设备的类型的对应关系包括:
所述变换系数与所述交互设备的用户界面UI尺寸正相关。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述至少一个交互事件包括多个交互事件,所述交互行为包括:
所述多个交互事件的组合交互行为。
9.根据权利要求1至7中任一项所述的方法,其特征在于,所述至少一个交互事件包括起始滑动事件、中间滑动事件和结束滑动事件,
所述起始滑动事件为:滑动***启动后首次监听到的滑动事件,或者,一个结束滑动事件生成后首次生成的滑动事件;
所述中间滑动事件为:所述起始滑动事件生成后在预设时段内生成的滑动事件;
所述结束滑动事件为:所述起始滑动事件或中间滑动事件生成后,在所述预设时段内未生成滑动事件时拟合的滑动事件;
所述交互行为包括:
与所述起始滑动事件对应的滑动前处理;
与所述中间滑动事件对应的滑动处理;
与所述结束滑动事件对应的滑动后处理。
10.一种处理交互事件的装置,其特征在于,包括输入单元和处理单元,
所述输入单元用于:获取至少一个交互事件;
所述处理单元用于:确定所述至少一个交互事件对应的交互行为;调用所述交互行为对应的控件执行所述交互行为。
11.根据权利要求10所述的装置,其特征在于,所述处理单元具体用于:
通过所述控件注册的行为生效应用程序编程接口API调用所述控件执行所述交互行为。
12.根据权利要求10或11所述的装置,其特征在于,所述处理单元还用于:
通过领域特定语言DSL配置文件配置使能API和/或注册回调API,其中,所述控件能够通过所述使能API被应用程序APP调用,所述控件能够通过所述注册回调API调用所述APP。
13.根据权利要求10至12中任一项的装置,其特征在于,所述调用所述交互行为对应的控件执行所述交互行为之前,所述输入单元还用于:
从所述控件接收注册信息,所述注册信息用于指示所述交互行为与所述控件之间的对应关系。
14.根据权利要求10至13中任一项所述的装置,其特征在于,
所述处理单元还用于:根据所述至少一个交互事件的事件值生成行为参数;
所述装置还包括输出单元,用于:向所述控件发送所述行为参数。
15.根据权利要求14所述的装置,其特征在于,所述行为参数包括行为幅度值,所述行为幅度值与所述至少一个交互事件的事件值正相关,并且,所述行为幅度值与变换系数正相关,所述变换系数与所述至少一个交互事件对应的交互设备的类型存在对应关系。
16.根据权利要求15所述的装置,其特征在于,所述变换系数与所述交互设备的类型的对应关系包括:
所述变换系数与所述交互设备的用户界面UI尺寸正相关。
17.根据权利要求10至16中任一项所述的装置,其特征在于,所述至少一个交互事件包括多个交互事件,所述交互行为包括:
所述多个交互事件的组合交互行为。
18.根据权利要求10至16中任一项所述的装置,其特征在于,所述至少一个交互事件包括起始滑动事件、中间滑动事件和结束滑动事件,
所述起始滑动事件为:滑动***启动后首次监听到的滑动事件,或者,一个结束滑动事件生成后首次生成的滑动事件;
所述中间滑动事件为:所述起始滑动事件生成后在预设时段内生成的滑动事件;
所述结束滑动事件为:所述起始滑动事件或中间滑动事件生成后,在所述预设时段内未生成滑动事件时拟合的滑动事件;
所述交互行为包括:
与所述起始滑动事件对应的滑动前处理;
与所述中间滑动事件对应的滑动处理;
与所述结束滑动事件对应的滑动后处理。
19.一种电子设备,其特征在于,所述设备包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于从所述存储器中调用并运行所述计算机程序,使得所述设备执行权利要求1至9中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行权利要求1至9中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010945205.2A CN114237413A (zh) | 2020-09-09 | 2020-09-09 | 处理交互事件的方法和装置 |
EP21865768.2A EP4195015A4 (en) | 2020-09-09 | 2021-08-10 | METHOD AND APPARATUS FOR PROCESSING AN INTERACTION EVENT |
PCT/CN2021/111733 WO2022052712A1 (zh) | 2020-09-09 | 2021-08-10 | 处理交互事件的方法和装置 |
US18/180,653 US20230244507A1 (en) | 2020-09-09 | 2023-03-08 | Method and Apparatus for Processing Interaction Event |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010945205.2A CN114237413A (zh) | 2020-09-09 | 2020-09-09 | 处理交互事件的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114237413A true CN114237413A (zh) | 2022-03-25 |
Family
ID=80632062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010945205.2A Pending CN114237413A (zh) | 2020-09-09 | 2020-09-09 | 处理交互事件的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230244507A1 (zh) |
EP (1) | EP4195015A4 (zh) |
CN (1) | CN114237413A (zh) |
WO (1) | WO2022052712A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719468A (zh) * | 2022-09-02 | 2023-09-08 | 荣耀终端有限公司 | 交互事件的处理方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543649B (zh) * | 2022-08-31 | 2023-11-03 | 荣耀终端有限公司 | 一种数据获取方法及电子设备 |
CN117632312B (zh) * | 2024-01-25 | 2024-05-14 | 深圳市永联科技股份有限公司 | 数据交互方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110214092A1 (en) * | 2010-02-26 | 2011-09-01 | Siemens Product Lifecycle Management Software Inc. | System and Method for Management of User Interactions Using Configurable Listeners in a Data Processing System |
CN103853478A (zh) * | 2012-12-05 | 2014-06-11 | 博雅网络游戏开发(深圳)有限公司 | 交互方法和交互*** |
CN104778044A (zh) * | 2015-04-03 | 2015-07-15 | 北京奇虎科技有限公司 | 触摸屏手势事件流分发的方法及装置 |
CN106020633A (zh) * | 2016-05-27 | 2016-10-12 | 网易(杭州)网络有限公司 | 交互控制方法及装置 |
CN110058763A (zh) * | 2019-03-19 | 2019-07-26 | 广州视源电子科技股份有限公司 | 交互信息处理方法、***、装置、存储介质及笔记本 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3633415B2 (ja) * | 2000-01-14 | 2005-03-30 | 日本電気株式会社 | Gui制御方法及び装置並びに記録媒体 |
US20090027334A1 (en) * | 2007-06-01 | 2009-01-29 | Cybernet Systems Corporation | Method for controlling a graphical user interface for touchscreen-enabled computer systems |
US9747141B2 (en) * | 2008-03-25 | 2017-08-29 | Qualcomm Incorporated | Apparatus and methods for widget intercommunication in a wireless communication environment |
US9367371B2 (en) * | 2010-02-05 | 2016-06-14 | Paypal, Inc. | Widget framework, real-time service orchestration, and real-time resource aggregation |
US9733916B2 (en) * | 2015-11-23 | 2017-08-15 | Business Objects Software Limited | Linking customized external widgets to dashboard data |
US10353531B2 (en) * | 2017-05-26 | 2019-07-16 | Conduent Business Services, Llc | System and method for building customized web applications within a domain |
US11157259B1 (en) * | 2017-12-22 | 2021-10-26 | Intuit Inc. | Semantic and standard user interface (UI) interoperability in dynamically generated cross-platform applications |
US10921975B2 (en) * | 2018-06-03 | 2021-02-16 | Apple Inc. | Devices, methods, and user interfaces for conveying proximity-based and contact-based input events |
CN110404260A (zh) * | 2019-07-31 | 2019-11-05 | 网易(杭州)网络有限公司 | 一种用户交互界面的响应方法和装置 |
-
2020
- 2020-09-09 CN CN202010945205.2A patent/CN114237413A/zh active Pending
-
2021
- 2021-08-10 WO PCT/CN2021/111733 patent/WO2022052712A1/zh unknown
- 2021-08-10 EP EP21865768.2A patent/EP4195015A4/en active Pending
-
2023
- 2023-03-08 US US18/180,653 patent/US20230244507A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110214092A1 (en) * | 2010-02-26 | 2011-09-01 | Siemens Product Lifecycle Management Software Inc. | System and Method for Management of User Interactions Using Configurable Listeners in a Data Processing System |
CN103853478A (zh) * | 2012-12-05 | 2014-06-11 | 博雅网络游戏开发(深圳)有限公司 | 交互方法和交互*** |
CN104778044A (zh) * | 2015-04-03 | 2015-07-15 | 北京奇虎科技有限公司 | 触摸屏手势事件流分发的方法及装置 |
CN106020633A (zh) * | 2016-05-27 | 2016-10-12 | 网易(杭州)网络有限公司 | 交互控制方法及装置 |
CN110058763A (zh) * | 2019-03-19 | 2019-07-26 | 广州视源电子科技股份有限公司 | 交互信息处理方法、***、装置、存储介质及笔记本 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719468A (zh) * | 2022-09-02 | 2023-09-08 | 荣耀终端有限公司 | 交互事件的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230244507A1 (en) | 2023-08-03 |
EP4195015A4 (en) | 2024-01-24 |
EP4195015A1 (en) | 2023-06-14 |
WO2022052712A1 (zh) | 2022-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112217923B (zh) | 一种柔性屏幕的显示方法及终端 | |
WO2020134869A1 (zh) | 电子设备的操作方法和电子设备 | |
WO2020103764A1 (zh) | 一种语音控制方法及电子设备 | |
CN112714901B (zh) | ***导航栏的显示控制方法、图形用户界面及电子设备 | |
WO2021213164A1 (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
WO2021036770A1 (zh) | 一种分屏处理方法及终端设备 | |
CN112114912A (zh) | 一种用户界面布局方法及电子设备 | |
WO2021078032A1 (zh) | 用户界面的显示方法及电子设备 | |
WO2022052712A1 (zh) | 处理交互事件的方法和装置 | |
WO2022017393A1 (zh) | 显示交互***、显示方法及设备 | |
WO2022001258A1 (zh) | 多屏显示方法、装置、终端设备及存储介质 | |
CN114887323B (zh) | 一种电子设备操控方法及电子设备 | |
WO2021218429A1 (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
US20240095000A1 (en) | Plug-In Installation Method, Apparatus, and Storage Medium | |
CN115967851A (zh) | 快速拍照方法、电子设备及计算机可读存储介质 | |
EP4163782A1 (en) | Cross-device desktop management method, first electronic device, and second electronic device | |
CN113703894A (zh) | 通知消息的显示方法和显示装置 | |
CN112437341B (zh) | 一种视频流处理方法及电子设备 | |
CN114173005B (zh) | 一种应用布局控制方法、装置、终端设备及计算机可读存储介质 | |
CN117009005A (zh) | 一种显示方法、汽车和电子设备 | |
CN114003241A (zh) | 应用程序的界面适配显示方法、***、电子设备和介质 | |
CN115933952B (zh) | 一种触控采样率调节方法及相关装置 | |
WO2024109573A1 (zh) | 悬浮窗显示的方法和电子设备 | |
WO2023142943A1 (zh) | 应用组件设置方法及相关设备 | |
CN117995137A (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 |