WO2019007227A1 - 一种在页面切换后继续显示视图的方法和装置 - Google Patents
一种在页面切换后继续显示视图的方法和装置 Download PDFInfo
- Publication number
- WO2019007227A1 WO2019007227A1 PCT/CN2018/092828 CN2018092828W WO2019007227A1 WO 2019007227 A1 WO2019007227 A1 WO 2019007227A1 CN 2018092828 W CN2018092828 W CN 2018092828W WO 2019007227 A1 WO2019007227 A1 WO 2019007227A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- page
- view
- video
- topmost
- new
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/74—Browsing; Visualisation therefor
- G06F16/745—Browsing; Visualisation therefor the internal structure of a single video sequence
-
- 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
Abstract
本申请实施例提供了一种在页面切换后继续显示视图的方法和装置。所述方法包括:在通过一个Activity创建的第一页面上显示至少一个视图;当监听到用户点击第一页面上的指定位置区域时发出将第一页面上显示的该用户感兴趣的一个视图切换到第二页面上进行显示的指令;响应所述切换指令,在该同一个Activity中创建所述第二页面,创建用于显示该用户感兴趣的第一页面上的所述一个视图的新视图控件并将该新视图控件添加到最顶层视图中,然后在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来显示该用户感兴趣的所述一个视图。
Description
相关申请的交叉引用
本申请要求于2017年07月07日提交中国专利局的申请号为2017105497419,名称为“一种在页面切换后继续显示视图的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及计算机技术领域,具体而言,涉及一种在页面切换后继续显示视图的方法和装置。
随着智能终端的广为使用,尤其是智能移动终端成为人们的日常使用的电子产品,伴随而来的是针对在智能移动终端上运行的各种APP的开发和应用,包括安卓系统和ios系统自身携带的各种应用功能,都已经被用户经常性的启动使用,而在使用过程中常常涉及页面切换。
例如,短视频在网络上非常流行,很多网络公司都在不遗余力地推出短视频内容,例如浏览器上提供的视频栏,如UC浏览器、360浏览器等,例如提供资讯类APP上提供的视频栏,如今日头条等,这很适合在移动智能终端上观看。通常,短视频可以在网页上直接播放,一般是在列表内播放,当然也可以全屏播放。除此之外,通过点击短视频窗口底部的详情栏可以进入该短视频的详情页面或者其他包含此短视频播放和详细内容的文字介绍或相似视频推荐信息内容等的新页面来继续播放该短视频,但是在这种网页切换的情况下,即当第一页面A1(例如提供多个短视频列表的网页)上播放短视频B,通过点击跳转到第二页面A2(例如该短视频B的详情页面)上来继续播放视频B时,都会出现顿挫或停顿播放的现象。其原因是:由于安卓系统自身的特性带来的对页面跳转的限制,目前在页面切换后保持原视频继续播放的方法是将第一页面A1上的视频B的播放进度记录保存,在切换至第二页面A2上重新播放视频B时,快进到之前所保存记录的播放进度,从而实现继续播放视频B的目的,而不是从头开始播放。但是,第二页面A2往往是在新的Activity中创建的,此时需要在新的Activity中重新创建用于播放视频的视图控件,需要重新加载视频数据,而在快进到之前所保存记录的播放进度的过程中,也需要花费一定时间,尤其是目前多数用户都喜欢使用智能终端来上网看短视频类资讯,在所使用的智能终端,如智能手机的运算能力较弱时,快进到之前所保存记录的播放进度所需要花费的时间更长,因此顿挫或停顿播放的现象更加明显。
这种在页面切换后视频停顿式播放会打断用户的视觉体验,在第二页面A2上重新加载播放视频B的时间的不确定性使得用户对当前的视频播放的体验满意度大大降低,导致用户量的流失。
除此之外,图片预览的应用场景,当涉及页面切换后继续显示原始图片时,过渡效果并不太流畅,尤其是在安卓系统下的应用。例如在安卓系统下的某款APP提供的朋友圈功能,当用户在该APP的朋友圈上发布了多张照片,该用户的好友在其朋友圈里首先看到的是这些照片的略缩图,想看照片的原图时需点击该照片的略缩图从而切换到另一个页面上显示该照片的原图,但是在页面切换后继续显示该照 片的原图时的过渡显示效果的流畅性明显不如ios系统下在相同操作的过渡显示效果的流畅性。出现上述现象的原因之一是:安卓系统自身的特性带来的对页面跳转的限制所导致的。
发明内容
本申请实施例提供一种在页面切换后继续显示视图的方法和装置,以至少部分地改善上述问题。
本申请第一实施例提供了一种在页面切换后继续显示视图的方法,其包括:
在通过一个Activity创建的第一页面上显示至少一个视图;
当监听到用户点击第一页面上的指定位置区域时发出将第一页面上显示的该用户感兴趣的一个视图切换到第二页面上进行显示的指令;
响应所述切换指令,在该同一个Activity中创建所述第二页面,创建用于显示该用户感兴趣的第一页面上的所述一个视图的新视图控件并将该新视图控件添加到该Activity中的最顶层视图中,然后在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来显示该用户感兴趣的所述一个视图。
本申请第二实施例提供了一种在页面切换后保持视频继续播放的方法,其包括:
在通过一个Activity创建的第一页面上显示至少一个视频视图;
当用户点击第一页面上显示的其中一个视频视图进而发出播放该视频的指令时,响应所述播放指令,创建用于视频播放的新视图控件并将其添加到该Activity中的最顶层视图中,在所述最顶层视图上使用所述新视图控件来播放该用户点击的所述一个视频;
当监听到所述用户点击所述第一页面上与所述正播放的视频相关联的指定位置区域时发出从第一页面切换到第二页面上进行播放所述视频的指令;
响应所述切换指令,在该同一个Activity中创建所述第二页面,在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来继续播放所述视频。
本申请第三实施例提供了一种在页面切换后继续显示视图的装置,其包括:
第一页面显示模块,配置成在通过一个Activity创建的第一页面上显示至少一个视图信息;
页面点击监听模块,配置成监听用户对第一页面上的指定位置区域的点击操作;
页面切换命令发出模块,配置成在监听到用户点击第一页面上的指定位置区域时发出将第一页面上显示的该用户感兴趣的一个视图切换到第二页面上进行显示的指令;
页面切换命令处理模块,配置成响应所述切换指令,在该同一个Activity中创建所述第二页面,创建用于显示该用户感兴趣的第一页面上的所述一个视图的新视图控件并将该新视图控件添加到该Activity中的最顶层视图中,然后在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来显示该用户感兴趣的所述一个视图。
本申请第四实施例提供了一种在页面切换后保持视频继续播放的装置,其包括:
第一页面显示模块,配置成在通过一个Activity创建的第一页面上显示至少一个视频视图;
视频播放指令监听模块,配置成监听用户点击第一页面上显示的其中一个视频视图进而发出播放该 视频的指令;
视频播放指令处理模块,配置成响应所述播放指令,创建用于视频播放的新视图控件并将其添加到该Activity中的最顶层视图中,在所述最顶层视图上使用所述新视图控件来播放该用户点击的所述一个视频。
页面点击监听模块,配置成监听用户对所述第一页面上与所述正播放的视频相关联的指定位置区域的点击操作;
页面切换命令发出模块,配置成在监听到用户点击第一页面上的所述指定位置区域时发出从第一页面切换到第二页面上进行播放所述视频的指令;
页面切换命令处理模块,配置成响应所述切换指令,在该同一个Activity中创建所述第二页面,在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来继续播放所述视频。
本申请实施例还提供一种存储设备,其中存储有多条指令,该指令适于由处理器加载并执行如本申请第一实施例提供的在页面切换后继续显示视图的方法。
本申请实施例还提供一种存储设备,其中存储有多条指令,该指令适于由处理器加载并执行如本申请第二实施例提供的在页面切换后保持视频继续播放的方法。
本申请实施例还提供一种智能移动终端,其包括:处理器,配置成加载并执行各种指令;以及本申请提供的存储设备。
根据本申请实施例提供的在页面切换后继续显示视图的方法和装置,借助于当前显示的屏幕只能同时存在一个Activity,而一个Activity只对应一个最顶层视图DecorView的特点,还借助了在视图树布局时上一层的视图会覆盖遮挡下一层的视图,最顶层视图DecorView始终处于整个Window界面的最顶层,因此在同一Activity中创建第一页面、第二页面等不同页面,创建用于显示用户感兴趣视图信息的新视图控件并将其添加在最顶层视图中,这样确保了在一个Activity中无论怎么切换页面,都能保证显示效果的视图view始终是在最顶层上,避免了页面切换之前和之后需要考虑的页面层次问题,更避免了在不同Activity中分别创建第一页面、第二页面的情况下,在页面切换后需要重新加载、渲染、显示视图所花费的时间,从而在不同页面切换后实现了视图继续显示效果的平滑过渡等效果。对于在第一页面上播放视频的应用场景,创建用于播放视频的新视图控件并将其添加在最顶层视图中,更避免了在不同Activity中分别创建第一页面、第二页面的情况下,在页面切换后需要重新创建用于播放视频的视图控件、重新加载视频数据所花费的时间,更不需要页面切换之前记录播放进度,省却了切换后快进到所保存记录的播放进度的工作时间,从而在不同页面切换后实现了无缝连续播放,而不会发生顿挫或停顿播放的现象。
图1是本申请实施例提供的一种智能移动终端的方框示意图;
图2是本申请第一实施例提供的在页面切换后继续显示视图的方法的流程图;
图3是本申请第二实施例提供的在页面切换后继续显示视图的装置的示意性框图;
图4是本申请第三实施例提供的在页面切换后保持视频继续播放的方法的流程图;
图5是本申请第四实施例提供的在页面切换后保持视频继续播放的装置的示意性框图。
下面将结合本申请实施例和附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1示出了本申请实施例提供的一种智能移动终端的方框示意图。智能移动终端可以是智能手机、平板电脑等终端,该智能移动终端基于Android系统运行,并包括存储器、处理器、显示单元及通信单元,所述存储器、处理器、显示单元及通信单元各元件相互直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互直接可以通过一条或多条通讯总线或信号线实现电性连接。存储器中存储有上述的在页面切换后继续显示视图的装置包括的至少一个功能模块,处理器配置成在接收到执行指令时,执行存储在存储器中的可执行模块。
显示单元配置成提供与用户的交互界面,以及配置成显示待显示信息,例如页面文件中的视频信息等。通信单元配置成建立与外部设备之间的通信连接,例如,可以建立电子设备与服务器的通信连接,从而从服务器获得页面文件。
应当理解,图1所示的结构仅为示意,智能移动终端还可以包括比图1所示更多或更少的组件,或是具有与图1所示完全不同的配置,本实施例对此不做限制。此外,图1所示的各组件可以以硬件、软件或其组合实现。
图2是本申请第一实施例提供的在页面切换后继续显示视图的方法的流程图,该方法可以应用于图1所示的智能移动终端。如图2所示,本申请的一种在页面切换后继续显示视图的方法包括:
S1:在通过一个Activity创建的第一页面上显示至少一个视图。
Activity是Android组件中最基本的四大组件(Activity、Service服务、ContentProvider内容提供者、BroadcastReceiver广播接收器)之一。一个Activity是用于实现用户与程序进行交互的界面组件,如打电话、拍照片、发邮件、或看地图等。每个Activity就是一个用来描绘用户界面的接口,允许用户在其上创建一个用户界面,通常这个界面是全屏的,但是也可以比屏幕小,还可以浮动在其他窗口的上面。而在用户界面上显示的各种信息是通过View控件来实现的。视图(View)是一个矩形区域,它负责这个区域里的绘制和事件处理。
所述第一页面上显示的至少一个视图信息包括但不限于:视频、图片和文本等。
本申请第一实施例中所述的页面包括网页类的页面和非网页类的页面。网页类的页面例如可以包括各种浏览器APP上显示的页面,非网页类的页面例如可以包括视频播放器APP(例如优酷APP)上显示的页面、即时通讯类APP(例如钉钉和微信)上显示的页面等等,这里不过多列举。
在通过一个Activity创建的第一页面上显示至少一个视图信息的具体实现方法可以采用本领域技术人员熟知的常规技术来实现,只要确保通过该技术可以在一个Activity上创建多个类似页面即可,例如可以使用Fragment类来构建,这里就不做过多介绍。S2:当监听到用户点击所述第一页面上的指定位置区域时,发出将所述第一页面上显示的该用户感兴趣的一个视图切换到第二页面上进行显示的指令。
系统内部会监听用户在智能移动终端的触摸屏上点击情况,尤其是用户在屏幕上的点击位置是否为第一页面上的指定位置区域,当监听到用户点击第一页面上的指定位置区域时发出将第一页面上显示的该用户感兴趣的一个视图切换到第二页面上进行显示的指令。对于不同第三方应用APP而言,基本上都是通过用户在智能移动终端的触摸屏上点击第一页面上的不同的指定位置区域来发出的,而在该APP中,通常会将用户感兴趣的需要被切换到第二页面上进行显示的所述一个视图与供用户点击的用于指示页面切换的指定位置区域是相关联的,即所述用户感兴趣的一个视图与供用户点击的用于指示页面切换的指定位置区域相关联,这样智能移动终端通过用户点击的指定位置区域就可以知道将要在第二页面上显示哪一个视图,即用户感兴趣的第一页面上显示的所述一个视图。换言之,所述该用户感兴趣的一个视图是所述第一页面上的与用户点击的所述指定位置区域对应的视图。下面举例对此进行说明。
例如,为了让用户能看到更多信息,提供视频播放或短视频播放的浏览器APP或者视频播放器APP的一个页面上往往会显示多个视图,每个视图上都会显示一个处于待播放状态(例如可以显示用于提示用户点击的
图案)的视频略缩图,每个视频视图或短视频视图窗口底部为详情栏(详情栏与对应的视频或短视频是相关联的),当监听到用户点击该详情栏时则(通过发出页面切换指令)切换到另一个页面上,在该另一个页面的上部区域准备播放该视频或短视频,可以确定准备在另一个页面上播放的视频或短视频为用户感兴趣的视频或短视频,其与用户点击的详情栏(指定位置区域)是相关联的,同时在该另一个页面的下部区域显示与正播放的视频或短视频相关的详细内容(文字、图片等)或者还包括显示相似视频的推荐信息内容等。除了这种情况之外,在一些应用场景中,还可以通过监听到用户直接点击显示待播放的静态图片的视图(发出页面切换指令)来切换到另一个页面上播放视频或短视频,播放区域在该另一个页面的上部区域,同时在下部区域显示与正播放的视频或短视频相关的详细内容(文字、图片等)或者还包括显示相似视频的推荐信息内容等。
再例如,在安卓系统下的能够提供朋友圈功能的即时通讯类APP,如微信,用户看到其好友在朋友圈上发布了多张照片信息时,此时的朋友圈页面上显示的仅仅是照片的略缩图,当监听到该用户点击其中一张略缩图则(通过发出页面切换指令)从当前显示朋友圈上的多个朋友视图的第一页面切换至用于显示所点击略缩图的完整原图的第二页面,即所点击略缩图的原图是在第二页面上绘制并显示的整张照片。
除了上面通过举例来说明的点击视频视图显示的图片、视频视图窗口的详情栏、略缩图等位置区域可以发生页面切换之外,对于不同的应用场景还会涉及其他位置区域,具体的指定位置区域可以由不同APP开发商自行规定,与本申请实施例的技术方案的实现无关,只要通过监听到用户在第一页面上点击了指定位置区域就能够发出将第一页面上显示的该用户感兴趣(与点击的指定位置区域相关联)的一个视图切换到第二页面上进行显示的指令即可。
S3:响应所述切换指令,在该同一个Activity中创建所述第二页面,创建用于显示该用户感兴趣的第一页面上的所述一个视图的新视图控件并将该新视图控件添加到该Activity中的最顶层视图中,然后在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来显示该用户感兴趣的所述一个视图。
其中,所述切换指令是指步骤S2中的将所述第一页面上显示的该用户感兴趣的一个视图切换到第二页面上进行显示的指令。在该同一个Activity中创建所述第二页面的方法,可以采用本领域技术人员熟知的常规技术来实现,例如使用Fragment类构建第二页面,或者通过自定义View来实现,即自定义View,并使其继承View,重写onDraw()、onMesure()等,这里就不做过多介绍。
正如上面而言,所述用户感兴趣的第一页面上的一个视图与该用户在该第一页面上点击的用于指示页面切换的指定位置区域是相关联的,通过用户所点击的指定位置区域就可以知道将要在第二页面上显示哪一个视图,即户感兴趣的第一页面上的所述一个视图。
在将所创建的用于显示用户感兴趣的第一页面上的所述一个视图的新视图控件添加到该Activity中的最顶层视图中之前,需要先获取该Activity中的最顶层视图。在本实施例中,可以通过Activity.getWindow().getDecorView()方法来获取该Activity中的最顶层视图(ViewGroup:DecorView)。用户界面中的所有视图是一个树形结构,整个视图树ViewTree的最顶层视图是DecorView。该DecorView也是整个视图树的根节点。DecorView作为整个应用窗口(window)中的最顶层的视图View或者根View,通常包括:状态栏、标题栏、和内容显示界面。在设计页面的视图布局时,通常在内容显示界面上布置自定义的视图显示布局。
下面将通过具体实例来介绍如何创建用于显示该用户感兴趣的第一页面上的所述一个视图的新视图控件,并将该新视图控件添加到Activity中的最顶层视图中,然后在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来显示该用户感兴趣的所述一个视图。
其中,创建用于显示该用户感兴趣的第一页面上的所述一个视图的新视图控件的方法可以采用本领域的常规技术来实现。例如,当用户感兴趣的在第一页面上显示的所述一个视图是图片时,创建用于显示该图片的新视图控件可以是ImageView控件;当用户感兴趣的在第一页面上显示的所述一个视图是文本时,创建用于显示该文本的新视图控件可以是TextView控件;当用户感兴趣的在第一页面上显示的所述一个视图是视频时,创建用于显示播放视频的新视图控件可以是VideoView控件。因为创建ImageView控件、TextView控件、VideoView控件等都是本领域的常规技术,这里不展开介绍了。将该 新视图控件添加到所述最顶层视图中,可以采用addView()方法来实现。这样,因为最后添加在所述最顶层视图中的视图会始终显示在屏幕上而不被遮挡,所以添加到所述最顶层视图中的所述新视图控件将在创建的第二页面上方显示用户感兴趣的所述一个视图。当所述新视图的尺寸小于第二页面时,可以在第二页面上没有被所述新视图遮挡的区域显示其他信息。
这样,本申请第一实施例提供的方法的创新之处在于:在页面发生切换过程中,通过在同一Activity中创建第一页面、第二页面等不同页面,创建用于显示用户感兴趣的视图的新视图控件并将其添加在最顶层视图中,这样在一个Activity中无论怎么切换页面,都能保证显示效果的视图view始终是在最顶层上,避免了页面切换之前和之后需要考虑的页面层次问题,更避免了在不同Activity中分别创建第一页面、第二页面的情况下,在页面切换后需要重新加载、渲染、显示视图所花费的时间,从而在不同页面切换后实现了视图继续显示效果的平滑过渡等效果。
另外,因为所添加的所述新视图控件会遮挡页面上显示的内容,在从第二页面返回到第一页面时,为了避免发生遮挡,可以从最顶层视图中移除所添加的所述新视图控件。由此,在一个可选实施例中,本申请第一实施例提供的方法可以进一步包括:在收到从第二页面返回到第一页面的指令时,响应该返回指令从第二页面返回到第一页面并从最顶层视图中移除所添加的所述新视图控件。通常在第二页面上会显示返回箭头或返回按钮,当用户点击第二页面上显示的返回箭头或返回按钮(也可以称为退回)时,可以视作发出了从第二页面返回到第一页面的指令。从第二页面返回到第一页面为现有第三方应用APP的常见功能,因此其具体实施方法可以使用现有的常规技术来实现。
下面以视频或短视频播放为例来进一步说明本申请第一实施例提供的方法。
尽管上面介绍了使用VideoView控件作为用于播放视频的视图控件,但是能够用于播放视频的任意视图控件都可以在本申请实施例里使用。为了描述方便,本文将用于视频或短视频播放的任意视图控件称为VideoPlayerView。
在第一实例中,当用户进入某个页面想观看上面显示的视频或短视频时,根据本申请第一实施例提供的方法,首先通过一个Activity创建的第一页面,在该第一页面上显示一个或多个处于待播放状态(例如显示提示用户点击的
图案)的视频略缩图。当用户想观看第一页面上显示的其中一个视频或短视频的播放和相关详情介绍时,会点击该视频或短视频窗口底部的详情栏,此时智能移动终端的系统可以监听到用户的该点击操作,进而发出切换到第二页面上播放该视频或短视频的切换指令。当然,在某些视频播放APP中可以直接点击视频略缩图实现相同的效果。响应所述切换指令,在该同一个Activity中创建第二页面(即详情页面),创建用于播放视频的新视图控件VideoPlayerView,通过decorView.addView(VideoPlayerView)方法将所创建的视图VideoPlayerView添加到该Activity中的最顶层视图DecorView中,在添加之前针对这个Activity通过Activity.getWindow().getDecorView()方法获取到该最顶层视图DecorView,因为视频或短视频窗口底部的详情栏与该视频或短视频相关联,用户点击详情栏相当于发出了在详情页面(第二页面)上播放该视频或短视频的指令,而所显示该视频或短视频 的视频略缩图包含了指向所述视频或短视频文件的超链接地址,因此在创建后展示给用户的详情页面(第二页面)上方通过添加到所述最顶层视图中的所述新视图控件VideoPlayerView来播放所述视频或短视频。
通过上述过程,第一页面和第二页面位于同一Activity上,在从第一页面切换至第二页面时,用于播放所述视频视图对应的视频的新视图控件是在该同一Activity的最顶层视图创建的,如此,当需要从第二页面切换回第一页面时,可以直接对所述新视图控件的位置和显示尺寸进行改变,而不必再新建Activity、新建视图控件及重新加载正在播放的视频,可以避免页面切换过程中的卡顿问题。
在第二实例中,用户可以是先在第一页面上点击其中一个视频或短视频进行播放。在播放过程中,点击该视频或短视频窗口底部的详情栏,在系统监听到该点击操作后发出切换到详情页面(第二页面)上播放该视频或短视频的指令。当用户点击的视频或短视频首先在第一页面上播放时,为了保证正在播放的视频或短视频在页面切换后会在第二页面上继续流畅地播放,此时在通过一个Activity创建的第一页面上显示至少一个视频视图;在监听到用户在第一页面上点击其中一个视频略缩图进而发出播放该视频的指令时,先创建用于播放视频的新视图控件VideoPlayerView,通过decorView.addView(VideoPlayerView)方法将所创建的视图控件VideoPlayerView添加到该Activity中的最顶层视图DecorView中,并在该第一页面上方播放用户所点击的视频或短视频。注意,在添加新视图控件VideoPlayerView之前针对这个Activity通过Activity.getWindow().getDecorView()方法获取到该最顶层视图DecorView。此时,为了实现用户从视觉上看到其点击的视频或短视频是在第一页面的原有位置上播放的效果,需要使得该VideoPlayerView的大小(即高度和宽度)与用户点击的视频或短视频的视图大小(即高度和宽度)相同,并且还需要获取该视频或短视频的视图view在第一页面的位置区域信息,根据获得的位置区域信息将播放该视频或短视频的VideoPlayerView放在所述最顶层视图DecorView的相应位置区域上,使得播放短视频的VideoPlayerView在所述最顶层视图DecorView中的位置与在用户在第一页面上点击的视频或短视频的视图view所在的位置重叠覆盖,这使得用户观看正在播放的视频或短视频的效果如同在第一页面的原有位置上播放一样,而不会认为是在另一页面上播放。另外,如果视频或短视频正在第一页面上方播放时,用户在触摸屏幕上做出滑动手势,使得第一页面向上或向下滚动,此时要使得添加在最顶层视图DecorView中的视图VideoPlayerView做无缝跟随滚动操作,以使其位置始终保持与正播放的视频或短视频的视图所在第一页面上的位置重叠覆盖。具体可以通过如下方式实现:
将所述新视图控件(视图VideoPlayerView)与所述第一页面中用户感兴趣的视频或短视频的视图view(为便于描述,约定为目标视图view)绑定;在系统中对第一页面中的所述目标视图view做全局监听,并为该全局监听注册一对应的回调函数,该回调函数用于在监听到所述目标视图view发生移动时,获取所述目标视图view的最新位置信息,并将所述最新位置信息发送给与所述目标视图view绑定的视图,即所述新视图控件,以触发所述新视图控件按照预定义的动作移动。在本实施例中,可以预定 为控制所述新视图控件移动至与所述目标视图view相同的位置。
当用户点击正在播放的视频或短视频窗口底部的详情栏时,系统可以监听到用户的该点击操作,进而发出切换到详情页面(第二页面)上播放该视频或短视频的切换指令,响应该切换指令,在该同一个Activity中创建第二页面(即详情页面),在创建后展示给用户的详情页面(第二页面)上方通过添加到所述最顶层视图中的所述新视图控件VideoPlayerView来继续播放所述视频或短视频。根据本申请第一实施例提供的方法,这里执行的继续播放的效果可以实现无缝播放,即无间断、无停顿的继续流畅播放。
在上述的第一和第二实例中,在将视图VideoPlayerView添加到最顶层视图中时,该VideoPlayerView的大小(即高度和宽度)与用户感兴趣的在第一页面上的1个视图大小(即高度和宽度)相同。
另外,在切换到第二页面后,播放所述视频或短视频的VideoPlayerView可以在所述最顶层视图中的任意位置,这样从显示效果看也就位于第二页面上的任意位置。但在上述的第一和第二实例中,因为除了需要播放视频或短视频之外,还需要显示和该视频或短视频相关联的详情信息,所以优选位于屏幕顶部位置的显示区域,即播放所述视频或短视频的VideoPlayerView位于所述最顶层视图的顶部区域,更优选的为竖屏显示方式。
关于某一视图的位置区域信息的获取方法可以采用本领域公知的方法实现,例如通过ViewA.getLocationOnScreen(locA)来获取第一页面中视频或短视频的视图View A所在的区域位置,通过计算偏移量在最顶层视图中添加VideoPlayerView时将其放在与View A显示的位置相对应的位置上,从而实现位置上的重叠覆盖。
在与第一或第二实例相结合的第三实例中,假设正在第二页面上方使用VideoPlayerView播放的视频或短视频尚未播放结束,用户指令从第二页面返回到第一页面,为了确保正在播放的视频或短视频在页面返回到第一页面后在第一页面上继续播放的效果,在从第一页面切换至第二页面之前根据用户点击第一页面上的指定位置区域,记录与该指定位置区域相关联(即用户感兴趣的)的视频视图所在第一页面上的位置区域信息;在收到从第二页面返回到第一页面的指令时,响应该返回指令从第二页面返回到第一页面并且继续保持所述新视图控件VideoPlayerView位于所述最顶层视图中,根据之前记录的所述视频视图所在第一页面上的位置区域信息,调整用于播放所述视频或短视频的VideoPlayerView在所述最顶层视图中的位置,以与切换至第二页面之前所述视频或短视频的视图所在第一页面上的原有位置重叠覆盖,这使得用户观看播放的视频或短视频的效果如同在第一页面的原有位置上播放一样。
在与第一或第二实例相结合的第四实例中,本实施例提供的方法可以进一步包括:当用户感兴趣的在第一页面上显示的所述一个视图是视频时,在从第一页面切换至第二页面之前根据用户点击第一页面上的指定位置区域,记录与该指定位置区域相关联的视频视图所在第一页面上的位置区域信息,在收到从第二页面返回到第一页面的指令时,响应该返回指令从第二页面返回到第一页面并且继续保持所述新视图控件位于所述最顶层视图中,根据之前记录的所述视频视图所在第一页面上的位置区域信息,调整 用于播放所述视频的所述新视图控件在所述最顶层视图中的位置,以与切换至第二页面之前所述视频视图所在第一页面上的原有位置重叠覆盖。
此外,该第四实例还可以包括:在收到从第二页面返回到第一页面的指令时,查询所述最顶层视图中的所述新视图控件是否还在播放所述视频,如果此时所述最顶层视图中的所述新视图控件还在播放所述视频,则响应该返回指令从第二页面返回到第一页面并且通过所述最顶层视图中的所述新视图控件继续播放所述视频。
可选地,在该第四实例描述的不同场景中,还包括:从第二页面返回到第一页面后,当用户点击其他非视频视图时、或者当还在继续播放的视频播放结束时,从所述最顶层视图中移除所添加的所述新视图控件,从而避免所述新视图控件遮挡住其他需要显示的信息。
此外,该第四实例还可以包括:从第二页面返回到第一页面后,当用户在屏幕上做出滑动手势以使被覆盖的第一页面上的所述视频视图跟随向上或向下滚动时,智能移动终端可以检测到所述第一页面上的所述视频视图发生移动,此时,所述智能移动终端可以监测所述视频视图是否离开所述Activity对应的界面,如果没有,则控制所述最顶层视图中的所述新视图控件跟随所述第一页面中的所述视频视图做无缝跟随移动操作(在此是与前述的向上或向下滚动操作一致的滚动操作);当所述视频视图向上或向下滚动离开屏幕时,所述智能移动终端可以检测到上所述视频视图离开了所述Activity对应的界面,此时可以从最顶层视图中移除所添加的所述新视图控件。
下面再以用户点击缩略图进而在另一个页面上显示一张完整图片的实例来进行说明。
在第五实例中,例如,在背景技术中提及的用户们早已使用的安卓系统下的某款APP提供的朋友圈上发布拍摄的照片,如风景照片,根据本申请第一实施例提供的方法,首先通过一个Activity创建朋友圈的第一页面,即通过点击朋友圈图标进入相应界面上的第一页面,该第一页面为显示有好友发布的信息的页面,所述发布的信息例如是文字信息、图片信息或文宇与图片信息,而这些信息都是以一个或多个视图进行显示的。当用户想在其智能移动终端上看某个好友在朋友圈上发布的风景照片时,因为在第一页面上显示的是发布的风景照片的略缩图,所以该用户需要在第一页面上点击要看的某张风景照片的略缩图,这样就发出了要切换到第二页面上显示该完整风景照片的切换指令。响应该切换指令,在该同一个Activity中创建第二页面,创建用于显示图片的视图控件,例如ImageView,并将该创建的新视图控件添加到该Activity中的最顶层视图DecorView中,该用于显示图片的新视图控件会读取用户所点击的略缩图所包含指向完整大小图片的超链接地址从而获得完整大小图片的数据,绘制和渲染该完整图片,最后在创建后展示给用户的第二页面上方显示该完整图片,即用户点击的略缩图指向的完整风景照片。另外,在将创建的新视图控件添加到所述最顶层视图DecorView之前,需要先通过Activity.getWindow().getDecorView()方法获取到该Activity中的最顶层的视图decorView。
关于页面切换后继续显示文本视图的过程,与该第五实例描述的过程类似,本领域技术人员在阅读以上内容后很容易实现,这里不再做过多介绍。
在所述第一实施例提供的方法中,可选地,所述新视图控件的显示尺寸和位置与当前用户感兴趣的页面(第一页面或第二页面)对应,例如,当用户需要在第一页面上播放所述视频视图时,则所述新视频控件的显示尺寸及位置通常与所述视频视图在所述第一页面中的显示尺寸和位置对应相同(在某些场景下,也可以不同);又如,当用户需要在第二页面上播放所述视频视图时,则所述新视频控件的显示尺寸和位置通常与所述视频视图在所述第二页面中的显示尺寸和位置对应相同(在某些场景下,也可以不同)。在本申请的实施例中,所述移动智能终端的提供该第一页面和该第二页面的相关APP的数据中包括所述视频视图在所述第一页面的显示尺寸和位置,以及在所述第二页面的显示尺寸和位置,其具体数值随APP的具体设计变化而不同,所述智能移动终端可以从远端服务器获得所述APP的数据并保存在本终端的存储器中。在此值得说明的是,对于图片或文本显示,因为要显示更多信息,所以切换到第二页面时添加到所述最顶层视图中的所述新视图控件的显示尺寸,常与切换之前在第一页面上显示的相对应视图尺寸不相同。
在所述第一实施例提供的方法中,可选地,切换到第二页面时添加到所述最顶层视图中的所述新视图控件的显示尺寸,根据横屏显示或竖屏显示而自适应调整,所述新视图可以占据屏幕的一部分区域显示,也可以是全屏显示,例如显示的是完整图片或文本时,适合全屏显示。
在所述第一实施例提供的方法中,可选地,切换到第二页面时添加到所述最顶层视图中的所述新视图控件的位置根据应用场景不同而自定义设计,即可以在任意设置的位置上继续显示视图。在用户感兴趣的在第一页面上显示的一个视图信息例如是视频的应用场景中,在切换到第二页面时添加到所述最顶层视图中的用于显示播放该视频的所述新视图控件的位置优选在所述最顶层视图的顶部区域。
在所述第一实施例提供的方法中,可以在所述第二页面上也可以显示至少一个视图。例如上述以视频播放为例描述的应用场景中,当第二页面为详情页时,在所述第二页面上可以显示出多个视图,包括但不限于:播放视频的文字介绍、广告信息、推荐相关的多个视频等等。而在显示图片或文本时,如果为非全屏显示,也可以在第二页面没有被遮挡的位置区域上显示多个视图,包括但不限于:对图片的文字介绍、广告信息、或者与文本内容相关联的推荐信息等等。
在所述第一实施例提供的方法中,所述第一页面和第二页面上显示的多个视图可以为可滑动的。当用户在触摸屏上发出向上或向下的滑动手势时,屏幕上展示的所述第一页面或第二页面上的多个视图可以跟随向上或向下滑动。
在上述第一实施例提供的方法中,可选地,所述第一页面为主页面,所述第二页面为详情页面。
以上以各种实例以及优选方式描述了所述第一实施例,本领域技术人员都知道,这些各种实例以及优选方式可以在不发生冲突的情况下进行任意组合,这里不对组合方式做一一列举了。
本申请第一实施例提供的在页面切换后继续显示视图的方法,借助于当前显示的屏幕只能同时存在一个Activity,而一个Activity只对应一个最顶层视图DecorView的特点,还借助了在视图树布局时上一层的视图会覆盖遮挡下一层的视图,最顶层视图DecorView是所有窗口的根View,始终处于整个 Window界面的最顶层,因此在同一Activity中创建第一页面、第二页面等不同页面,创建用于显示用户感兴趣视图信息的新视图控件并将其添加在最顶层视图中,这样确保了在一个Activity中无论怎么切换页面,都能保证显示效果的视图view始终是在最顶层上,避免了页面切换之前和之后需要考虑的页面层次问题,更避免了在不同Activity中分别创建第一页面、第二页面的情况下,在页面切换后需要重新加载、渲染、显示视图所花费的时间,从而在不同页面切换后实现了视图继续显示效果的平滑过渡等效果。对于在第一页面上播放的视频,在页面切换之后,因为始终使用同一个视图来播放该视频并且始终处于窗口界面的最上层,从而在不同页面切换后实现了无缝连续播放效果。
图3是本申请第二实施例提供的在页面切换后继续显示视图的装置的示意性框图。如图3所示,本申请的一种在页面切换后继续显示视图的装置包括:
第一页面显示模块,配置成在通过一个Activity创建的第一页面上显示至少一个视图信息;
页面点击监听模块,配置成监听用户对第一页面上的指定位置区域的点击操作;
页面切换命令发出模块,配置成在监听到用户点击第一页面上的指定位置区域时发出将第一页面上显示的该用户感兴趣的一个视图切换到第二页面上进行显示的指令;
页面切换命令处理模块,用于响应所述切换指令,在该同一个Activity中创建所述第二页面,创建用于显示该用户感兴趣的第一页面上的所述一个视图的新视图控件并将该新视图控件添加到该Activity中的最顶层视图中,然后在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来显示该用户感兴趣的所述一个视图。
其中,所述第一页面上显示至少一个视图信息可以包括但不限于:视频、图片和文本。
其中,所述用户感兴趣的一个视图信息与该用户点击的用于指示页面切换的指定位置区域相关联。
可选地,所述第一页面是使用Fragment类构建的,所述第二页面是使用Fragment类构建或者通过自定义View来实现。
其中,当用户感兴趣的在第一页面上显示的所述一个视图是图片时,创建用于显示该图片的新视图控件是ImageView控件;当用户感兴趣的在第一页面上显示的所述一个视图是文本时,创建用于显示该文本的新视图控件是TextView控件;当用户感兴趣的在第一页面上显示的所述一个视图是视频时,创建用于播放视频的新视图控件是VideoView控件。
其中,所述页面切换后继续显示视图的装置还可以包括:最顶层视图获取模块,配置成在将所述新视图控件添加到该Activity中的最顶层视图中之前,先获取该Activity中的最顶层视图。
可选地,在智能移动终端中预存有所述视频视图在第一页面的显示尺寸和位置以及在第二页面的显示尺寸和位置,页面切换命令处理模块在从第一页面切换到第二页面时可以根据所述视频视图在第二页面中的显示尺寸和位置确定所述最顶层视图中的所述新视图控件的显示尺寸和位置。其中,智能移动终端中预存的显示尺寸和位置可以根据具体应用场景的不同而改变。
可选地,切换到第二页面时添加到所述最顶层视图中的所述新视图控件的显示尺寸,可以根据横屏显示或竖屏显示而自适应调整。
其中,当用户感兴趣的在第一页面上显示的所述一个视图信息是视频时,在切换到第二页面时添加到所述最顶层视图中的用于显示播放该视频的所述新视图控件的位置可以在所述最顶层视图的顶部区域。
可选地,本申请第二实施例中所述的页面可以包括网页类的页面和非网页类的页面。
可选地,在所述第二页面上显示至少一个视图。
可选地,所述第一页面和第二页面上显示的多个视图可以被配置为可滑动的。
可选地,所述第一页面为主页面,所述第二页面为详情页面。
其中,所述装置可以进一步包括:第一视图控件移除模块,配置成在收到从第二页面返回到第一页面的指令时,响应该返回指令从第二页面返回到第一页面并从最顶层视图中移除所添加的所述新视图控件。
其中,所述装置还可以包括:位置信息记录模块,配置成当用户感兴趣的在第一页面上显示的所述一个视图信息是视频时,在从第一页面切换至第二页面之前根据用户点击第一页面上的指定位置区域,记录与该指定位置区域相关联的视频视图所在第一页面上的位置区域信息;
页面返回指令监听模块,配置成监听用户发出的从第二页面返回到第一页面的指令;
页面返回指令处理模块,配置成响应监听到的返回指令,从第二页面返回到第一页面并且继续保持所述新视图控件位于所述最顶层视图中,根据之前记录的所述视频视图所在第一页面上的位置区域信息,调整用于播放所述视频的所述新视图控件在所述最顶层视图中的位置,以与切换至第二页面之前所述视频视图所在第一页面上的原有位置重叠覆盖。
其中,所述装置可以进一步包括:第二视图控件移除模块,配置成从第二页面返回到第一页面后,当用户点击其他非视频视图时、或者当还在继续播放的视频播放结束时,从所述最顶层视图中移除所添加的所述新视图控件。
其中,所述页面返回指令处理模块还可以配置成响应监听到的返回指令,查询所述最顶层视图中的所述新视图控件是否还在播放所述视频,如果此时所述最顶层视图中的所述新视图控件还在播放所述视频,则从第二页面返回到第一页面并且通过所述最顶层视图中的所述新视图控件继续播放所述视频。
其中,所述装置还可以包括:视图滚动处理模块,配置成从第二页面返回到第一页面后,当检测到所述第一页面上的所述视频视图在所述Activity对应的界面内移动时,让添加到所述最顶层视图中的所述新视图控件跟随所述视频视图做无缝跟随移动操作,以使所述新视图控件与所述视频视图的相对位置关系在移动过程中不变;第三视图控件移除模块,配置成当所述视频视图向上或向下滚动离开所述Activity对应的界面时,从所述最顶层视图中移除所添加的所述新视图控件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,在该第二实施例中描述的装置的具 体工作过程,可以参考前述第一实施例中描述的对应过程,前述第一实施例中列举的例子和相关描述,同样适用于解释装置的工作过程,在此不再重复描述。对于第一实施例中以各种实例以及优选方式描述的组合方案,也同样适应于在该第二实施例中描述的装置,即上述各种实例以及优选方式可以在不发生冲突的情况下进行任意组合,这里不对组合方式做一一列举了。
与上述第一实施例的有益效果相同,本申请第二实施例提供的在页面切换后保持View继续显示的装置,通过在同一Activity中创建第一页面、第二页面等不同页面,创建用于显示用户感兴趣视图信息的新视图控件并将其添加在最顶层视图中,这样确保了在一个Activity中无论怎么切换页面,都能保证显示效果的视图view始终是在最顶层上,避免了页面切换之前和之后需要考虑的页面层次问题,更避免了在不同Activity中分别创建第一页面、第二页面的情况下,在页面切换后需要重新加载、渲染、显示视图所花费的时间,从而在不同页面切换后实现了视图继续显示效果的平滑过渡等效果。对于在第一页面上播放的视频,在页面切换之后,因为始终使用同一个视图来播放该视频并且始终处于窗口界面的最上层,从而在不同页面切换后实现了无缝连续播放效果。
图4是本申请第三实施例提供的在页面切换后保持视频继续播放的方法的流程图。如图4所述,本申请的一种在页面切换后保持视频继续播放的方法包括:
S21:在通过一个Activity创建的第一页面上显示至少一个视频视图。
与第一实施例中的相应步骤S1类似,第一页面可以使用Fragment类来构建,所述第一页面包括网页类的页面和非网页类的页面。可以使用本领域的常规技术实现该步骤S21,这里不再赘述。
S22:当用户点击第一页面上显示的其中一个视频视图进而发出播放该视频的指令时,响应所述播放指令,创建用于视频播放的新视图控件并将其添加到该Activity中的最顶层视图中,在所述最顶层视图上使用所述新视图控件来播放该用户点击的所述一个视频。
针对智能移动终端,在不单独提供例如键盘或鼠标等输入装置的情况下,触摸屏就承担着信息输入和信息显示两项功能。用户想要观看页面上显示的视频,直接在触摸屏幕上点击该视频视图,即可发出播放该视频的指令。在本申请第三实施例的方法里,响应所述播放指令,可以采用本领域常规技术来创建用于视频播放的新视图控件并将其添加到该Activity中的最顶层视图中,这样就能够在所述最顶层视图上使用所述新视图控件来播放该用户点击的所述一个视频。所述用于视频播放的新视图控件可以是VideoView控件。
S23:当监听到所述用户点击所述第一页面上与所述正播放的视频相关联的指定位置区域时发出从第一页面切换到第二页面上进行播放所述视频的指令。
与第一实施例中的步骤S2类似,常见的指定位置区域是所述正播放的视频窗口的周边位置,例如视频窗口底部的详情栏。该步骤的实现过程与第一实施例描述的相应过程相同或相似,故不再赘述。
S24:响应所述切换指令,在该同一个Activity中创建所述第二页面,在该第二页面上方通过添加 到所述最顶层视图中的所述新视图控件来继续播放所述视频。
与第一实施例中的步骤S3类似,在该同一个Activity中创建所述第二页面的方法,可以采用本领域技术人员熟知的常规技术来实现,例如使用Fragment类构建第二页面,或者通过自定义View来实现,即自定义View,并使其继承View,重写onDraw()、onMesure()等。
这样在切换到第二页面时添加到所述最顶层视图中的所述新视图控件会覆盖在第二页面上方,从而实现了在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来继续播放所述视频。
另外,正如在第一实施例中描述的那样,因为所添加的所述新视图控件会遮挡页面上显示的内容,在从第二页面返回到第一页面时,为了避免发生遮挡,可以从最顶层视图中移除所添加的所述新视图控件。由此,在一个优选实施例中,本申请第三实施例提供的方法进一步包括:在收到从第二页面返回到第一页面的切换指令时,响应该返回指令从第二页面返回到第一页面并从最顶层视图中移除所添加的所述新视图控件。通常在第二页面上会显示返回箭头或返回按钮,当用户点击第二页面上显示的返回箭头或返回按钮(也可以称为退回)时,意味着发出了从第二页面返回到第一页面的指令。从第二页面返回到第一页面为现有第三方应用APP的常见功能,因此其具体实施方法可以使用现有的常规技术来实现。
本申请第三实施例提供的方法的创新之处与第一实施例相类似:在页面发生切换过程中,通过在同一Activity中创建第一页面、第二页面等不同页面,创建用于播放视频的新视图控件并将其添加在最顶层视图中,这样确保了在一个Activity中无论怎么切换页面,都能保证始终使用同一个视图来播放所述视频并且始终处于窗口界面的最上层,避免了页面切换之前和之后需要考虑的页面层次问题,更避免了在不同Activity中分别创建第一页面、第二页面的情况下,在页面切换后需要重新创建用于播放视频的视图控件、重新加载视频数据所花费的时间,更不需要页面切换之前记录播放进度,省却了切换后快进到所保存记录的播放进度的工作时间,从而在不同页面切换后实现了无缝连续播放,而不会发生顿挫或停顿播放的现象。
在所述第三实施例中,对于页面切换之前和之后的视频播放,还存在多种应用情景,下面以具体实例来进行说明,但其中的一些情景与上述第一实施例中描述的情景相同时将不再做详细赘述。
在第一实例中,在响应所述播放指令创建用于视频播放的新视图控件并将其添加到该Activity中的所述最顶层视图中的步骤中,在将该新视图控件添加到该Activity中的最顶层视图中之前,先获取该Activity中的最顶层视图;可以通过Activity.getWindow().getDecorView()方法来获取该Activity中的最顶层视图(ViewGroup:DecorView)。在所述最顶层视图上使用添加的所述新视图控件来播放用户点击的所述一个视频的步骤中,所述用于视频播放的新视图控件与用户点击的所述一个视频视图的大小相同,所述用于视频播放的新视图控件在所述最顶层视图中的位置与用户点击的所述一个视频视图在第一页面上的位置相同,进而实现重叠覆盖。这样的好处是可以使得用户从视觉上看到其点击的视频与在第一页面的原有位置上播放的效果一样。
在第二实例中,可以进一步包括:当在所述最顶层视图上使用所述新视图控件来在用户点击的第一 页面上的一个视频视图所在的位置上播放所述视频时,并且在发出所述切换指令之前,若检测到所述一个视频视图在所述Activity对应的界面内发生移动,则控制所述视频视图跟随所述一个视频视图做无缝跟随移动操作,以使所述新视图控件与所述一个视频视图的相对位置关系在移动过程中不变;当所述视频视图离开所述Activity对应的界面时,从最顶层视图中移除所添加的所述新视图控件。另外,该第二实例可以与第一实例结合实施。
在第三实例中,可以进一步包括:在从第一页面切换至第二页面之前根据用户点击第一页面上的指定位置区域,记录与该指定位置区域相关联的视频视图所在第一页面上的位置区域信息,在收到从第二页面返回到第一页面的指令时,响应该返回指令从第二页面返回到第一页面并且继续保持所述新视图控件位于所述最顶层视图中,根据之前记录的所述视频视图所在第一页面上的位置区域信息,调整用于播放所述视频的所述新视图控件在所述最顶层视图中的位置,以与切换至第二页面之前所述视频视图所在第一页面上的原有位置重叠覆盖。该第三实例的目的是方便用户在指令返回到第一页面后继续播放其他视频时,无需重新创建用于视频播放的视图控件,而且没有移除的所述新视图控件在所述最顶层视图中的位置与切换至第二页面之前所述用户点击的视频视图所在第一页面上的原有位置重叠覆盖,而不会遮挡其他视图。另外,该第三实例可以与第一和第二实例自由结合实施。
在第三实例中,还可以进一步包括:从第二页面返回到第一页面后,当用户点击其他非视频视图时从所述最顶层视图中移除所添加的所述新视图控件,即当用户点击其他非视频视图时可以认为该用户不想继续观看视频了,此时需要从所述最顶层视图中移除所添加的所述新视图控件,以避免发生所述新视图遮挡其他视图的情况。
在第三实例中,在一个应用场景中,可以进一步包括:在收到从第二页面返回到第一页面的指令时,查询所述最顶层视图中的所述新视图控件是否还在播放所述视频,如果此时所述最顶层视图中的所述新视图控件还在播放所述视频,则响应该返回指令从第二页面返回到第一页面并且通过所述最顶层视图中的所述新视图控件继续播放所述视频。
在第三实例中,在另一个应用场景中,从第二页面返回到第一页面后,还可以当还在继续播放的视频播放结束时,从所述最顶层视图中移除所添加的所述新视图控件。
在第三实例中,在另一个应用场景中,可以进一步包括:从第二页面返回到第一页面后,当检测到第一页面上的所述视频视图在所述Activity对应的界面内移动时,让添加到所述最顶层视图中的所述新视图控件跟随所述视频视图做无缝跟随移动操作,以使所述新视图控件与所述视频视图的相对位置关系在移动过程中不变;当所述视频视图离开所述Activity对应的界面时,从最顶层视图中移除所添加的所述新视图控件。
在上述第三实施例提供的方法中,可选地,切换到第二页面时已添加在所述最顶层视图中的所述新视图控件的显示尺寸,根据应用场景不同而自定义设计。可选地,切换到第二页面时已添加在所述最顶层视图中的所述新视图控件的显示尺寸,与切换之前在第一页面上显示的相应视图尺寸相同。在用户有 需求的应用场景中,切换到第二页面时已添加在所述最顶层视图中的所述新视图控件的显示尺寸也可以与切换之前在第一页面上显示的相应视图尺寸不相同,例如大于切换之前在第一页面上显示的相应视图尺寸。
在上述第三实施例提供的方法中,可选地,切换到第二页面时已添加在所述最顶层视图中的所述视图控件的位置根据应用场景不同而自定义设计,即可以在任意设置的位置上继续显示视图。可选地,在切换到第二页面时已添加在所述最顶层视图中的所述视图控件的位置可以在所述最顶层视图的顶部区域。
在上述第三实施例提供的方法中,可选地,所述页面可以包括网页类的页面和非网页类的页面。
在所述第一实施例提供的方法中,所述第一页面和第二页面上显示的多个视图可以为可滑动的。当用户在触摸屏上发出向上或向下的滑动手势时,屏幕上展示的所述第一页面或第二页面上的多个视图可以跟随向上或向下滑动。
在上述第一实施例提供的方法中,可选地,所述第一页面为主页面,所述第二页面为详情页面。
在上述第三实施例提供的方法中,可选地,所述方法还可以包括:在所述第二页面上显示至少一个视图。当第二页面为详情页时,在所述第二页面上显示的至少一个视图可以包括但不限于:播放视频的文字介绍、广告信息、推荐相关的多个视频等等。
以上以各种实例以及优选方式描述了所述第三实施例,本领域技术人员都知道,这些各种实例以及优选方式可以在不发生冲突的情况下进行任意组合,这里不对组合方式做一一列举了。
本申请第三实施例提供的在页面切换后保持视频继续播放的方法,借助于当前显示的屏幕只能同时存在一个Activity,而一个Activity只对应一个最顶层视图DecorView的特点,还借助了在视图树布局时上一层的视图会覆盖遮挡下一层的视图,最顶层视图DecorView是所有窗口的根View,始终处于整个Window界面的最顶层,因此在同一Activity中创建第一页面、第二页面等不同页面,创建用于播放视频的新视图控件并将其添加在最顶层视图中,这样保证了在执行页面切换之前和之后始终使用同一个视图来播放用户点击的视频,并且始终处于窗口界面的最上层,避免了页面切换之前和之后需要考虑的页面层次问题,更避免了在不同Activity中分别创建第一页面、第二页面的情况下,在页面切换后需要重新创建用于播放视频的视图控件、重新加载视频数据所花费的时间,更不需要页面切换之前记录播放,省却了切换后快进到所保存记录的播放进度的工作时间,从而在不同页面切换后实现了无缝连续播放,而不会发生顿挫或停顿播放的现象。
图5是本申请第四实施例提供的在页面切换后保持视频继续播放的装置的示意性框图,该装置也可以存储在所述智能移动终端的存储器中(见图1)。如图5所示,本申请的一种在页面切换后保持视频继续播放的装置包括:
第一页面显示模块,配置成在通过一个Activity创建的第一页面上显示至少一个视频视图;
视频播放指令监听模块,配置成监听用户点击第一页面上显示的其中一个视频视图进而发出播放该视频的指令;
视频播放指令处理模块,配置成响应所述播放指令,创建用于视频播放的新视图控件并将其添加到该Activity中的最顶层视图中,在所述最顶层视图上使用所述新视图控件来播放该用户点击的所述一个视频。
页面点击监听模块,配置成监听用户对所述第一页面上与所述正播放的视频相关联的指定位置区域的点击操作;
页面切换命令发出模块,配置成在监听到用户点击第一页面上的所述指定位置区域时发出从第一页面切换到第二页面上进行播放所述视频的指令;
页面切换命令处理模块,配置成响应所述切换指令,在该同一个Activity中创建所述第二页面,在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来继续播放所述视频。
可选地,所述第一页面是使用Fragment类构建的,所述第二页面是使用Fragment类构建或者通过自定义View来实现。
可选地,在所述视频播放指令处理模块创建的用于视频播放的新视图控件与用户点击的所述一个视频视图的大小相同,所述用于视频播放的新视图控件在所述最顶层视图中的位置与用户点击的所述一个视频视图在第一页面上的位置相同,进而实现重叠覆盖。
可选地,所述用于视频播放的新视图控件是VideoView控件。
可选地,切换到第二页面时已添加在所述最顶层视图中的所述新视图控件的显示尺寸,根据应用场景不同而自定义设计。对应地,切换到第二页面时已添加在所述最顶层视图中的所述新视图控件的显示尺寸,与切换之前在第一页面上显示的相应视图尺寸相同。可选地,切换到第二页面时已添加在所述最顶层视图中的所述视图控件的位置根据应用场景不同而自定义设计。对应地,切换到第二页面时已添加在所述最顶层视图中的所述视图控件的位置在所述最顶层视图的顶部区域。
在本实施例中,智能移动终端中可以预存有相关APP的数据,该数据包括所述视频视图在所述第一页面上的显示尺寸和位置,以及在所述第二页面上的显示尺寸和位置,在进行页面切换时,可以根据相应页面(第一页面或第二页面)中的所述视频视图的显示尺寸和位置确定所述新视频控件的显示尺寸和位置。
可选地,所述页面可以包括网页类的页面和非网页类的页面。
可选地,在所述第二页面上显示至少一个视图。
可选地,所述第一页面和第二页面上显示的多个视图可以为可滑动的。
可选地,所述第一页面可以为主页面,所述第二页面可以为详情页面。
其中,所述装置可以进一步包括:最顶层视图获取模块,配置成在将该新视图控件添加到该Activity中的最顶层视图中之前,先获取该Activity中的最顶层视图。
其中,所述装置可以进一步包括:视图滚动处理模块,配置成当在所述最顶层视图上使用所述新视图控件来在用户点击的第一页面上的一个视频视图所在的位置上播放所述视频时,并且在发出所述切换指令之前,若检测到所述一个视频视图在所述Activity对应的界面内发生移动,则控制所述视频视图跟随所述视频视图做无缝跟随移动操作,以使所述新视图控件与所述一个视频视图的相对位置关系在移动过程中不变;第一视图控件移除模块,配置成当所述视频视图向上或向下滚动离开屏幕时,从最顶层视图中移除所添加的所述新视图控件。
其中,所述装置还可以包括:第二视图控件移除模块,配置成在收到从第二页面返回到第一页面的指令时,响应该返回指令从第二页面返回到第一页面并从最顶层视图中移除所添加的所述新视图控件。
其中,所述装置还可以包括:位置信息记录模块,配置成在从第一页面切换至第二页面之前根据用户点击第一页面上的指定位置区域,记录与该指定位置区域相关联的视频视图所在第一页面上的位置区域信息;页面返回指令监听模块,配置成监听用户发出的从第二页面返回到第一页面的指令;页面返回指令处理模块,配置成响应该返回指令从第二页面返回到第一页面并且继续保持所述新视图控件位于所述最顶层视图中,根据之前记录的所述视频视图所在第一页面上的位置区域信息,调整用于播放所述视频的所述新视图控件在所述最顶层视图中的位置,以与切换至第二页面之前所述视频视图所在第一页面上的原有位置重叠覆盖。
其中,所述装置还可以进一步包括:第三视图控件移除模块,配置成从第二页面返回到第一页面后,当用户点击其他非视频视图时、或者当还在继续播放的视频播放结束时,从所述最顶层视图中移除所添加的所述新视图控件。
其中,页面返回指令处理模块还可以配置成响应监听到的返回指令,查询所述最顶层视图中的所述新视图控件是否还在播放所述视频,如果此时所述最顶层视图中的所述新视图控件还在播放所述视频,则响应该返回指令从第二页面返回到第一页面并且通过所述最顶层视图中的所述新视图控件继续播放所述视频。
其中,所述装置还可以包括:视图滚动处理模块,配置成从第二页面返回到第一页面后,当检测到第一页面上的所述视频视图在所述Activity对应的界面内移动时,让添加到所述最顶层视图中的所述新视图控件跟随所述视频视图做无缝跟随移动操作,以使所述新视图控件与所述视频视图的相对位置关系在移动过程中不变;第四视图控件移除模块,配置成当所述视频视图离开所述Activity对应的界面时,从最顶层视图中移除所添加的所述新视图控件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,在该第四实施例中描述的装置的具体工作过程,可以参考前述第三实施例中描述的对应过程,前述第三实施例中列举的例子和相关描述同样适用于解释装置的工作过程,在此不再重复描述。对于第三实施例中以各种实例以及优选方式描述的组合方案,也同样适应于在该第四实施例中描述的装置,即上述各种实例以及优选方式可以在不发生冲突的情况下进行任意组合,这里不对组合方式做一一列举了。
与上述第三实施例的有益效果相同,本申请第四实施例提供的在页面切换后保持视频继续播放的装置,通过在同一Activity中创建第一页面、第二页面等不同页面,创建用于播放视频的新视图控件并将其添加在最顶层视图中,这样保证了在执行页面切换之前和之后始终使用同一个视图来播放用户点击的视频,并且始终处于窗口界面的最上层,避免了页面切换之前和之后需要考虑的页面层次问题,更避免了在不同Activity中分别创建第一页面、第二页面的情况下,在页面切换后需要重新创建用于播放视频的视图控件、重新加载视频数据所花费的时间,更不需要页面切换之前记录播放进度,省却了切换后快进到所保存记录的播放进度的工作时间,从而在不同页面切换后实现了无缝连续播放,而不会发生顿挫或停顿播放的现象。
本申请实施例所提供的一种在页面切换后继续显示视图的方法以及一种在页面切换后保持视频继续播放的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
由此,本申请实施例还提供了一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行上述第一实施例所述的方法。另外,所述指令还适于由处理器加载并执行第一实施例中的多个实例和优选实施例的自由组合后的方法。
本申请实施例还提供了一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行上述第三实施例所述的方法。另外,所述指令还适于由处理器加载并执行第三实施例中的多个实例和优选实施例的自由组合后的方法。
本申请实施例还提供了一种移动终端,其包括:处理器,用于加载并执行各种指令;以及本申请实施例提供的存储设备。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,智能平板电脑,智能手机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
本申请实施例提供的在页面切换后继续显示视图的方法和装置,以及在页面切换后保持视频继续播 放的方法和装置,能够避免页面切换前后需要考虑的页面层次问题,以及能够避免在不同Activity中分别创建第一页面、第二页面的情况下,在页面切换后需要重新创建用于播放视频的视图控件、重新加载视频数据所花费的时间,也不需要页面切换之前记录播放进度,省却了切换后快进到所保存记录的播放进度的工作时间,从而在不同页面切换后实现了无缝连续播放,而不会发生顿挫或停顿播放的现象。
Claims (35)
- 一种在页面切换后继续显示视图的方法,其特征在于,该方法包括:在通过一个Activity创建的第一页面上显示至少一个视图;当监听到用户点击所述第一页面上的指定位置区域时,发出将所述第一页面上显示的该用户感兴趣的一个视图切换到第二页面上进行显示的指令;响应所述切换指令,在该同一个Activity中创建所述第二页面,创建用于显示该用户感兴趣的所述第一页面上的所述一个视图的新视图控件并将该新视图控件添加到该Activity中的最顶层视图中,然后在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来显示该用户感兴趣的所述一个视图。
- 根据权利要求1所述的方法,其特征在于,所述方法应用于智能移动终端,所述智能移动终端中预存有所述用户感兴趣的一个视图与该用户点击的用于指示页面切换的所述指定位置区域的关联关系。
- 根据权利要求2所述的方法,其特征在于,所述智能移动终端中还预存有所述一个视图在所述第二页面中的显示尺寸和位置;在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来显示该用户感兴趣的所述一个视图,包括:将所述新视图控件调整为所述一个视图在所述第二页面中的显示尺寸,并将调整后的新视图控件移动到所述一个视图在所述第二页面的位置,以对该用户感兴趣的所述一个视图进行显示。
- 根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:在将所述新视图控件添加到该Activity中的最顶层视图中之前,先获取该Activity中的最顶层视图。
- 根据权利要求1所述的方法,其特征在于,切换到第二页面时添加到所述最顶层视图中的所述新视图控件的显示尺寸,根据应用场景不同而自定义设计;切换到第二页面时添加到所述最顶层视图中的所述新视图控件的位置根据应用场景不同而自定义设计。
- 根据权利要求1-5中任一项所述的方法,其特征在于,该方法还包括:在收到从所述第二页面返回到所述第一页面的指令时,响应该返回指令从所述第二页面返回到所述第一页面并从所述最顶层视图中移除所添加的所述新视图控件。
- 根据权利要求1-6中任一项所述的方法,其特征在于,该方法还包括:当用户感兴趣的在第一页面上显示的所述一个视图是视频时,在从所述第一页面切换至所述第二页面之前,根据用户点击所述第一页面上的指定位置区域,记录与该指定位置区域相关联的视频视图所在第一页面上的位置区域信息;在收到从所述第二页面返回到所述第一页面的指令时,响应该返回指令从所述第二页面返回到所述第一页面并且继续保持所述新视图控件位于所述最顶层视图中,根据之前记录的所述视频视图所在第一页面上的位置区域信息,调整用于播放所述视频的所述新视图控件在所述最顶层视图中的位置,以与切换至第二页面之前所述视频视图所在第一页面上的原有位置重叠覆盖。
- 根据权利要求7所述的方法,其特征在于,该方法还包括:在收到从所述第二页面返回到所述第一页面的指令时,查询所述最顶层视图中的所述新视图控件是否还在播放所述视频,如果此时所述最顶层视图中的所述新视图控件还在播放所述视频,则响应该返回指令从所述第二页面返回到所述第一页面并且通过所述最顶层视图中的所述新视图控件继续播放所述视频。
- 根据权利要求7所述的方法,其特征在于,该方法还包括:从所述第二页面返回到所述第一页面后,当检测到所述第一页面上的所述视频视图在所述Activity对应的界面内移动时,控制所述新视图控件跟随所述视频视图做无缝跟随移动操作,以使所述新视图控件与所述视频视图的相对位置关系在移动过程中不变;当检测到所述视频视图离开所述Activity对应的界面时,从最顶层视图中移除所添加的所述新视图控件。
- 一种在页面切换后保持视频继续播放的方法,其特征在于,该方法包括:在通过一个Activity创建的第一页面上显示至少一个视频视图;当用户点击第一页面上显示的其中一个视频视图进而发出播放该视频的指令时,响应所述播放指令,创建用于视频播放的新视图控件并将其添加到该Activity中的最顶层视图中,在所述最顶层视图上使用所述新视图控件来播放该用户点击的所述一个视频;当监听到所述用户点击所述第一页面上与所述正播放的视频相关联的指定位置区域时发出从所述第一页面切换到第二页面上进行播放所述视频的指令;响应所述切换指令,在该同一个Activity中创建所述第二页面,在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来继续播放所述视频。
- 根据权利要求10所述的方法,其特征在于,响应所述播放指令创建用于视频播放的新视图控件并将其添加到该Activity中的所述最顶层视图中,包括:在将该新视图控件添加到该Activity中的最顶层视图中之前,先获取该Activity中的最顶层视图;在所述最顶层视图上使用添加的所述新视图控件来播放用户点击的所述一个视频,包括:所述用于视频播放的新视图控件与用户点击的所述一个视频视图的大小相同,所述用于视频播放的新视图控件在所述最顶层视图中的位置与用户点击的所述一个视频视图在第一页面上的位置相同,进而实现重叠覆盖。
- 根据权利要求10或11所述的方法,其特征在于,该方法应用于智能终端,所述智能移动终端中还预存有所述一个视图在所述第二页面中的显示尺寸和位置;在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来显示该用户感兴趣的所述一个视图,包括:将所述新视图控件调整为所述一个视图在所述第二页面中的显示尺寸,并将调整后的新视图控件移动到所述一个视图在所述第二页面的位置,以对该用户感兴趣的所述一个视图进行显示。
- 根据权利要求10所述的方法,其特征在于,切换到第二页面时已添加在所述最顶层视图中的所述新视图控件的显示尺寸,根据应用场景不同而自定义设计;切换到第二页面时已添加在所述最顶层 视图中的所述视图控件的位置根据应用场景不同而自定义设计。
- 根据权利要求10-13中任一项所述的方法,其特征在于,该方法还包括:在收到从所述第二页面返回到所述第一页面的返回指令时,响应该返回指令从所述第二页面返回到所述第一页面并从最顶层视图中移除所添加的所述新视图控件。
- 根据权利要求10-14中任一项所述的方法,其特征在于,该方法还包括:在从所述第一页面切换至所述第二页面之前,根据用户在所述第一页面上点击的指定位置区域,记录与该指定位置区域相关联的视频视图在所述第一页面上的位置区域信息;在收到从所述第二页面返回到所述第一页面的返回指令时,响应该返回指令从所述第二页面返回到所述第一页面并且继续保持所述新视图控件位于所述最顶层视图中,根据之前记录的所述视频视图所在第一页面上的位置区域信息,调整用于播放所述视频的所述新视图控件在所述最顶层视图中的位置,以与切换至第二页面之前所述视频视图所在第一页面上的原有位置重叠覆盖。
- 根据权利要求15所述的方法,其特征在于,该方法还包括:在收到从所述第二页面返回到所述第一页面的返回指令时,查询所述最顶层视图中的所述新视图控件是否还在播放所述视频,如果此时所述最顶层视图中的所述新视图控件还在播放所述视频,则响应该返回指令从所述第二页面返回到所述第一页面并且通过所述最顶层视图中的所述新视图控件继续播放所述视频。
- 根据权利要求11-16中任一项所述的方法,其特征在于,该方法还包括:当在所述最顶层视图上使用所述新视图控件来在用户点击的第一页面上的一个视频视图所在的位置上播放所述视频时,并且在发出所述切换指令之前,若检测到所述一个视频视图在所述Activity对应的界面内发生移动,则控制所述新视图控件跟随所述一个视频视图做无缝跟随移动操作,以使所述新视图控件与所述一个视频视图的相对位置关系在移动过程中不变;当所述一个视频视图离开所述Activity对应的界面时,从最顶层视图中移除所添加的所述新视图控件。
- 一种在页面切换后继续显示视图的装置,其特征在于,包括:第一页面显示模块,配置成在通过一个Activity创建的第一页面上显示至少一个视图信息;页面点击监听模块,配置成监听用户对所述第一页面上的指定位置区域的点击操作;页面切换命令发出模块,配置成在监听到用户点击所述第一页面上的指定位置区域时发出将所述第一页面上显示的该用户感兴趣的一个视图切换到所述第二页面上进行显示的指令;页面切换命令处理模块,配置成响应所述切换指令,在该同一个Activity中创建所述第二页面,创建用于显示该用户感兴趣的所述第一页面上的所述一个视图的新视图控件并将该新视图控件添加到该Activity中的最顶层视图中,然后在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来显示该用户感兴趣的所述一个视图。
- 根据权利要求18所述的装置,其特征在于,所述用户感兴趣的一个视图与该用户点击的用于指示页面切换的指定位置区域相关联。
- 根据权利要求18或19所述的装置,其特征在于,该装置还包括:最顶层视图获取模块,配置成在将所述新视图控件添加到该Activity中的最顶层视图中之前,先获取该Activity中的最顶层视图。
- 根据权利要求18所述的装置,其特征在于,切换到第二页面时添加到所述最顶层视图中的所述新视图控件的显示尺寸,根据应用场景不同而自定义设计;切换到第二页面时添加到所述最顶层视图中的所述新视图控件的位置根据应用场景不同而自定义设计。
- 根据权利要求18-21中任一项所述的装置,其特征在于,该装置还包括:视图控件移除模块,配置成在收到从第二页面返回到第一页面的指令时,响应该返回指令从第二页面返回到第一页面并从最顶层视图中移除所添加的所述新视图控件。
- 根据权利要求18-22中任一项所述的装置,其特征在于,该装置还包括:位置信息记录模块,配置成当用户感兴趣的在所述第一页面上显示的所述一个视图是视频时,在从所述第一页面切换至所述第二页面之前根据用户在所述第一页面上点击的指定位置区域,记录与该指定位置区域相关联的视频视图在所述第一页面上的位置区域信息;页面返回指令监听模块,配置成监听用户发出的从所述第二页面返回到所述第一页面的指令;页面返回指令处理模块,配置成响应监听到的返回指令,从所述第二页面返回到所述第一页面并且继续保持所述新视图控件位于所述最顶层视图中,根据之前记录的所述视频视图所在所述第一页面上的位置区域信息,调整用于播放所述视频的所述新视图控件在所述最顶层视图中的位置,以与切换至所述第二页面之前所述视频视图所在所述第一页面上的原有位置重叠覆盖。
- 根据权利要求23所述的装置,其特征在于,所述页面返回指令处理模块还配置成响应监听到的返回指令,查询所述最顶层视图中的所述新视图控件是否还在播放所述视频,如果此时所述最顶层视图中的所述新视图控件还在播放所述视频,则从所述第二页面返回到所述第一页面并且通过所述最顶层视图中的所述新视图控件继续播放所述视频。
- 根据权利要求23或24所述的装置,其特征在于,该装置还包括:视图滚动处理模块,配置成从所述第二页面返回到所述第一页面后,当检测到所述第一页面上的所述视频视图在所述Activity对应的界面内移动时,让添加到所述最顶层视图中的所述新视图控件跟随所述视频视图做无缝跟随移动操作,以使所述新视图控件与所述视频视图的相对位置关系在移动过程中不变;视图控件移除模块,配置成当所述视频视图离开所述Activity对应的界面时,从最顶层视图中移除所添加的所述新视图控件。
- 一种在页面切换后保持视频继续播放的装置,其特征在于,该装置包括:第一页面显示模块,配置成在通过一个Activity创建的第一页面上显示至少一个视频视图;视频播放指令监听模块,配置成监听用户点击所述第一页面上显示的其中一个视频视图进而发出播 放该视频的指令;视频播放指令处理模块,配置成响应所述播放指令,创建用于视频播放的新视图控件并将其添加到该Activity中的最顶层视图中,在所述最顶层视图上使用所述新视图控件来播放该用户点击的所述一个视频;页面点击监听模块,配置成监听用户对所述第一页面上与所述正播放的视频相关联的指定位置区域的点击操作;页面切换命令发出模块,配置成在监听到用户点击所述第一页面上的所述指定位置区域时发出从所述第一页面切换到所述第二页面上进行播放所述视频的指令;页面切换命令处理模块,配置成响应所述切换指令,在该同一个Activity中创建所述第二页面,在该第二页面上方通过添加到所述最顶层视图中的所述新视图控件来继续播放所述视频。
- 根据权利要求26所述的装置,其特征在于,所述视频播放指令处理模块创建的用于视频播放的新视图控件与用户点击的所述一个视频视图的大小相同,所述用于视频播放的新视图控件在所述最顶层视图中的位置与用户点击的所述一个视频视图在第一页面上的位置相同,进而实现重叠覆盖。
- 根据权利要求26或27所述的装置,其特征在于,该装置还包括:最顶层视图获取模块,配置成在将所述新视图控件添加到该Activity中的最顶层视图中之前,先获取该Activity中的最顶层视图。
- 根据权利要求26-28中任一项所述的装置,其特征在于,切换到第二页面时已添加在所述最顶层视图中的所述新视图控件的显示尺寸,根据应用场景不同而自定义设计;切换到第二页面时已添加在所述最顶层视图中的所述视图控件的位置根据应用场景不同而自定义设计。
- 根据权利要求26-29中任一项所述的装置,其特征在于,该装置还包括:视图控件移除模块,配置成在收到从所述第二页面返回到所述第一页面的指令时,响应该返回指令从所述第二页面返回到所述第一页面并从最顶层视图中移除所添加的所述新视图控件。
- 根据权利要求26-30中任一项所述的装置,其特征在于,该装置还包括:位置信息记录模块,配置成在从所述第一页面切换至所述第二页面之前根据用户在所述第一页面上点击的指定位置区域,记录与该指定位置区域相关联的视频视图在所述第一页面上的位置区域信息;页面返回指令监听模块,配置成监听用户发出的从所述第二页面返回到所述第一页面的指令;页面返回指令处理模块,配置成响应该返回指令从所述第二页面返回到所述第一页面并且继续保持所述新视图控件位于所述最顶层视图中,根据之前记录的所述视频视图所在所述第一页面上的位置区域信息,调整用于播放所述视频的所述新视图控件在所述最顶层视图中的位置,以与切换至所述第二页面之前所述视频视图在所述第一页面上的原有位置重叠覆盖。
- 根据权利要求31所述的装置,其特征在于,所述页面返回指令处理模块还配置成响应监听到的返回指令,查询所述最顶层视图中的所述新视图控件是否还在播放所述视频,如果此时所述最顶层视图中的所述新视图控件还在播放所述视频,则响应该返回指令从所述第二页面返回到所述第一页面并且 通过所述最顶层视图中的所述新视图控件继续播放所述视频。
- 一种存储设备,其特征在于,该存储设备中存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-9中任一项所述的方法。
- 一种存储设备,其特征在于,该存储设备中存储有多条指令,所述指令适于由处理器加载并执行如权利要求10-17中任一项所述的方法。
- 一种智能移动终端,其包括:处理器,配置成加载并执行各种指令;以及如权利要求33或34所述的存储设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710549741.9 | 2017-07-07 | ||
CN201710549741.9A CN107341018B (zh) | 2017-07-07 | 2017-07-07 | 一种在页面切换后继续显示视图的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019007227A1 true WO2019007227A1 (zh) | 2019-01-10 |
Family
ID=60219538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/092828 WO2019007227A1 (zh) | 2017-07-07 | 2018-06-26 | 一种在页面切换后继续显示视图的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107341018B (zh) |
WO (1) | WO2019007227A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023197920A1 (zh) * | 2022-04-11 | 2023-10-19 | 北京字跳网络技术有限公司 | 视频处理方法、装置、设备及存储介质 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341018B (zh) * | 2017-07-07 | 2020-12-29 | 阿里巴巴(中国)有限公司 | 一种在页面切换后继续显示视图的方法和装置 |
CN109857489B (zh) * | 2017-11-30 | 2022-05-27 | 阿里巴巴集团控股有限公司 | 基于Android系统的开发系统、解耦方法和装置 |
CN108495169A (zh) * | 2018-03-23 | 2018-09-04 | 北京焦点新干线信息技术有限公司 | 信息展示方法及装置 |
CN109271220A (zh) * | 2018-08-16 | 2019-01-25 | 广州优视网络科技有限公司 | 通过手势操作控制页面返回的方法、计算设备和存储介质 |
CN110929189A (zh) * | 2018-09-19 | 2020-03-27 | 北京国双科技有限公司 | 视图的处理方法和装置 |
CN110971953B (zh) * | 2018-09-29 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、终端及存储介质 |
CN109309859A (zh) * | 2018-09-30 | 2019-02-05 | 广州虎牙信息科技有限公司 | 直播间界面展示方法、架构及相关方法、装置及设备 |
CN109587547B (zh) * | 2018-12-30 | 2021-07-23 | 北京奇艺世纪科技有限公司 | 广告的播放控制方法及装置 |
CN109729412A (zh) * | 2019-01-11 | 2019-05-07 | 广州酷狗计算机科技有限公司 | 一种播放视频的方法及装置 |
CN109756785B (zh) * | 2019-01-16 | 2022-05-20 | 上海哔哩哔哩科技有限公司 | 视频切换播放方法、装置及存储介质 |
CN109947546B (zh) * | 2019-03-13 | 2021-08-20 | 北京乐我无限科技有限责任公司 | 一种任务执行方法、装置、电子设备及存储介质 |
CN109933401B (zh) * | 2019-03-22 | 2023-01-24 | 北京城市网邻信息技术有限公司 | 一种悬浮窗视图的展示方法及装置 |
CN111935527B (zh) * | 2019-05-13 | 2023-01-03 | 浙江天猫技术有限公司 | 信息显示方法、视频播放方法及设备 |
CN112241296B (zh) * | 2019-07-17 | 2024-03-22 | 北京密境和风科技有限公司 | 一种应用中的页面切换方法、装置 |
CN110267088B (zh) * | 2019-07-18 | 2021-09-07 | 北京字节跳动网络技术有限公司 | 视频播放的控制方法、装置、电子设备、及存储介质 |
CN110650352B (zh) * | 2019-09-06 | 2020-12-08 | 四川天邑康和通信股份有限公司 | 一种iptv浏览器的视频处理方法 |
CN113568688B (zh) * | 2020-04-29 | 2023-06-06 | RealMe重庆移动通信有限公司 | 一种视图切换方法、装置、电子设备和存储介质 |
CN111857481A (zh) * | 2020-07-24 | 2020-10-30 | 京东方科技集团股份有限公司 | 图像显示方法、设备及存储介质 |
CN112087654B (zh) * | 2020-07-28 | 2023-01-10 | 智享众联科技有限公司 | 一种信息展示方法及装置 |
CN112181556B (zh) * | 2020-09-21 | 2024-04-19 | 北京字跳网络技术有限公司 | 终端控件的处理方法、装置、电子设备及存储介质 |
CN116775916A (zh) * | 2022-03-08 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 一种多媒体内容播放方法、装置、设备及存储介质 |
CN116962832B (zh) * | 2023-07-28 | 2024-02-27 | 加客云科技(河北)有限公司 | 一种多页面切换的连续视频播放方法、终端及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130067331A1 (en) * | 2011-09-09 | 2013-03-14 | Screenovate Technologies Ltd. | Method and System of Simultaneous Display of Multiple Screens on a Target Display |
CN103686456A (zh) * | 2013-12-10 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 一种视频播放的方法及视频客户端 |
CN105979339A (zh) * | 2016-05-25 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 一种窗口显示方法及客户端 |
CN107341018A (zh) * | 2017-07-07 | 2017-11-10 | 广州优视网络科技有限公司 | 一种在页面切换后继续显示视图的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130088518A1 (en) * | 2011-10-10 | 2013-04-11 | Net Power And Light, Inc. | Methods and systems for providing a graphical user interface |
CN103970526A (zh) * | 2013-11-21 | 2014-08-06 | 成都力淼科技有限公司 | 一种基于Android单Activity的视图切换技术 |
CN105094683A (zh) * | 2015-06-30 | 2015-11-25 | 北京金山安全软件有限公司 | 一种数据显示方法以及装置 |
-
2017
- 2017-07-07 CN CN201710549741.9A patent/CN107341018B/zh active Active
-
2018
- 2018-06-26 WO PCT/CN2018/092828 patent/WO2019007227A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130067331A1 (en) * | 2011-09-09 | 2013-03-14 | Screenovate Technologies Ltd. | Method and System of Simultaneous Display of Multiple Screens on a Target Display |
CN103686456A (zh) * | 2013-12-10 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 一种视频播放的方法及视频客户端 |
CN105979339A (zh) * | 2016-05-25 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 一种窗口显示方法及客户端 |
CN107341018A (zh) * | 2017-07-07 | 2017-11-10 | 广州优视网络科技有限公司 | 一种在页面切换后继续显示视图的方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023197920A1 (zh) * | 2022-04-11 | 2023-10-19 | 北京字跳网络技术有限公司 | 视频处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107341018A (zh) | 2017-11-10 |
CN107341018B (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019007227A1 (zh) | 一种在页面切换后继续显示视图的方法和装置 | |
US20230022781A1 (en) | User interfaces for viewing and accessing content on an electronic device | |
US11816303B2 (en) | Device, method, and graphical user interface for navigating media content | |
CN112153288B (zh) | 用于发布视频或图像的方法、装置、设备和介质 | |
US10565288B2 (en) | Video streaming in a web browser | |
US20190073101A1 (en) | Method and device for switching pages of applications in a terminal device | |
WO2020000972A1 (zh) | 视频访问方法、客户端、装置、终端、服务器和存储介质 | |
JP6469313B2 (ja) | 情報処理方法、端末、およびコンピュータ記憶媒体 | |
CN115509398A (zh) | 使用即时消息服务以显示图释的方法及其用户装置 | |
US20140380375A1 (en) | Page turning method, page turning apparatus and terminal as well as computer readable medium | |
US20150278174A1 (en) | Method and apparatus for playing multimedia in browser | |
CN103702214A (zh) | 一种视频播放方法和电子设备 | |
US11392287B2 (en) | Method, device, and storage mediumfor switching among multimedia resources | |
US20150248722A1 (en) | Web based interactive multimedia system | |
CN109218819B (zh) | 一种视频预览方法及移动终端 | |
CA2945675A1 (en) | Multitasking and screen sharing on portable computing devices | |
CN111935527A (zh) | 信息显示方法、视频播放方法及设备 | |
WO2016112791A1 (zh) | 移动终端应用程序页面的展现方法和装置 | |
CN110753251A (zh) | 视频切换方法、装置及电子设备 | |
WO2022199406A1 (zh) | 应用程序的热点事件展示方法和电子设备 | |
CN115550741A (zh) | 视频管理方法、装置、电子设备及可读存储介质 | |
CN105812890B (zh) | 一种信息显示方法及客户端 | |
CN112653931B (zh) | 资源信息播放的控制方法、装置、存储介质以及电子设备 | |
US20160104507A1 (en) | Method and Apparatus for Capturing Still Images and Truncated Video Clips from Recorded Video | |
CN114138158B (zh) | 一种检测视图可见性的方法、装置及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18827956 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18827956 Country of ref document: EP Kind code of ref document: A1 |