CN116483296B - 投屏控制方法、装置、存储介质及电子设备 - Google Patents
投屏控制方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116483296B CN116483296B CN202210038325.3A CN202210038325A CN116483296B CN 116483296 B CN116483296 B CN 116483296B CN 202210038325 A CN202210038325 A CN 202210038325A CN 116483296 B CN116483296 B CN 116483296B
- Authority
- CN
- China
- Prior art keywords
- window
- screen
- terminal
- throwing
- page
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004806 packaging method and process Methods 0.000 claims abstract description 27
- 230000000694 effects Effects 0.000 abstract description 23
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005266 casting Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种投屏控制方法、装置、存储介质及电子设备,涉及物联网技术领域,该方法包括:响应于接收到至少一个终端发送的投屏内容,创建投屏页面;在所述投屏页面内创建所述终端对应的窗口容器,以及在所述窗口容器内封装窗口解耦器;通过所述窗口解耦器,创建所述终端对应的解耦显示窗口;在所述解耦显示窗口中,显示所述终端发送的投屏内容;基于所述窗口容器对所述解耦显示窗口进行布局调整,以控制所述投屏内容在所述投屏页面内的显示状态。本申请可以便捷地实现投屏时投屏内容的自适应显示控制,提升投屏效果。
Description
技术领域
本申请涉及物联网技术领域,具体涉及一种投屏控制方法、装置、存储介质及电子设备。
背景技术
投屏即将一些设备的内容向投屏设备进行转移显示的工作。例如,针对投屏需求,可以在小屏幕设备和大屏幕设备间建立连接,小屏幕设备将投屏内容传输到大屏幕设备上显示。
目前的一些投屏方案中,由于投屏协议兼容性较差,存在通过复杂的投屏页面或者窗口配置方式进行投屏的方案,特别在多种投屏协议的终端投屏至同一终端的场景,存在页面管理复杂,需要大量接口扩展,导致投屏可调整性较差,投屏管理成本高的问题,进一步导致投屏时投屏内容的显示难以自适应控制,不能够随意进行投屏。
发明内容
本申请实施例提供一种方案,可以便捷地实现投屏时投屏内容的自适应显示控制,提升投屏效果。
为解决上述技术问题,本申请实施例提供以下技术方案:
根据本申请的一个实施例,一种投屏控制方法,其包括:响应于接收到至少一个终端发送的投屏内容,创建投屏页面;在所述投屏页面内创建所述终端对应的窗口容器,以及在所述窗口容器内封装窗口解耦器;通过所述窗口解耦器,创建所述终端对应的解耦显示窗口;在所述解耦显示窗口中,显示所述终端发送的投屏内容;基于所述窗口容器对所述解耦显示窗口进行布局调整,以控制所述投屏内容在所述投屏页面内的显示状态。
在本申请的一些实施例中,所述至少一个终端的个数大于或等于两个;所述在所述投屏页面内创建所述终端对应的窗口容器,以及在所述窗口容器内封装窗口解耦器,包括:针对每个所述终端分别创建对应的视图容器组件,以及继承自界面布局组件的窗口扩展类对象;在所述投屏页面内添加每个所述终端对应的视图容器组件,以在所述投屏页面内显示每个所述终端对应的视图容器;基于所述投屏页面内的布局管理器,在每个所述终端对应的视图容器中分别加载所述窗口扩展类对象,以在每个所述窗口容器内封装窗口解耦器。
在本申请的一些实施例中,所述基于所述窗口容器对所述解耦显示窗口进行布局调整,以控制所述投屏内容在所述投屏页面内的显示状态,包括:确定所述投屏页面内创建的所述窗口容器的数目;根据所述数目调整每个所述终端对应的窗口容器的显示状态;根据每个所述终端对应的窗口容器的显示状态,调整每个所述窗口容器内的解耦显示窗口的布局状态,以控制各所述终端发送的投屏内容在所述投屏页面内的显示状态。
在本申请的一些实施例中,所述根据所述数目调整每个所述终端对应的窗口容器的显示状态,包括:当监测到所述至少一个终端中的目标终端停止发送投屏内容时,确定所述目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器;从所述投屏页面内移除所述目标终端对应的所述目标窗口容器;基于所述投屏页面内的预设布局管理器,移除所述目标窗口容器中封装的窗口解耦器;根据第一待调整终端的数目,调整所述第一待调整终端对应的窗口容器的显示状态,所述第一待调整终端为所述至少一个终端中除所述目标终端之外的终端。
在本申请的一些实施例中,在所述基于所述投屏页面内的预设布局管理器,移除所述目标窗口容器中封装的窗口解耦器之后,所述方法还包括:获取投屏控制表,所述投屏控制表用于保存每个所述终端对应的窗口容器以及每个所述窗口容器内封装窗口解耦器的对应信息;从所述投屏控制表中,删除所述目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器的对应信息。
在本申请的一些实施例中,所述投屏页面基于目标页面扩展类对象进行创建的;在所述投屏页面内创建所述终端对应的窗口容器,以及在所述窗口容器内封装窗口解耦器之后,所述方法还包括:创建投屏控制表;在所述投屏控制表中记录所述终端对应的窗口容器与所述窗口容器内封装的窗口解耦器的对应信息;将记录了所述对应信息的所述投屏控制表保存在所述目标页面扩展类对象中,以基于所述投屏控制表监测所述投屏页面中的投屏状态。
在本申请的一些实施例中,所述根据所述数目调整每个所述终端对应的窗口容器的显示状态,包括:当监测到候选终端发送投屏内容时,在所述投屏页面内创建所述候选终端对应的窗口容器,以及在所述候选终端对应的窗口容器内封装窗口解耦器;通过所述候选终端对应的窗口解耦器,创建所述候选终端对应的解耦显示窗口;在所述候选终端对应的所述解耦显示窗口中,显示所述候选终端发送的投屏内容;根据第二待调整终端的数目,调整所述第二待调整终端对应的窗口容器的显示状态,所述第二待调整终端包括所述至少一个终端以及所述候选终端。
根据本申请的一个实施例,一种投屏控制装置,所述装置包括:第一创建模块,用于响应于接收到至少一个终端发送的投屏内容,创建投屏页面;第二创建模块,用于在所述投屏页面内创建所述终端对应的窗口容器,以及在所述窗口容器内封装窗口解耦器;第三创建模块,用于通过所述窗口解耦器,创建所述终端对应的解耦显示窗口;显示模块,用于在所述解耦显示窗口中,显示所述终端发送的投屏内容;控制模块,用于基于所述窗口容器对所述解耦显示窗口进行布局调整,以控制所述投屏内容在所述投屏页面内的显示状态。
在本申请的一些实施例中,所述第二创建模块,包括:容器组件创建单元,应用针对每个所述终端分别创建对应的视图容器组件,以及继承自界面布局组件的窗口扩展类对象;容器添加单元,应用在所述投屏页面内添加每个所述终端对应的视图容器组件,以在所述投屏页面内显示每个所述终端对应的视图容器;解耦器加载单元,用于基于所述投屏页面内的布局管理器,在每个所述终端对应的视图容器中分别加载所述窗口扩展类对象,以在每个所述窗口容器内封装窗口解耦器。
在本申请的一些实施例中,所述控制模块,包括:数目确定单元,用于确定所述投屏页面内创建的所述窗口容器的数目;显示状态调整单元,用于根据所述数目调整每个所述终端对应的窗口容器的显示状态;布局状态调整单元,用于根据每个所述终端对应的窗口容器的显示状态,调整每个所述窗口容器内的解耦显示窗口的布局状态,以控制各所述终端发送的投屏内容在所述投屏页面内的显示状态。
在本申请的一些实施例中,所述显示状态调整单元,用于:当监测到所述至少一个终端中的目标终端停止发送投屏内容时,确定所述目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器;从所述投屏页面内移除所述目标终端对应的所述目标窗口容器;基于所述投屏页面内的预设布局管理器,移除所述目标窗口容器中封装的窗口解耦器;根据第一待调整终端的数目,调整所述第一待调整终端对应的窗口容器的显示状态,所述第一待调整终端为所述至少一个终端中除所述目标终端之外的终端。
在本申请的一些实施例中,在所述基于所述投屏页面内的预设布局管理器,移除所述目标窗口容器中封装的窗口解耦器之后,还包括:获取投屏控制表,所述投屏控制表用于保存每个所述终端对应的窗口容器以及每个所述窗口容器内封装窗口解耦器的对应信息;从所述投屏控制表中,删除所述目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器的对应信息。
在本申请的一些实施例中,所述投屏页面基于目标页面扩展类对象进行创建的;在所述第二创建模块之后,所述装置还包括:控制表创建单元,用于创建投屏控制表;记录单元,用于在所述投屏控制表中记录所述终端对应的窗口容器与所述窗口容器内封装的窗口解耦器的对应信息;保存单元,用于将记录了所述对应信息的所述投屏控制表保存在所述目标页面扩展类对象中,以基于所述投屏控制表监测所述投屏页面中的投屏状态。
在本申请的一些实施例中,所述显示状态调整单元,用于:当监测到候选终端发送投屏内容时,在所述投屏页面内创建所述候选终端对应的窗口容器,以及在所述候选终端对应的窗口容器内封装窗口解耦器;通过所述候选终端对应的窗口解耦器,创建所述候选终端对应的解耦显示窗口;在所述候选终端对应的所述解耦显示窗口中,显示所述候选终端发送的投屏内容;根据第二待调整终端的数目,调整所述第二待调整终端对应的窗口容器的显示状态,所述第二待调整终端包括所述至少一个终端以及所述候选终端。
根据本申请的另一实施例,一种存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行本申请实施例所述的方法。
根据本申请的另一实施例,一种电子设备可以包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行本申请实施例所述的方法。
本申请实施例中,响应于接收到至少一个终端发送的投屏内容,创建投屏页面;在投屏页面内创建终端对应的窗口容器,以及在窗口容器内封装窗口解耦器;通过窗口解耦器,创建终端对应的解耦显示窗口;在解耦显示窗口中,显示终端发送的投屏内容;基于窗口容器对解耦显示窗口进行布局调整,以控制投屏内容在投屏页面内的显示状态。
以这种方式,通过创建唯一投屏页面,在投屏页面内创建终端对应的窗口容器,在窗口容器内封装窗口解耦器,窗口解耦器用于创建解耦显示窗口来解耦显示投屏内容,可以将多个终端对应的投屏内容可靠便捷地投射至同一终端(即投屏接收终端),在面对多种投屏协议下的投屏需求时,可以实现简单便捷地管理投屏页面,创建投屏内容的解耦显示窗口不需要大量的接口扩展,面对多样性的投屏协议可调整性有效提升,投屏管理成本有效降低,进一步的,基于窗口容器对显示窗口进行布局调整,控制终端发送的投屏内容在投屏页面内的显示状态,可以在一个投屏接收终端上动态自适应布局显示,让使用者能够随心所欲的进行投屏,由投屏接收终端自动完成多个终端发送的投屏内容的最佳显示调整,提高了获取信息的效率,进而可以便捷地实现投屏时投屏内容的自适应显示控制,提升投屏效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本申请实施例的系统的示意图。
图2示出了根据本申请的一个实施例的投屏控制方法的流程图。
图3示出了根据本申请的一个场景的实施例下的投屏流程图。
图4示出了根据本申请的一个实施例的投屏控制装置的框图。
图5示出了根据本申请的一个实施例的电子设备的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的说明中,本申请的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本申请原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
图1示出了可以应用本申请实施例的系统100的示意图。如图1所示,系统100可以包括多个终端101及终端102。终端101可以是任意的计算机设备,例如电脑、平板、手机、智能手表以及家电设备等,多个终端101可以是1个或者至少2个。家电设备可以是电视、空调以及热水器等设备。终端102可以是接收投屏内容的电子设备,例如电视、机顶盒等电子设备。
其中,多个终端101基于自身支持的投屏协议,将自身的投屏内容投屏至终端102,投屏协议可以包括但不限于AirPlay、Miracast、DLNA等多种标准或自定义投屏协议;投屏内容可以包括但不限于屏幕镜像、视频、音频、图片等内容。
多个终端101与终端102之间可以通过有线或者无线连接的方式连接,多个终端101与终端102之间可以直接或间接连接。
本示例的一种实施方式中,终端102可以响应于接收到至少一个终端101发送的投屏内容,创建投屏页面;在投屏页面内创建终端101对应的窗口容器,以及在窗口容器内封装窗口解耦器;通过窗口解耦器,创建终端101对应的解耦显示窗口;在解耦显示窗口中,显示终端发送的投屏内容;基于窗口容器对解耦显示窗口进行布局调整,以控制投屏内容在投屏页面内的显示状态。
图2示意性示出了根据本申请的一个实施例的投屏控制方法的流程图。该投屏控制方法的执行主体可以是任意的设备,例如图1所示的终端102。
如图2所示,该投屏控制方法可以包括步骤S210至步骤S250。
步骤S210,响应于接收到至少一个终端发送的投屏内容,创建投屏页面;
步骤S220,在投屏页面内创建终端对应的窗口容器,以及在窗口容器内封装窗口解耦器;
步骤S230,通过窗口解耦器,创建终端对应的解耦显示窗口;
步骤S240,在解耦显示窗口中,显示终端发送的投屏内容;
步骤S250,基于窗口容器对解耦显示窗口进行布局调整,以控制投屏内容在投屏页面内的显示状态。
下面描述进行投屏控制时,所进行的各步骤的具体过程。
在步骤S210中,响应于接收到至少一个终端发送的投屏内容,创建投屏页面。
本示例的实施方式中,多个终端可以是电脑、平板、手机、智能手表以及家电设备等,可以事先建立至少一个终端中每个终端对应的投屏协议通道,通过每个终端对应的投屏协议通道,接收每个终端发送的投屏内容。
投屏协议通道即基于投屏协议的网络连接通道,投屏协议即将一个设备上的内容通过网络传输到另一个设备上显示的协议。多个终端可以支持不同的投屏协议,例如多个终端可以包括4个,其中,一个终端支持AirPlay投屏协议,两个终端支持Miracast投屏协议,一个终端支持DLNA投屏协议。
其中,响应多个终端发送的投屏请求,可以建立每个终端对应的投屏协议通道,具体地:可以接收多个终端发送的投屏请求;根据每个终端的投屏请求,识别每个终端对应的投屏协议;基于每个终端对应的投屏协议,建立每个终端对应的投屏协议通道。每个终端发送的投屏请求可以包括每个终端对应的终端标识(例如终端地址)以及投屏协议标识等,投屏接收终端接收到投屏请求后,可以确定发送投屏请求的终端对应的投屏协议,然后基于确定的投屏协议建立发送投屏请求的终端与投屏接收终端之间的网络连接通道(即投屏协议通道)。
例如,终端A向投屏接收终端通过投屏协议P1发送投屏请求,投屏接收终端可以与终端A建立基于投屏协议P1的网络连接通道C1;终端B向投屏接收终端通过投屏协议P2发送投屏请求,投屏接收终端可以与终端B建立基于投屏协议P2的网络连接通道C2。
投屏请求可以是用户通过触发发送端设备(即多个终端)上的投屏控件而发送至投屏接收终端的,投屏请求中可以携带终端的相关信息(例如终端标识、投屏协议标识及投屏内容等),投屏接收终端接收到投屏请求后可以根据相关信息快速建立投屏协议通道,每个终端对应的投屏协议通道相互独立。
投屏页面是投屏接收终端上全局唯一的投屏页面,多个终端的投屏内容均显示在该投屏页面内,可以通过页面创建代码自动创建该投屏页面。
一种实施例中,创建投屏页面,包括:创建全局唯一的继承自页面组件的页面扩展类对象;启动页面扩展类对象,以显示投屏页面。
页面组件即Activity标准UI组件,投屏接收终端可以创建全局唯一的继承自Activity标准UI组件的页面扩展类对象,并启动页面扩展类对象显示Activity页面(即投屏页面)。参阅图3,一个示例中,投屏接收终端为Android平台接收端设备,该Android平台接收端设备可以通过创建全局唯一的继承自Activity标准UI组件的页面扩展类对象,并启动页面扩展类对象显示Activity页面(即投屏页面)300,该Activity页面(即投屏页面)300即继承自Activity标准UI组件的扩展类。
在步骤S220中,在投屏页面内创建终端对应的窗口容器,以及在窗口容器内封装窗口解耦器。
本示例的实施方式中,窗口容器是用于收容显示窗口的容器,可以通过调用预设窗口容器为至少一个终端中每个终端创建对应的窗口容器。窗口解耦器是用于约束显示窗口之间的独立状态的约束组件,可以通过调用预设窗口解耦器为至少一个终端中每个终端创建对应的独立的窗口解耦器,每个终端分别对应一个窗口解耦器,多个终端对应的窗口解耦器之间相互独立。
在投屏页面内创建终端对应的窗口容器,即在投屏页面内创建至少一个终端中每个终端对应的窗口容器,可以在投屏页面内创建每个终端对应的视图容器组件,进而显示每个终端对应的窗口容器。
一种实施例中,至少一个终端的个数大于或等于两个;在投屏页面内创建终端对应的窗口容器,以及在窗口容器内封装窗口解耦器,包括:针对每个终端分别创建对应的视图容器组件,以及继承自界面布局组件的窗口扩展类对象;在投屏页面内添加每个终端对应的视图容器组件,以在投屏页面内显示每个终端对应的视图容器;基于投屏页面内的布局管理器,在每个终端对应的视图容器中分别加载窗口扩展类对象,以在每个窗口容器内封装窗口解耦器。
视图容器组件可以是ViewGroup标准UI组件,可以在投屏页面内添加每个终端对应的视图容器组件,进而在投屏页面内显示每个终端对应的视图容器。
参阅图3,一个示例中,至少一个终端可以包括发送端A、发送端B、发送端C、发送端D以及更多发送端(更多发送端可以是至少1个)。投屏接收终端可以针对发送端A、发送端B、发送端C、发送端D以及更多发送端,在Activity页面(即投屏页面),分别创建发送端A对应的窗口容器310、发送端B对应的窗口容器320、发送端C对应的窗口容器330、发送端D对应的窗口容器340以及更多发送端对应的窗口容器350,每个终端对应的窗口容器即ViewGroup标准UI组件。
在窗口容器内封装窗口解耦器,可以包括:在至少一个终端中每个终端对应的窗口容器内创建对应的独立窗口控制载体,得到每个终端对应的独立窗口控制载体;将每个终端对应的独立窗口控制载体,作为每个终端对应的窗口解耦器。
在投屏页面内创建每个终端对应的独立窗口控制载体,创建每个终端对应的独立窗口解耦器,独立窗口控制载体是可以控制显示窗口之间的独立状态的载体组件,通过创建独立窗口控制载体可以便捷高效地创建独立的窗口解耦器。
投屏页面内可以预设布局管理器;在投屏页面内创建至少一个终端中每个终端对应的独立窗口控制载体,可以包括:在投屏页面内,针对每个终端分别创建继承自界面布局组件的窗口扩展类对象;通过布局管理器至少一个终端中每个终端对应的窗口容器内加载每个终端的窗口扩展类对象,以在投屏页面内显示每个终端对应的独立窗口控制载体。
预设布局管理器是预设的用于管理窗口扩展类对象的组件,一个示例中,预设布局管理器可以是Activity页面内部的FragmentManager类对象。界面布局组件可以是组织投屏管理页面内界面布局的组件,一个示例中,界面布局组件可以是Fragment标准UI组件。
投屏接收终端可以针对每个终端,创建继承自界面布局组件的窗口扩展类对象,然后,通过预设布局管理器在窗口容器内加载对应的窗口扩展类对象,可以便捷高效地管理窗口扩展类对象并组织投屏页面内界面布局,显示每个终端对应的独立窗口控制载体。
参阅图3,一个示例中,在针对发送端A、发送端B、发送端C、发送端D以及更多发送端对应的视图容器,可以分别封装发送端A对应的独立窗口控制载体311、发送端B对应的独立窗口控制载体321、发送端C对应的独立窗口控制载体331、发送端D对应的独立窗口控制载体341以及更多发送端对应的独立窗口控制载体351,作为每个终端对应的窗口解耦器。每个终端对应的独立窗口控制载体即继承自Fragment标准UI组件的扩展类。
在步骤S230中,通过窗口解耦器,创建终端对应的解耦显示窗口。
本示例的实施方式中,窗口解耦器是用于约束显示窗口之间的独立状态的约束组件,可以在至少一个终端中每个终端对应的窗口解耦器内创建显示窗口,进而可以在投屏管理页面中,基于每个终端对应的窗口解耦器分别进行显示窗口的独立状态的约束,得到每个终端对应的解耦显示窗口,多个终端之间的解耦显示窗口之间相互独立。
一种实施例中,通过窗口解耦器,创建终端对应的解耦显示窗口,包括:在至少一个终端中每个终端对应的窗口解耦器内创建继承自窗口类的窗口界面组件,以生成每个终端对应的解耦显示窗口。
窗口类可以是View类,窗口界面组件即继承自View类的标准UI组件,投屏接收终端可以在每个即独立窗口解耦器内创建继承自View类的标准UI组件,进而基于继承自View类的标准UI组件生成每个终端对应的解耦显示窗口。
一个示例中,窗口解耦器为独立窗口控制载体,参阅图3,投屏接收终端可以在每个独立窗口载体内创建继承自窗口类的窗口界面组件,以生成每个终端对应的解耦显示窗口,在独立窗口控制载体311内创建解耦显示窗口312,独立窗口控制载体321内创建解耦显示窗口322,独立窗口控制载体331内创建解耦显示窗口332,独立窗口控制载体341内创建解耦显示窗口342,独立窗口控制载体351内创建解耦显示窗口352,每个解耦显示窗口即View标准组件,也就是继承自View类的标准UI组件。
在步骤S240中,在解耦显示窗口中,显示终端发送的投屏内容。
本示例的实施方式中,在创建的每个解耦显示窗口中解码并等比例显示每个解耦显示窗口对应的终端发送的投屏内容,可以将至少一个终端的投屏内容显示在投屏页面内。例如,参阅图3,可以在解耦显示窗口312中显示解耦显示窗口312对应的终端(即发送端A)发送的投屏内容,在解耦显示窗口322中显示解耦显示窗口322对应的终端(即发送端B)发送的投屏内容,依此类推,在每个解耦显示窗口中显示每个解耦显示窗口对应的终端发送的投屏内容,进而将至少一个终端的投屏内容显示在投屏页面(例如投屏页面300)内。
在步骤S250中,基于窗口容器对解耦显示窗口进行布局调整,以控制投屏内容在投屏页面内的显示状态。
本示例的实施方式中,投屏接收终端可以根据创建的窗口容器的数目,例如1个或者5个等,调整每个终端对应的窗口容器的显示状态,例如所有窗口容器在投屏页面内平铺等分显示,或者结合某个投屏请求中的权重信息(例如终端上标记的投屏内容的重要性)突出显示某个终端对应的窗口容器。
窗口容器的显示状态可以便捷地可靠地进行调整控制,通过调整每个终端对应的窗口容器的显示状态,每个终端对应的窗口容器中窗口解耦器内的解耦显示窗口的显示状态对应变化即可,仅需监听该对应变化,根据对应变化重绘窗口容器内解耦显示窗口便可以自适应进行布局调整,可以便捷可靠地控制投屏内容的整体显示状态,且可以防止投屏内容变形。
一种实施例中,基于窗口容器对解耦显示窗口进行布局调整,以控制投屏内容在投屏页面内的显示状态,包括:
确定投屏页面内创建的窗口容器的数目;根据数目调整每个终端对应的窗口容器的显示状态;根据每个终端对应的窗口容器的显示状态,调整每个窗口容器内的解耦显示窗口的布局状态,以控制各终端发送的投屏内容在投屏页面内的显示状态。
投屏页面可以是Activity页面,窗口容器可以是ViewGroup标准UI组件,解耦显示窗口可以是View标准组件,投屏接收终端可以在Activity页面上根据ViewGroup标准UI组件的总数和业务需要(例如终端上标记的投屏内容的重要性),调整ViewGroup标准UI组件的显示参数和状态,比如多ViewGroup标准UI组件平铺等分显示、突出显示某一ViewGroup标准UI组件等。
每个终端对应的ViewGroup标准UI组件中窗口解耦器内的View标准组件的显示状态对应变化即可,仅需监听该对应变化,根据对应变化重绘窗口容器内View标准组件便可以自适应进行布局调整,可以便捷可靠地控制投屏内容的整体显示状态,且可以防止投屏内容变形。
一种实施例中,根据数目调整每个终端对应的窗口容器的显示状态,包括:当监测到至少一个终端中的目标终端停止发送投屏内容时,确定目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器;从投屏页面内移除目标终端对应的目标窗口容器;基于投屏页面内的预设布局管理器,移除目标窗口容器中封装的窗口解耦器;根据第一待调整终端的数目,调整第一待调整终端对应的窗口容器的显示状态,第一待调整终端为至少一个终端中除目标终端之外的终端。
当监测到至少一个终端中的目标终端停止发送投屏内容时,可以是该目标终端退出投屏或者被禁止投屏等停止发送投屏内容的情形。然后,从投屏页面内移除目标终端对应的目标窗口容器,基于投屏页面内的预设布局管理器,移除目标窗口容器中封装的窗口解耦器,可以可靠地移除目标终端对应的投屏设施。
移除完成后,仅需根据剩余的终端的数目(即第一待调整终端的数目,例如在Activity页面上剩余的ViewGroup标准UI组件的数目),在Activity页面上根据ViewGroup标准UI组件的总数和业务需要(例如终端上标记的投屏内容的重要性),调整ViewGroup标准UI组件的显示参数和状态,比如多ViewGroup标准UI组件平铺等分显示、突出显示某一ViewGroup标准UI组件等,即可根据第一待调整终端的数目,调整第一待调整终端对应的窗口容器的显示状态。
一种实施例中,根据数目调整每个终端对应的窗口容器的显示状态,包括:当监测到候选终端发送投屏内容时,在投屏页面内创建候选终端对应的窗口容器,以及在候选终端对应的窗口容器内封装窗口解耦器;通过候选终端对应的窗口解耦器,创建候选终端对应的解耦显示窗口;在候选终端对应的解耦显示窗口中,显示候选终端发送的投屏内容;根据第二待调整终端的数目,调整第二待调整终端对应的窗口容器的显示状态,第二待调整终端包括至少一个终端以及候选终端。
当监测到候选终端发送投屏内容时,即有新增的候选终端发送投屏内容时,可以在投屏页面内创建候选终端对应的窗口容器,以及在候选终端对应的窗口容器内封装窗口解耦器,通过候选终端对应的窗口解耦器,创建候选终端对应的解耦显示窗口,进而创建候选终端对应的投屏设施,进而可以在候选终端对应的解耦显示窗口中,显示候选终端发送的投屏内容。
然后,根据至少一个终端以及候选终端的总数目(即第二待调整终端的数目),在Activity页面上根据ViewGroup标准UI组件的总数和业务需要(例如终端上标记的投屏内容的重要性),调整ViewGroup标准UI组件的显示参数和状态,比如多ViewGroup标准UI组件平铺等分显示、突出显示某一ViewGroup标准UI组件等,即可根据第二待调整终端的数目,调整第二待调整终端对应的窗口容器的显示状态。
一种实施例中,投屏页面基于目标页面扩展类对象进行创建的;在投屏页面内创建终端对应的窗口容器,以及在窗口容器内封装窗口解耦器之后,还包括:创建投屏控制表;在投屏控制表中记录终端对应的窗口容器与窗口容器内封装的窗口解耦器的对应信息;将记录了对应信息的投屏控制表保存在目标页面扩展类对象中,以基于投屏控制表监测投屏页面中的投屏状态。
投屏控制表如下表所示,其中,记录了终端对应的窗口容器与窗口容器内封装的窗口解耦器的对应信息。
投屏实例序号(顺序存储) | 对应关系(ViewGroup,Fragment) |
1 | (VG1,F1) |
2 | (VG2,F2) |
... | ... |
x | (VGx,Fx) |
可以根据终端加入投屏的顺序在投屏控制表中记录对应信息,例如,终端1先加入投屏,可以记录终端1对应的窗口容器VG1与窗口容器VG1内封装的窗口解耦器F1的对应信息(VG1,F1)。
将记录了对应信息的投屏控制表保存在目标页面扩展类对象中,由于投屏页面基于目标页面扩展类对象进行创建的,可以基于投屏控制表监测投屏页面中的投屏状态,该投屏状态可以是参与投屏的终端的数目(例如第一待调整终端的数目或者第二待调整终端的数目)等。
一种实施例中,在基于投屏页面内的预设布局管理器,移除目标窗口容器中封装的窗口解耦器之后,还包括:
获取投屏控制表,该投屏控制表用于保存每个终端对应的窗口容器以及每个窗口容器内封装窗口解耦器的对应信息;从投屏控制表中,删除目标终端对应的目标窗口容器以及目标窗口容器中封装的窗口解耦器的对应信息。
在投屏控制表中删除目标终端对应的目标窗口容器以及目标窗口容器中封装的窗口解耦器的对应信息,例如目标终端为终端2,则可以从投屏控制表中,删除终端2对应的目标窗口容器VG2以及目标窗口容器VG2中封装的窗口解耦器F2的对应信息(VG2,F2),这样可以基于投屏控制表准确确定投屏状态。
以这种方式,基于步骤S210至步骤S250,通过创建唯一投屏页面,在投屏页面内创建终端对应的窗口容器,在窗口容器内封装窗口解耦器,窗口解耦器用于创建解耦显示窗口来解耦显示投屏内容,可以将多个终端对应的投屏内容可靠便捷地投射至同一终端(即投屏接收终端),在面对多种投屏协议下的投屏需求时,可以实现简单便捷地管理投屏页面,创建投屏内容的解耦显示窗口不需要大量的接口扩展,面对多样性的投屏协议可调整性有效提升,投屏管理成本有效降低,进一步的,基于窗口容器对显示窗口进行布局调整,控制终端发送的投屏内容在投屏页面内的显示状态,可以在一个投屏接收终端上动态自适应布局显示,让使用者能够随心所欲的进行投屏,由投屏接收终端自动完成多个终端发送的投屏内容的最佳显示调整,提高了获取信息的效率,进而可以便捷地实现投屏时投屏内容的自适应显示控制,提升投屏效果。
同时对于投屏的实现,本申请可以实现多实例(即多个终端)投屏的方法不依赖于特定投屏协议,支持AirPlay、Miracast、DLNA等多种标准或自定义投屏协议,将来自多种发送端的投屏内容通过多种不同投屏协议同时在一个投屏接收终端上显示,可以让使用者能够同时关注多个发送端的内容,提高了获取信息的效率。
本申请多实例投屏的方法采用单Activity页面+多Fragment组件(即唯一投屏管理页面+多个独立窗口解耦器)的方案,相比相关技术中多Activity页面的方案,不需要关心脱离Android规范的多Activity页面间复杂的管理,包括生命周期、焦点切换、动态布局等,可以直接将多Fragment组件放在单Activity页面的FragmentManager类对象里进行解耦显示;相比相关技术中单Activity页面+多View组件的方案,避免直接在继承自View类的标准UI组件上进行大量接口扩展,便于针对不同投屏实例解耦调整业务布局,降低单Activity对多投屏实例的管理成本。
为便于更好的实施本申请实施例提供的投屏控制方法,本申请实施例还提供一种基于上述投屏控制方法的投屏控制装置。其中名词的含义与上述投屏控制方法中相同,具体实现细节可以参考方法实施例中的说明。图3示出了根据本申请的一个实施例的投屏控制装置的框图。
如图4所示,投屏控制装置400中可以包括第一创建模块410、第二创建模块420、第三创建模块430、显示模块440以及控制模块450。
第一创建模块410可以用于响应于接收到至少一个终端发送的投屏内容,创建投屏页面;第二创建模块420可以用于在所述投屏页面内创建所述终端对应的窗口容器,以及在所述窗口容器内封装窗口解耦器;第三创建模块430可以用于通过所述窗口解耦器,创建所述终端对应的解耦显示窗口;显示模块440可以用于在所述解耦显示窗口中,显示所述终端发送的投屏内容;控制模块450可以用于基于所述窗口容器对所述解耦显示窗口进行布局调整,以控制所述投屏内容在所述投屏页面内的显示状态。
在本申请的一些实施例中,所述第二创建模块420,包括:容器组件创建单元,应用针对每个所述终端分别创建对应的视图容器组件,以及继承自界面布局组件的窗口扩展类对象;容器添加单元,应用在所述投屏页面内添加每个所述终端对应的视图容器组件,以在所述投屏页面内显示每个所述终端对应的视图容器;解耦器加载单元,用于基于所述投屏页面内的布局管理器,在每个所述终端对应的视图容器中分别加载所述窗口扩展类对象,以在每个所述窗口容器内封装窗口解耦器。
在本申请的一些实施例中,所述控制模块450,包括:数目确定单元,用于确定所述投屏页面内创建的所述窗口容器的数目;显示状态调整单元,用于根据所述数目调整每个所述终端对应的窗口容器的显示状态;布局状态调整单元,用于根据每个所述终端对应的窗口容器的显示状态,调整每个所述窗口容器内的解耦显示窗口的布局状态,以控制各所述终端发送的投屏内容在所述投屏页面内的显示状态。
在本申请的一些实施例中,所述显示状态调整单元,用于:当监测到所述至少一个终端中的目标终端停止发送投屏内容时,确定所述目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器;从所述投屏页面内移除所述目标终端对应的所述目标窗口容器;基于所述投屏页面内的预设布局管理器,移除所述目标窗口容器中封装的窗口解耦器;根据第一待调整终端的数目,调整所述第一待调整终端对应的窗口容器的显示状态,所述第一待调整终端为所述至少一个终端中除所述目标终端之外的终端。
在本申请的一些实施例中,在所述基于所述投屏页面内的预设布局管理器,移除所述目标窗口容器中封装的窗口解耦器之后,还包括:获取投屏控制表,所述投屏控制表用于保存每个所述终端对应的窗口容器以及每个所述窗口容器内封装窗口解耦器的对应信息;从所述投屏控制表中,删除所述目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器的对应信息。
在本申请的一些实施例中,所述投屏页面基于目标页面扩展类对象进行创建的;在所述第二创建模块420之后,所述装置还包括:控制表创建单元,用于创建投屏控制表;记录单元,用于在所述投屏控制表中记录所述终端对应的窗口容器与所述窗口容器内封装的窗口解耦器的对应信息;保存单元,用于将记录了所述对应信息的所述投屏控制表保存在所述目标页面扩展类对象中,以基于所述投屏控制表监测所述投屏页面中的投屏状态。
在本申请的一些实施例中,所述显示状态调整单元,用于:当监测到候选终端发送投屏内容时,在所述投屏页面内创建所述候选终端对应的窗口容器,以及在所述候选终端对应的窗口容器内封装窗口解耦器;通过所述候选终端对应的窗口解耦器,创建所述候选终端对应的解耦显示窗口;在所述候选终端对应的所述解耦显示窗口中,显示所述候选终端发送的投屏内容;根据第二待调整终端的数目,调整所述第二待调整终端对应的窗口容器的显示状态,所述第二待调整终端包括所述至少一个终端以及所述候选终端。
以这种方式,基于投屏控制装置400,通过创建唯一投屏页面,在投屏页面内创建终端对应的窗口容器,在窗口容器内封装窗口解耦器,窗口解耦器用于创建解耦显示窗口来解耦显示投屏内容,可以将多个终端对应的投屏内容可靠便捷地投射至同一终端(即投屏接收终端),在面对多种投屏协议下的投屏需求时,可以实现简单便捷地管理投屏页面,创建投屏内容的解耦显示窗口不需要大量的接口扩展,面对多样性的投屏协议可调整性有效提升,投屏管理成本有效降低,进一步的,基于窗口容器对显示窗口进行布局调整,控制终端发送的投屏内容在投屏页面内的显示状态,可以在一个投屏接收终端上动态自适应布局显示,让使用者能够随心所欲的进行投屏,由投屏接收终端自动完成多个终端发送的投屏内容的最佳显示调整,提高了获取信息的效率,进而可以便捷地实现投屏时投屏内容的自适应显示控制,提升投屏效果。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,本申请实施例还提供一种电子设备,该电子设备可以为终端或者服务器,如图5所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503和输入单元504等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器501是该电子设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户页面和应用程序等,调制解调处理器主要处理无线通讯。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。
电子设备还包括给各个部件供电的电源503,优选的,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元504,该输入单元504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如处理器501可以执行下述步骤:
响应于接收到至少一个终端发送的投屏内容,创建投屏页面;在所述投屏页面内创建所述终端对应的窗口容器,以及在所述窗口容器内封装窗口解耦器;通过所述窗口解耦器,创建所述终端对应的解耦显示窗口;在所述解耦显示窗口中,显示所述终端发送的投屏内容;基于所述窗口容器对所述解耦显示窗口进行布局调整,以控制所述投屏内容在所述投屏页面内的显示状态。
在本申请的一些实施例中,所述至少一个终端的个数大于或等于两个;所述在所述投屏页面内创建所述终端对应的窗口容器,以及在所述窗口容器内封装窗口解耦器时,处理器501可以执行:针对每个所述终端分别创建对应的视图容器组件,以及继承自界面布局组件的窗口扩展类对象;在所述投屏页面内添加每个所述终端对应的视图容器组件,以在所述投屏页面内显示每个所述终端对应的视图容器;基于所述投屏页面内的布局管理器,在每个所述终端对应的视图容器中分别加载所述窗口扩展类对象,以在每个所述窗口容器内封装窗口解耦器。
在本申请的一些实施例中,所述基于所述窗口容器对所述解耦显示窗口进行布局调整,以控制所述投屏内容在所述投屏页面内的显示状态时,处理器501可以执行:确定所述投屏页面内创建的所述窗口容器的数目;根据所述数目调整每个所述终端对应的窗口容器的显示状态;根据每个所述终端对应的窗口容器的显示状态,调整每个所述窗口容器内的解耦显示窗口的布局状态,以控制各所述终端发送的投屏内容在所述投屏页面内的显示状态。
在本申请的一些实施例中,所述根据所述数目调整每个所述终端对应的窗口容器的显示状态时,处理器501可以执行:当监测到所述至少一个终端中的目标终端停止发送投屏内容时,确定所述目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器;从所述投屏页面内移除所述目标终端对应的所述目标窗口容器;基于所述投屏页面内的预设布局管理器,移除所述目标窗口容器中封装的窗口解耦器;根据第一待调整终端的数目,调整所述第一待调整终端对应的窗口容器的显示状态,所述第一待调整终端为所述至少一个终端中除所述目标终端之外的终端。
在本申请的一些实施例中,在所述基于所述投屏页面内的预设布局管理器,移除所述目标窗口容器中封装的窗口解耦器之后,处理器501可以执行:获取投屏控制表,所述投屏控制表用于保存每个所述终端对应的窗口容器以及每个所述窗口容器内封装窗口解耦器的对应信息;从所述投屏控制表中,删除所述目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器的对应信息。
在本申请的一些实施例中,所述投屏页面基于目标页面扩展类对象进行创建的;在所述投屏页面内创建所述终端对应的窗口容器,以及在所述窗口容器内封装窗口解耦器之后,处理器501可以执行:创建投屏控制表;在所述投屏控制表中记录所述终端对应的窗口容器与所述窗口容器内封装的窗口解耦器的对应信息;将记录了所述对应信息的所述投屏控制表保存在所述目标页面扩展类对象中,以基于所述投屏控制表监测所述投屏页面中的投屏状态。
在本申请的一些实施例中,所述根据所述数目调整每个所述终端对应的窗口容器的显示状态时,处理器501可以执行:当监测到候选终端发送投屏内容时,在所述投屏页面内创建所述候选终端对应的窗口容器,以及在所述候选终端对应的窗口容器内封装窗口解耦器;通过所述候选终端对应的窗口解耦器,创建所述候选终端对应的解耦显示窗口;在所述候选终端对应的所述解耦显示窗口中,显示所述候选终端发送的投屏内容;根据第二待调整终端的数目,调整所述第二待调整终端对应的窗口容器的显示状态,所述第二待调整终端包括所述至少一个终端以及所述候选终端。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例还提供一种存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的实施例,而可以在不脱离其范围的情况下进行各种修改和改变。
Claims (9)
1.一种投屏控制方法,其特征在于,包括:
响应于接收到至少一个终端发送的投屏内容,创建投屏页面;
在所述投屏页面内分别创建各所述终端对应的窗口容器,以及在各所述窗口容器内分别封装窗口解耦器,所述窗口解耦器是用于约束显示窗口之间的独立状态的约束组件;
通过各所述窗口容器内的所述窗口解耦器,分别创建各所述终端对应的解耦显示窗口;
在各所述终端对应的所述解耦显示窗口中,分别显示各所述终端发送的投屏内容;
基于各所述终端对应的所述窗口容器分别对各所述终端对应的所述解耦显示窗口进行布局调整,以控制所述投屏内容在所述投屏页面内的显示状态;
所述在所述投屏页面内分别创建各所述终端对应的窗口容器,以及在各所述窗口容器内分别封装窗口解耦器,包括:
针对每个所述终端分别创建对应的视图容器组件,以及继承自界面布局组件的窗口扩展类对象;
在所述投屏页面内添加每个所述终端对应的视图容器组件,以在所述投屏页面内显示每个所述终端对应的视图容器;以及,
基于所述投屏页面内的布局管理器,在每个所述终端对应的视图容器中分别加载所述窗口扩展类对象,以在每个所述窗口容器内封装窗口解耦器。
2.根据权利要求1所述的方法,其特征在于,所述基于各所述终端对应的所述窗口容器分别对各所述终端对应的所述解耦显示窗口进行布局调整,以控制所述投屏内容在所述投屏页面内的显示状态,包括:
确定所述投屏页面内创建的所述窗口容器的数目;
根据所述数目调整每个所述终端对应的窗口容器的显示状态;
根据每个所述终端对应的窗口容器的显示状态,调整每个所述窗口容器内的解耦显示窗口的布局状态,以控制各所述终端发送的投屏内容在所述投屏页面内的显示状态。
3.根据权利要求2所述的方法,其特征在于,所述根据所述数目调整每个所述终端对应的窗口容器的显示状态,包括:
当监测到所述至少一个终端中的目标终端停止发送投屏内容时,确定所述目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器;
从所述投屏页面内移除所述目标终端对应的所述目标窗口容器;
基于所述投屏页面内的预设布局管理器,移除所述目标窗口容器中封装的窗口解耦器;
根据第一待调整终端的数目,调整所述第一待调整终端对应的窗口容器的显示状态,所述第一待调整终端为所述至少一个终端中除所述目标终端之外的终端。
4.根据权利要求3所述的方法,其特征在于,在所述基于所述投屏页面内的预设布局管理器,移除所述目标窗口容器中封装的窗口解耦器之后,所述方法还包括:
获取投屏控制表,所述投屏控制表用于保存每个所述终端对应的窗口容器以及每个所述窗口容器内封装窗口解耦器的对应信息;
从所述投屏控制表中,删除所述目标终端对应的目标窗口容器以及所述目标窗口容器中封装的窗口解耦器的对应信息。
5.根据权利要求1所述的方法,其特征在于,所述投屏页面基于目标页面扩展类对象进行创建的;
在所述投屏页面内分别创建各所述终端对应的窗口容器,以及在各所述窗口容器内分别封装窗口解耦器之后,所述方法还包括:
创建投屏控制表;
在所述投屏控制表中记录所述终端对应的窗口容器与所述窗口容器内封装的窗口解耦器的对应信息;
将记录了所述对应信息的所述投屏控制表保存在所述目标页面扩展类对象中,以基于所述投屏控制表监测所述投屏页面中的投屏状态。
6.根据权利要求2所述的方法,其特征在于,所述根据所述数目调整每个所述终端对应的窗口容器的显示状态,包括:
当监测到候选终端发送投屏内容时,在所述投屏页面内创建所述候选终端对应的窗口容器,以及在所述候选终端对应的窗口容器内封装窗口解耦器;
通过所述候选终端对应的窗口解耦器,创建所述候选终端对应的解耦显示窗口;
在所述候选终端对应的所述解耦显示窗口中,显示所述候选终端发送的投屏内容;
根据第二待调整终端的数目,调整所述第二待调整终端对应的窗口容器的显示状态,所述第二待调整终端包括所述至少一个终端以及所述候选终端。
7.一种投屏控制装置,其特征在于,包括:
第一创建模块,用于响应于接收到至少一个终端发送的投屏内容,创建投屏页面;
第二创建模块,用于在所述投屏页面内分别创建各所述终端对应的窗口容器,以及在各所述窗口容器内分别封装窗口解耦器,所述窗口解耦器是用于约束显示窗口之间的独立状态的约束组件;所述在所述投屏页面内分别创建各所述终端对应的窗口容器,以及在各所述窗口容器内分别封装窗口解耦器,包括:针对每个所述终端分别创建对应的视图容器组件,以及继承自界面布局组件的窗口扩展类对象;在所述投屏页面内添加每个所述终端对应的视图容器组件,以在所述投屏页面内显示每个所述终端对应的视图容器;以及,基于所述投屏页面内的布局管理器,在每个所述终端对应的视图容器中分别加载所述窗口扩展类对象,以在每个所述窗口容器内封装窗口解耦器;
第三创建模块,用于通过各所述窗口容器内的所述窗口解耦器,分别创建各所述终端对应的解耦显示窗口;
显示模块,用于在各所述终端对应的所述解耦显示窗口中,分别显示各所述终端发送的投屏内容;
控制模块,用于基于各所述终端对应的所述窗口容器分别对各所述终端对应的所述解耦显示窗口进行布局调整,以控制所述投屏内容在所述投屏页面内的显示状态。
8.一种存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至6任一项所述的方法。
9.一种电子设备,其特征在于,包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210038325.3A CN116483296B (zh) | 2022-01-13 | 2022-01-13 | 投屏控制方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210038325.3A CN116483296B (zh) | 2022-01-13 | 2022-01-13 | 投屏控制方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116483296A CN116483296A (zh) | 2023-07-25 |
CN116483296B true CN116483296B (zh) | 2024-08-20 |
Family
ID=87225442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210038325.3A Active CN116483296B (zh) | 2022-01-13 | 2022-01-13 | 投屏控制方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483296B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256370A (zh) * | 2020-10-20 | 2021-01-22 | 北京字跳网络技术有限公司 | 信息显示方法、装置和电子设备 |
CN112394892A (zh) * | 2019-08-15 | 2021-02-23 | 北京字节跳动网络技术有限公司 | 投屏方法、投屏设备、移动终端、存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020815B (zh) * | 2016-05-17 | 2020-07-21 | Tcl科技集团股份有限公司 | 一种安卓平台动画显示区域扩展方法及系统 |
CN107526579A (zh) * | 2016-06-22 | 2017-12-29 | 中兴通讯股份有限公司 | 一种应用程序页面开发管理方法及装置 |
CN109857489B (zh) * | 2017-11-30 | 2022-05-27 | 阿里巴巴集团控股有限公司 | 基于Android系统的开发系统、解耦方法和装置 |
CN110309475B (zh) * | 2019-06-28 | 2021-01-29 | 百度在线网络技术(北京)有限公司 | 一种页面展现方法、装置、终端设备及存储介质 |
CN113691850A (zh) * | 2021-08-25 | 2021-11-23 | 深圳康佳电子科技有限公司 | 投屏控制方法、装置、智能终端及计算机可读存储介质 |
-
2022
- 2022-01-13 CN CN202210038325.3A patent/CN116483296B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112394892A (zh) * | 2019-08-15 | 2021-02-23 | 北京字节跳动网络技术有限公司 | 投屏方法、投屏设备、移动终端、存储介质 |
CN112256370A (zh) * | 2020-10-20 | 2021-01-22 | 北京字跳网络技术有限公司 | 信息显示方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116483296A (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10448082B2 (en) | Information exchanging method and device, audio terminal and computer-readable storage medium | |
CN107832100B (zh) | 一种apk插件的加载方法及其终端 | |
CN114217759B (zh) | 投屏方法、装置、存储介质及电子设备 | |
CN111816139B (zh) | 屏幕刷新率切换方法和电子设备 | |
CN108337127B (zh) | 应用性能监控方法、系统、终端及计算机可读存储介质 | |
CN116483296B (zh) | 投屏控制方法、装置、存储介质及电子设备 | |
CN111885564B (zh) | 数据传输方法、设备升级方法、计算机可读的存储介质 | |
CN106470351B (zh) | 页面显示方法及页面显示装置 | |
CN117412269A (zh) | 用户识别卡信息加载方法、装置、存储介质及电子设备 | |
CN113721936A (zh) | 一种应用管理方法及智能终端、装置及存储介质 | |
US20200341443A1 (en) | Control device, home appliance, communication device, server, information presentation system, non-transitory computer readable medium, and control method | |
CN116346842A (zh) | 跨生态设备管控方法、装置、存储介质及电子设备 | |
CN114489826A (zh) | 芯片运行方法、装置、存储介质及电子设备 | |
CN112365905A (zh) | 播放器控制方法、装置、设备和可读存储介质 | |
CN117255332B (zh) | 蓝牙连接控制方法、装置、存储介质及电子设备 | |
US9588912B2 (en) | Method and apparatus for controlling memory in electronic device | |
CN109144446A (zh) | 图像显示方法、装置、电子设备及计算机可读存储介质 | |
CN113891038B (zh) | 信息提示方法、装置、智能设备和计算机可读存储介质 | |
CN113794929A (zh) | 音视频分享方法、装置、存储介质及电子设备 | |
CN116939256A (zh) | 一种资源传输方法、装置、智能设备及存储介质 | |
CN116795012A (zh) | 设备控制方法、装置、电子设备及计算机可读存储介质 | |
CN114422965A (zh) | 信息交互方法、装置、存储介质及电子设备 | |
CN113849448A (zh) | 一种电子设备 | |
CN117544714A (zh) | 联系人信息预置方法、装置、存储介质及电子设备 | |
CN115987748A (zh) | 智能电视控制方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |