CN110018770A - 终端屏幕显示方法、装置、存储介质和电子装置 - Google Patents
终端屏幕显示方法、装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN110018770A CN110018770A CN201810023790.3A CN201810023790A CN110018770A CN 110018770 A CN110018770 A CN 110018770A CN 201810023790 A CN201810023790 A CN 201810023790A CN 110018770 A CN110018770 A CN 110018770A
- Authority
- CN
- China
- Prior art keywords
- screen
- target
- terminal
- target screen
- current
- 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.)
- Pending
Links
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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72469—User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72484—User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events
Abstract
本发明提供了一种终端屏幕显示方法、装置、存储介质和电子装置,其中,该方法包括:获取到交互指令,其中,该交互指令用于请求将终端当前显示的当前屏切换到目标屏,该当前屏与目标屏不相邻;在将上述当前屏切换到目标屏的过程中,将目标屏作为当前屏的相邻屏在终端上进行显示。通过本发明,解决了相关技术中存在的跨屏切换时需要经过中间的所有屏,从而导致切换过程不流畅、浪费系统资源、以及用户体验差的问题。
Description
技术领域
本发明涉及终端显示技术,具体而言,涉及一种终端屏幕显示方法、装置、存储介质和电子装置。
背景技术
滑屏(也有可能是通过滚动,或飞入,或飞出的方式进行屏幕切换,在此以滑屏为例进行说明)是终端(例如,智能手机,下面是以智能手机为例进行说明的)桌面中最常用的操作之一。现有安卓Android系统和IOS等系统的智能手机桌面,在手机桌面中,在当前屏和待滑动到的目标屏相隔大于一屏的情况下,要回到目标屏都会经过并绘制中间所有屏。随着屏幕间距的增大,给用户的体验效果会越来越差。
针对相关技术中存在的跨屏切换时需要经过中间的所有屏,从而导致的切换过程不流畅、浪费系统资源,以及用户体验差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种终端屏幕显示方法、装置、存储介质和电子装置,以至少解决相关技术中存在的跨屏切换时需要经过中间的所有屏,从而导致切换过程不流畅、浪费系统资源、以及用户体验差的问题。
根据本发明的一个实施例,提供了一种终端屏幕显示方法,包括:获取到交互指令,其中,所述交互指令用于请求将所述终端当前显示的当前屏切换到目标屏,所述当前屏与所述目标屏不相邻;在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的相邻屏在所述终端上进行显示。
可选地,在将所述当前屏切换到所述目标屏之后,所述方法包括:在所述终端上显示所述目标屏,其中,所述当前屏与所述目标屏不相邻。
可选地,在获取到所述交互指令之后,所述方法还包括:确定所述当前屏与所述目标屏之间的切换距离,其中,所述切换距离为所述当前屏与所述目标屏之间实际相隔的屏幕的总宽度;在确定所述切换距离大于所述终端中单个屏幕的宽度时,确定所述当前屏与所述目标屏为非相邻的屏幕。
可选地,在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的相邻屏在所述终端上进行显示包括:根据所述终端中的插值器向所述相邻屏进行移位,并通过移动画布在所述相邻屏上绘制所述目标屏中的内容;在根据所述插值器完成一屏位移后,再将所述终端显示的屏幕切换到所述目标屏实际所在的位置上。
可选地,通过移动画布在所述相邻屏上绘制所述目标屏中的内容包括:确定所述画布待移动的偏移量;控制所述画布向所述相邻屏相对所述当前屏的方向移动所述偏移量个像素,并绘制所述目标屏中的内容;在绘制完成后控制所述画布向所述相邻屏相对所述当前屏的反方向移动所述偏移量个像素,并绘制所述目标屏中的内容。
可选地,确定所述画布待移动的偏移量包括:通过如下公式确定所述画布待移动的偏移量offset:offset=(∣curPage-finalPage∣-1)×width;其中,curPage为预先为所述当前屏设置的屏幕编号,finalPage为预先为所述目标屏设置的屏幕编号,width为所述终端中单个屏幕的宽度。
可选地,在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的相邻屏在所述终端上进行显示包括:在确定所述目标屏位于所述当前屏的左侧时,在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的左侧的相邻屏在所述终端上进行显示;在确定所述目标屏位于所述当前屏的右侧时,在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的右侧的相邻屏在所述终端上进行显示。
可选地,获取到交互指令包括以下之一:获取到通过触控预定实体键或虚拟键所触发的所述交互指令;获取到在所述终端中完成预定应用的安装后所触发的所述交互指令;获取到所述终端中冻结的应用被解冻后所触发的所述交互指令。
根据本发明的另一个实施例,还提供了一种终端屏幕显示装置,包括:获取模块,用于获取到交互指令,其中,所述交互指令用于请求将所述终端当前显示的当前屏切换到目标屏,所述当前屏与所述目标屏不相邻;显示模块,用于在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的相邻屏在所述终端上进行显示。
可选地,所述显示模块还用于:在将所述当前屏切换到所述目标屏之后,在所述终端上显示所述目标屏,其中,所述当前屏与所述目标屏不相邻。
根据本发明的另一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的另一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于在当前显示的当前屏与待切换到的目标屏为非相邻的屏幕时,可以在将所述当前屏切换到所述目标屏的过程中,将目标屏作为当前屏的相邻屏在终端上进行显示,也就是说不经过中间屏,直接绘制目标屏,从而显示出仅切换一屏就达到目标屏的效果,在感官上是更加平滑流畅地回到了目标屏,并且,由于仅绘制两屏,所以节省了系统资源,使得滑动过程更加流畅。因此,可以解决相关技术中存在的跨屏切换时需要经过中间的所有屏,从而导致切换过程不流畅、浪费系统资源、以及用户体验差的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种终端屏幕显示方法的移动终端的硬件结构框图;
图2是根据本发明实施例的终端屏幕显示方法的流程图;
图3是根据本发明实施例的Launcher桌面系统架构图;
图4是根据本发明实施例的Launcher的视图结构;
图5是根据本发明实施例的手机桌面示意图;
图6是根据本发明实施例的手机桌面滑动中间过程的截图;
图7是根据本发明实施例的手机桌面跨屏绘制方法总体流程图;
图8是根据本发明实施例的手机桌面的跨屏绘制方法的初始化流程图;
图9是根据本发明实施例的手机桌面的跨屏绘制方法具体流程图;
图10是根据本发明实施例的终端屏幕显示装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
下面以手机桌面为例(本发明除了应用于手机中,还可以应用于其他移动终端中,例如,平板,且应用系统除了Android外,还可以是其他系统下的终端,例如IOS系统)对与本发明相关的技术进行说明:
手机桌面启动器Launcher俗称HomeScreen,也就是用户在启动Android手机时第一眼看到的应用程序。Launcher是Android系统中最为重要的系统级应用之一,它显示和管理着系统中的其他应用。Launcher应用程序主要分为应用程序管理,桌面插件管理和附加功能三个模块。它是用户和手机交互的UI接口。
下面以谷歌Google原生桌面启动器Launcher3为例,介绍在当前屏与目标屏相距大于一屏的绘制方法。当按下home键(也可能是按其他的按键,只要是能够触发终端的显示目标屏的按键均可)后:
首先传入主屏即目标屏所在页标0(屏幕编号由0开始),然后计算滑动距离(在本实施例中以滑动为例进行说明,当然也可以是其他的切换方式,例如,滚动,飞入,飞出等):使用当前屏的左边界减去目标屏的左边界(利用屏幕左边界相减仅是一种实现方式,在实际应用时也可以是利用屏幕右边界相减,或中轴线相减)。
初始化相关参数,设置插值器Interplator和Scroller的滑动距离和滑动时间。按home键返回主页面的滑屏时间默认为750毫秒。
启动滑动。注意上述计算的滑动距离为当前屏到目标屏的距离,然后开始一边滑动一边绘制。这个过程会经过所有中间屏,最终到达目标屏。
从上面的滑屏过程中可以看出,用户在按下home键后是想要从当前屏回到主屏(即,目标屏),但是Google原生Launcher在返回主屏时经过了所有中间屏。市面上的所有Launcher,包括苹果公司的IOS都采用此策略。
而在本发明实施例中正是针对相关技术中存在的上述问题提出了一种跨屏绘制方法,该方法可以只切换一屏的距离,切换过程中直接绘制目标屏与当前屏,显示出仅切换一屏就达到目标屏的效果。在本发明实施例中所提出的跨屏绘制方法中,在当前屏和待切换到的目标屏相隔大于一屏的情况下,可以跨过中间屏的绘制,直接绘制目标屏,显示出仅切换一屏就达到目标屏的效果,从感官上更加流畅平滑的回到目标屏,从而提升用户体验。由于这种方法只绘制两屏,即当前屏与目标屏,不用绘制中间经过的若干屏,所以该方法也可以提升终端切屏动画的平滑性。众所周知,在终端设备(尤其是智能手机)中硬件资源是非常紧俏的,所以节省和提高资源利用率在Android移动设备中至关重要,本发明实施例中的方案不仅从视效上给用户更加平滑的感觉(在前面描述的场景中不会出现中间屏一闪而过),而且也提高了资源利用率,即不用绘制中间屏从而节省图形处理器(GraphicsProcessing Unit,简称为GPU)、内存等硬件资源,通过测试结果看本发明实施例中的方法能够有效降低上述场景下滑屏动画的丢帧率。
下面结合实施例对本发明进行说明:
首先对以手机桌面,且切换方式为滑动为例对本发明的应用场景进行说明:
当前,手机桌面如果需要从当前屏滑动到目标屏,且目标屏距离当前屏大于一屏时,都会经过中间屏的绘制,中间屏在滑动过程中都会一闪而过,而用户的目的只是想从当前屏回到目标屏。本发明正是针对这种场景提出的一种优化方法,该方法可以只滑动一屏的距离,就能直接绘制目标屏,显示出仅滑动一屏就达到目标屏的效果,从感官上更加流畅平滑的回到目标屏,从而提升用户体验。
具体的手机桌面操作场景如下:
场景1:用户在使用手机的过程中,按home键从当前屏返回主屏幕是非常频繁的手机桌面操作。在手机桌面停留在距离主屏大于一屏的情况下,当用户想按home键返回主屏继续操作的场景可以使用本发明实施例中的方案。
场景2:当用户在Android手机桌面进入OverView状态时,然后滑屏到距离主屏幕大于一屏的情况下,按home键返回主界面这种场景下可以使用本发明实施例中的方案。
场景3:在安装应用时,由于新安装的应用一般会默认放到手机桌面的最后一屏,且在安装完成后会从当前屏滑动到最后一屏显示给用户。在当前屏和最后一屏的距离大于一屏的这种场景可以使用本发明实施例中的方案。
场景4:现在部分手机的掌心管家有应用冻结和应用解冻功能。在应用冻结后,应用图标会从手机桌面Launcher消失。当用户使用手机掌心管家解冻被冻结的应用并返回桌面时,手机桌面会从当前屏(进入掌心管家时所处屏)滑动到被解冻应用在被冻结时所在屏,即目标屏。在当前屏与目标屏相隔大于一屏的距离时,可以使用本发明实施例中的方案。
综上所述,只要在目标屏和当前屏相隔距离大于一屏的距离且要返回目标屏这种场景下就可以使用本发明实施例中的方案。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种终端屏幕显示方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的终端屏幕显示方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的终端屏幕显示方法,图2是根据本发明实施例的终端屏幕显示方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取到交互指令,其中,该交互指令用于请求将终端当前显示的当前屏切换到目标屏,该当前屏与目标屏不相邻;
步骤S204,在将上述当前屏切换到目标屏的过程中,将目标屏作为当前屏的相邻屏在终端上进行显示。
其中,执行上述操作的可以是终端,可选地,可以是终端(例如,手机)中的处理器来执行上述相关操作。
通过本发明,由于在当前显示的当前屏与待切换到的目标屏为非相邻的屏幕时,可以在将所述当前屏切换到所述目标屏的过程中,将目标屏作为当前屏的相邻屏在终端上进行显示,也就是说不经过中间屏,直接绘制目标屏,从而显示出仅切换一屏就达到目标屏的效果,在感官上是更加平滑流畅地回到了目标屏,并且,由于仅绘制两屏,所以节省了系统资源,使得滑动过程更加流畅。因此,可以解决相关技术中存在的跨屏切换时需要经过中间的所有屏,从而导致切换过程不流畅、浪费系统资源、以及用户体验差的问题。
上述实施例中的终端可以是手机,下面以终端为Android手机,切换方式为滑动方式为例,对手机的Launcher桌面系统架构进行说明,图3是根据本发明实施例的Launcher桌面系统架构图,由图3可知,Launcher是典型的模型-视图-控制器(Model ViewController,简称为MVC)结构。主要包括三个部分:数据管理模块,控制模块和Launcher的UI(User Interface,简称为用户界面)模块(即,图3中的Launcher UI)。其中,数据管理模块负责Launcher数据库的管理,主要管理着Android系统中安装的应用程序和挂件Widget小部件,包括它们的存放位置,名称,包名和启动主活动Activity,图标缩略图,以及文件夹等等。控制模块包括如下子模块:应用程序管理模块,小部件及快捷方式管理模块,屏幕及其图标拖拽和滑屏模块,文件夹模块(即,如图3中的文件夹),设置模块及其他附属模块。最后,Launcher的UI模块负责显示与用户交互。
图4是Launcher的视图结构,如图4所示,Launcher视图结构从下到上依次为:HotSeat,它用来存放比较常用的图标;导航点,它用来指示当前到第几屏了,可以告诉用户桌面现在有多少屏,当前处于哪一屏;Workspace,这是一个能够滑动的组件,用户可以在手机屏幕上左右滑动,该组件包括若干屏,每一屏对应一个CellLayout,Workspace上存放着应用的图标和Widget小部件。
本发明正是基于上面介绍的滑屏模块,即Workspace组件实现的。如图4所示,Launcher有三屏,假设主屏为从左到右第一个屏(对应于上述的目标屏,也可称为主屏),而用户当前处于第三个屏(对应于上述的当前屏),那么当用户按home键要返回主屏时,Launcher一边向左滑动一边跳屏绘制主屏,当滑动一屏的距离后再一次直接定位到第一个屏。这样就实现了跨屏绘制,即可以只滑动一屏的距离,直接绘制目标屏,显示出仅滑动一屏就达到目标屏的效果。
在一个可选的实施例中,在将当前屏切换到目标屏之后,上述方法还包括:在终端上显示目标屏,其中,该当前屏与目标屏不相邻。由前述实施例可知,在将所述当前屏切换到所述目标屏的过程中,是会将目标屏作为当前屏的相邻屏在终端上进行显示的,但是在完成切换之后,终端显示的是目标屏的实际位置,也就是说,在用户看来,似乎是将目标屏直接“挪”到了当前屏的相邻屏上,但是实际上,目标屏的实际位置是没有发生变动的,只是在视觉上将目标屏作为当前屏的相邻屏进行显示的。
在一个可选的实施例中,在获取到上述交互指令之后,上述方法还包括:确定该当前屏与目标屏之间的切换距离,其中,该切换距离为当前屏与目标屏之间实际相隔的屏幕的总宽度;在确定该切换距离大于终端中单个屏幕的宽度时,确定该当前屏与目标屏为非相邻的屏幕。在本实施例中,交互指令可以是通过多种方式触发的,例如,可以是通过用户按压预定的实体键或虚拟键(例如,home键)触发的,或者是在安装某个应用完成时所触发的,或者是解冻某个被冻结的应用时所触发的,或者是其他的可能触发切换指令的方式,交互指令的触发方式可以是多样的,在此不做限定。确定目标屏与当前屏的切换距离的方式也可以为多种,例如,可以计算当前屏的左边界与目标屏的左边界之间的切换距离,或者计算当前屏的右边界与目标屏的右边界之间的切换距离,或者计算当前屏与目标屏的编号的差值,再让该差值乘以单个屏的宽度来确定切换距离,具体的计算方式在此不做限定。
在一个可选的实施例中,在将上述当前屏切换到目标屏的过程中,将目标屏作为当前屏的相邻屏在终端上进行显示包括:根据上述终端中的插值器向相邻屏进行移位,并通过移动画布在相邻屏上绘制目标屏中的内容;在根据插值器完成一屏位移后,再将终端显示的屏幕切换到目标屏实际所在的位置上(可以通过函数scrollTo将终端显示的屏幕切换到目标屏实际所在的位置上)。在本实施例中,在从当前屏切换到目标屏的过程中,切换位置先向目标屏根据插值器Interpalator逐步位移(如果是屏幕向左切换则根据插值器的曲率逐步向左移动一屏;如果是向右切换,那么根据插值器的曲率逐步向右滑动一屏的距离),但是绘制的内容不是相邻屏而是目标屏,这个绘制主要是通过灵活移动画布实现的;在根据插值器完成一屏位移后,在一次通过scrollTo移动到最终位置,即目标屏所在位置(注意这一次移动用户是感觉不到的)。
在一个可选的实施例中,通过移动画布在相邻屏上绘制目标屏中的内容包括:确定画布待移动的偏移量;控制画布向相邻屏相对当前屏的方向移动该偏移量个像素,并绘制目标屏中的内容;在绘制完成后控制画布向相邻屏相对当前屏的反方向移动上述偏移量个像素,并绘制目标屏中的内容。在本实施例中,通过画布的两次移动可以实现在视觉上是在当前屏的相邻屏上显示目标屏中的内容的效果。
在一个可选地实施例中,确定上述画布待移动的偏移量包括:通过如下公式确定画布待移动的偏移量offset:offset=(∣curPage-finalPage∣-1)×width;其中,curPage为预先为所述当前屏设置的屏幕编号,finalPage为预先为所述目标屏设置的屏幕编号,width为所述终端中单个屏幕的宽度。在本实施例中,屏幕的编号是预先设置好的,一般可以使用0,1,2,3…作为各个屏幕的编号,curPage-finalPage实际上就是用于计算当前屏与目标屏之间的编号差,在实际应用时,需要取差值的绝对值。当然在实际使用时也可以采用其他的方式计算画布的偏移量,例如,可以先算出当前屏的左边界到目标屏的左边界的切换距离,再让该距离减去一单个屏的宽度来得到画布的偏移量,或者可以先算出当前屏的右边界到目标屏的右边界的切换距离,再让该距离减去一单个屏的宽度来得到画布的偏移量等。
在一个可选的实施例中,在将当前屏切换到目标屏的过程中,将目标屏作为当前屏的相邻屏在终端上进行显示包括:在确定目标屏位于当前屏的左侧时,在将当前屏切换到目标屏的过程中,将目标屏作为当前屏的左侧的相邻屏在终端上进行显示;在确定目标屏位于当前屏的右侧时,在将当前屏切换到目标屏的过程中,将目标屏作为当前屏的右侧的相邻屏在终端上进行显示。也就是说,在本实施例中,显示目标屏的邻区相对于当前屏的位置和目标屏实际所在的屏幕相对于当前屏的位置是一致的,均位于左侧,或均位于右侧。
在一个可选的实施例中,获取到交互指令包括以下之一:接收到通过触控预定实体键或虚拟键所触发的上述交互指令;获取到在终端中完成预定应用的安装后所触发的上述交互指令;获取到终端中冻结的应用被解冻后所触发的上述交互指令。上述几种场景仅是几种实现方式,在实际应用中也可以通过其他的方式来确定需要对终端的屏幕进行切换。
为了更直观的看到本方法的跨屏绘制效果,下面用一部手机在当前屏与目标屏大于一屏的情况下按home键来触发屏幕滑动的方式演示本发明实施例中的方法。这部手机的Launcher使用了本发明实施例中的方法。首先看下手机每个屏幕的图标和widget,具体见图5,以便区分:
将手机的第一个屏即有时间小部件的那一屏设为主屏(即,目标屏,),然后滑动到第三个屏(即,当前屏),这时候按home键即出现本方法的使用场景:从第三个屏滑动到第一个屏。按照如果不使用本发明实施例中的方法,那么绘制会经过中间屏即第二个屏,然后滑动到目标屏,即第一个屏。图6是使用本发明实施例中的方案后的滑动中间过程(从左到右依次按时间)的截图,可以看到直接将目标屏第一个屏绘制到当前屏的隔壁屏即第二个屏的位置。整个动画过程直接从当前屏的第三个屏过渡到第一个屏,中间没有经过绘制第二个屏。
Android动画的原理是通过不断改变屏幕View的属性实现的,改变的快慢可以通过插值器interpolator来控制。跨屏绘制方法也是一种动画,不同的是它没有使用框架提供的动画接口,而是为了实现手机桌面这种应用场景,从新实现了滑屏动画的所需要的相关控件。动画过程中会不断的改变View即屏的位置并刷新视图。
实施例2
下面结合流程图以对手机屏幕进行滑动为例,对本发明中的各个处理操作进行说明:
图7是根据本发明实施例手机桌面跨屏绘制方法总体流程图,如图7所示,包括如下步骤:
步骤S701:判断当前屏与目标屏是否是同一屏,如果是则直接转S706结束,否则转S702;
步骤S702:初始化界面绘制的相关参数(包括但不限于当前屏的页面编号,目标屏的页面编号,单屏的宽度);
步骤S703:根据插值器移动显示的屏幕View;
步骤S704:绘制显示的View;
步骤S705:判断滑动是否完成,如果是则滑屏动画结束转S706,否则转S703;
步骤S706:结束。
图8是根据本发明实施例的对手机桌面的跨屏绘制方法的初始化流程图,如图8所示,包括如下步骤:
步骤S801:计算单个屏幕的宽度width;
步骤S802:判断当前屏在目标屏的左侧还是右侧,即确定滑动方向;
步骤S803:根据滑动方向初始化滑动距离,如果当前屏在目标屏左侧,则滑动距离delta为-width,即负的一屏(即,单个屏幕)距离,否则滑动距离delta为width;
步骤S804:根据上述的滑动距离计算滑动时间;该滑动时间可以采用经验值,即,跨屏绘制时,可以使用750ms作为屏幕的滑动时间,手动滑动时根据手指滑动的速度和距离进行计算;
步骤S805:设置插值器,即,调用插值器,用户可以设计使用自己的插值器,如果没有则可以设置成谷歌google默认的插值器;
判断S806:调用框架的invalid方法启动滑动。
在初始化相关参数完成后就可以启动开始滑动了。需要注意的是,滑动动画的执行过程是滑动一小步(一般是若干像素,每一步滑动多少像素跟插值器有关)绘制一次,然后反复执行上述操作,直到滑动完一屏距离。当滑动完一屏距离后,再直接一次性移动到目标屏,跨屏绘制动画结束。另外,由于整个滑动过程不经过中间屏直接到目标屏,所以滑动动画只绘制两屏。这里根据目标屏的位置,分别称之为左屏和右屏,为了支持循环滑屏,所以左屏和右屏是相对的。即当手指向右滑动时,如果目标屏在当前屏的左边,则目标屏为左屏,当前屏为右屏,反之则相反;当手指向左滑动时,如果目标屏在当前屏左边,则目标屏为右屏,当前屏为左屏,反之则相反。
由于滑动方向和左右屏的位置不同,会有四种不同的情况,每种情况的处理比较类似,为了方便和清楚的描述,这里只画出手指向右滑动时的处理流程图,具体如图9,包括如下步骤:
步骤S901:计算一屏的宽度width;
步骤S902:计算当前屏幕View的位置,记为x;
步骤S903:计算当前屏的位置scrollPos,即x/width;
步骤S904:初始化当前屏编号curPage和目标屏编号finalPage;
步骤S905:这里本来应该是判断scrollPos-curPage是否大于0,为了简单起见,假设其小于0,即屏幕向左滑动;
步骤S906:根据finalPage以及curPage编号获取左屏leftView(目标屏)和右屏rightView(当前屏);
步骤S907:这里本应该是判断finalPage是否小于curPage,这里假设finalPage<=curPage,即当屏幕向左滑动时目标屏在当前屏左边;
步骤S908:因为要将目标屏绘制到当前屏的隔壁屏(根据前面假设,这里是当前屏的左边),所以可能需要移动画布到目标屏。这一步计算画布Canvas要移动的偏移量offset,即(curPage-finalPage–1)*width;
步骤S909:判断offset是否大于等于width,即判断偏移量是否大于等于一屏,如果不是则表明目标屏和当前屏相邻,不需要移动画布,转S913,否则表明目标屏和当前屏不相邻,需要移动画布,转到S910;
步骤S910:将画布移动offset个像素;
步骤S911:绘制左屏;
步骤S912:将画布移回原位,即移动–offset个像素;
步骤S913:绘制左屏;
步骤S914:判断是否滑动完成,即是否滑动了一屏的距离,这里其实是初始化时设置的滑动时间来判断的,将以及消耗的时间除以滑动的时间,再乘以要滑动的距离。所以只需要判断消耗的时间timePassed是否小于要滑动的时间mDuration,如果是则转S902,否则转S915;
步骤S915:直接将当前屏移动到目标屏。
移动画布是实现跨屏绘制的关键,上述只给出了一种情况下移动画布位移的计算方法。下面给出所有情况移动画布位移的计算方法,具体见如下公式。
其中offset表示画布要移动的位移;mIsRtl表示是从左到右布局还是从右到左布局,如果是从右到左布局则为true;childCount表示移动有多少屏;curPage表示当前屏;finalPage表示目标屏;width为一屏的宽度。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
在本实施例中还提供了一种终端屏幕显示装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图10是根据本发明实施例的终端屏幕显示装置的结构框图,如图10所示,该装置包括获取模块1002和显示模块1004,下面对该装置进行说明:
获取模块1002,用于获取到交互指令,其中,该交互指令用于请求将终端当前显示的当前屏切换到目标屏,当前屏与目标屏不相邻;显示模块1004,连接至上述获取模块1002,用于在将当前屏切换到目标屏的过程中,将目标屏作为当前屏的相邻屏在终端上进行显示。
在一个可选的实施例中,上述显示模块1004还用于:在将当前屏切换到目标屏之后,在终端上显示目标屏,其中,该当前屏与目标屏不相邻。
在一个可选的实施例中,上述终端屏幕显示装置还用于在获取到交互指令之后,确定当前屏与目标屏之间的切换距离,其中,该切换距离为所述当前屏与所述目标屏之间实际相隔的屏幕的总宽度;在确定切换距离大于终端中单个屏幕的宽度时,确定当前屏与目标屏为非相邻的屏幕。
在一个可选的实施例中,上述显示模块1004可以通过如下方式在将当前屏切换到目标屏的过程中,将目标屏作为当前屏的相邻屏在终端上进行显示:根据终端中的插值器向相邻屏进行移位,并通过移动画布在相邻屏上绘制目标屏中的内容;在根据插值器完成一屏位移后,再将终端显示的屏幕切换到目标屏实际所在的位置上。
在一个可选的实施例中,上述显示模块1004可以通过如下方式通过移动画布在所述相邻屏上绘制所述目标屏中的内容:确定画布待移动的偏移量;控制画布向相邻屏相对当前屏的方向移动偏移量个像素,并绘制目标屏中的内容;在绘制完成后控制画布向相邻屏相对当前屏的反方向移动偏移量个像素,并绘制目标屏中的内容。
在一个可选的实施例中,上述显示模块1004可以通过如下方式确定画布待移动的偏移量:通过如下公式确定画布待移动的偏移量offset:offset=(∣curPage-finalPage∣-1)×width;其中,curPage为预先为所述当前屏设置的屏幕编号,finalPage为预先为目标屏设置的屏幕编号,width为终端中单个屏幕的宽度。
在一个可选的实施例中,上述显示模块1004可以通过如下方式在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的相邻屏在所述终端上进行显示:在确定目标屏位于当前屏的左侧时,在将当前屏切换到目标屏的过程中,将目标屏作为当前屏的左侧的相邻屏在终端上进行显示;在确定目标屏位于当前屏的右侧时,在将当前屏切换到目标屏的过程中,将目标屏作为当前屏的右侧的相邻屏在终端上进行显示。
在一个可选的实施例中,上述获取模块1002可以通过如下方式之一获取到交互指令:获取到通过触控预定实体键或虚拟键所触发的交互指令;获取到在终端中完成预定应用的安装后所触发的交互指令;获取到终端中冻结的应用被解冻后所触发的交互指令。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,上述计算机程序被设置为运行时执行上述实施例1和实施例2中的任一方法中的步骤。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本发明的另一个实施例,还提供了一种电子装置,包括存储器和处理器,其中,该存储器中存储有计算机程序,该处理器被设置为运行上述计算机程序以执行上述实施例1和实施例2中的任一方法中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种终端屏幕显示方法,其特征在于,包括:
获取到交互指令,其中,所述交互指令用于请求将所述终端当前显示的当前屏切换到目标屏,所述当前屏与所述目标屏不相邻;
在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的相邻屏在所述终端上进行显示。
2.根据权利要求1所述的方法,其特征在于,在将所述当前屏切换到所述目标屏之后,所述方法包括:
在所述终端上显示所述目标屏,其中,所述当前屏与所述目标屏不相邻。
3.根据权利要求1所述的方法,其特征在于,在获取到所述交互指令之后,所述方法还包括:
确定所述当前屏与所述目标屏之间的切换距离,其中,所述切换距离为所述当前屏与所述目标屏之间实际相隔的屏幕的总宽度;
在确定所述切换距离大于所述终端中单个屏幕的宽度时,确定所述当前屏与所述目标屏为非相邻的屏幕。
4.根据权利要求1所述的方法,其特征在于,在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的相邻屏在所述终端上进行显示包括:
根据所述终端中的插值器向所述相邻屏进行移位,并通过移动画布在所述相邻屏上绘制所述目标屏中的内容;
在根据所述插值器完成一屏位移后,再将所述终端显示的屏幕切换到所述目标屏实际所在的位置上。
5.根据权利要求4所述的方法,其特征在于,通过移动画布在所述相邻屏上绘制所述目标屏中的内容包括:
确定所述画布待移动的偏移量;
控制所述画布向所述相邻屏相对所述当前屏的方向移动所述偏移量个像素,并绘制所述目标屏中的内容;
在绘制完成后控制所述画布向所述相邻屏相对所述当前屏的反方向移动所述偏移量个像素,并绘制所述目标屏中的内容。
6.根据权利要求5述的方法,其特征在于,确定所述画布待移动的偏移量包括:
通过如下公式确定所述画布待移动的偏移量offset:
offset=(∣curPage-finalPage∣-1)×width;
其中,curPage为预先为所述当前屏设置的屏幕编号,finalPage为预先为所述目标屏设置的屏幕编号,width为所述终端中单个屏幕的宽度。
7.根据权利要求1所述的方法,其特征在于,在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的相邻屏在所述终端上进行显示包括:
在确定所述目标屏位于所述当前屏的左侧时,在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的左侧的相邻屏在所述终端上进行显示;
在确定所述目标屏位于所述当前屏的右侧时,在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的右侧的相邻屏在所述终端上进行显示。
8.根据权利要求1至7中任一项所述的方法,其特征在于,获取到交互指令包括以下之一:
获取到通过触控预定实体键或虚拟键所触发的所述交互指令;
获取到在所述终端中完成预定应用的安装后所触发的所述交互指令;
获取到所述终端中冻结的应用被解冻后所触发的所述交互指令。
9.一种终端屏幕显示装置,其特征在于,包括:
获取模块,用于获取到交互指令,其中,所述交互指令用于请求将所述终端当前显示的当前屏切换到目标屏,所述当前屏与所述目标屏不相邻;
显示模块,用于在将所述当前屏切换到所述目标屏的过程中,将所述目标屏作为所述当前屏的相邻屏在所述终端上进行显示。
10.根据权利要求9所述的装置,其特征在于,所述显示模块还用于:
在将所述当前屏切换到所述目标屏之后,在所述终端上显示所述目标屏,其中,所述当前屏与所述目标屏不相邻。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述权利要求1至8任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器上存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810023790.3A CN110018770A (zh) | 2018-01-10 | 2018-01-10 | 终端屏幕显示方法、装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810023790.3A CN110018770A (zh) | 2018-01-10 | 2018-01-10 | 终端屏幕显示方法、装置、存储介质和电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110018770A true CN110018770A (zh) | 2019-07-16 |
Family
ID=67188170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810023790.3A Pending CN110018770A (zh) | 2018-01-10 | 2018-01-10 | 终端屏幕显示方法、装置、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110018770A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023020541A1 (zh) * | 2021-08-20 | 2023-02-23 | 华为技术有限公司 | 电子设备及人机交互方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495705A (zh) * | 2011-11-18 | 2012-06-13 | 深圳市中兴移动通信有限公司 | 一种实现触摸屏终端多屏幕界面切换的方法和装置 |
CN103034408A (zh) * | 2012-12-21 | 2013-04-10 | 广东欧珀移动通信有限公司 | 一种用户界面的页面切换方法及移动终端 |
US20160041728A1 (en) * | 2006-01-31 | 2016-02-11 | Accenture Global Services Limited | System For Storage And Navigation Of Application States And Interactions |
CN105511597A (zh) * | 2014-09-25 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种基于浏览器的页面控制方法及装置 |
CN105892896A (zh) * | 2015-11-02 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种桌面切换的方法和终端 |
CN106775213A (zh) * | 2016-11-28 | 2017-05-31 | 深圳市金立通信设备有限公司 | 一种切换桌面的方法及终端 |
-
2018
- 2018-01-10 CN CN201810023790.3A patent/CN110018770A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160041728A1 (en) * | 2006-01-31 | 2016-02-11 | Accenture Global Services Limited | System For Storage And Navigation Of Application States And Interactions |
CN102495705A (zh) * | 2011-11-18 | 2012-06-13 | 深圳市中兴移动通信有限公司 | 一种实现触摸屏终端多屏幕界面切换的方法和装置 |
CN103034408A (zh) * | 2012-12-21 | 2013-04-10 | 广东欧珀移动通信有限公司 | 一种用户界面的页面切换方法及移动终端 |
CN105511597A (zh) * | 2014-09-25 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种基于浏览器的页面控制方法及装置 |
CN105892896A (zh) * | 2015-11-02 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种桌面切换的方法和终端 |
CN106775213A (zh) * | 2016-11-28 | 2017-05-31 | 深圳市金立通信设备有限公司 | 一种切换桌面的方法及终端 |
Non-Patent Citations (1)
Title |
---|
吴志祥: "《Android应用开发案例教程》", 28 February 2014 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023020541A1 (zh) * | 2021-08-20 | 2023-02-23 | 华为技术有限公司 | 电子设备及人机交互方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159687A (zh) | 一种信息处理方法、终端及计算机存储介质 | |
CN103064734B (zh) | 终端设备以及多系统输入切换方法 | |
CN109240567B (zh) | 一种信息显示方法、装置、存储介质及电子装置 | |
CN110442293A (zh) | 分屏应用切换方法、装置以及计算机可读存储介质 | |
EP2887191A1 (en) | Picture display processing method and device | |
CN108228020B (zh) | 一种信息处理方法及终端 | |
CN109284034B (zh) | 终端壁纸预览的方法、系统、存储介质和手机 | |
JP6630669B2 (ja) | ウィジェットエリアの調整方法および調整装置 | |
CN108905203B (zh) | 信息处理方法、装置、存储介质及电子装置 | |
CN112748843B (zh) | 页面切换方法、装置、计算机设备和存储介质 | |
CN105892896A (zh) | 一种桌面切换的方法和终端 | |
CN105320410A (zh) | 一种用于在触摸终端上进行触摸操控的方法与设备 | |
CN108108078B (zh) | 电子设备、显示控制方法及相关产品 | |
CN110032296A (zh) | 终端中虚拟对象的确定方法、装置、终端及存储介质 | |
CN106548504B (zh) | 网页动画生成方法及装置 | |
US20220337745A1 (en) | Method for playing video | |
US20230405460A1 (en) | In-game display controlling method, device and electronic equipment | |
CN112190943A (zh) | 游戏展示方法及装置、处理器、电子设备 | |
CN110404257B (zh) | 一种编队控制方法、装置、计算机设备及存储介质 | |
CN110018770A (zh) | 终端屏幕显示方法、装置、存储介质和电子装置 | |
CN114327192A (zh) | 信息浏览的方法、装置及设备 | |
CN109164968A (zh) | 基于列表的交互方法以及装置 | |
CN106909367A (zh) | 一种终端设备中的桌面显示方法和装置 | |
CN115460448A (zh) | 一种媒体资源编辑方法、装置、电子设备以及存储介质 | |
CN105573808A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190716 |