一种基于安卓系统的窗口跨屏装置、方法及存储介质与流程

未命名 08-05 阅读:157 评论:0


1.本发明涉及显示屏应用程序的技术领域,尤其涉及一种基于安卓系统的窗口跨屏装置、方法及存储介质。


背景技术:

2.当前车载座舱娱乐系统,主要使用android(安卓系统,一类操作系统)系统,android系统是针对手机设计,比如一般只支持一个硬件显示设备、一个系统只支持单用户操作等等。而随着驾舱技术的发展,android车载系统需要根据用户的需求进行做深入定制,比如定制宽屏显示,多屏显示,跨屏显示,支持多用户操作等等。
3.由于android原生系统不能支持单窗口的跨屏显示,我们使用个人电脑的时候,可以支持扩展显示屏,用户可以自由的将一个窗口拖动到另一个屏上,或者窗口跨屏显示;随着智能座舱的发展,车载具备的显示屏也越来越多,并且也支持窗口的拖动,但是android系统不能支持将一个窗口拖动到另一个窗口,这样会极大影响用户体验。


技术实现要素:

4.本发明为解决当前基于android系统的车载娱乐系统无法进行多屏间的跨屏拖动的技术问题,提供一种基于安卓系统的窗口跨屏装置、方法及存储介质。
5.为解决上述技术问题,本发明的技术方案如下:
6.一种基于安卓系统的窗口跨屏装置,包括至少两个显示屏幕,所述显示屏幕均包括有处理器和跨屏控件,所述跨屏控件包括:
7.封装模块,用于对显示屏幕上的应用程序的界面布局进行封装;
8.拖动检测模块,用于识别外部的拖动输入,根据拖动输入判断是否使封装后的应用程序进入可跨屏拖动状态;
9.目标选择模块,用于关联目标显示屏幕和当前显示屏幕,并确定拖动方向;以及
10.拖动控制模块,用于根据封装后的应用程序的拖动状态实现在跨屏时屏幕的界面绘制、移动动画和跨屏状态回调;
11.所述处理器用于在当前显示屏幕上的应用程序通过所述跨屏控件进行封装后,根据用户的拖动输入,调用拖动检测模块、目标选择模块和拖动控制模块对当前显示屏幕上的应用程序往目标显示屏幕进行跨屏显示操作。
12.进一步的,所述跨屏控件还包括截图控制模块,所述截图控制模块用于获取当前应用程序界面的截图,该截图用于在跨屏拖动过程中显示在目标显示屏幕上。
13.进一步的,所述目标选择模块能够实现当前显示屏幕与多个目标显示屏幕之间的关联,并通过不同拖动方向来实现不同目标显示屏幕的跨屏显示。
14.进一步的,所述拖动方向包括当前显示屏幕的上、下、左、右方向中的一个或多个拖动方向。
15.进一步的,所述跨屏控件还包括坐标转换模块,所述坐标转换模块用于监控当前
用户的触摸位置变化,将当前的触摸坐标转换成对起始触摸位置的偏移量并输出给封装模块和拖动控制模块。
16.本发明还提供一种基于安卓系统的窗口跨屏方法,应用于基于安卓系统的窗口跨屏装置,所述方法包括:
17.通过封装模块对显示屏幕中应用程序的界面布局进行封装;
18.获取并监控应用程序的界面跨屏拖动输入的触发情况;
19.触发跨屏拖动条件后,根据拖动方向确定目标显示屏幕;
20.跨屏期间,通过拖动控制模块创建超出当前显示屏幕界面的截图显示到目标屏幕上,并在拖动完成后进行数据回调,在目标屏幕上重新绘制形成该应用程序的界面。
21.进一步的,所述根据拖动方向确定目标显示屏幕包括:
22.通过拖动控制模块定义当前显示屏幕各个拖动方向所对应的目标显示屏幕;
23.跨屏拖动过程,以拖动方向确定目标显示屏幕。
24.进一步的,所述通过拖动控制模块创建超出当前显示屏幕界面的截图显示到目标屏幕上包括:
25.获取目标屏幕的信息,通过拖动控制模块实时绘制拖动过程中被超出当前显示屏幕界面的显示画面的截图;
26.将该截图显示在目标屏幕上。
27.进一步的,跨屏拖动包括手动拖动和自动移动两种画面显示方式,所述手动拖动用于根据用户拖动输入实时调节应用程序界面的画面在当前显示屏幕和目标显示屏幕间的移动;所述自动移动的显示方式通过移动动画切换应用程序界面的画面在当前显示屏幕和目标显示屏幕间的动作。
28.进一步的,所述在目标屏幕上重新绘制形成该应用程序的界面包括:
29.当应用程序在当前显示屏幕完全不可见时,跨屏操作结束;
30.向应用程序发送程序回调,隐藏当前显示屏幕的应用程序画面;
31.在目标显示屏幕上绘制新的应用程序界面,隐藏目标显示屏幕上的截图并显示新的应用程序界面。
32.本发明还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的基于安卓系统的窗口跨屏方法。
33.本发明通过独创的跨屏控件,对基于安卓系统的车载显示屏中的应用程序进行界面封装,并能够通过跨屏控件中实现多个物理/虚拟屏幕的车载娱乐系统的跨屏滑动,实现了安卓系统上将一个界面从一个屏幕拖动到另一个屏幕的功能,满足了ui跨屏滑动和显示的要求,解决了当前基于安卓系统的车载显示屏无法跨屏显示的问题。
附图说明
34.图1为本发明实施例中基于安卓系统的窗口跨屏装置的结构框图。
35.图2为本发明实施例中基于安卓系统的窗口跨屏方法的结构流程图。
36.图3为本发明实施例中跨屏动作显示屏幕界面变化示意图。
37.图4为本发明实施例中第一子步骤的具体结构流程图。
38.图5为本发明实施例中第二子步骤的具体结构流程图。
39.图6为本发明实施例中第二子步骤的具体结构流程图。
具体实施方式
40.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
41.本技术实施例的附图中相同或相似的标号对应相同或相似的部件;在本技术的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制。
42.此外,若有“第一”、“第二”等术语仅用于描述目的,主要是用于区分不同的装置、元件或组成部分(具体的种类和构造可能相同也可能不同),并非用于表明或暗示所指示装置、元件或组成部分的相对重要性和数量,而不能理解为指示或者暗示相对重要性。
43.实施例一
44.图1示出了本发明实施例中基于安卓系统的窗口跨屏装置的结构框图。
45.请参阅图1,本实施例提供了一种基于安卓系统的窗口跨屏装置,用于实现车载娱乐系统中的跨屏操作,窗口跨屏是指从车载娱乐系统中的一个显示屏幕110的显示窗口通过拖动的方式将该显示屏幕110的应用程序移动至另一个显示屏幕110的显示窗口上。该窗口跨屏装置基于安装系统,具体包括至少两个显示屏幕110,鉴于当前车载娱乐系统中的显示屏幕110越来越多,本实施例中的窗口跨屏装置能够将应用程序从当前的显示屏幕110的界面上移动显示在不同的目标显示屏幕上,因此,本实施例中的显示屏幕110并不局限于两个,可以根据汽车需求调整显示屏幕110的个数,而通过匹配关系的方式定义将应用程序移动到对应的目标显示屏幕上。
46.在具体的布置上,本实施例中的显示屏幕110均包括有处理器120和跨屏控件130,处理器120用于完成窗口跨屏装置跨屏期间的数据处理,其接收用户的输入指令,例如用户通过触摸的方式拖动当前显示屏幕上的应用程序,处理器120接收到该触摸信息后,判断是否符合跨屏条件,进而控制跨屏控件130进行对应的操作。
47.跨屏控件130至少包括封装模块131、拖动检测模块132、目标选择模块133和拖动控制模块134。其中,在功能方面,封装模块131主要用于对显示屏幕110上的应用程序的界面布局进行封装,在封装过程中,显示屏幕110中的应用程序仅需要利用跨屏控件130中的封装模块131进行界面布局,封装完成后,后续跨屏控件130封装了所有的操作,不对应用程序的界面有其他要求,应用程序能够像使用普通的封装布局控件一样正常使用,无需进行其他方面的操作。
48.拖动检测模块132主要用于识别外部的拖动输入,根据拖动输入判断是否使封装后的应用程序进入可跨屏拖动状态,例如,处理器120通过拖动检测模块132识别拖动输入,若该拖动输入操作判定符合跨屏条件,则进入后续的跨屏操作。具体操作是,拖动检测模块132判断当前是否需要进入“拖动”状态,默认实现为“长按”进入拖动,当然,判定条件可以根据用户设置进行相应调整,例如,定义特定的手势,并通过手势检测监听器来进行手势判
断,以便实现其他的手势状态检测,比如双击、滑动等。设定时,跨屏控件130在初始状态或者默认状态下,应用程序是不可以拖动的,必须进入“可拖动状态”才会跟随用户的拖动动作而移动子界面。
49.跨屏操作过程中,处理器120主要利用目标选择模块133来关联目标显示屏幕和当前显示屏幕,并确定拖动方向。例如,若存在有四个显示屏幕110,以上、下、左、右四个方向来定义目标显示屏幕的位置,根据用户的拖动方向进行判断,确定好目标屏幕,并向目标屏幕做应用程序界面的跨屏操作。由于不同项目中,屏幕安装位置会不一样,本实施例并不以限定具体设置,能够根据需求自己定义当前屏幕的上下左右分别代表的目标显示屏幕,以及对于的显示屏幕110信息,从而确定在进行跨屏操作过程中,拖动方向对于的目标屏幕,以及应用程序界面的移动方向和位置。
50.在跨屏期间中,处理器120通过拖动控制模块134来控制跨屏动作,具体的,确定好目标显示屏幕后,拖动控制模块134根据用户的拖动信息,确定跨屏时屏幕的界面绘制、移动动画和跨屏状态回调。具体的,跨屏期间,原始屏幕上的绘制就采用正常的界面绘制流程,目标屏幕上界面的绘制通过拖动控制模块134获取到当前显示屏幕上隐入部分的截图,在获取到目标屏幕的反馈信息,创建一个显示窗口,然后把截图内容显示到目标屏幕上。
51.作为优选的,跨屏控件130还包括截图控制模块,上述截图内容的生成能够通过截图控制模块获取,在用户开始拖动的时候,截图控制模块根据用户手指的位置而更新应用程序界面的位置,当界面已经超出当前显示屏幕,则需要将超出的部分需要显示在目标屏幕上。例如,如果用户是向右拖动,那么要将超出的部分显示到右侧对应的目标屏幕上,右侧超出的部分就利用截图控制模块截取后显示到目标屏幕上。
52.为了确保该目标屏幕显示和原始屏幕的显示效果看起来是一个无缝衔接的整体,需要根据封装模块131在源屏幕上的x,y坐标计算更新截屏窗口在目标屏幕上的显示位置。为此,优选的,跨屏控件130还包括坐标转换模块,坐标转换模块用于监控当前用户的触摸位置变化,将当前的触摸坐标转换成对起始触摸位置的偏移量并输出给封装模块131和拖动控制模块134。
53.本实施例中,在一个完整的跨屏操作过程中,窗口跨屏装置通过跨屏控件130对当前显示屏幕上的应用程序进行封装后,处理器120根据用户的向目标显示屏幕跨屏方向的拖动输入,将当前显示屏幕上的应用程序跨屏显示在目标显示屏幕上。
54.本实施例的好处在于,本实施例通过独创的跨屏控件130,对基于安卓系统的车载显示屏中的应用程序进行界面封装,并能够通过跨屏控件130中实现多个物理/虚拟屏幕的车载娱乐系统的跨屏滑动,实现了安卓系统上将一个界面从一个屏幕拖动到另一个屏幕的功能,满足了ui跨屏滑动和显示的要求,解决了当前基于安卓系统的车载显示屏无法跨屏显示的问题。
55.作为优选的,目标选择模块133能够实现当前显示屏幕与多个目标显示屏幕之间的关联,并通过不同拖动方向来实现不同目标显示屏幕的跨屏显示。拖动方向包括当前显示屏幕的上、下、左、右方向中的一个或多个拖动方向。
56.实施例二
57.请参阅图2,本实施例还提供一种基于安卓系统的窗口跨屏方法,该窗口跨屏方法基于实施例一中的窗口跨屏装置,用于实现车载娱乐系统中两个车载显示屏幕上应用程序
界面的窗口跨屏操作,具体的,该方法包括:
58.201、通过封装模块对显示屏幕中应用程序的界面布局进行封装。
59.作为跨屏操作的基础,车载娱乐系统中的显示屏幕通过封装模块来进行其内部应用程序的封装,该封装过程与正常的封装流程相同,当应用程序的界面通过跨屏控件的封装模块进行封装后,后续跨屏过程中,处理器能够通过跨屏控件对封装好的应用程序界面进行创建、拖动、截图、隐藏等操作。
60.202、获取并监控应用程序的界面跨屏拖动输入的触发情况。
61.在显示屏幕使用过程中,处理器通过获取用户的输入,当然,该输入包括但不仅限于触摸输入、语音输入、动作手势输入,跨屏控件识别该输入确认是否为拖动跨屏动作,在该识别中,跨屏操作为可设置状态,若当前跨屏操作处于关闭状态,则不作识别动作,若跨屏操作处于打开状态,对输入进行判定,确认用户是否做拖动跨屏动作。
62.203、触发跨屏拖动条件后,根据拖动方向确定目标显示屏幕。
63.处理器在确认跨屏动作的发起后,以输入的信息确认目标显示屏幕,该目标显示屏幕为应用程序跨屏后所要显示的设备。在本实施例中,该判断依据根据用户对应用程序的拖动方向确定,例如,若用户从左往右拖动子界面移动没入当前显示屏幕边缘,而在定义中,该动作与方向对应的为第一目标的显示屏幕,则在跨屏操作过程中,将当前显示屏幕的应用程序界面移动至第一目标的显示屏幕。
64.204、跨屏期间,通过拖动控制模块创建超出当前显示屏幕界面的截图显示到目标屏幕上,并在拖动完成后进行数据回调,在目标屏幕上重新绘制形成该应用程序的界面。
65.在跨屏操作过程中,处理器获取当前显示屏幕被拖动的应用程序界面的截图,该截图具体为子界面在当前显示屏幕的隐藏部分,则没入显示屏幕边缘的部分。在跨屏期间,实时将该截图在目标显示屏幕的对应位置上进行显示。请参阅图3,图3示出有源屏幕、目标屏幕之间的跨屏操作的示意图,包括有跨屏前、跨屏期间以及跨屏完毕后,应用程序的界面状态,在跨屏前,处理器获取拖动输入,跨屏期间,利用跨屏控件做截图并显示在目标显示屏幕上,在跨屏完成后,隐藏当前显示屏幕上的应用程序,在目标显示屏幕上创建该应用程序的界面,实现应用程序界面的多屏跨屏动作。
66.请参阅图4,在本实施例中,步骤根据拖动方向确定目标显示屏幕具体包括:
67.301、通过拖动控制模块定义当前显示屏幕各个拖动方向所对应的目标显示屏幕。
68.302、跨屏拖动过程,以拖动方向确定目标显示屏幕。
69.若车载娱乐系统存在有多个显示屏幕,通过定义的方式,以当前显示屏幕的各个方向去定义目标显示屏幕,根据拖动方向,来确定目标显示屏幕。
70.请参阅图5,在本实施例中,步骤通过拖动控制模块创建超出当前显示屏幕界面的截图显示到目标屏幕上包括:
71.401、获取目标屏幕的信息,通过拖动控制模块实时绘制拖动过程中被超出当前显示屏幕界面的显示画面的截图。
72.402、将该截图显示在目标屏幕上。
73.作为截图优选,截图动作原理为创建一个位图,然后把子界面的截屏内容填充到位图对象中返回,再复制到目标显示屏幕中。
74.作为优选的,跨屏拖动包括手动拖动和自动移动两种画面显示方式,手动拖动用
于根据用户拖动输入实时调节应用程序界面的画面在当前显示屏幕和目标显示屏幕间的移动;自动移动的显示方式通过移动动画切换应用程序界面的画面在当前显示屏幕和目标显示屏幕间的动作。其中,手动拖动通过监控显示屏幕上用户的触摸位置信息,判断当前位置跟触摸开始时的位置偏移δx1,然后调用程序并设置在界面的偏移量,实现应用程序跟着手指触摸位置的移动而移动的效果。在自动跨屏过程中,若用户不是慢慢的进行拖动,而是快速将应用从原始屏幕移动到目标屏幕上时,需要实现自动播放的一个跨屏动画,这时候需要采用动画显示函数来实现目标和原始两个显示屏幕的界面的动画显示。
75.请参阅图6,在目标屏幕上重新绘制形成该应用程序的界面包括:
76.501、当应用程序在当前显示屏幕完全不可见时,跨屏操作结束;
77.502、向应用程序发送程序回调,隐藏当前显示屏幕的应用程序画面;
78.503、在目标显示屏幕上绘制新的应用程序界面,隐藏目标显示屏幕上的截图并显示新的应用程序界面。
79.当用户继续拖动,应用程序界面在源显示屏幕上完全不可见,表示跨屏操作结束,这个时候目标屏幕上的窗口截图要完全显示在目标屏幕上,跨屏动作完成。此时,处理器通过回调函数将跨屏结束的状态告知应用程序,接收到跨屏完成的回调后,可以做相应的处理。
80.实施例三
81.本实施例公开了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现实施例2所述的一种基于安卓系统的窗口跨屏方法的步骤。
82.显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

技术特征:
1.一种基于安卓系统的窗口跨屏装置,其特征在于,包括至少两个显示屏幕,所述显示屏幕均包括有处理器和跨屏控件,所述跨屏控件包括:封装模块,用于对显示屏幕上的应用程序的界面布局进行封装;拖动检测模块,用于识别外部的拖动输入,根据拖动输入判断是否使封装后的应用程序进入可跨屏拖动状态;目标选择模块,用于关联目标显示屏幕和当前显示屏幕,并确定拖动方向;以及拖动控制模块,用于根据封装后的应用程序的拖动状态实现在跨屏时屏幕的界面绘制、移动动画和跨屏状态回调;所述处理器用于在当前显示屏幕上的应用程序通过所述跨屏控件进行封装后,根据用户的拖动输入,调用拖动检测模块、目标选择模块和拖动控制模块对当前显示屏幕上的应用程序往目标显示屏幕进行跨屏显示操作。2.根据权利要求1所述的基于安卓系统的窗口跨屏装置,其特征在于,所述跨屏控件还包括截图控制模块,所述截图控制模块用于获取当前应用程序界面的截图,该截图用于在跨屏拖动过程中显示在目标显示屏幕上。3.根据权利要求1所述的基于安卓系统的窗口跨屏装置,其特征在于,所述目标选择模块能够实现当前显示屏幕与多个目标显示屏幕之间的关联,并通过不同拖动方向来实现不同目标显示屏幕的跨屏显示。4.根据权利要求3所述的基于安卓系统的窗口跨屏装置,其特征在于,所述拖动方向包括当前显示屏幕的上、下、左、右方向中的一个或多个拖动方向。5.根据权利要求3所述的基于安卓系统的窗口跨屏装置,其特征在于,所述跨屏控件还包括坐标转换模块,所述坐标转换模块用于监控当前用户的触摸位置变化,将当前的触摸坐标转换成对起始触摸位置的偏移量并输出给封装模块和拖动控制模块。6.一种基于安卓系统的窗口跨屏方法,其特征在于,应用于基于安卓系统的窗口跨屏装置,所述方法包括:通过封装模块对显示屏幕中应用程序的界面布局进行封装;获取并监控应用程序的界面跨屏拖动输入的触发情况;触发跨屏拖动条件后,根据拖动方向确定目标显示屏幕;跨屏期间,通过拖动控制模块创建超出当前显示屏幕界面的截图显示到目标屏幕上,并在拖动完成后进行数据回调,在目标屏幕上重新绘制形成该应用程序的界面。7.根据权利要求6所述的基于安卓系统的窗口跨屏方法,其特征在于,所述根据拖动方向确定目标显示屏幕包括:通过拖动控制模块定义当前显示屏幕各个拖动方向所对应的目标显示屏幕;跨屏拖动过程,以拖动方向确定目标显示屏幕。8.根据权利要求6所述的基于安卓系统的窗口跨屏方法,其特征在于,所述通过拖动控制模块创建超出当前显示屏幕界面的截图显示到目标屏幕上包括:获取目标屏幕的信息,通过拖动控制模块实时绘制拖动过程中被超出当前显示屏幕界面的显示画面的截图;将该截图显示在目标屏幕上。9.根据权利要求6所述的基于安卓系统的窗口跨屏方法,其特征在于,跨屏拖动包括手
动拖动和自动移动两种画面显示方式,所述手动拖动用于根据用户拖动输入实时调节应用程序界面的画面在当前显示屏幕和目标显示屏幕间的移动;所述自动移动的显示方式通过移动动画切换应用程序界面的画面在当前显示屏幕和目标显示屏幕间的动作。10.根据权利要求6所述的基于安卓系统的窗口跨屏方法,其特征在于,所述在目标屏幕上重新绘制形成该应用程序的界面包括:当应用程序在当前显示屏幕完全不可见时,跨屏操作结束;向应用程序发送程序回调,隐藏当前显示屏幕的应用程序画面;在目标显示屏幕上绘制新的应用程序界面,隐藏目标显示屏幕上的截图并显示新的应用程序界面。11.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求6-10任一项所述的基于安卓系统的窗口跨屏方法。

技术总结
本发明涉及显示屏应用程序的技术领域,尤其涉及一种基于安卓系统的窗口跨屏装置、方法及存储介质。其包括至少两个显示屏幕,显示屏幕均包括有处理器和跨屏控件,跨屏控件包括:封装模块、拖动检测模块、目标选择模块和拖动控制模块,在当前显示屏幕上的应用程序通过跨屏控件进行封装后,处理器根据用户的向目标显示屏幕跨屏方向的拖动输入,将当前显示屏幕上的应用程序跨屏显示在目标显示屏幕上。本发明通过独创的跨屏控件,对基于安卓系统的车载显示屏中的应用程序进行界面封装,实现了安卓系统上将一个界面从一个屏幕拖动到另一个屏幕的功能,满足了UI跨屏滑动和显示的要求,解决了当前基于安卓系统的车载显示屏无法跨屏显示的问题。示的问题。示的问题。


技术研发人员:王丽芳 丁云荣
受保护的技术使用者:南京市德赛西威汽车电子有限公司
技术研发日:2023.04.14
技术公布日:2023/8/4
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐