CN103176689B - 界面切换方法及系统 - Google Patents
界面切换方法及系统 Download PDFInfo
- Publication number
- CN103176689B CN103176689B CN201110442425.4A CN201110442425A CN103176689B CN 103176689 B CN103176689 B CN 103176689B CN 201110442425 A CN201110442425 A CN 201110442425A CN 103176689 B CN103176689 B CN 103176689B
- Authority
- CN
- China
- Prior art keywords
- interface
- switching
- sectional drawing
- animation
- actual
- 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
Landscapes
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种界面切换方法,具体包括以下步骤:接收界面切换的指令;对切换前的实际界面和切换后的实际界面中的至少一者进行截图;以所述截图作为临时界面执行切换动画;显示切换后的实际界面。上述界面切换方法通过对界面进行截图后,在两个界面之间进行切换的时候,采用截图技术实现伪桌面的切换,切换过程中不需要对切换过程中原界面上的每个元素进行绘制,只需要绘制截图,从而可以减少计算量,提高界面切换的流畅度,给用户提供了较好的操作体验。此外,还提供了一种界面切换系统。
Description
【技术领域】
本发明涉及计算机技术领域,特别是涉及一种界面切换方法及系统。
【背景技术】
开放是互联网发展的必然趋势,基于即时通讯的开放平台也应用越来越广泛。开放平台可以通过AppStore(应用市场)接入大量的第三方应用,用户可以根据需要安装自己的应用。
开放平台中的界面切换,其实就是将界面从屏幕左边往右边或从右边往左边滑动的过程,传统的一些界面切换技术,都是采用定时器来让屏幕滑动。有时会让用户感觉到切换不流畅的现象。主要有以下几点:
1、由于是采用定时器来触发屏幕滑动,有可能造成卡的现象。定时器是到了一定时间就发出一个WM_TIMER(定时器消息)消息到消息队列,然后等待执行。如果在处理该帧之前,还在做其他复杂的事情,界面切换的时候必定不流畅。
2、在切换的时候,会在每一帧里调用UpdateWindow(更新窗口)让界面去刷新。UpdateWindow属于阻塞式API(ApplicationProgrammingInterface,应用程序编程接口),如果界面里含有大量元素需要绘制,在界面绘制的过程中必定很耗时,也会给用户带来界面切换不畅的现象。
【发明内容】
基于此,针对界面切换的时候不流畅的问题,有必要提供一种能使界面切换流畅的界面切换方法。
一种界面切换方法,具体包括以下步骤:
接收界面切换的指令;
对切换前的实际界面和切换后的实际界面中的至少一者进行截图;
以所述截图作为临时界面执行切换动画;
显示切换后的实际界面。
此外,针对界面切换的时候不流畅的问题,有必要提供一种能使界面切换流畅的界面切换系统。
一种界面切换系统,包括:
输入模块,用于接收界面切换的指令;
截图模块,对切换前的实际界面和切换后的实际界面中的至少一者进行截图;
切换模块,以所述截图作为临时界面执行切换动画;
显示模块,显示切换后的实际界面。
上述界面切换方法及系统通过对界面进行截图后,在两个界面之间进行切换的时候,采用截图技术实现伪桌面的切换,切换过程中不需要对切换过程中原界面上的每个元素进行绘制,只需要绘制截图,从而可以减少计算量,提高界面切换的流畅度,给用户提供了较好的操作体验。
【附图说明】
图1为界面切换方法流程图;
图2为一具体示例的界面切换方法流程图;
图3为一实施例中的截图步骤流程图;
图4为一实施例中的执行切换动画流程图;
图5为另一具体示例中的界面切换方法流程图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更清楚明白,以下结合附图及实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,一种界面切换方法,包括以下步骤:
步骤S110,接收界面切换的指令。例如应用平台接收到用户通过键盘、鼠标或触摸屏输入的界面切换的指令。
步骤S120,对切换前的实际界面和切换后的实际界面中的至少一者进行截图。接收界面切换的指令后,在进行切换前显示的当前界面为切换前的实际界面,切换后显示的界面为切换后的实际界面。对上述两者中的至少一者进行截图,即既可以既对切换前的实际界面和切换后的实际界面截图,也可以只对切换前的实际界面截图,还可以只对切换后的实际界面截图。
步骤S130,以所述截图作为临时界面执行切换动画。将获得的截图作为临时界面,在运行动画的时候,即在动画的帧与帧之间切换时,用截图作为临时界面代替切换前的实际界面和/或切换后的实际界面。
步骤S140,显示切换后的实际界面。动画运行完毕后,显示出切换后的实际界面,完成界面切换过程。
上述界面切换方法通过对界面进行截图后,在两个界面之间进行切换的时候,采用截图技术实现伪桌面的切换,切换过程中不需要对切换过程中原界面上的每个元素进行绘制,只需要绘制截图,从而可以减少计算量,提高界面切换的流畅度,给用户提供了较好的操作体验。
下面结合更具体的示例对上述界面切换方法进行更详细的说明。在描述具体实施前,先定义一些变量。
1)定义动画执行完的总帧数为N,当前帧为curN。
2)将每一帧的步长存储在一个数组里,定义为Step[N]。
3)定义当前分辨率的宽度为CX像素,高度为CY像素。
4)定义应用平台桌面的大小为(cx,cy)。
如图2所示,一种界面切换方法,本实施例中,为应用平台桌面切换方案,具体包括以下步骤:
步骤S210,接收界面切换的指令。应用平台接收到用户输入的界面切换的指令。
步骤S220,判断所述界面切换是否为在应用平台桌面与系统桌面间切换。本实施例中,判断为否,用户输入的界面切换指令为应用平台自身的界面切换,即应用平台桌面的切换指令。
步骤S230,对切换前的实际界面和切换后的实际界面中的至少一者进行截图。在步骤S220判断为否时,即界面切换指令为应用平台自身的界面切换,则对应用平台桌面的切换前的实际界面和切换后的实际界面都进行截图,优选的,即对屏幕当前显示的界面及将要被切换进来的界面都进行截图。在其他实施例中,可以是对应用平台桌面的预设部分非全屏的界面进行截图。
其中,在切换前的实际界面和切换后的实际界面进行截图时,在优选的实施例中,所述切换前的实际界面和切换后的实际界面的坐标定位为屏幕范围内的坐标后进行截图,具体为:应用平台桌面的宽度应该等于屏幕分辨率的宽度,应用平台桌面的高度应该等于屏幕分辨率的高度。也即cx=CX,cy=CY。切换前,切换前的实际界面的位置坐标为(0,0,cx,cy),可以截图;而由于切换后的实际界面在应用平台桌面的区域之外,此时对切换后的实际界面是截不到图的,需要将切换后的实际界面的位置设为(0,0,cx,cy),然后再截图,此时并不进行刷新,因此,即使将切换后的实际界面的位置设为(0,0,cx,cy),也不会显示出切换后的实际界面。
在优选的实施例中,参考图3,对界面截图具体包括步骤S232和步骤S234:
步骤S232,将截图分别存储为相应图像。具体为,将应用平台桌面的切换前的实际界面和切换后的实际界面都进行截图后,分别存储为切换前的实际界面图像和切换后的实际界面图像。
步骤S234,隐藏被截图切换前的实际界面和切换后的实际界面。具体为,将切换前的实际界面和切换后的实际界面隐藏,将切换前的实际界面图像和切换后的实际界面图像显示。
步骤S240,以截图作为临时界面执行切换动画。创建两个临时界面,将切换前的实际界面图像和切换后的实际界面图像分别作为切换前临时界面和切换后临时界面,并做界面切换,让用户感觉是真的切换前的实际界面和切换后的实际界面在做切换。在优选的是实施例中,采用阻塞式动画技术对切换前临时界面和切换后临时界面进行桌面切换,即应用平台接收到界面切换的切换动画指令后直到切换动画动作完成期间只执行切换动画的命令而不作其他任何操作。在每一帧里根据滑动位置与当前帧数的关系,设置切换前临时界面和切换后临时界面的位置。
这里定义切换前临时界面的当前位置为rcCurDesktop_cur;定义切换后临时界面当前位置为rcNewDesktop_cur。
切换前临时界面和切换后临时界面的位置与当前帧数(假设为i)的关系为:
rcCurDesktop_cur.left=rcCurDesktop_cur.left+Step[i];
rcCurDesktop_cur.top=rcCurDesktop_cur.top;
rcCurDesktop_cur.right=rcCurDesktop_cur.left+cx;
rcCurDesktop_cur.bottom=rcCurDesktop_cur.top+cy;
rcNewDesktop_cur.left=rcNewDesktop_cur.left+Step[i];
rcNewDesktop_cur.top=rcNewDesktop_cur.top;
rcNewDesktop_cur.right=rcNewDesktop_cur.left+cx;
rcNewDesktop_cur.bottom=rcNewDesktop_cur.top+cy。
由于是截图,所以用户感觉就是真实的切换前的实际界面、切换后的实际界面在做切换。参考图4,执行切换动画具体包括以下步骤:
步骤A,设置当前要切换的当前帧为切换动画的起始帧。
步骤B,获取当前时间,执行当前帧动画。切换前临时界面和切换后临时界面开始进行切换。
步骤C,获取当前时间,判断是否到达执行完当前帧的时间,若否,则继续执行步骤B;若是,则将下一帧作为当前帧。在优选的实施例中,步骤B和C中通过获得机器内部计时器的时钟频率和计数来确定当前时间。高精度时间计算,是指通过获得机器内部计时器的时钟频率,定义为AnimateFreq(动画频率)。以及获取事件发生前的计时PreAnimateCounter和事件发生后的计时AfterAnimateCounter。然后利用两次获得的计数差除时钟频率,也即(AfterAnimateCounter-PreAnimateCounter)/AnimateFreq。就可以计算出事件执行完的所需要的精确时间。获取机器内部计时器的时钟频率,可以通过QueryPerformanceFrequency来获取,获取当期计数可以通过QueryPerformanceCounter来获取。
定义每一帧执行前的计时为PreAnimateCounter,当前的计时为CurrentAnimateCounter,每一帧的时间为time。
当(CurrentAnimateCounter-PreAnimateCounter)/AnimateFreq≥time的时候,就表示动画要执行一帧,则将下一帧作为当前帧。将PreAnimateCounter赋值为CurrentAnimateCounter。执行curN对应的动画,执行完后,对curN加1。
当(CurrentAnimateCounter-PreAnimateCounter)/AnimateFreq<time的时候,表示还没有到达一帧,此时继续执行步骤B。
步骤E,判断被执行动画帧数是否等于切换动画的总帧数N,若否,则转至步骤B;若是,则切换结束。
在优选的实施例中,应用平台桌面切换是从屏幕的左边滑到右边,或者从右边滑到左边,因为只有水平位置在变,而高度都是固定的。在其他实施例中,可以是从上到下或者从下到上。
这里假设动画匀速进行,为了达到更好的效果,可以加上加速度,模拟自然运动。动画以何种方式执行不在本方案之内,因此假设动画为匀速进行。
那么从1~N-1帧,每一帧要走的长度step=CX/N。
第N帧需要走的长度step=CX-(N-1)*CX/N。
假设:动画的执行帧数为10帧,当前分辨率为1399像素,那么每一帧要走的步长如下表所示。
当前帧 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
要走的步长 | 139 | 139 | 139 | 139 | 139 | 139 | 139 | 139 | 139 | 148 |
由于有向左边和向右边滑动,因此Step带有方向性:
(1)当向左滑动的时候,Step[curN]=-1*Step[curN];
(2)当向右滑动的时候,Step[curN]=1*Step[curN]。
步骤250,将临时界面隐藏。在应用平台桌面切换时,以所述截图作为临时界面执行切换动画完成后,需要将切换前临时界面和切换后临时界面隐藏,并显示切换前的实际界面和切换后的实际界面。
步骤260,显示切换后的实际界面。在步骤250中已经将临时界面隐藏,此时将切换后的实际界面显示到屏幕预设位置,本实施例中,切换后的实际界面显示在整个屏幕中。
步骤S270,将临时界面销毁。在界面切换完毕后,本次切换的临时界面使命已经完成,将临时界面销毁以释放系统缓存。
应用界面进行切换的动画技术,可以作为桌面界面的切换的动画技术,也可以作为窗口界面切换的动画技术。采用截屏技术主要是指在界面切换开始的时候,获取切进来和切出去界面内容的截图,这样在每一帧滑动的时候,就只需要把这个截图绘制一遍。而不是去把界面里的每一个元素绘制一遍。该技术大大提高了切换的性能,提高动画的流畅度。
以下结合图5描述应用平台桌面与系统桌面间切换的界面切换方法。应用平台桌面与系统桌面间切换有两种情况,其一为应用平台桌面切进屏幕,覆盖系统桌面;其二为应用平台桌面离开屏幕,显示系统桌面。为描述简便,将上述两种情况一并描述,具体包括以下步骤:
步骤S510,接收界面切换的指令。应用平台接收到用户输入的界面切换的指令。
步骤S520,判断所述界面切换是否为在应用平台桌面与系统桌面间切换。本实施例中,判断为是,即应用平台桌面与系统桌面的界面切换指令。
步骤S530,对切换前的实际界面和切换后的实际界面中的至少一者进行截图。在步骤S520判断为是时,则只对切换前的实际界面和切换后的实际界面中的系统桌面截图。对于应用平台桌面切进屏幕,覆盖系统桌面的情况,切换前,系统桌面已经显示,所以是对切换前的实际界面进行截图;对于应用平台桌面离开屏幕,显示系统桌面的情况,切换前,系统桌面尚未显示,所以是对切换后的实际界面进行截图。
在优选的实施例中,参考图3,对界面截图具体包括步骤S232和步骤S234:
步骤S232,将截图分别存储为相应图像。具体为,将切换前的实际界面即系统桌面进行截图后,存储为切换前的实际界面图像。将切换后的实际界面即系统桌面进行截图后,存储为切换后的实际界面图像。
步骤S234,隐藏被截图对应的切换前的实际界面或切换后的实际界面。具体为,将切换前的实际界面或切换后的实际界面即系统桌面隐藏,将切换前的实际界面图像或切换后的实际界面图像显示。
步骤S540,以截图作为临时界面执行切换动画。创建一个临时界面,将切换前的实际界面的截图或切换后的实际界面的截图作为临时界面代替切换前的实际界面或切换后的实际界面。具体来说,是将切换前的实际界面图像或切换后的实际界面图像作为切换动画的背景:对于应用平台的应用界面,即应用平台桌面切进屏幕,覆盖系统桌面的情况,截图作为切换动画的背景,应用平台桌面在该背景上移动并逐渐覆盖该背景;对于应用平台的应用界面,即应用平台桌面离开屏幕,显示系统桌面的情况,截图作为切换动画的背景,应用平台桌面在该背景上移动并逐渐完全显示该背景。在优选的是实施例中,采用阻塞式动画技术对切换前临时界面和应用平台桌面进行桌面切换,即应用平台接收到界面切换的切换动画指令后直到切换动画动作完成期间只执行切换动画的命令而不作其他任何操作。在每一帧里根据滑动位置与当前帧数的关系,设置切换前临时界面和应用平台桌面的位置。
系统桌面和应用平台桌面切换与应用平台桌面自身的切换方案不一样。原因在于,应用平台桌面是放置在应用平台桌面容器中的,应用平台桌面自身的切换方案中,应用平台桌面容器的位置是固定的,覆盖在系统桌面上,只需要切换应用平台桌面即可;而在系统桌面和应用平台桌面切换过程中,需要移动应用平台桌面容器,通过移动应用平台桌面容器来移动应用平台桌面。移动应用平台桌面容器时,可以不采用截图的方式而采用普通的实际界面来实现动画的切换。将应用平台桌面容器滑到(0,0,cx,cy)区域之外。当存在双屏的时候,如果应用平台桌面容器滑到(0,0,cx,cy)区域之外,那么就会在另外一个屏幕看到应用平台桌面,此时是不符合要求的。因此需要采用设置应用平台的区域(RGN)方案,此方案主要是:
1)设置应用平台桌面容器的位置为(0,0,cx,cy),并且应用平台桌面容器的位置不会改变。需要改变的是应用平台桌面容器的区域。
2)定义应用平台的当前区域为rgnContainer_cur。当rgnContainer_cur为(0,0,cx,cy)的时候,应用平台桌面容器全部显示,当rgnContainer_cur为(cx,0,cx,cy)的时候,应用平台桌面容器不会显示。
3)应用平台桌面从无到有切进屏幕,覆盖系统桌面,其实就是区域从(cx,0,cx,cy)变化到(0,0,cx,cy)的过程。
应用平台桌面从有到无离开屏幕,显示系统桌面,其实就是区域从(0,0,cx,cy)变化到(cx,0,cx,cy)的过程。
应用平台的当前区域与当前帧数(假设为i)的关系为:
rgnContainer_cur.left=rgnContainer_cur.left+Step[i];
rgnContainer_cur.top=rgnContainer_cur.top;
rgnContainer_cur.right=cx;
rgnContainer_cur.bottom=cy。
由于是截图,所以用户感觉就是真实的系统桌面、应用平台桌面在做切换。参考图4,将背景作为临时界面执行切换动画具体包括以下步骤:
步骤A,设置当前要切换的当前帧为切换动画的起始帧。
步骤B,获取当前时间,执行当前帧动画。切换前临时界面和应用平台开始进行切换。
步骤C,获取当前时间,判断是否到达执行完当前帧的时间,若否,则继续执行步骤B;若是,则将下一帧作为当前帧。在优选的实施例中,步骤B和C中通过获得机器内部计时器的时钟频率和计数来确定当前时间。高精度时间计算,是指通过获得机器内部计时器的时钟频率,定义为AnimateFreq(动画频率)。以及获取事件发生前的计时PreAnimateCounter和事件发生后的计时AfterAnimateCounter。然后利用两次获得的计数差除时钟频率,也即(AfterAnimateCounter-PreAnimateCounter)/AnimateFreq。就可以计算出事件执行完的所需要的精确时间。获取机器内部计时器的时钟频率,可以通过QueryPerformanceFrequency来获取,获取当期计数可以通过QueryPerformanceCounter来获取。
定义每一帧执行前的计时为PreAnimateCounter,当前的计时为CurrentAnimateCounter,每一帧的时间为time。
当(CurrentAnimateCounter-PreAnimateCounter)/AnimateFreq≥time的时候,就表示动画要执行一帧,则将下一帧作为当前帧。将PreAnimateCounter赋值为CurrentAnimateCounter。执行curN对应的动画,执行完后,对curN加1。
当(CurrentAnimateCounter-PreAnimateCounter)/AnimateFreq<time的时候,表示还没有到达一帧,此时继续执行步骤B。
步骤E,判断被执行动画帧数是否等于切换动画的总帧数N,若否,则转至步骤B;若是,则切换结束。
在优选的实施例中,系统桌面与应用平台间的切换是从屏幕的左边滑到右边,或者从右边滑到左边,因为只有水平位置在变,而高度都是固定的。在其他实施例中,可以是从上到下或者从下到上。
这里假设动画匀速进行,为了达到更好的效果,可以加上加速度,模拟自然运动。动画以何种方式执行不在本方案之内,因此假设动画为匀速进行。
那么从1~N-1帧,每一帧要走的长度step=CX/N。
第N帧需要走的长度step=CX-(N-1)*CX/N。
假设:动画的执行帧数为10帧,当前分辨率为1399像素,那么每一帧要走的步长如下表所示。
当前帧 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
要走的步长 | 139 | 139 | 139 | 139 | 139 | 139 | 139 | 139 | 139 | 148 |
由于有向左边和向右边滑动,因此Step带有方向性:
(1)当向左滑动的时候,Step[curN]=-1*Step[curN];
(2)当向右滑动的时候,Step[curN]=1*Step[curN]。
步骤S550,将临时界面隐藏。在系统桌面和应用平台桌面间切换时,需要将切换前临时界面隐藏以显示被切换出来的应用平台桌面或系统桌面。
步骤S560,显示切换后的实际界面。在步骤S550中已经将临时界面隐藏,此时将切换后的实际界面显示到屏幕预设位置,切换后的实际界面为应用平台或系统桌面,将显示在整个屏幕中。
步骤S570,将临时界面销毁。在界面切换完毕后,本次切换的临时界面使命已经完成,将临时界面销毁的步骤以释放系统缓存。
应用界面进行切换的动画技术采用截屏技术。主要是指在界面切换开始的时候,获取切进来和切出去界面内容的截图,这样在每一帧滑动的时候,就只需要把这个截图绘制一遍。而不是去把界面里的每一个元素绘制一遍。该技术大大提高了切换的性能,提高动画的流畅度。
此外,还提供了一种界面切换系统,包括输入模块、截图模块、切换模块及显示模块。
输入模块用于接收界面切换的指令。输入模块可以是键盘、鼠标或触摸屏等,例如应用平台接收到用户通过键盘、鼠标或触摸屏输入的界面切换的指令。
截图模块对切换前的实际界面和切换后的实际界面中的至少一者进行截图。接收界面切换的指令后,在进行切换前显示的当前界面为切换前的实际界面,切换后显示的界面为切换后的实际界面。截图模块对上述两者中的至少一者进行截图,即既可以既对切换前的实际界面和切换后的实际界面截图,也可以只对切换前的实际界面截图,还可以只对切换后的实际界面截图。
切换模块以所述截图作为临时界面执行切换动画。切换模块将获得的截图作为临时界面,在运行动画的时候,即在动画的帧与帧之间切换时,用截图作为临时界面代替切换前的实际界面和/或切换后的实际界面。
显示模块用于显示切换后的实际界面。动画运行完毕后,显示模块显示出切换后的实际界面,完成界面切换过程。
上述界面切换系统通过对界面进行截图后,在两个界面之间进行切换的时候,采用截图技术实现伪桌面的切换,切换过程中不需要对切换过程中原界面上的每个元素进行绘制,只需要绘制截图,从而可以减少计算量,提高界面切换的流畅度,给用户提供了较好的操作体验。
在优选的实施方式中,上述界面切换系统还包括用于判断所述界面切换是否为应用平台桌面与系统桌面间切换的判断模块,若是,则所述判断模块控制所述截图模块只对切换前的实际界面和切换后的实际界面中的系统桌面截图;若否,则所述判断模块控制所述截图模块对所述应用平台桌面的切换前的实际界面和切换后的实际界面都进行截图。
在优选的实施方式中,所述切换模块包括:设置单元,用于设置当前要切换的当前帧为切换动画的起始帧;时间获取单元,用于获取当前时间;执行单元,用于执行当前帧动画;时间判断单元,用于根据所述时间获取单元获取的当前时间,判断是否到达执行完当前帧的时间,若否,则控制执行单元继续执行当前帧动画;若是,则将下一帧作为当前帧;帧数判断单元,用于判断被执行动画帧数是否等于切换动画的总帧数N,若否,则控制执行单元继续执行当前帧动画;若是,则切换动画结束。
在优选的实施方式中,所述时间获取单元通过获得机器内部计时器的时钟频率和计数来确定当前时间。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种界面切换方法,其特征在于,具体包括以下步骤:
接收界面切换的指令;
判断所述界面切换是否为应用平台桌面与系统桌面间切换:若是应用平台桌面与系统桌面间的切换,对于应用平台桌面切进屏幕,覆盖系统桌面的情况,只对切换前的实际界面进行截图;对于应用平台桌面离开屏幕,显示系统桌面的情况,只对切换后的实际界面进行截图;若是应用平台桌面之间的切换,则对所述应用平台桌面的切换前的实际界面和切换后的实际界面都进行截图;
以所述截图作为临时界面执行切换动画;
显示切换后的实际界面。
2.根据权利要求1所述的界面切换方法,其特征在于,在对切换前的实际界面和切换后的实际界面中的至少一者进行截图时,将所述切换前的实际界面和切换后的实际界面的坐标定位为屏幕范围内的坐标后进行截图。
3.根据权利要求1所述的界面切换方法,其特征在于,所述对切换前的实际界面和切换后的实际界面中的至少一者进行截图的步骤包括:
将所述截图分别存储为相应图像;
隐藏所述被截图的切换前的实际界面和/或切换后的实际界面。
4.根据权利要求1所述的界面切换方法,其特征在于,在显示切换后的实际界面的步骤之前还包括将所述临时界面隐藏的步骤。
5.根据权利要求1或4所述的界面切换方法,其特征在于,在显示切换后的实际界面的步骤之后还包括将所述临时界面销毁的步骤。
6.根据权利要求1所述的界面切换方法,其特征在于,若所述界面切换为应用平台桌面与系统桌面间切换,则只对切换前的实际界面或切换后的实际界面中的系统桌面截图;所述以所述截图作为临时界面执行切换动画的步骤包括:
以所述截图作为界面切换的背景;
将所述背景作为临时界面执行切换动画。
7.根据权利要求1所述的界面切换方法,其特征在于,所述执行切换动画具体包括以下步骤:
A,设置当前要切换的当前帧为切换动画的起始帧;
B,获取当前时间,执行当前帧动画;
C,获取当前时间,判断是否到达执行完当前帧的时间,若否,则继续执行步骤B;若是,则将下一帧作为当前帧;
E,判断被执行动画帧数是否等于切换动画的总帧数N,若否,则转至步骤B;若是,则切换动画结束。
8.根据权利要求7所述的界面切换方法,其特征在于,所述步骤B和C中通过获得机器内部计时器的时钟频率和计数来确定当前时间。
9.根据权利要求1或7所述的界面切换方法,其特征在于,应用平台接收到界面切换的切换动画指令后直到切换动画动作完成期间只执行切换动画的命令而不作其他任何操作。
10.一种界面切换系统,其特征在于,包括:
输入模块,用于接收界面切换的指令;
截图模块,对切换前的实际界面和切换后的实际界面中的至少一者进行截图;
切换模块,以所述截图作为临时界面执行切换动画;
显示模块,显示切换后的实际界面;
所述界面切换系统还包括用于判断所述界面切换是否为应用平台桌面与系统桌面间切换的判断模块,若是,对于应用平台桌面切进屏幕,覆盖系统桌面的情况,所述判断模块控制所述截图模块只对切换前的实际界面进行截图;对于应用平台桌面离开屏幕,显示系统桌面的情况,所述判断模块控制所述截图模块只对切换后的实际界面进行截图;若否,则所述判断模块控制所述截图模块对所述应用平台桌面的切换前的实际界面和切换后的实际界面都进行截图。
11.根据权利要求10所述的界面切换系统,其特征在于,所述切换模块包括:
设置单元,用于设置当前要切换的当前帧为切换动画的起始帧;
时间获取单元,用于获取当前时间;
执行单元,用于执行当前帧动画;
时间判断单元,用于根据所述时间获取单元获取的当前时间,判断是否到达执行完当前帧的时间,若否,则控制执行单元继续执行当前帧动画;若是,则将下一帧作为当前帧;
帧数判断单元,用于判断被执行动画帧数是否等于切换动画的总帧数N,若否,则控制执行单元继续执行当前帧动画;若是,则切换动画结束。
12.根据权利要求11所述的界面切换系统,其特征在于,所述时间获取单元通过获得机器内部计时器的时钟频率和计数来确定当前时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110442425.4A CN103176689B (zh) | 2011-12-26 | 2011-12-26 | 界面切换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110442425.4A CN103176689B (zh) | 2011-12-26 | 2011-12-26 | 界面切换方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103176689A CN103176689A (zh) | 2013-06-26 |
CN103176689B true CN103176689B (zh) | 2016-01-27 |
Family
ID=48636615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110442425.4A Active CN103176689B (zh) | 2011-12-26 | 2011-12-26 | 界面切换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103176689B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639725B (zh) * | 2013-11-08 | 2017-12-15 | 腾讯科技(深圳)有限公司 | 界面切换方法及装置 |
CN104750351A (zh) * | 2013-12-30 | 2015-07-01 | 比亚迪股份有限公司 | 移动终端及其退回至桌面的方法和装置 |
CN104090709B (zh) * | 2014-06-11 | 2017-11-21 | 小米科技有限责任公司 | 图片切换方法和装置 |
CN104317474B (zh) * | 2014-09-22 | 2018-08-03 | 腾讯科技(深圳)有限公司 | 窗口切换方法及装置 |
CN104636141A (zh) * | 2015-01-31 | 2015-05-20 | 国家电网公司 | 一种用于同区域的多界面动画切换方法 |
CN105242836B (zh) * | 2015-09-09 | 2019-03-01 | 广州视睿电子科技有限公司 | 菜单显示方法及装置 |
CN105511740B (zh) * | 2015-12-30 | 2019-02-19 | 小米科技有限责任公司 | 应用界面切换方法及装置 |
CN105630510A (zh) * | 2016-02-04 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 应用页面的动画处理方法和装置 |
CN105824515A (zh) * | 2016-03-22 | 2016-08-03 | 乐视网信息技术(北京)股份有限公司 | 一种元素显示的方法及装置 |
CN105791932B (zh) * | 2016-03-25 | 2019-07-16 | 青岛海信电器股份有限公司 | 一种切换音视频应用的方法、装置和智能电视 |
CN105791933B (zh) * | 2016-03-25 | 2019-07-16 | 青岛海信电器股份有限公司 | 一种切换音视频应用的方法、装置和智能电视 |
US10321206B2 (en) | 2016-03-25 | 2019-06-11 | Qingdao Hisense Electronics Co., Ltd. | Method for switching an audio/video application, apparatus and smart TV |
CN105872711B (zh) * | 2016-04-21 | 2019-07-26 | 北京元心科技有限公司 | 多系统切换时的切换动画显示方法及装置 |
CN106681844A (zh) * | 2016-11-29 | 2017-05-17 | 广州视源电子科技股份有限公司 | 一种进程的切换方法与系统 |
CN107295390A (zh) * | 2017-08-10 | 2017-10-24 | 青岛海信电器股份有限公司 | 电视页面切换方法及装置 |
CN107678817A (zh) * | 2017-09-21 | 2018-02-09 | 北京三快在线科技有限公司 | 视图切换方法和装置以及计算设备 |
CN107729064A (zh) * | 2017-10-26 | 2018-02-23 | 北京恒泰实达科技股份有限公司 | 多进程动画切换方法、装置及显示屏 |
CN108319414A (zh) * | 2018-01-31 | 2018-07-24 | 北京小米移动软件有限公司 | 界面显示方法及装置 |
CN110673775B (zh) * | 2018-07-02 | 2022-09-06 | 北京京东尚科信息技术有限公司 | 图片展示方法、装置和终端 |
CN110704141A (zh) * | 2018-07-10 | 2020-01-17 | 优视科技有限公司 | 页面切换方法、装置及电子设备 |
CN109597556B (zh) * | 2018-12-12 | 2020-07-31 | 维沃移动通信有限公司 | 一种截屏方法及终端 |
CN109901903A (zh) * | 2019-02-25 | 2019-06-18 | 努比亚技术有限公司 | 一种桌面绘制方法、设备及计算机可读存储介质 |
CN111510788B (zh) * | 2020-04-07 | 2022-02-11 | 海信视像科技股份有限公司 | 一种双屏双系统屏幕切换动画的显示方法及显示设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7696979B1 (en) * | 1994-12-09 | 2010-04-13 | International Business Machines Coporation | Method and system for manipulating a plurality of graphical pointers |
CN101765236A (zh) * | 2009-12-23 | 2010-06-30 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端的界面切换方法及移动终端 |
CN101923425A (zh) * | 2009-06-10 | 2010-12-22 | 中国移动通信集团公司 | 基于滑动终端屏幕实现窗口切换的方法及其装置 |
-
2011
- 2011-12-26 CN CN201110442425.4A patent/CN103176689B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7696979B1 (en) * | 1994-12-09 | 2010-04-13 | International Business Machines Coporation | Method and system for manipulating a plurality of graphical pointers |
CN101923425A (zh) * | 2009-06-10 | 2010-12-22 | 中国移动通信集团公司 | 基于滑动终端屏幕实现窗口切换的方法及其装置 |
CN101765236A (zh) * | 2009-12-23 | 2010-06-30 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端的界面切换方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN103176689A (zh) | 2013-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103176689B (zh) | 界面切换方法及系统 | |
EP3754490B1 (en) | User interface rendering method and apparatus, and terminal | |
CN110209501B (zh) | 图形处理器的频率调整方法、装置、终端及存储介质 | |
CN107704177A (zh) | 界面显示方法、装置及终端 | |
CN102063281B (zh) | 快速切换窗口布局方法及快速切换窗口布局系统 | |
CN108476306B (zh) | 一种图像显示的方法及终端设备 | |
CN107181976A (zh) | 一种弹幕显示方法及电子设备 | |
CN112445315A (zh) | 屏幕刷新帧率的控制方法、装置及存储介质 | |
EP3178065B1 (en) | Method and system for frame pacing | |
CN109992315A (zh) | 触摸屏控制方法、装置、终端及存储介质 | |
CN110018874A (zh) | 垂直同步方法、装置、终端及存储介质 | |
CN102216978A (zh) | 若干视频图像的无缝显示迁移 | |
CN101950243A (zh) | 一种移动终端及其设置按键位置的方法 | |
CN112114928B (zh) | 显示页面的处理方法和装置 | |
CN103679791A (zh) | 三维场景分屏更新方法和系统 | |
CN102508609A (zh) | 一种控制电脑应用程序窗口显示与隐藏的方法 | |
CN104423823A (zh) | 终端的显示方法及装置 | |
AU2019210404A1 (en) | User interface display method, device, and apparatus | |
CN106095139B (zh) | 一种在投影交互系统中提升线条绘制速度的方法 | |
CN111124668A (zh) | 内存释放方法、装置、存储介质及终端 | |
CN103618933A (zh) | 一种自适应显示应用界面图像的方法及装置 | |
CN112905134A (zh) | 一种刷新显示的方法、装置和电子设备 | |
CN105096365A (zh) | 一种3d界面局部刷新方法及系统 | |
CN102243856B (zh) | 动态切换屏幕数据处理方式的方法及装置 | |
US20180143759A1 (en) | Streaming application environment with recovery of lost or delayed input events |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |