CN115729431A - 一种控件内容的拖拽方法、电子设备及*** - Google Patents
一种控件内容的拖拽方法、电子设备及*** Download PDFInfo
- Publication number
- CN115729431A CN115729431A CN202111015143.6A CN202111015143A CN115729431A CN 115729431 A CN115729431 A CN 115729431A CN 202111015143 A CN202111015143 A CN 202111015143A CN 115729431 A CN115729431 A CN 115729431A
- Authority
- CN
- China
- Prior art keywords
- window
- dragging
- control
- electronic device
- content
- 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
- 238000000034 method Methods 0.000 title claims abstract description 160
- 230000006870 function Effects 0.000 claims description 87
- 230000015654 memory Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 6
- 238000003825 pressing Methods 0.000 claims description 2
- 239000000126 substance Substances 0.000 claims 2
- 230000006978 adaptation Effects 0.000 abstract description 12
- 230000003044 adaptive effect Effects 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 64
- 238000013461 design Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 16
- 238000010295 mobile communication Methods 0.000 description 11
- 230000001413 cellular effect Effects 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 7
- 210000000988 bone and bone Anatomy 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000013523 data management Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000005266 casting Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004540 process dynamic Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000003786 synthesis reaction 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
- 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
- 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/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/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/0486—Drag-and-drop
-
- 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
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- 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/04803—Split screen, i.e. subdividing the display area or the window area into separate subareas
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种控件内容的拖拽方法、电子设备及***。该方法包括:第一电子设备显示第一窗口和第二窗口;第一电子设备中的拖拽单元检测到对第一窗口中的第一控件的长按操作,该拖拽单元不属于第一窗口所属的应用和第二窗口所属的应用,第一窗口和第二窗口属于同一应用或不同应用;拖拽单元响应以长按操作为拖拽起始操作的拖拽操作,将第一控件的内容从第一窗口传给第二窗口。通过本申请的方法,可以实现利用电子设备中的拖拽单元将控件内容从一个窗口拖拽到另一个窗口,无需应用适配拖拽功能,能够减少应用适配的工作量,并且提升用户体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种控件内容的拖拽方法、电子设备及***。
背景技术
为了更好的满足用户的使用需求,近年来电子设备的屏幕也越来越大,使得电子设备的显示屏上可以同时显示多个应用窗口。
目前,用户可以将一个窗口内的控件内容拖拽到其它的窗口。比如,手机的显示屏上显示了两个窗口,分别为应用窗口1和应用窗口2。其中,窗口1中有一张照片,比如照片A,假设用户长按照片A,此时应用窗口1对应的应用可检测到该长按事件,然后调用***接口启动拖拽功能。接着,用户可执行拖拽操作,当用户将照片A拖动到应用窗口2后,用户可松手,应用窗口2对应的应用可将照片A显示在应用窗口2中。
在上述拖拽方法中,需要窗口对应的应用适配拖拽功能,并且是由应用主动触发拖拽功能,如果应用没有适配拖拽功能,则不能对照片A进行拖拽。
发明内容
本申请提供一种控件内容的拖拽方法、电子设备及***,用以解决现有技术中需要应用适配拖拽功能导致适配工作量较大,且用户体验不佳的问题。
第一方面,本申请提供一种控件内容的拖拽方法,该方法包括:第一电子设备显示第一窗口和第二窗口,其中,第一窗口和第二窗口属于同一应用或不同应用。第一电子设备中的拖拽单元检测到对第一窗口中的第一控件的长按操作,该拖拽单元不属于第一窗口所属的应用和第二窗口所属的应用,然后拖拽单元响应以长按操作为拖拽起始操作的拖拽操作,将第一控件的内容从第一窗口传给第二窗口,该拖拽操作用于将第一控件的内容从第一窗口拖拽到第二窗口。
上述技术方案中,通过电子设备中的拖拽单元检测用户的长按操作,并触发拖拽功能,无需应用适配拖拽功能,能够减少应用适配的工作量,并且能够提升用户体验。
在一种可能的设计中,所述拖拽单元属于所述第一电子设备的操作***。通过上述技术方案,可以利用电子设备的操作***实现对控件内容的拖拽,而不是由窗口所属的应用检测并触发拖拽功能,能够提升用户体验。
在一种可能的设计中,所述拖拽单元属于所述操作***的框架层。
在一种可能的设计中,所述第一电子设备中的拖拽单元检测到对所述第一窗口中的第一控件的长按操作,包括:根据所述长按操作的位置确定所述长按操作为对所述第一窗口中的所述第一控件的长按操作。
通过上述技术方案,可通过长按操作的位置确定长按操作是对第一控件的长按操作,即能够确定出用户长按的控件是哪个控件。
在一种可能的设计中,所述第一电子设备中的拖拽单元检测到对所述第一窗口中的第一控件的长按操作之后,将所述第一控件的内容从所述第一窗口传给所述第二窗口之前,所述方法还包括:所述拖拽单元根据所述第一控件的控件类型确定所述第一控件支持拖拽功能。
通过上述技术方案,可利用控件类型判断控件是否支持拖拽功能,当确定控件支持拖拽功能时,能够获取到控件的内容,然后将控件的内容传输给其它窗口。
在一种可能的设计中,所述拖拽单元将所述第一控件的内容从所述第一窗口传给所述第二窗口,包括:
所述拖拽单元检测到拖拽结束操作;所述拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件;所述拖拽单元将所述第一控件的内容作为所述第一输入控件的输入内容。
通过上述技术方案,可以根据拖拽结束操作的位置确定第二窗口中的输入控件,进而将控件的内容作为输入控件的输入内容传给第二窗口。
在一种可能的设计中,所述拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,包括:
所述拖拽单元根据所述拖拽结束操作的位置确定所述拖拽结束操作所在的窗口为第二窗口;所述拖拽单元将所述第二窗口中处于输入状态的控件作为所述第一输入控件,或者将所述第二窗口中与所述拖拽结束操作的位置距离最近的输入控件作为所述第一输入控件。
通过上述技术方案,电子设备中的拖拽单元可以首先根据拖拽结束操作的位置确定拖拽结束操作所在的窗口,然后在拖拽结束操作所在的窗口中确定控件的内容的输入控件。
在一种可能的设计中,将所述第一控件的内容从所述第一窗口传给所述第二窗口之前所述方法还包括:判断所述第一窗口所属的应用是否已启动将所述第一控件的内容从所述第一窗口传给所述第二窗口的操作。若应用已启动将第一控件的内容从第一窗口传给第二窗口的操作,则拖拽单元不执行拖拽功能,若应用没有启动将第一控件的内容从第一窗口传输给第二窗口的操作,则拖拽单元触发拖拽功能,执行将第一控件的内容从第一窗口传到第二窗口的操作。
在一种可能的设计中,所述拖拽单元检测到拖拽结束操作之后,所述方法还包括:判断所述第一输入控件是否监听了拖拽结束事件。若第一输入控件监听了拖拽结束事件,则拖拽单元不执行将第一控件的内容传给第二窗口的步骤;若第一输入控件没有监听拖拽结束事件,则拖拽单元执行将第一控件的内容传给第二窗口的步骤。
第二方面,本申请还提供一种控件内容的拖拽方法,应用于包括第一电子设备和第二电子设备组成的***,该方法包括:
第一电子设备显示第一窗口和第二窗口,其中,第一窗口为第一电子设备的应用窗口,第二窗口为第二电子设备投屏到第一电子设备上的应用窗口;第一电子设备检测到拖拽操作的拖拽结束操作,该拖拽操作用于将第一窗口的第一控件的内容从第一窗口拖拽到第二窗口;第一电子设备向第二电子设备发送拖拽结束事件,拖拽结束事件包括拖拽结束操作的位置和第一控件的内容;第二电子设备中的第二拖拽单元接收第一电子设备发送的拖拽结束事件,该第二拖拽单元不属于第二窗口所属的应用;第二拖拽单元根据拖拽结束操作的位置将第一控件的内容传给第二窗口。
通过上述技术方案,可以实现投屏场景下,从电子设备的本地窗口中将控件内容拖拽到投屏窗口。并且,利用电子设备中的拖拽单元完成控件内容的接收,无需应用适配拖拽功能,可以通过***触发控件内容的拖拽功能,实现控件内容的拖出和拖入,能够减少应用适配的工作量。
在一种可能的设计中,第二拖拽单元根据所述拖拽结束操作的位置将所述第一控件的内容传给所述第二窗口,包括:
第二拖拽单元根据拖拽结束操作的位置确定第二窗口中的第一输入控件,并将第一控件的内容作为所述第一输入控件的输入。
在一种可能的设计中,第一电子设备检测到拖拽操作的拖拽结束操作之前还包括:所述第一电子设备中的第一拖拽单元检测到对所述第一控件的长按操作,所述拖拽单元不属于所述第一窗口所属的应用述第一拖拽单元响应以所述长按操作为拖拽起始操作的所述拖拽操作,获取所述第一控件的内容。
在一种可能的设计中,第一拖拽单元属于第一电子设备的操作***,第二拖拽单元属于第二电子设备的操作***。
在一种可能的设计中,第一电子设备中的第一拖拽单元检测到对所述第一控件的长按操作,包括:
第一电子设备中的第一拖拽单元根据所述长按操作的位置,确定所述长按操作为对所述第一窗口中的所述第一控件的长按操作。
在一种可能的设计中,第一电子设备中的第一拖拽单元检测到对所述第一控件的长按操作之后,检测到拖拽操作的拖拽结束操作之前,所述方法还包括:
第一拖拽单元根据所述第一控件的控件类型确定所述第一控件支持拖拽功能。
在一种可能的设计中,第二拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,包括:
第二拖拽单元根据所述拖拽结束操作的位置确定拖拽结束操作所在的窗口为第二窗口;第二拖拽单元将所述第二窗口中处于输入状态的控件作为所述第一输入控件;或者将所述第二窗口中与所述拖拽结束操作的位置距离最近的控件作为所述第一输入控件。
第三方面,本申请还提供一种控件内容的拖拽方法,应用于第一电子设备,该方法包括:第一电子设备显示第一窗口和第二窗口,其中,所述第一窗口为所述第一电子设备的应用窗口,所述第二窗口为第二电子设备投屏到所述第一电子设备上的应用窗口;第一电子设备检测到拖拽操作的拖拽结束操作,所述拖拽操作用于将所述第一窗口的第一控件的内容从所述第一窗口拖拽到所述第二窗口;第一电子设备向所述第二电子设备发送拖拽结束事件,以使所述第二电子设备中的第二拖拽单元根据拖拽结束操作的位置将所述第一控件的内容传给所述第二窗口,所述拖拽结束事件包括所述拖拽结束操作的位置和所述第一控件的内容。
在一种可能的设计中,第一电子设备检测到拖拽操作的拖拽结束操作之前,所述方法还包括:
第一电子设备中的第一拖拽单元检测到对所述第一控件的长按操作,所述拖拽单元不属于所述第一窗口所属的应用;所述第一拖拽单元响应以所述长按操作为拖拽起始操作的所述拖拽操作,获取所述第一控件的内容。
在一种可能的设计中,所述第一拖拽单元属于所述第一电子设备的操作***。
在一种可能的设计中,所述第一电子设备中的第一拖拽单元检测到对所述第一控件的长按操作,包括:
所述第一电子设备中的第一拖拽单元根据所述长按操作的位置,确定所述长按操作为对所述第一窗口中的所述第一控件的长按操作。
在一种可能的设计中,所述第一电子设备中的第一拖拽单元检测到对所述第一控件的长按操作之后,检测到拖拽操作的拖拽结束操作之前,所述方法还包括:
第一拖拽单元根据所述第一控件的控件类型确定所述第一控件支持拖拽功能。
第四方面,本申请还提供一种控件内容的拖拽方法,应用于第二电子设备,该方法包括:第二电子设备中的第二拖拽单元接收所述第一电子设备发送的拖拽结束事件,所述拖拽结束事件包括所述拖拽结束操作的位置和所述第一控件的内容;所述第二拖拽单元不属于所述第二窗口所属的应用;所述第二拖拽单元根据所述拖拽结束操作的位置将所述第一控件的内容传给所述第二窗口。
在一种可能的设计中,第二拖拽单元根据所述拖拽结束操作的位置将所述第一控件的内容传给所述第二窗口,包括:
第二拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,并将所述第一控件的内容作为所述第一输入控件的输入。
在一种可能的设计中,第二拖拽单元属于所述第二电子设备的操作***。
在一种可能的设计中,第二拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,包括:
第二拖拽单元根据所述拖拽结束操作的位置确定拖拽结束操作所在的窗口为第二窗口;所述第二拖拽单元将所述第二窗口中处于输入状态的控件作为所述第一输入控件;或者将所述第二窗口中与所述拖拽结束操作的位置距离最近的控件作为所述第一输入控件。
第五方面,本申请还提供一种控件内容的拖拽方法,应用于包括第一电子设备和第二电子设备组成的***,该方法包括:
第一电子设备显示第一窗口和第二窗口,其中,第一窗口为第二电子设备投屏到第一电子设备上的应用窗口,第二窗口为第一电子设备的应用窗口;第一电子设备检测到对第一窗口的长按操作,并向第二电子设备发送长按事件,长按事件包括长按操作的坐标;第二电子设备中的第二拖拽单元接收长按事件,并根据长按操作的坐标确定第一窗口中的第一控件,并获取第一控件的内容,第二拖拽单元不属于第一窗口所属的应用;第二拖拽单元向第一电子设备发送第一控件的内容;第一电子设备在检测到拖拽操作的拖拽结束操作时将第一控件的内容传给第二窗口,拖拽操作用于将第一控件的内容从第一窗口拖拽到第二窗口。
通过上述技术方案,可以实现在投屏场景下,将投屏窗口中的控件内容拖拽到本地窗口,不需要应用适配拖拽功能,可以通过***触发控件内容的拖拽功能,实现控件内容的拖出和拖入,能够减少应用适配的工作量。
在一种可能的设计中,所述第一电子设备在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,包括:
所述第一电子设备中的第一拖拽单元在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,所述第一拖拽单元不属于所述第二窗口所属的应用。
在一种可能的设计中,所述第一拖拽单元属于所述第一电子设备的操作***,所述第二拖拽单元属于所述第二电子设备的操作***。
在一种可能的设计中,所述第二电子设备中的第二拖拽单元获取所述第一控件的内容之前,所述方法还包括:
所述第二拖拽单元根据所述第一控件的控件类型确定所述第一控件支持拖拽功能。
在一种可能的设计中,所述第一电子设备中的第一拖拽单元在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,包括:
所述第一拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件;
所述第一拖拽单元将所述第一控件的内容作为所述第一输入控件的输入内容。
在一种可能的设计中,所述第一拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,包括:
所述第一拖拽单元根据所述拖拽结束操作的位置确定所述拖拽结束操作所在的窗口为第二窗口;所述第一拖拽单元将所述第二窗口中处于输入状态的控件作为所述第一输入控件,或者将所述第二窗口中与所述拖拽结束操作的位置距离最近的控件作为所述第一输入控件。
第六方面,本申请还提供一种控件内容的拖拽方法,应用于第一电子设备,该方法包括:第一电子设备显示第一窗口和第二窗口,其中,所述第一窗口为第二电子设备投屏到所述第一电子设备上的应用窗口,所述第二窗口为所述第一电子设备的应用窗口;第一电子设备检测到对所述第一窗口的长按操作,并向所述第二电子设备发送长按事件,所述长按事件包括所述长按操作的坐标;第一电子设备接收第二电子设备发送的第一控件的内容,并在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,所述拖拽操作用于将所述第一控件的内容从所述第一窗口拖拽到所述第二窗口。
在一种可能的设计中,所述第一电子设备在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,包括:
所述第一电子设备中的第一拖拽单元在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,所述第一拖拽单元不属于所述第二窗口所属的应用。
在一种可能的设计中,第一拖拽单元属于所述第一电子设备的操作***。
在一种可能的设计中,第一电子设备中的第一拖拽单元在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,包括:
第一拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件;第一拖拽单元将所述第一控件的内容作为所述第一输入控件的输入内容。
在一种可能的设计中,所述第一拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,包括:
第一拖拽单元根据所述拖拽结束操作的位置确定所述拖拽结束操作所在的窗口为第二窗口;第一拖拽单元将所述第二窗口中处于输入状态的控件作为所述第一输入控件,或者将所述第二窗口中与所述拖拽结束操作的位置距离最近的控件作为所述第一输入控件。
第七方面,本申请还提供一种控件内容的拖拽方法,应用于第二电子设备,该方法包括:第二电子设备中的第二拖拽单元接收长按事件,所述长按事件包括所述长按操作的坐标;根据所述长按操作的坐标确定所述第一窗口中的第一控件,并获取所述第一控件的内容,所述第二拖拽单元不属于所述第一窗口所属的应用;所述第二拖拽单元向所述第一电子设备发送所述第一控件的内容,以使所述第一电子设备在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口。
在一种可能的设计中,第二拖拽单元属于所述第二电子设备的操作***。
在一种可能的设计中,第二电子设备中的第二拖拽单元获取所述第一控件的内容之前,所述方法还包括:
第二拖拽单元根据所述第一控件的控件类型确定所述第一控件支持拖拽功能。
第八方面,本申请还提供一种控件内容的拖拽方法,该方法包括:第二电子设备将第一窗口和第二窗口投屏到第一电子设备;第二电子设备的拖拽单元接收第一电子设备发送的长按事件,长按事件包括对第一电子设备上显示的第一窗口的长按操作的坐标,该拖拽单元不属于第一窗口所属的应用和所述第二窗口所属的应用,第一窗口和第二窗口属于同一应用或不同应用;第二电子设备根据长按操作的坐标确定第一窗口的第一控件,并获取第一控件的内容;拖拽单元接收第一电子设备发送的拖拽结束事件,所述拖拽结束事件包括拖拽操作的拖拽结束操作的位置,所述拖拽操作用于将所述第一控件的内容从所述第一窗口拖拽到所述第二窗口,所述拖拽操作的拖拽起始操作为所述长按操作;拖拽单元根据所述拖拽结束操作的位置将第一控件的内容传给第二窗口。
通过上述技术方案,可以实现投屏场景下,两个投屏窗口之间的控件内容的拖拽,不需要应用适配拖拽功能,可以通过***触发控件内容的拖拽功能,实现控件内容的拖出和拖入,能够减少应用适配的工作量。
在一种可能的设计中,所述拖拽单元属于所述第二电子设备的操作***。
在一种可能的设计中,所述拖拽单元属于所述操作***的框架层。
在一种可能的设计中,所述第二电子设备获取所述第一控件的内容之前,所述方法还包括:
所述拖拽单元根据所述第一控件的控件类型确定所述第一控件支持拖拽功能。
在一种可能的设计中,所述拖拽单元根据所述拖拽结束操作的坐标将所述第一控件的内容传给所述第二窗口,包括:
所述拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件;所述拖拽单元将所述第一控件的内容作为所述第一输入控件的输入内容。
在一种可能的设计中,所述拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,包括:
所述拖拽单元根据所述拖拽结束操作的位置确定所述拖拽结束操作所在的窗口为第二窗口;所述拖拽单元将所述第二窗口中处于输入状态的控件作为所述第一输入控件,或者将所述第二窗口中与所述拖拽结束操作的位置距离最近的控件作为所述第一输入控件。
第九方面,本申请提供一种控件内容的拖拽***,该***包括第一电子设备和第二电子设备;其中,第一电子设备用于显示第一窗口和第二窗口,其中,所述第一窗口为所述第一电子设备的应用窗口,所述第二窗口为第二电子设备投屏到所述第一电子设备上的应用窗口;所述第一电子设备还用于在检测到拖拽操作的拖拽结束操作时,向所述第二电子设备发送拖拽结束事件,所述拖拽结束事件包括所述拖拽结束操作的位置和所述第一控件的内容,所述拖拽操作用于将所述第一窗口的第一控件的内容从所述第一窗口拖拽到所述第二窗口;第二电子设备中的第二拖拽单元用于接收所述第一电子设备发送的所述拖拽结束事件,所述第二拖拽单元不属于所述第二窗口所属的应用;所述第二拖拽单元还用于根据所述拖拽结束操作的位置将所述第一控件的内容传给所述第二窗口。
第十方面,本申请提供一种控件内容的拖拽***,该***包括第一电子设备和第二电子设备;其中,第一电子设备用于显示第一窗口和第二窗口,其中,所述第一窗口为第二电子设备投屏到所述第一电子设备上的应用窗口,所述第二窗口为所述第一电子设备的应用窗口;所述第一电子设备还用于在检测到对所述第一窗口的长按操作时,向所述第二电子设备发送长按事件,所述长按事件包括所述长按操作的坐标;所述第二电子设备中的第二拖拽单元用于接收所述长按事件,并根据所述长按操作的坐标确定所述第一窗口中的第一控件,并获取所述第一控件的内容,所述第二拖拽单元不属于所述第一窗口所属的应用;所述第二拖拽单元用于向所述第一电子设备发送所述第一控件的内容;所述第一电子设备用于在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,所述拖拽操作用于将所述第一控件的内容从所述第一窗口拖拽到所述第二窗口。
第十一方面,本申请提供一种电子设备,所述电子设备包括显示屏;一个或多个处理器;一个或多个存储器;一个或多个传感器;多个应用;以及一个或多个计算机程序;其中所述一个或多个计算机程序被存储在所述一个或多个存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器调用执行时,使得所述电子设备执行上述第一方面、第三方面、第四方面、第六方面、第七方面、第八方面任一可能设计的方法。需要说明的是,该电子设备可以为第一电子设备,也可以为第二电子设备。
第十二方面,本申请还提供一种电子设备,该电子设备包括执行第一方面、第三方面、第四方面、第六方面、第七方面、第八方面或者第一方面、第三方面、第四方面、第六方面、第七方面、第八方面的任意一种可能的设计的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第十三方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在电子设备上运行时,使得所述电子设备执行第一方面、第三方面、第四方面、第六方面、第七方面、第八方面及其第一方面、第三方面、第四方面、第六方面、第七方面、第八方面任一可能设计的方法。
第十四方面,本申请实施例一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行本申请实施例第一方面、第三方面、第四方面、第六方面、第七方面、第八方面及其第一方面、第三方面、第四方面、第六方面、第七方面、第八方面任一可能设计的方法。
上述第二方面至第十四方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
图1为本申请实施例提供的一种电子设备的结构示意图;
图2A为本申请实施例提供的一种软件架构示意图;
图2B为本申请实施例提供的另一种软件架构示意图;
图3为本申请实施例提供的一种应用场景示意图;
图4A为本申请实施例提供的一种控件内容的拖拽方法流程图;
图4B为本申请实施例提供的一种控件内容的拖出方法流程图;
图4C为本申请实施例提供的一种控件内容的拖出方法交互示意图;
图5A为本申请实施例提供的一种控件内容的接收方法示意图;
图5B为本申请实施例提供的一种控件内容的拖入过程交互流程图;
图6A~图7为本申请实施例提供的用户界面示意图;
图8A为本申请实施例提供的一种应用于多设备场景下的控件内容的拖拽方法流程图;
图8B为本申请实施例提供的一种控件内容接收方法交互流程图;
图9为本申请实施例提供的一种用户界面示意图;
图10A为本申请实施例提供的一种控件内容的拖拽方法流程图;
图10B为本申请实施例提供的一种控件内容的拖出方法流程图;
图11为本申请实施例提供的一种控件内容的拖拽方法流程图;
图12为本申请实施例提供的另一种电子设备的结构示意图。
具体实施方式
下面将结合本申请以下实施例中的附图,对本申请实施例中的技术方案进行详尽描述。
本申请实施例涉及的应用程序(简称应用)为能够实现某项或多项特定功能的软件程序。通常,电子设备中可以安装多个应用。比如,相机应用、短信应用、邮箱应用、视频应用、音乐应用、WeLink等。下文中提到的应用,可以是电子设备出厂时已安装的应用,也可以是用户在使用电子设备的过程中从网络下载或其他电子设备获取的应用。
需要说明的是,本申请实施例提供的控件内容的拖拽方法,可以适用于具有显示屏的任何电子设备,诸如手机、平板电脑、可穿戴设备(例如,手表、手环、智能头盔,智能眼镜等)、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等,本申请实施例不作限定。并且,电子设备的示例性实施例包括但不限于搭载鸿蒙或者其它操作***的电子设备。
应理解,本申请实施例提供的控件内容的拖拽方法可以适用于单一电子设备,也可以适用于多个电子设备,比如多屏协同的场景。示例性的,可以应用于手机上的不同窗口之间的控件拖拽,也可以将手机投屏到笔记本电脑上,然后应用于投屏窗口与笔记本电脑上的本地窗口之间的控件拖拽。其中,手机上的不同窗口可以对应不同的应用程序,也可以为同一应用程序的不同窗口。
下面以手机为例,介绍电子设备的结构。
如图1所示,手机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等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为手机100充电,也可以用于手机100与***设备之间传输数据。充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),第五代(the fifth generation,5G)移动通信***,未来通信***,如第六代(6th generation,6G)***等,BT,GNSS,WLAN,NFC,FM和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidounavigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
显示屏194用于显示应用的显示界面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlight emitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。在本申请实施例中,显示屏194可用于同时显示多个应用界面。
摄像头193用于捕获静态图像或视频。摄像头193可以包括前置摄像头和后置摄像头。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,以及至少一个应用程序(例如爱奇艺应用,微信应用等)的软件代码等。存储数据区可存储手机100使用过程中所产生的数据(例如图像、视频等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将图片,视频等文件保存在外部存储卡中。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定手机100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定手机100围绕三个轴(即,x,y和z轴)的角速度。
陀螺仪传感器180B可以用于确定手机100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定手机100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测手机100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消手机100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,手机100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。磁传感器180D包括霍尔传感器。手机100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当手机100是翻盖机时,手机100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。加速度传感器180E可检测手机100在各个方向上(一般为三轴)加速度的大小。当手机100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。手机100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,手机100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机100通过发光二极管向外发射红外光。手机100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机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用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于手机100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。手机100可以接收按键输入,产生与手机100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过***SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。
可以理解的是,图1所示的部件并不构成对手机的具体限定,手机还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。以下的实施例中,以图1所示的手机100为例进行介绍。
上述手机100的软件***可以采用分层架构,包括事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android***为例,示例性说明手机100的软件结构。应理解,本申请实施例中的***也可以为鸿蒙***,本申请对此不作限定。
以下结合不同场景对电子设备的软件结构进行介绍。首先介绍单设备场景下的软件结构。图2A是本申请实施例的手机100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,Android***从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)、***库、内核层以及硬件层。
应用程序层可以包括一系列应用程序包。如图2A所示,应用程序层内可以安装浏览器,优酷,腾讯视频,地图,爱奇艺等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2A所示,应用程序框架层可以包括布局子***模块、智能拖拽管理模块、原生拖拽模块、事件管理模块、窗口显示管理模块。当然,应用程序框架层中还可以包括显示策略服务、显示管理服务(display manager service,DMS)、窗口管理器,内容提供器,视图***,资源管理器,通知管理器等。
其中,布局子***模块负责***布局相关工作,可以根据用户在显示屏上长按的坐标点精准找到对应的布局控件,并且能够从界面中找到指定类型的正在显示的控件,比如编辑框。
智能拖拽管理模块,为本申请中新增的模块,负责***级拖拽相关业务的管理,比如何时触发***级的拖出事件,何时触发***级的拖入事件。
原生拖拽模块,负责整体拖拽的流程,比如拖动交互图标的显示,过程动效等。
窗口显示管理模块,负责***的窗口显示的管理,主要包括对窗口显示的大小、显示状态、显示层级、焦点管理等内容的管理。
事件管理模块,负责***中输入事件的管理和分发。
Android runtime包括核心库和虚拟机。Android runtime是Android操作***的运行时环境,负责Android操作***的调度和管理。
其中,核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是Android操作***的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种格式的音频、视频的回放和录制,以及支持打开多种格式的静态图像等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是电子设备的硬件和软件之间的层。内核层至少包含显示驱动,传感器驱动、摄像头驱动,音频驱动等,用于驱动硬件层中的硬件。
硬件层可以包括各类传感器(例如触摸传感器等)、显示屏、摄像头等。
在本申请实施例中,手机100上可显示两个窗口,比如窗口1和窗口2。其中,窗口1中包括多个控件,比如控件1、控件2。当用户在窗口1中长按控件1时,智能拖拽管理模块可根据用户长按的控件的坐标位置查找到控件的类型,比如可以调用布局子***的接口查找到控件为控件1,然后判断控件1是否支持拖拽功能,如果控件1支持拖拽功能,则提取控件1的内容,并对提取出的内容进行处理。接着,智能拖拽管理模块可调用控件对象的startDragAndDrop()接口启动拖拽的拖出流程,原生拖拽模块可启动拖拽功能并执行拖拽动效。假设用户要将控件1从窗口1拖拽到窗口2,对于接收窗口即窗口2而言,当拖拽事件到达窗口2时,用户可松手,此时***可获取拖拽事件中的数据,并寻找与松手事件坐标最近的编辑框,将拖拽事件中的数据,即控件1的内容写入编辑框,从而将控件1从窗口1拖拽到窗口2。
图2B所示为本申请实施例提供的一种多设备协同场景下的软件架构示意图。参阅图2B所示,该架构可包括应用程序层、应用程序框架层、驱动层。其中,源设备侧的应用程序层可包括三方应用、投屏管理相关的应用,比如设备连接应用。应用程序框架层可包括布局子***、智能拖拽管理模块、原生拖拽管理模块、窗口显示管理模块、事件管理模块、跨设备连接管理框架以及数据管理层。驱动层包括设备发现模块、设备认证模块以及设备连接模块。
目标设备侧的应用程序层可包括三方应用、投屏管理相关的应用,比如设备连接应用、投屏显示应用。应用程序框架层可包括跨设备连接管理框架、基础框架(比如事件管理、窗口显示、窗口管理(DisplayManager))以及数据管理层。驱动层包括设备发现模块、设备认证模块以及设备连接模块。
其中,设备连接应用用于管理跨设备之间的连接状态及相关业务的管理,投屏显示应用用于显示投屏窗口的内容。数据管理层负责跨设备场景下的数据管理,负责将源设备的图层数据、音视频数据等传输给目标设备,目标设备将反控事件反传给源设备完成事件流程。驱动层提供设备的发现、设备的认证、设备的连接等能力。应理解,智能拖拽管理模块、原生拖拽模块、窗口显示管理模块以及事件管理模块的功能实现可参阅图2A中的介绍,此处不再赘述。
在一些实施例中,当电子设备1投屏显示到电子设备2时,电子设备2上可显示本地窗口,(比如记为:本地窗口1)和投屏窗口(比如记为:投屏窗口2)。假设用户要将本地窗口1内的控件1拖拽到投屏窗口2,其具体拖拽过程与单设备场景下的拖拽过程完全相同,可参阅图2A的详细描述,此处不再重复赘述。
在另一些实施例中,当电子设备2上显示本地窗口1和投屏窗口2时,假设用户要将投屏窗口2内的控件1拖拽到本地窗口1,则用户可在电子设备2上触发长按事件,电子设备2可进行源设备和目标设备的坐标系转换,并将该长按事件和转换后的控件1的位置坐标发送给电子设备1。相应的,电子设备1的事件管理模块在接收到长按事件之后,可将该事件通知给智能拖拽管理模块,智能拖拽管理模块根据控件1的位置坐标发送给布局子***,布局子***根据控件1的位置坐标查找控件标识,并将查找到的控件标识通知给智能拖拽管理模块。然后,电子设备1的智能拖拽管理模块判断控件标识对应的控件是否支持拖拽功能,若支持拖拽功能,则智能拖拽管理模块获取控件1的内容。然后电子设备1的智能拖拽管理模块可将控件1的内容发送给电子设备2,电子设备2可调用控件对象的startDragAndDrop()接口启动拖拽的拖出流程,原生拖拽模块可启动拖拽功能执行拖拽动效。由于接收窗口为电子设备2上的本地窗口,控件的接收过程与单设备场景下的接收过程相同,可参阅图2A中的详细描述,此处不再重复赘述。
以下实施例以应用在图1所示的手机100所示的架构中为例进行描述。
此外,下述实施例涉及的至少一个,包括一个或者多个;其中,多个是指大于或者等于两个。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的。
当本申请实施例应用在多设备场景时,如图3所示,为本申请实施例提供的一种应用场景示意图。参阅图3所示,在该场景下,电子设备1可基于通信网络与其它的多个电子设备(比如,电子设备2)互联,然后电子设备1可以将自身显示屏上的内容投屏显示到电子设备2上,或者电子设备2可以将自身显示屏上的内容投屏显示到电子设备1上。示例性的,该通信网络可以是局域网,比如可以是Wi-Fi热点网络、无线保真点对点(wirelessfidelity-peer to peer,Wi-Fi P2P)网络、蓝牙网络、zigbee网络或NFC网络等。作为一种可能的实现方式,该多个电子设备之间还可以是基于移动网络建立无线连接,例如该移动网络包括基于2G,3G,4G,5G以及后续的标准协议建立的移动网络。作为一种可能的实现方式,该多个电子设备还可以通过移动网络与至少一个服务器建立连接,各个设备之间通过服务器传输数据,和/或,消息,和/或,信息,和/或,信令,和/或,指令。作为一种可能的实现方式,该多个电子设备还可以通过数据线进行连接。
需要说明的是,本申请实施例中的多设备应用场景可以适用于同源投屏场景,也可以适用于异源投屏场景,对此不做具体限定。
下面分别针对单设备和多设备下的不同拖拽场景进行介绍。为了描述方便,本申请实施例中可将多设备场景下的设备分别称为“源设备”(或者称为:第二电子设备)和“目标设备”(或者称为:第一电子设备)。
首先介绍单设备下的拖拽场景。
如图4A所示,为本申请实施例提供的一种控件内容的拖拽方法流程图,参阅图4A所示,该方法可包括如下步骤:
S41:目标设备显示第一窗口和第二窗口。
对于单设备而言,电子设备上可显示至少一个窗口。为了描述方便,可将单设备的显示屏上显示的两个窗口记为“第一窗口”和“第二窗口”。其中,第一窗口和第二窗口可以为同一应用程序的不同窗口,也可以为不同应用程序的窗口,本申请对此不做限定。当然,显示屏上还可以显示更多窗口,本申请不做具体限定。
S42:目标设备中的拖拽单元检测到对第一窗口中的第一控件的长按操作。
其中,目标设备中的拖拽单元不属于第一窗口所属的应用和第二窗口所属的应用。在具体实现时,电子设备中的拖拽单元可以属于电子设备的操作***。示例性的,拖拽单元可以属于操作***的框架层,当然,拖拽单元还可以为***应用,本申请对此不做限定。
S43:目标设备中的拖拽单元响应以长按操作为拖拽起始操作的拖拽操作,将第一控件的内容从第一窗口传给第二窗口。
其中,拖拽操作用于将第一控件的内容从第一窗口拖拽到第二窗口。
以下对图4A所示实施例中的控件内容的拖出和控件内容的拖入过程分别进行介绍。
如图4B所示,为本申请实施例提供的一种控件内容的拖出方法流程图,参阅图4B所示,该方法可包括如下步骤:
应理解,图4B所示实施例中的电子设备相当于图4A所示实施例中的目标设备。
S401:电子设备显示第一窗口和第二窗口。
S402:电子设备中的拖拽单元接收到第一触发事件。
其中,第一触发事件可以为用户在任意一个窗口内对某个控件的长按事件。比如,第一触发事件可以为用户对图片的长按事件。该第一触发事件(或者说长按事件)中可以包括长按的控件的坐标。
S403:电子设备中的拖拽单元响应第一触发事件,判断第一窗口内的第一控件是否支持拖拽功能。若第一控件支持拖拽功能,则继续执行S404,若第一控件不支持拖拽功能,则结束,不执行下述步骤。
需要说明的是,控件支持拖拽功能可以理解为电子设备中的拖拽单元可以获取到控件的内容,从而可以通过拖拽单元将控件的内容传输给其它窗口。
为了描述方便,以下可将用户要拖拽的控件记为“第一控件”。应理解,该第一控件可以为图片控件,也可以为文本控件或者编辑框控件等,本申请对此不做限定。
在本申请实施例中,电子设备中的拖拽单元在检测到第一触发事件时,可根据用户长按的坐标调用布局子***模块查找坐标对应的控件,然后判断该控件是否支持拖拽功能。应理解,***中可保存有窗口内的控件的坐标,示例性的,应用窗口内的控件的坐标可参阅下述表1所示。
表1
窗口 | 控件 | 控件类型 | 坐标 |
窗口1 | 控件1 | 类型A | (X1,Y1) |
窗口1 | 控件2 | 类型B | (X2,Y2) |
窗口2 | 控件3 | 类型A | (X3,Y3) |
窗口2 | 控件4 | 类型B | (X4,Y4) |
窗口2 | 控件5 | 类型C | (X5,Y5) |
应理解,在不同窗口中,可能存在同一类型的控件,例如窗口1中的控件1和窗口2中的控件3可以为同一类型(比如,类型A)的控件。上述表1仅是一种示意性说明,本申请对此不做限定。
在一些实施例中,可以由应用来配置控件是否支持拖拽功能,比如应用可以为窗口内的控件设置标志,例如可以设置标志为1的控件为支持拖拽功能的控件,标志为2的控件为不支持拖拽功能的控件。
在另一些实施例中,可以由***来设置控件是否支持拖拽功能。比如,***可以设置控件类型为图片的控件支持拖拽功能,设置控件类型为文本框的控件不支持拖拽功能等。需要说明的是,对于同一控件来说,***和应用配置的是否支持拖拽功能可能相同,也可能不同,比如,应用配置的图片类型的控件支持拖拽功能,***设置的图片类型的控件不支持拖拽功能,本申请对此不做限定。
作为一种可能的实现方式,对于同一控件而言,如果***和应用配置的是否支持拖拽功能不同,则可以以应用配置的是否支持拖拽功能为准。比如,应用配置的图片类型的控件支持拖拽功能,***设置的图片类型的控件不支持拖拽功能,则此时可以判定图片类型的控件为支持拖拽功能的控件。
应理解,应用或者***可以配置所有的控件都支持拖拽功能,当然也可以配置部分控件支持拖拽功能。示例性的,***中可以保存有白名单和/或黑名单,其中,白名单中可以包括支持拖拽功能的控件类型,黑名单中可以包括不支持拖拽功能的控件类型。
需要说明的是,本申请实施例中并不限定上述两种不同的设置方式的优先级,具体选择应用配置的还是选择***配置的可以根据产品策略来决定。比如,应用配置的图片类型的控件支持拖拽功能,***设置的图片类型的控件不支持拖拽功能,但产品策略中要求选择应用配置的,此时应用的优先级高于***的优先级。
S404:电子设备中的拖拽单元获取第一控件的内容。
在本申请实施例中,电子设备的拖拽单元可获取拖拽的第一控件的内容,比如第一控件为图片时,可以获取图片的内容以及图片的截图。
下面介绍几种不同控件类型的控件内容提取方式。参阅表2所示,为本申请实施例提供的几种控件类型的控件内容获取方式。
表2
应理解,上述表2仅是一种示意性说明,本申请中对于其它控件类型的控件内容提取方式不做具体限定。对于图片控件来说,在提取到控件中的内容之后,需要将提取到的内容进行格式转换,以便后续将格式转换之后的图片显示在目标窗口。比如,当第一控件为图片时,手机可提取该图片对应的内容和图片的快照。并且,可将提取到的内容和图片的快照进行格式转换,比如可转换为JPG格式。当然,还可以转换为其它的格式,本申请对此不做限定。
S405:电子设备响应用户对第一控件的拖拽操作,执行拖拽动效。
在本申请实施例中,若第一控件支持拖拽,用户可对第一控件的内容进行拖拽操作,则电子设备可检测到拖拽事件,该拖拽事件中可包括拖拽数据,比如可包括控件的内容(用于显示到目标窗口)、快照(或者称为:截图,用于实现拖拽动效)、快照的坐标。
在一些实施例中,当第一控件支持拖拽功能,用户可对第一控件的内容进行拖拽,此时电子设备可调用控件对象的startDragAndDrop()接口触发拖拽功能,电子设备的原生拖拽模块可响应用户的拖拽操作,执行拖拽动效。
作为一种可能的实现方式,在将第一控件的内容从第一窗口传给第二窗口之前,电子设备的拖拽单元还可以判断第一窗口所属的应用是否已经启动将第一控件的内容从第一窗口传给第二窗口的操作。如果第一窗口所属的应用已启动将第一控件的内容从第一窗口传给第二窗口的操作,如,该第一控件已调用startDragAndDrop()接口,则说明第一窗口所属的应用适配了拖拽功能,则此时不执行***拖拽的实现步骤。如果第一窗口所属的应用没有启动将第一控件的内容从第一窗口传输给第二窗口的操作,则按照本申请实施例的方法执行拖拽。
作为一种示例,以拖拽单元为图2A所示软件架构图中的智能拖拽模块为例,对上述拖出过程进行介绍。如图4C所示,为本申请实施例提供的一种控件内容的拖出方法交互示意图,参阅图4C所示,该方法可包括:
步骤1:电子设备的智能拖拽管理模块接收到用户的长按事件。
本申请实施例中,当用户在电子设备上触发长按事件之后,智能拖拽管理模块可接收到用户的长按事件,然后可调用布局子***,根据用户长按的位置坐标查找长按的控件具体为哪个控件。
步骤2:电子设备的智能拖拽管理模块判断用户长按的控件是否支持拖拽。
在一些实施例中,智能拖拽管理模块可根据控件的类型判断该控件是否支持拖拽。若控件支持拖拽,则继续执行步骤3。
步骤3:电子设备的智能拖拽管理模块获取控件的内容。
步骤4:电子设备的原生拖拽模块响应用户的拖拽操作,执行拖拽动效。
应理解,图4C所示实施例的具体实现可参阅图4B中的详细介绍,此处不再重复赘述。
下面继续介绍窗口接收控件内容的过程,对于单设备而言,如图5A所示,可包括如下步骤:
S501:电子设备中的拖拽单元检测到第二触发事件。
这里的第二触发事件可以为用户将第一控件从第一窗口拖拽到第二窗口内,并且在第二窗口内松手的事件。其中,该第二触发事件中可包括拖拽数据以及松手位置的坐标。
在一些实施例中,原生拖拽模块可响应用户的拖拽操作,执行拖拽功能,并且执行拖拽动效,当用户将第一控件拖拽到第二窗口时,用户可松手,此时原生拖拽模块可检测到该松手事件,并将该松手事件通知给智能拖拽管理模块。
S502:电子设备中的拖拽单元响应第二触发事件,在第二窗口内确定接收第一控件的内容的第一输入控件。
在一些实施例中,电子设备的智能拖拽管理模块可响应该松手事件,调用窗口管理模块的接口,并根据用户松手的位置坐标确定松手的窗口为哪个窗口,然后智能拖拽管理模块可调用布局子***的接口在接收窗口(即,第二窗口)中寻找相应的输入控件。示例性的,输入控件可以为编辑控件,编辑控件是一个矩形控件窗口,通常用于在对话框中使用户能够输入和编辑文本。对于输入控件的查找确定过程将在下文详细描述。
作为一种可能的实现方式,在拖拽单元检测到第二触发事件之后,可判断第一输入控件是否监听了拖拽结束事件,若第一输入控件监听了拖拽结束事件,则不执行本申请实施例的方法,若第一输入控件没有监听拖拽结束事件,则执行本申请实施例的方法。
S503:电子设备中的拖拽单元将第一控件的内容作为第一输入控件的输入内容。
在本申请实施例中,电子设备中的拖拽单元在第二窗口中查找到第一输入控件之后,可将第一控件的内容作为第一输入控件的输入内容,从而实现将第一控件的内容从第一窗口传到第二窗口。
作为一种可能的实现方式,拖拽单元在确定出第一输入控件之后,可将第一控件的内容显示在第一输入控件。例如,第二窗口为聊天窗口,第一输入控件为该聊天窗口的编辑控件,可以将该第一控件的内容直接显示在该编辑控件中,并在用户点击“发送”按钮后,将该内容发送给通信对端。当然,也可以不将该第一控件的内容显示在该编辑控件中,而是直接作为编辑控件的输入内容发送给通信对端。
以拖拽单元包括图2A所示的智能拖拽模块、原生拖拽模块为例,对上述控件内容的拖入过程进行介绍。如图5B所示,为本申请实施例提供的一种控件内容的拖入过程交互流程图,参阅图5B所示,该方法可包括如下步骤:
步骤1:电子设备的原生拖拽模块接收到拖拽松手事件,并将该拖拽松手事件发送给智能拖拽管理模块。
其中,拖拽松手事件也可以记为:拖拽结束事件,松手操作也可以记为:拖拽结束操作。
步骤2:电子设备的智能拖拽管理模块调用窗口管理模块,根据松手的位置坐标查找松手的窗口。
步骤3:电子设备的智能拖拽管理模块调用布局子***,在窗口中查找输入控件。
步骤4:电子设备的智能拖拽管理模块获取拖拽数据,并调用布局子***将拖拽数据填入输入控件中。其中,拖拽数据中包括控件的内容。
应理解,图5B所示实施例的步骤的具体实现过程可参阅图5A中的详细介绍,此处不再赘述。
在本申请一些实施例中,拖拽单元(即图5B中的智能拖拽管理模块)可以将第二窗口中处于输入状态的控件作为第一输入控件,或者将第二窗口中与拖拽结束操作的位置距离最近的输入控件作为第一输入控件。
下面以编辑框为例介绍如何确定输入控件的过程。由于第二窗口内的编辑框可能有多个,在本申请中为了描述方便,可将接收第一控件的编辑框记为“第一编辑框”。在本申请实施例中,第一编辑框可以通过如下方式确定:
方式1:在一些实施例中,第一编辑框可以为第二窗口内距离用户松手的位置坐标最近的编辑框。具体来说,电子设备的智能拖拽模块可调用窗口管理模块的接口,根据用户松手的位置坐标获取用户松手时所处的窗口,然后调用布局子***的接口遍历第二窗口中的可见控件,寻找相应的编辑控件。
示例性的,如图6A所示,假设第二窗口上有多个编辑控件,例如图6A所示的编辑控件1、编辑控件2,用户松手的位置为位置A,电子设备可分别计算出从位置A到编辑控件1、编辑控件2的距离。比如,从位置A到编辑控件1的距离为X1,从位置B到编辑控件2的距离为X2。然后确定与位置A最近的编辑控件,比如编辑控件1距离位置A最近(X2>X1),那么第一编辑框即为编辑控件1。
方式2:在另一些实施例中,第一编辑框可以为第二窗口内当前正处于输入状态的编辑框。
应理解,当前正处于输入状态的编辑框可以为正在编辑的编辑框,比如聊天界面的编辑框,例如可以为用户正在编辑消息的矩形框。示例性的,如图6B所示,假设第二窗口为图中所示的聊天界面所在的窗口,此时用户可通过键盘在矩形框61内输入要发送的消息内容,可以将矩形框61理解为正处于输入状态的编辑框,因此,可将矩形框61作为第一编辑框。
需要说明的是,方式1和方式2之间可存在优先级,比如方式2的优先级高于方式1的优先级,即电子设备可以先查找当前正处于输入状态的编辑框作为第一编辑框,如果没有找到,则选择距离松手点最近的编辑框作为第一编辑框。
方式3:第一编辑框为用户松手的位置对应的编辑框。
在方式1和方式2中,用户松手的位置均为编辑框之外的示例,在本申请实施例中,作为又一种可能的实现方式,如果用户松手的位置在编辑框内,则可以将用户松手的位置对应的编辑框作为第一编辑框。举例来说,比如用户松手的位置在图6A所示的编辑控件2中,则第一编辑框可以为编辑控件2。
下面以具体应用场景为例对上述控件的内容拖出和拖入的过程进行介绍。假设手机上显示两个窗口,比如第一窗口和第二窗口。其中,第一窗口和第二窗口为不同应用程序对应的窗口,例如图6C所示的界面600,该界面600中包括淘宝(一种购物类应用程序)的应用窗口601和微信(一种社交类应用程序)的应用窗口602。其中,淘宝的应用窗口601中包括可滑动的图片603。比如用户想要将图片603拖拽到微信的应用窗口602中,则用户在可滑动的图片603中长按想要拖拽的图片,比如可长按当前页面的图片,然后手机上的智能拖拽管理模块可接收到该长按事件,并根据长按的位置坐标查找长按的控件是否支持拖拽。假设图片为支持拖拽的控件,此时原生拖拽模块可响应用户的拖拽操作,将图片603从淘宝的应用窗口601拖出,并且可将图片603拖拽到微信的应用窗口602。当用户将图片603拖拽到微信的应用窗口602之后,比如可在界面610中所示的手指所在位置处松手,然后手机可在微信的应用窗口602中查找第一编辑框,比如可以为当前正处于输入状态的编辑框611,并将拖拽的图片603显示到编辑框611中。
通过上述实施例,可以实现在单设备场景下不同窗口之间的控件内容的拖拽,该方法不需要应用适配拖拽功能,可以通过***触发控件内容的拖拽功能,实现控件内容的拖出和拖入,能够减少应用适配的工作量。
以下介绍多设备下的拖拽场景。在多设备场景下,具体可包括从投屏窗口将控件内容拖拽到本地窗口的场景、从本地窗口将控件内容拖拽到投屏窗口以及从投屏窗口将控件内容拖拽到投屏窗口的场景。
以下为了描述方便,可将多设备场景下的两个设备称为“源设备”和“目标设备”。以手机和平板电脑为例,手机可以为“源设备”,平板电脑可以为“目标设备”,平板电脑的本地窗口记为“第一窗口”,手机的投屏窗口记为“第二窗口”。
场景1:从本地窗口将控件内容拖拽到投屏窗口
假设将手机的显示屏投屏显示到笔记本电脑上,如图7所示,笔记本电脑上可包括窗口1和窗口2。其中,窗口1可以为笔记本电脑的本地窗口,比如淘宝应用的窗口,窗口2为手机的投屏窗口,比如可以为微信应用的窗口。当用户想要将窗口1中的控件,比如图片拖拽到窗口2中,由于窗口1为本地窗口,控件内容拖出的具体实现方式可参阅图4B所示实施例的介绍,此处不再重复赘述。
当用户从本地窗口将控件内容拖出之后,由于投屏窗口为实际运行在手机(即源设备)上的窗口,因此,投屏窗口在接收拖拽的控件内容时,需要做跨设备的处理。
如图8A所示,为本申请实施例提供的一种应用于多设备场景下的控件内容的拖拽方法流程图,参阅图8A所示,该方法可包括如下步骤:
S81:目标设备显示第一窗口和第二窗口。
S82:目标设备检测到拖拽操作的拖拽结束操作。
该拖拽操作用于将第一窗口的第一控件的内容从第一窗口拖拽到第二窗口。
S83:目标设备向源设备发送拖拽结束事件。
其中,拖拽结束事件包括拖拽结束操作的位置和第一控件的内容。
S84:源设备中的拖拽单元接收目标设备发送的拖拽结束事件。
源设备中的拖拽单元不属于第二窗口所属的应用。作为一种示例,源设备中的拖拽单元可以属于源设备的操作***,比如可以属于操作***的框架层或者***应用。
S85:源设备中的拖拽单元根据拖拽结束操作的位置将第一控件的内容传给第二窗口。
下面对该场景下控件内容的拖入过程进行介绍。示例性的,如图8B所示,为本申请实施例提供的一种控件内容接收方法交互流程图,参阅图8B所示,该方法可包括如下步骤:
需要说明的是,在下述步骤执行之前,源设备与目标设备可预先建立连接,实现投屏功能。其中,源设备与目标设备可通过Wi-Fi、蓝牙等建立无线连接,或者也可以建立有线连接,本申请对此不做限定。对于源设备与目标设备建立连接关系,实现投屏的过程可参阅现有技术的实现,此处不做过多赘述。
S801:目标设备检测到第三触发事件。
其中,第三触发事件可以为用户将控件内容拖拽到目标设备的第二窗口上的拖拽松手事件。该第三触发事件中可包括拖拽数据(比如,控件的内容)以及用户松手位置的坐标。
S802:目标设备将第三触发事件发送给源设备。
在一些实施例中,目标设备上的投屏显示APP可检测到拖拽松手事件,然后可通过数据通道将拖拽松手事件传输给源设备,由源设备继续进行处理。
S803:源设备中的拖拽单元根据拖拽结束操作的位置确定第二窗口中的第一输入控件。
S804:源设备中的拖拽单元将第一控件的内容作为第一输入控件的输入内容。
在一些实施例中,源设备接收到第三触发事件之后,可根据用户松手的位置坐标确定用户松手位置的坐标对应的窗口为哪个窗口,然后在第二窗口中确定接收第一控件的内容的第一输入控件。该过程与图5A所示实施例中的S502、S503的实现过程相同,具体可参阅图5A所示实施例中的详细描述,此处不再赘述。
由于第二窗口为源设备投屏到目标设备的窗口,因此在S804之后,源设备会将第二窗口更新后的内容发送给目标设备,以使目标设备显示第二窗口更新后的内容。应理解,在第二窗口更新后的内容中包括第一控件的内容。
需要说明的是,与单设备场景不同的是,在多设备场景下,投屏显示应用可以实时监听拖拽事件,并将拖拽事件中控件的坐标通过跨设备通道实时地传输给源设备,源设备再根据用户松手时控件的坐标确定松手的窗口,进而在松手的窗口内查找输入控件。
场景2:从投屏窗口将控件内容拖拽到本地窗口
如图9所示,假设笔记本电脑上可包括窗口1和窗口2。其中,窗口1可以为笔记本电脑的本地窗口,比如微信应用的窗口,窗口2为手机的投屏窗口,比如可以为淘宝应用的窗口。当用户想要将窗口2中的控件,比如图片拖拽到窗口1时,由于窗口2为投屏窗口,即实际运行在手机上的窗口,因此,在将控件内容拖出时需要做跨设备的处理。
如图10A所示,为本申请实施例提供的一种控件内容的拖拽方法流程图。参阅图10A所示,该方法可包括如下步骤:
S101:目标设备显示第一窗口和第二窗口。
S102:目标设备检测到对第一窗口的长按操作。
S103:目标设备向源设备发送长按事件。
所述长按事件包括所述长按操作的坐标。
S104:源设备中的拖拽单元接收长按事件,根据长按操作的坐标确定第一窗口中的第一控件。
S105:源设备中的拖拽单元获取第一控件的内容。
S106:源设备中的拖拽单元向目标设备发送第一控件的内容。
S107:目标设备在检测到拖拽操作的拖拽结束操作时将第一控件的内容传给第二窗口。
下面对该场景下的控件内容的拖出过程进行介绍。示例性的,如图10B所示,为本申请实施例提供的一种控件内容的拖出方法流程图,参阅图10B所示,该方法可包括如下步骤:
S1001:目标设备接收到第四触发事件。
其中,第四触发事件可以为用户在目标设备的第二窗口上对第一控件的长按事件。该长按事件中可包括用户长按位置的坐标。
本申请实施例中,由于长按事件是在投屏窗口上触发的,用户长按位置的坐标为源设备上的display上的坐标,源设备和目标设备的显示屏大小可能不同,因此,可将目标设备上的坐标与源设备上的display上的坐标进行转换,即得到用户长按的位置在目标设备上对应的坐标。应理解,第四触发事件中包括的用户长按位置的坐标指的是在源设备上的display上的坐标。
S1002:目标设备将第四触发事件发送给源设备。
在一些实施例中,当用户在目标设备上触发长按事件之后,可以通过跨设备的数据传输通道将用户在目标设备上的长按事件发送给源设备的事件管理模块,然后事件管理模块将长按事件发送给源设备的智能拖拽管理模块。
S1003:源设备中的拖拽单元判断第一控件是否支持拖拽功能,若第一控件支持拖拽功能,则继续执行S1004,若第一控件不支持拖拽,则结束步骤。
S1004:源设备中的拖拽单元获取第一控件的内容。
S1005:源设备中的拖拽单元向目标设备发送第一控件的内容。
应理解,步骤S1003~S1005的具体实现过程与图4B所示实施例的S403~S405类似,具体可参阅图4B所示实施例中的相关介绍,此处不再重复赘述。
通过上述过程,可将第一控件的内容从投屏窗口拖出,然后目标设备可响应用户对第一控件的内容的拖拽操作,执行拖拽动效。当用户执行拖拽动作将第一控件的内容拖拽到目标设备的本地窗口后松手,对于本地窗口而言,不涉及跨设备的接收,因此,本地窗口接收控件内容的具体实现过程与单设备上接收方法相同,具体可参阅图5A、图5B所示实施例中的详细介绍,此处不再赘述。
基于上述实施例的介绍可知,在多设备场景下,可以实现在投屏窗口和本地窗口之间的控件内容的拖拽(包括控件内容的拖出和控件内容的拖入)。通过本申请的方法,无需应用适配拖拽功能,***级的拖拽方法可以减少应用适配的工作量。
场景3:从投屏窗口将控件内容拖拽到投屏窗口
针对这种场景,目标设备上可显示两个投屏窗口,比如窗口1和窗口2均为投屏窗口,且窗口1和窗口2可以为源设备将自身的显示屏整体投屏显示到目标设备上的窗口,也可以为源设备分别投屏显示到目标设备上的窗口。如果两个窗口是整体投屏的窗口,则由源设备执行拖拽动效,目标设备仅用于显示动效;如果两个窗口是分别投屏的窗口,则由目标设备执行拖拽动效。
应理解,当两个窗口都是投屏窗口时,不管是控件内容的拖出还是拖入都会涉及到跨设备的传递。在该场景下目标设备主要用于显示投屏窗口,因此,以下主要对源设备执行的步骤进行介绍。
如图11所示,为本申请实施例提供的一种控件内容的拖拽方法流程图,参阅图11所示,该方法可包括如下步骤:
S1101:源设备将第一窗口和第二窗口投屏到目标设备。
S1102:源设备的拖拽单元接收目标设备发送的长按事件。
其中,长按事件包括对目标设备上显示的第一窗口的长按操作的坐标,所述拖拽单元不属于第一窗口所属的应用和第二窗口所属的应用,且第一窗口和第二窗口属于同一应用或不同应用。
S1103:源设备根据长按操作的坐标确定第一窗口的第一控件,并获取第一控件的内容。
S1104:源设备的拖拽单元接收目标设备发送的拖拽结束事件。
其中,拖拽结束事件包括拖拽操作的拖拽结束操作的位置,所述拖拽操作用于将第一控件的内容从第一窗口拖拽到第二窗口,所述拖拽操作的拖拽起始操作为长按操作。
S1105:源设备的拖拽单元根据拖拽结束操作的位置将第一控件的内容传给第二窗口。
应理解,S1102、S1103、S1105的具体实现过程可参阅前述实施例中的详细介绍,在此不再重复赘述。
通过上述方法,可以利用电子设备中的拖拽单元实现两个投屏窗口之间的控件内容的拖拽,无需应用适配拖拽功能,能够减少应用适配的工作量,并且提升用户体验。
上述本申请提供的实施例中,从电子设备作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
如图12所示,本申请另外一些实施例公开了一种电子设备,该电子设备可以是具有显示屏的电子设备。参阅图12所示,所述电子设备1200包括:显示屏1201;一个或多个处理器1202;一个或多个存储器1203;一个或多个传感器1204(图中未示出)、多个应用1205(图中未示出);以及一个或多个计算机程序1206(图中未示出),上述各器件可以通过一个或多个通信总线1207连接。
需要说明的是,图12所示的电子设备可以适用于前述实施例中的源设备(第二电子设备),也可以适用于前述实施例中的目标设备(第一电子设备)。
其中,显示屏1201用于显示电子设备中的应用的显示界面,或者显示拖拽动效。存储器1203中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;处理器1202调用存储器1203中存储的所述指令,使得电子设备1200可以上述实施例的控件内容的拖拽方法。示例性的,显示屏用于显示第一窗口和第二窗口;处理器用于实现拖拽单元(或者第一拖拽单元、第二拖拽单元)的功能,还用于控制所述显示屏显示第一窗口和第二窗口。其中,所述指令包括操作***的指令,操作***的指令包括用于实现拖拽单元(或者第一拖拽单元、第二拖拽单元)的功能的指令。
示例性的,当所述指令被所述处理器1202调用执行时,使得所述电子设备1200执行下述步骤:检测到对所述第一窗口中的第一控件的长按操作,所述拖拽单元不属于所述第一窗口所属的应用和所述第二窗口所属的应用,所述第一窗口和所述第二窗口属于同一应用或不同应用;响应以所述长按操作为拖拽起始操作的拖拽操作,将所述第一控件的内容从所述第一窗口传给所述第二窗口,所述拖拽操作用于将所述第一控件的内容从所述第一窗口拖拽到所述第二窗口。
在本申请实施例中,处理器1202可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储器1203中,处理器1202读取存储器1203中的程序指令,结合其硬件完成上述方法的步骤。
在本申请实施例中,存储器1203可以是非易失性存储器,比如硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如RAM。存储器还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储指令和/或数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于以上实施例,本申请还提供了一种控件内容的拖拽***,该***包括第一电子设备和第二电子设备。其中,第一电子设备用于显示第一窗口和第二窗口,其中,第一窗口为第一电子设备的应用窗口,第二窗口为第二电子设备投屏到第一电子设备上的应用窗口;第一电子设备还用于在检测到拖拽操作的拖拽结束操作时,向第二电子设备发送拖拽结束事件,所述拖拽结束事件包括所述拖拽结束操作的位置和所述第一控件的内容,所述拖拽操作用于将所述第一窗口的第一控件的内容从所述第一窗口拖拽到所述第二窗口;第二电子设备中的第二拖拽单元用于接收所述第一电子设备发送的所述拖拽结束事件,所述第二拖拽单元不属于所述第二窗口所属的应用;所述第二拖拽单元还用于根据所述拖拽结束操作的位置将所述第一控件的内容传给所述第二窗口。
基于以上实施例,本申请还提供了一种控件内容的拖拽***,该***包括第一电子设备和第二电子设备。其中,第一电子设备用于显示第一窗口和第二窗口,其中,第一窗口为第二电子设备投屏到第一电子设备上的应用窗口,第二窗口为第一电子设备的应用窗口;第一电子设备还用于在检测到对第一窗口的长按操作时,向第二电子设备发送长按事件,所述长按事件包括所述长按操作的坐标;第二电子设备中的第二拖拽单元用于接收所述长按事件,并根据所述长按操作的坐标确定所述第一窗口中的第一控件,并获取所述第一控件的内容,所述第二拖拽单元不属于所述第一窗口所属的应用;第二拖拽单元用于向第一电子设备发送所述第一控件的内容;第一电子设备还用于在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,所述拖拽操作用于将所述第一控件的内容从所述第一窗口拖拽到所述第二窗口。
基于以上实施例,本申请还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被计算机执行时,使得所述计算机执行以上实施例提供的方法。
本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行以上实施例提供的方法。
本申请实施例是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (30)
1.一种控件内容的拖拽方法,其特征在于,包括:
第一电子设备显示第一窗口和第二窗口;
所述第一电子设备中的拖拽单元检测到对所述第一窗口中的第一控件的长按操作,所述拖拽单元不属于所述第一窗口所属的应用和所述第二窗口所属的应用,所述第一窗口和所述第二窗口属于同一应用或不同应用;
所述拖拽单元响应以所述长按操作为拖拽起始操作的拖拽操作,将所述第一控件的内容从所述第一窗口传给所述第二窗口,所述拖拽操作用于将所述第一控件的内容从所述第一窗口拖拽到所述第二窗口。
2.如权利要求1所述的方法,其特征在于,所述拖拽单元属于所述第一电子设备的操作***。
3.如权利要求1或2所述的方法,其特征在于,所述拖拽单元属于所述操作***的框架层。
4.如权利要求1-3任一项所述的方法,其特征在于,所述第一电子设备中的拖拽单元检测到对所述第一窗口中的第一控件的长按操作,包括:
根据所述长按操作的位置确定所述长按操作为对所述第一窗口中的所述第一控件的长按操作。
5.如权利要求1-4任一项所述的方法,其特征在于,所述第一电子设备中的拖拽单元检测到对所述第一窗口中的第一控件的长按操作之后,将所述第一控件的内容从所述第一窗口传给所述第二窗口之前,所述方法还包括:
所述拖拽单元根据所述第一控件的控件类型确定所述第一控件支持拖拽功能。
6.如权利要求1所述的方法,其特征在于,所述拖拽单元将所述第一控件的内容从所述第一窗口传给所述第二窗口,包括:
所述拖拽单元检测到拖拽结束操作;
所述拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件;
所述拖拽单元将所述第一控件的内容作为所述第一输入控件的输入内容。
7.如权利要求6所述的方法,其特征在于,所述拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,包括:
所述拖拽单元根据所述拖拽结束操作的位置确定所述拖拽结束操作所在的窗口为第二窗口;
所述拖拽单元将所述第二窗口中处于输入状态的控件作为所述第一输入控件,或者将所述第二窗口中与所述拖拽结束操作的位置距离最近的输入控件作为所述第一输入控件。
8.一种控件内容的拖拽方法,其特征在于,应用于包括第一电子设备和第二电子设备组成的***,所述方法包括:
所述第一电子设备显示第一窗口和第二窗口,其中,所述第一窗口为所述第一电子设备的应用窗口,所述第二窗口为第二电子设备投屏到所述第一电子设备上的应用窗口;
所述第一电子设备检测到拖拽操作的拖拽结束操作,所述拖拽操作用于将所述第一窗口的第一控件的内容从所述第一窗口拖拽到所述第二窗口;
所述第一电子设备向所述第二电子设备发送拖拽结束事件,所述拖拽结束事件包括所述拖拽结束操作的位置和所述第一控件的内容;
第二电子设备中的第二拖拽单元接收所述第一电子设备发送的所述拖拽结束事件,所述第二拖拽单元不属于所述第二窗口所属的应用;
所述第二拖拽单元根据所述拖拽结束操作的位置将所述第一控件的内容传给所述第二窗口。
9.如权利要求8所述的方法,其特征在于,所述第二拖拽单元根据所述拖拽结束操作的位置将所述第一控件的内容传给所述第二窗口,包括:
所述第二拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,并将所述第一控件的内容作为所述第一输入控件的输入。
10.如权利要求8或9所述的方法,其特征在于,所述第一电子设备检测到拖拽操作的拖拽结束操作之前,所述方法还包括:
所述第一电子设备中的第一拖拽单元检测到对所述第一控件的长按操作,所述拖拽单元不属于所述第一窗口所属的应用;
所述第一拖拽单元响应以所述长按操作为拖拽起始操作的所述拖拽操作,获取所述第一控件的内容。
11.如权利要求10所述的方法,其特征在于,所述第一拖拽单元属于所述第一电子设备的操作***,所述第二拖拽单元属于所述第二电子设备的操作***。
12.如权利要求10所述的方法,其特征在于,所述第一电子设备中的第一拖拽单元检测到对所述第一控件的长按操作,包括:
所述第一电子设备中的第一拖拽单元根据所述长按操作的位置,确定所述长按操作为对所述第一窗口中的所述第一控件的长按操作。
13.如权利要求10所述的方法,其特征在于,所述第一电子设备中的第一拖拽单元检测到对所述第一控件的长按操作之后,检测到拖拽操作的拖拽结束操作之前,所述方法还包括:
所述第一拖拽单元根据所述第一控件的控件类型确定所述第一控件支持拖拽功能。
14.如权利要求9所述的方法,其特征在于,所述第二拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,包括:
所述第二拖拽单元根据所述拖拽结束操作的位置确定拖拽结束操作所在的窗口为第二窗口;
所述第二拖拽单元将所述第二窗口中处于输入状态的控件作为所述第一输入控件;或者将所述第二窗口中与所述拖拽结束操作的位置距离最近的控件作为所述第一输入控件。
15.一种控件内容的拖拽方法,其特征在于,应用于包括第一电子设备和第二电子设备组成的***,所述方法包括:
第一电子设备显示第一窗口和第二窗口,其中,所述第一窗口为第二电子设备投屏到所述第一电子设备上的应用窗口,所述第二窗口为所述第一电子设备的应用窗口;
所述第一电子设备检测到对所述第一窗口的长按操作,并向所述第二电子设备发送长按事件,所述长按事件包括所述长按操作的坐标;
所述第二电子设备中的第二拖拽单元接收所述长按事件,并根据所述长按操作的坐标确定所述第一窗口中的第一控件,并获取所述第一控件的内容,所述第二拖拽单元不属于所述第一窗口所属的应用;
所述第二拖拽单元向所述第一电子设备发送所述第一控件的内容;
所述第一电子设备在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,所述拖拽操作用于将所述第一控件的内容从所述第一窗口拖拽到所述第二窗口。
16.如权利要求15所述的方法,其特征在于,所述第一电子设备在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,包括:
所述第一电子设备中的第一拖拽单元在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,所述第一拖拽单元不属于所述第二窗口所属的应用。
17.如权利要求16所述的方法,其特征在于,所述第一拖拽单元属于所述第一电子设备的操作***,所述第二拖拽单元属于所述第二电子设备的操作***。
18.如权利要求15或16所述的方法,其特征在于,所述第二电子设备中的第二拖拽单元获取所述第一控件的内容之前,所述方法还包括:
所述第二拖拽单元根据所述第一控件的控件类型确定所述第一控件支持拖拽功能。
19.如权利要求16所述的方法,其特征在于,所述第一电子设备中的第一拖拽单元在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,包括:
所述第一拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件;
所述第一拖拽单元将所述第一控件的内容作为所述第一输入控件的输入内容。
20.如权利要求19所述的方法,其特征在于,所述第一拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,包括:
所述第一拖拽单元根据所述拖拽结束操作的位置确定所述拖拽结束操作所在的窗口为第二窗口;
所述第一拖拽单元将所述第二窗口中处于输入状态的控件作为所述第一输入控件,或者将所述第二窗口中与所述拖拽结束操作的位置距离最近的控件作为所述第一输入控件。
21.一种控件内容的拖拽方法,其特征在于,包括:
第二电子设备将第一窗口和第二窗口投屏到第一电子设备;
所述第二电子设备的拖拽单元接收所述第一电子设备发送的长按事件,所述长按事件包括对所述第一电子设备上显示的所述第一窗口的长按操作的坐标,所述拖拽单元不属于所述第一窗口所属的应用和所述第二窗口所属的应用,所述第一窗口和所述第二窗口属于同一应用或不同应用;
所述第二电子设备根据所述长按操作的坐标确定所述第一窗口的第一控件,并获取所述第一控件的内容;
所述拖拽单元接收所述第一电子设备发送的拖拽结束事件,所述拖拽结束事件包括拖拽操作的拖拽结束操作的位置,所述拖拽操作用于将所述第一控件的内容从所述第一窗口拖拽到所述第二窗口,所述拖拽操作的拖拽起始操作为所述长按操作;
所述拖拽单元根据所述拖拽结束操作的位置将所述第一控件的内容传给所述第二窗口。
22.如权利要求21所述的方法,其特征在于,所述拖拽单元属于所述第二电子设备的操作***。
23.如权利要求21或22所述的方法,其特征在于,所述拖拽单元属于所述操作***的框架层。
24.如权利要求21所述的方法,其特征在于,所述第二电子设备获取所述第一控件的内容之前,所述方法还包括:
所述拖拽单元根据所述第一控件的控件类型确定所述第一控件支持拖拽功能。
25.如权利要求21所述的方法,其特征在于,所述拖拽单元根据所述拖拽结束操作的坐标将所述第一控件的内容传给所述第二窗口,包括:
所述拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件;
所述拖拽单元将所述第一控件的内容作为所述第一输入控件的输入内容。
26.如权利要求25所述的方法,其特征在于,所述拖拽单元根据所述拖拽结束操作的位置确定所述第二窗口中的第一输入控件,包括:
所述拖拽单元根据所述拖拽结束操作的位置确定所述拖拽结束操作所在的窗口为第二窗口;
所述拖拽单元将所述第二窗口中处于输入状态的控件作为所述第一输入控件,或者将所述第二窗口中与所述拖拽结束操作的位置距离最近的控件作为所述第一输入控件。
27.一种控件内容的拖拽***,其特征在于,所述***包括第一电子设备和第二电子设备;其中,
所述第一电子设备用于显示第一窗口和第二窗口,其中,所述第一窗口为所述第一电子设备的应用窗口,所述第二窗口为第二电子设备投屏到所述第一电子设备上的应用窗口;
所述第一电子设备还用于在检测到拖拽操作的拖拽结束操作时,向所述第二电子设备发送拖拽结束事件,所述拖拽结束事件包括所述拖拽结束操作的位置和所述第一控件的内容,所述拖拽操作用于将所述第一窗口的第一控件的内容从所述第一窗口拖拽到所述第二窗口;
第二电子设备中的第二拖拽单元用于接收所述第一电子设备发送的所述拖拽结束事件,所述第二拖拽单元不属于所述第二窗口所属的应用;
所述第二拖拽单元还用于根据所述拖拽结束操作的位置将所述第一控件的内容传给所述第二窗口。
28.一种控件内容的拖拽***,其特征在于,所述***包括第一电子设备和第二电子设备;其中,
第一电子设备用于显示第一窗口和第二窗口,其中,所述第一窗口为第二电子设备投屏到所述第一电子设备上的应用窗口,所述第二窗口为所述第一电子设备的应用窗口;
所述第一电子设备还用于在检测到对所述第一窗口的长按操作时,向所述第二电子设备发送长按事件,所述长按事件包括所述长按操作的坐标;
所述第二电子设备中的第二拖拽单元用于接收所述长按事件,并根据所述长按操作的坐标确定所述第一窗口中的第一控件,并获取所述第一控件的内容,所述第二拖拽单元不属于所述第一窗口所属的应用;
所述第二拖拽单元用于向所述第一电子设备发送所述第一控件的内容;
所述第一电子设备还用于在检测到拖拽操作的拖拽结束操作时将所述第一控件的内容传给所述第二窗口,所述拖拽操作用于将所述第一控件的内容从所述第一窗口拖拽到所述第二窗口。
29.一种电子设备,其特征在于,所述电子设备包括显示屏;处理器;存储器;一个或多个应用;以及计算机程序;
其中,所述计算机程序被存储在所述存储器中,所述计算机程序包括指令,当所述指令被所述处理器调用执行时,使得所述电子设备执行如权利要求1至7或21-26任一项所述的方法。
30.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至7或21-26任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111015143.6A CN115729431A (zh) | 2021-08-31 | 2021-08-31 | 一种控件内容的拖拽方法、电子设备及*** |
EP22863123.0A EP4369166A1 (en) | 2021-08-31 | 2022-08-16 | Control content dragging method and system, and electronic device |
PCT/CN2022/112820 WO2023029983A1 (zh) | 2021-08-31 | 2022-08-16 | 一种控件内容的拖拽方法、电子设备及*** |
US18/586,516 US20240192844A1 (en) | 2021-08-31 | 2024-02-25 | Control content drag method and system, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111015143.6A CN115729431A (zh) | 2021-08-31 | 2021-08-31 | 一种控件内容的拖拽方法、电子设备及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729431A true CN115729431A (zh) | 2023-03-03 |
Family
ID=85291535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111015143.6A Pending CN115729431A (zh) | 2021-08-31 | 2021-08-31 | 一种控件内容的拖拽方法、电子设备及*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240192844A1 (zh) |
EP (1) | EP4369166A1 (zh) |
CN (1) | CN115729431A (zh) |
WO (1) | WO2023029983A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116974446A (zh) * | 2023-09-18 | 2023-10-31 | 荣耀终端有限公司 | 一种动画效果的显示方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066172B (zh) * | 2017-02-16 | 2020-07-10 | 北京小米移动软件有限公司 | 移动终端的文件传输方法及装置 |
CN110618970A (zh) * | 2019-09-12 | 2019-12-27 | 联想(北京)有限公司 | 文件传输方法和电子设备 |
CN117492611A (zh) * | 2019-12-24 | 2024-02-02 | 华为技术有限公司 | 一种文件处理方法、电子设备、***和存储介质 |
CN112631535A (zh) * | 2020-12-22 | 2021-04-09 | 努比亚技术有限公司 | 一种投屏反向控制方法及装置、移动终端、存储介质 |
-
2021
- 2021-08-31 CN CN202111015143.6A patent/CN115729431A/zh active Pending
-
2022
- 2022-08-16 EP EP22863123.0A patent/EP4369166A1/en active Pending
- 2022-08-16 WO PCT/CN2022/112820 patent/WO2023029983A1/zh active Application Filing
-
2024
- 2024-02-25 US US18/586,516 patent/US20240192844A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116974446A (zh) * | 2023-09-18 | 2023-10-31 | 荣耀终端有限公司 | 一种动画效果的显示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023029983A1 (zh) | 2023-03-09 |
EP4369166A1 (en) | 2024-05-15 |
US20240192844A1 (en) | 2024-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471639B (zh) | 显示方法及相关装置 | |
CN114816210B (zh) | 一种移动终端的全屏显示方法及设备 | |
WO2020224485A1 (zh) | 一种截屏方法及电子设备 | |
EP3872807A1 (en) | Voice control method and electronic device | |
WO2021000881A1 (zh) | 一种分屏方法及电子设备 | |
WO2020143408A1 (zh) | 显示方法及相关装置 | |
CN110114747B (zh) | 一种通知处理方法及电子设备 | |
WO2020000448A1 (zh) | 一种柔性屏幕的显示方法及终端 | |
CN110727486B (zh) | 一种显示方法及电子设备 | |
CN114546190A (zh) | 一种应用显示方法及电子设备 | |
WO2021036770A1 (zh) | 一种分屏处理方法及终端设备 | |
CN116360725B (zh) | 显示交互***、显示方法及设备 | |
WO2020024108A1 (zh) | 一种应用图标的显示方法及终端 | |
CN114527901A (zh) | 一种文件拖拽方法及电子设备 | |
EP4152782A1 (en) | Message pushing method and apparatus | |
CN113746718B (zh) | 一种内容分享的方法、装置及*** | |
US20240192844A1 (en) | Control content drag method and system, and electronic device | |
CN115016697A (zh) | 投屏方法、计算机设备、可读存储介质和程序产品 | |
EP4163782A1 (en) | Cross-device desktop management method, first electronic device, and second electronic device | |
CN114356195B (zh) | 一种文件传输的方法及相关设备 | |
CN112882823B (zh) | 屏幕显示方法及电子设备 | |
CN114356187A (zh) | 一种内容获取方法及装置 | |
EP4300284A1 (en) | Screencast method and related apparatus | |
WO2024012398A1 (zh) | 消息共享方法及相关设备 | |
CN117632323A (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 |