一种安卓智能终端浏览器视频显示方法及装置的制造方法_2

文档序号:9687127阅读:来源:国知局
的一种安卓智能终端浏览器视频显示方法的流程示意图。
[0058]图3为本申请又一示例性实施例示出的一种安卓智能终端浏览器视频显示方法的流程示意图。
[0059]图4为本申请一示例性实施例示出的一种安卓智能终端浏览器视频显示装置的框图。
[0060]图5为本申请另一示例性实施例示出的一种安卓智能终端浏览器视频显示装置的框图。
[0061]图6为本申请又一示例性实施例示出的一种安卓智能终端浏览器视频显示装置的框图。
【具体实施方式】
[0062]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0063]为了全面理解本申请,在以下详细描述中提到了众多具体的细节,但是本领域技术人员应该理解,本申请可以无需这些具体细节而实现。在其他实施例中,不详细描述公知的方法、过程、装置和模块,以免不必要地导致实施例模糊。
[0064]根据本申请实施例的第一方面,提供一种安卓智能终端浏览器视频显示方法。
[0065]图1为本申请一示例性实施例示出的一种安卓智能终端浏览器视频显示方法的流程示意图,如图1所示,所述方法包括:
[0066]步骤S101,在View树中添加透明视图,所述透明视图与WebView拥有相同的基础视图,所述透明视图层叠覆盖于WebView之前,且与WebView的大小和比例相同。
[0067]其中,所述透明视图不包含任何元素内容,因此也不响应任何按键、点击、滑动等用户操作,从用户角度不能感知透明视图的存在。透明视图和WebView拥有相同的基础视图,所述基础视图为视图树中的虚拟视图,用于显示视图,并作为透明视图和WebView共同的父视图,使WebView和透明视图同时显示。
[0068]透明视图的大小和比例与WebView的大小和比例相同,所述大小和比例包括横屏时和竖屏时的大小和比例。所述比例为WebView的宽度和高度的比例(以下简称为宽高比)。横屏时和竖屏时透明视图的大小和比例与WebView的大小和比例分别保持相等和一致。需要说明的是,WebView的大小和比例默认能覆盖屏幕,即使WebView发生缩放,其大小和比例也不会使其不能覆盖屏幕,因此相应的透明视图默认能覆盖屏幕,另外WebView的缩放并不改变WebView的比例。透明视图可以和WebView的原始大小即默认大小相同,也可以在WebView发生缩放时,与WebView同步缩放。当WebView发生缩放时,将自身的缩放比例以消息的形式发送给透明视图,透明视图接收到所述消息后,以WebView的缩放比例同步缩放,其中,所述消息可以由WebView发送给透明视图,所述消息的发送可以为常规的视图间参数传递方式,或者消息的发送和接收方式,也可以设置专门线程或程序获取WebView的缩放信息,将WebView的缩放信息以消息的形式发送给透明视图。
[0069]透明视图的z-1ndex属性(层叠顺序属性)值大于WebView的z_index属性值,且透明视图与WebView对齐,使透明视图层叠覆盖于WebView之前,与WebView重叠。透明视图创建后,不响应任何操作,也不发生移动。同时需要说明的是,虽然透明视图层叠覆盖于WebView之前,也不响应任何操作,但不影响WebView对操作的响应。
[0070]步骤S102,在透明视图中对应的位置,创建VideoView。
[0071]当WebView在对网页解析完毕,判断需要播放视频,例如广告时,或者接受用户播放视频的操作,需要播放视频时,仓Il建VideoView,将VideoView添加于透明视图中对应的位置,作为透明视图的子视图。所述对应的位置,为WebView中预留的用于播放视频的区域块的坐标。在WebView中,仍然保留用于播放视频即添加VideoView的区域块,但并不添加VideoView,需要播放视频时,将VideoView添加于透明视图中对应于所述区域块的位置,即VideoView在透明视图中的坐标和WebView中预留的用于播放视频的区域块的坐标相同。所述WebView中预留的用于播放视频的区域块可以为空白的层叠样式表(CSS)。
[0072]步骤S103,当网页视图发生变化时,向透明视图发送视图变化消息。
[0073]其中,网页视图的变化包括网页视图的移动和缩放,所述视图变化消息包括移动消息和缩放消息,即当WebView移动和/或缩放时,根据WebView的移动和/或缩放,向透明视图发送移动和/或缩放消息。例如,当用户滑屏(包括移动和缩放操作)、横竖屏切换等使WebView发生移动、缩放,或者同时发生移动和缩放时,根据WebView的移动、缩放,或者同时的移动和缩放,向透明视图发送移动消息、缩放消息,或者同时发送移动消息和缩放消息。下面以视图发送移动和缩放为例,说明本申请实施例所提供的安卓智能终端浏览器视频显示方法。
[0074]其中,所述根据WebView的移动和/或缩放向透明视图发送移动和/或缩放消息,为将WebView缩放过程中的缩放比例通过缩放消息发送给透明视图,将WebView移动过程中预留的用于播放视频的区域块的坐标通过移动消息发送给透明视图。由于WebView的移动和缩放过程是连续的,在移动和缩放过程中,依据安卓系统的消息产生机制(为使屏幕上显示的内容在被用户操作时动作平滑连续,会以很高的频率产生消息来实现屏幕上显示的内容的动作)将会产生很多个消息,即将WebView的移动过程和缩放过程分为多个时刻,每个时刻将网页当前时刻的缩放比例通过缩放消息发送给透明视图,将当前时刻WebView中预留的用于播放视频的区域块的坐标通过移动消息发送给透明视图,从而可以使透明视图中的VideoView平滑连续地跟随WebView的移动和缩放。需要说明的是,WebView中的元素、子视图等的缩放比例和WebView的缩放比例相等,WebView中预留的用于播放视频的区域块的坐标为相对于屏幕的坐标,安卓系统中,区域块的坐标可以作为区域块的属性,安卓系统具有坐标识别机制,用于确定区域块的坐标。其中,在一种可能的实施方式中,替换将WebView移动过程中预留的用于播放视频的区域块的坐标通过移动消息发送给透明视图的方式,是将WebView的移动方向和移动距离通过移动消息发送给透明视图,WebView的移动方向和移动距离可以由安卓系统的用户手势响应机制提供。而且,由于产生、处理和发送消息的频率很高,当WebView同时发生移动和缩放,向透明视图发送移动消息和缩放消息时,可以视为同时向透明视图发送移动消息和缩放消息,透明视图则可视为同时接收移动消息和缩放消息。
[0075]其中,向透明视图发送移动消息和缩放消息,可以由WebVi ew发送给透明视图,所述移动消息和缩放消息的发送可以为常规的视图间参数传递方式,或者消息的发送和接收方式,也可以设置专门线程或程序获取WebView的移动信息和缩放信息,将WebView的移动信息和缩放信息以通过移动消息和缩放消息发送给透明视图。
[0076]网页视图发生其他变化时,向透明视图发送视图变化消息的过程可以根据上述向透明视图发送移动和缩放消息的过程类推。
[0077]步骤S104,透明视图根据所述视图变化消息相应地变化所述视频视图。
[0078]其中,透明视图接收到网页视图发送的视图变化消息后,根据视图变化消息相应地变化所述视频视图,使所述视频视图跟随网页视图的变化。例如,网页视图发送移动和缩放并发送移动消息或缩放消息后,透明视图接收到所述移动消息和缩放消息,根据所述移动和/或缩放消息同步移动和/或缩放所述VideoView。
[0079]其中,透明视图接收到缩放消息后,随即按与缩放消息中的缩放比例缩放VideoView ;透明视图接收到移动消息后,随即按移动消息中的坐标将VideoView移动至相同的坐标,使VideoView跟随WebView同步移动、缩放,或者同步移动和缩放。在一种可能的实施方式中,将WebView的移动方向和移动距离通过移动消息发送给透明视图,透明视图接收到移动消息后,按移动消息中相同的移动方向和移动距离移动VideoView。当WebView同时缩放和移动时,由于消息是以高频依次发送,透明视图也是依次接收消息,高频处理这些消息,因此并不会出现冲突,在视觉上,VideoView将跟随WebView同步缩放和移动。
[0080]图2为本申请另一示例性实施例示出的一种安卓智能终端浏览器视频显示方法的流程示意图,如图2所示,所述方法可以包括:
[0081]步骤S201,在View树中添加透明视图,所述透明视图与WebView拥有相同的基础视图,所述透明视图层叠覆盖于WebView之前,且与WebView的大小和比例相同。
[0082]步骤S202,在透明视图中对应的位置,创建VideoView。
[0083]其中,步骤S201、步骤S202分别和步骤S101、步骤S102相同。
[0084]在步骤S203中,根据WebView的变化,建立视图变化消息队列。
[0085]其中,所述视图变化消息队列包括移动消息队列和缩放消息队列,所述移动消息队列根据WebView的移动过程建立,所述缩放消息队列根据WebView的缩放过程建立。其他相应于WebView变化的消息队列的建立以此类推,亦即根据WebView的各种变化,相应地建立各个视图变化参数的视图变化消息队列。
[0086]步骤S204,根据每个消息队列中视图变化消息建立的顺序,判断每个消息队列中间隔预设个数的两个视图变化消息中视图变化参数之间的差值是否小于相应的视图变化参数预设值。
[0087]步骤S205,当间隔预设个数的两个视图变化消息中视图变化参数之间的差值小于相应的视图变化参数预设值时,将两个视图变化消息中在后的视图变化消息发送给透明视图,并删除在后的视图变化消息之前的视图变化消息。
[0088]步骤S206,当不满足间隔预设个数的两个视图变化消息中视图变化参数之间的差值小于相应的视图变化参数预设值时,向透明视图发送所述两个视图变化消息间隔以内的每个视图变化消息。
[0089]其中,以移动消息队列为例:
[0090]在步骤S204中,根据移动消息队列中移动消息建立的顺序,判断间隔预设个数的两个移动消息中移动坐标之间的距离是否小于移动距离预设值。
[0091]在步骤S205中,当间隔预设个数的两个移动消息中移动坐标之间的距离小于移动距离预设值时,将所述两个移动消息中在后的移动消息发送给透明视图,并删除在后的移动消息之前的移动消息。
[0092]在步骤S206中,当不满足间隔预设个数的两个移动消息中移动坐标的距离小于移动距离预设值的条件时,向透明视图发送所述两个移动消息间隔以内的每个移动消息。
[0093]其中,所述移动坐标为WebView中预留的用于播放视频的区域块的坐标。步骤S204在建立
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1