WO2023207738A1 - 具有柔性屏幕的电子设备的显示方法和电子设备 - Google Patents
具有柔性屏幕的电子设备的显示方法和电子设备 Download PDFInfo
- Publication number
- WO2023207738A1 WO2023207738A1 PCT/CN2023/089393 CN2023089393W WO2023207738A1 WO 2023207738 A1 WO2023207738 A1 WO 2023207738A1 CN 2023089393 W CN2023089393 W CN 2023089393W WO 2023207738 A1 WO2023207738 A1 WO 2023207738A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- screen
- interface
- animation
- application
- state
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 230000008859 change Effects 0.000 claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 58
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 abstract description 36
- 230000007423 decrease Effects 0.000 abstract description 13
- 230000003044 adaptive effect Effects 0.000 abstract 1
- 230000007704 transition Effects 0.000 abstract 1
- 238000012544 monitoring process Methods 0.000 description 39
- 238000006073 displacement reaction Methods 0.000 description 38
- 230000015572 biosynthetic process Effects 0.000 description 29
- 238000003786 synthesis reaction Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 13
- 238000007726 management method Methods 0.000 description 10
- 238000009877 rendering Methods 0.000 description 10
- 239000000203 mixture Substances 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000008014 freezing Effects 0.000 description 5
- 238000007710 freezing Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001270131 Agaricus moelleri Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1415—Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供了一种具有柔性屏幕的电子设备的显示方法和电子设备,在屏幕展开或折叠的过程中,可以生成并显示第一动画,其中,随着屏幕展开角度的逐渐增加,显示内容的界面尺寸会逐渐增加,且界面上各元素的相对位置会逐渐增加,各元素的尺寸会逐渐增大,另外,随着屏幕展开角度的逐渐减小,显示内容的界面尺寸会逐渐减小,且界面上各元素的相对位置会逐渐减小,各元素的尺寸会逐渐减小。也就是说,本申请实施例在屏幕展开或折叠的过程中,屏幕可以播放适配于屏幕的展开角度的动画,动画中内容的衔接变化效果好,可以提高用户体验。
Description
本申请要求于2022年04月28日提交中国专利局、申请号为202210462994.3、申请名称为“具有柔性屏幕的电子设备的显示方法和电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请实施例涉及终端技术领域,尤其涉及一种具有柔性屏幕的电子设备的显示方法和电子设备。
柔性屏幕包括柔性有机发光二极管(organic light emitting diode,OLED)等类型的屏幕,相较于传统屏幕,柔性屏幕具备轻薄、便于弯折等特性。目前,柔性屏幕已应用在手机、平板电脑等电子设备中。
用户使用具有柔性屏幕的电子设备时可以折叠或展开屏幕,目前在屏幕展开或折叠的过程中,屏幕的显示缺少动态效果。
发明内容
本申请实施例提供一种具有柔性屏幕的电子设备的显示方法和电子设备,可以在屏幕的物理状态发生变化时,显示动画。
第一方面,本申请实施例提供一种具有柔性屏幕的电子设备的显示方法,执行该方法的执行主体可以为电子设备或电子设备中的芯片。该方法中,当电子设备的屏幕为第一物理状态时,显示第一界面;在所述屏幕从所述第一物理状态变化至第二物理状态的过程中,播放第一动画,所述第一动画中的动画帧的尺寸与屏幕的展开角度相关;当所述屏幕为所述第二物理状态时,显示第二界面,所述第二界面为所述第一动画中的最后一个动画帧。
本申请实施例在屏幕展开或折叠的过程中,屏幕可以播放适配于屏幕的展开角度的动画,动画中内容的衔接变化效果好,可以提高用户体验。
在一种可能的实现方式中,所述方法还包括:响应于所述屏幕从所述第一物理状态变化至第二物理状态,生成所述第一动画。
在一种可能的实现方式中,所述生成所述第一动画,包括:根据所述第一界面的第一界面布局信息,以及所述第二界面的第二界面布局信息,生成所述第一动画。
在一种可能的实现方式中,所述根据所述第一界面的第一界面布局信息,以及所述第二界面的第二界面布局信息,生成所述第一动画,包括:根据所述第一界面的第一界面布局信息,以及所述第二界面的第二界面布局信息,获取界面上各元素的变化形式;根据所述各元素的变化形式、所述第一动画的播放时长,以及动效曲线,生成所述第一动画。
在一种可能的实现方式中,所述各元素包括如下至少一项:壁纸、应用图标、文字、图片,文件夹、卡片、桌面小部件、导航栏、状态栏,以及微件widget。
在一种可能的实现方式中,所述各元素的变化形式;包括如下至少一项:位置变化、尺寸变化,以及内容变化。
在一种可能的实现方式中,所述屏幕可以为如下任一项:外折屏、内折屏、卷轴屏。
在一种可能的实现方式中,当所述屏幕为外折屏或内折屏时,所述第一物理状态为如下任一项:折叠态、中间态、展开态,所述中间态为处于所述折叠态和所述展开态之间的状态;当所述第一物理状态为折叠态时,所述第二物理状态为中间态或展开态;当所述第一物理状态为展开态时,所述第二物理状态为中间态或折叠态;当所述第一物理状态为中间态时,所述第二物理状态为展开态、或折叠态、或另一中间态。
第二方面,本申请实施例提供一种电子设备,该电子设备可以包括:处理器、存储器。存储器用于存储计算机可执行程序代码,程序代码包括指令;当处理器执行指令时,指令使所述电子设备执行如第一方面中的方法。
第三方面,本申请实施例提供一种电子设备,该电子设备可以包括用于执行以上第一方面所提供的方法的单元、模块或电路。
第四方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
上述第二方面至第六方面的各可能的实现方式,其有益效果可以参见上述第一方面所带来的有益效果,在此不加赘述。
图1为本申请实施例提供的电子设备的屏幕的各种物理状态的示意图;
图2为本申请实施例提供的屏幕在展开过程中的界面的一种示意图;
图3为本申请实施例提供的电子设备的一种硬件结构示意图;
图4为本申请实施例提供的电子设备的另一种结构示意图;
图5为本申请实施例提供的具有柔性屏幕的电子设备的显示方法的一种实施例的流程示意图;
图6为本申请实施例提供的界面布局的示意图;
图7为本申请实施例提供的生成动画帧中设置应用图标的一示意图;
图8为本申请实施例提供的生成动画帧中日程部件的一示意图;
图9为本申请实施例提供的对大文件夹的处理示意图;
图10为本申请实施例提供的各元素的合成示意图;
图11为本申请实施例提供的屏幕展开过程中的界面的一种示意图;
图12A为本申请实施例提供的屏幕展开过程中的界面的另一种示意图;
图12B为本申请实施例提供的屏幕展开过程中的界面的另一种示意图;
图13A为本申请实施例提供的屏幕展开过程中备忘录应用的一种界面示意图;
图13B为本申请实施例提供的屏幕展开过程中备忘录应用的一种界面示意图;
图14为本申请实施例提供的屏幕展开过程中备忘录应用的另一种界面示意图;
图15为本申请实施例提供的具有柔性屏幕的电子设备的显示方法的另一种实施例的
流程示意图;
图16A为本申请实施例提供的预设壁纸的示意图;
图16B为本申请实施例提供的生成动画帧中壁纸的一示意图;
图16C为本申请实施例提供的各元素以及壁纸的一合成示意图;
图16D为本申请实施例提供的屏幕展开过程中的界面的另一种示意图;
图17为本申请实施例提供的具有柔性屏幕的电子设备的显示方法的另一种实施例的流程示意图;
图18为本申请实施例提供的各元素以及壁纸的另一合成示意图;
图19为本申请实施例提供的具有柔性屏幕的电子设备的显示方法的另一种实施例的流程示意图;
图20为本申请实施例提供的具有柔性屏幕的电子设备的显示方法的另一种实施例的流程示意图;
图21为本申请实施例提供的电子设备的物理状态变化的一示意图;
图22为本申请实施例提供的具有柔性屏幕的电子设备的显示方法的另一种实施例的流程示意图。
本申请实施例提供的显示方法适用于具有柔性屏幕的电子设备中,用户使用具有柔性屏幕的电子设备时可以展开或折叠屏幕,即屏幕可以开合。电子设备的屏幕可以包括但不限于为:外折屏、卷轴屏、内折屏、对角折叠屏等。电子设备的屏幕可以折叠至少一次,下述实施例中以电子设备的屏幕折叠一次为例进行说明。
屏幕在开合过程中,可以包括三种物理状态,分别为折叠态、中间态和展开态。图1中以具有外折屏的电子设备,且以外折屏从折叠态完全展开为例,外折屏依次历经折叠态、中间态和展开态。图1中的a所示的屏幕为折叠态,图1中的b所示的屏幕为中间态,图1中的c所示的屏幕为展开态。在一种实施例中,图1中的b所示的屏幕的状态还可以称为支架态,本申请实施例对此不作限制。
本申请实施例中的电子设备可以称为用户设备(user equipment,UE)、终端(terminal)等,例如,电子设备可以为手机、平板电脑(portable android device,PAD)、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备、车载设备或可穿戴设备,虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、智慧家庭(smart home)中的无线终端等具有柔性屏幕的电子设备,本申请实施例中对电子设备的形态不做具体限定。
目前,在一种实施例中,屏幕上显示内容的界面尺寸会发生变化。如屏幕从折叠态展开为展开态时,界面尺寸由小尺寸变为大尺寸,屏幕从展开态折叠为折叠态时,界面尺寸由大尺寸变为小尺寸。其中,在界面尺寸变化的过程中,界面上显示的内容的衔接变化效果差,导致用户体验低。本申请实施例中所述的界面为用户界面(user interface,UI)。
结合图2,以屏幕从折叠态展开为展开态为例说明本申请实施例的显示方法。参照图2中的a,当屏幕处于折叠态时,显示内容的界面为界面1。参照图2中的d,当屏幕处于展开态时,显示内容的界面为界面2。示例性的,如界面1上显示的内容为几个形状(圆形和三
角形)的组合,当折叠态展开为展开态时,电子设备可以将界面1截图,得到第一图像,且基于界面2的尺寸将第一图像放大(如拉伸)至与第二界面相同的尺寸,得到第二图像。
在屏幕从折叠态展开为展开态的过程中,电子设备可以处理第一图像为淡出效果,即逐渐增大第一图像的透明度,且电子设备可以处理第二图像为淡入效果,即逐渐减小第二图像的透明度。最终在屏幕处于展开态时,界面2上显示第二图像(即第二图像的透明度为0),第一图像消失,该过程可以参照图2中的a-d所示。应理解,图2中以不同的灰度表征图像的透明度。
参照图2,电子设备对第一图像进行拉伸,第二图像存在变形,导致屏幕在展开的过程中,用户看到变形的图像。另外,屏幕上显示的内容的衔接变化效果差,没有第一图像逐渐变大的效果,且淡出的第一图像和淡入的第二图像还会存在交叠,即用户可以同时看到第一图像和第二图像,如图2中的b和c所示。
针对如上问题,在屏幕开合的过程中,界面上若能显示一个内容衔接效果好的动画,用户能够看到界面上每个元素能够自然的移动和缩放,而不是变形以及元素位置的突变,则会给用户带来很好的感官体验。本申请实施例提供的具有柔性屏幕的电子设备的显示方法,目的就在于在屏幕开合的过程中,生成并播放该内容衔接效果好的动画,以提高用户体验。
元素可以理解为界面上用户能够看到的内容。在一种实施例中,元素可以包括但不限于:壁纸、应用图标、文字、图片、微件widget等。控件用于对界面中的元素(或称对象,或数据等)进行布局。本申请实施例中,如果将控件看做容器,那么放置于其中的对象(比如文字或图片等),则称为元素。由于控件可以嵌套使用,则子控件(或子视图)中的元素相对于父控件(或父视图)来说,就称为子元素。
在一种实施例中,控件可以包括但不限于:线性布局(Linear Layout)控件、ListView控件、网格视图(GridView)控件、循环视图(RecyclerView)控件、视图翻页(ViewPager)控件,以及图像视图(ImageView)控件。下面对各种控件进行简要介绍:
线性布局控件:用以实现流式布局,可控制放置在控件中的元素水平或垂直排列。
ListView控件:用来以列表方式显示元素(或称对象,可包含文字和图片)。通过此控件,可将元素组成带有或不带有列标头的列,并显示伴随的图标和文字。可使用ListView控件将称作ListItem元素(可包含文字和图片)的列表条目组织成下列四种不同的视图之一:1.大(标准)图标,2.小图标,3.列表,4.报表。另外,该控件还可管理列表中元素的排序方法和选定元素的外观。
网格视图控件:用来以网格方式显示元素(或称对象,可包含文字和图片)。
循环视图控件:可以以列表方式、网格方式等显示元素(或称对象,可包含文字和图片)。相较于ListView控件,RecyclerView控件具有更强大的元素复用机制,提供更多种布局管理器(LayoutMananger)用来处理多种布局,可以自定义布局管理器来决定条目的排布规则,比如可提供:1.与ListView控件类似的线性布局,实现横向或纵向列表方向的元素布局;2.网格布局,可以指定元素数量;3.瀑布流布局,可以指定列表方向,也可以指定同方向的元素数量。
视图翻页控件:提供多页面切换的效果。该控件是容器类,可以在该控件中添加其它控件。ViewPager控件需要PagerAdapter适配器类为它提供数据,可通过创建适配器(adapter)
给该控件填充多个视图(view),当用户进行左右滑动操作时,可切换不同的视图(view)。
图像视图控件:用来显示图像(图片)。
在介绍本申请实施例提供的具有柔性屏幕的电子设备的显示方法之前,首先对电子设备的硬件结构进行说明。图3为本申请实施例提供的电子设备的一种硬件结构示意图。
参照图3,电子设备300可以包括:处理器310,外部存储器接口320、内部存储器321,通用串行总线(universal serial bus,USB)接口330,充电管理模块340,电源管理模块341,电池350,通信模块360,音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口370D,传感器380,按键390,马达391,摄像头392,显示屏393,以及用户标识模块(subscriber identification module,SIM)卡接口394等。可以理解的是,本实施例示意的结构并不构成对电子设备300的具体限定。在本申请另一些实施例中,电子设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器310可以包括一个或多个处理单元。例如:处理器310可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(display process unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备300也可以包括一个或多个处理器310。其中,控制器是电子设备300的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器310中还可以设置存储器,用于存储指令和数据。
在一些实施例中,处理器310可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。其中,USB接口330是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口330可以用于连接充电器为电子设备300充电,也可以用于电子设备300与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备300的结构限定。在本申请另一些实施例中,电子设备300也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
外部存储器接口320可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备300的存储能力。外部存储卡通过外部存储器接口320与处理器310通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器321可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括
指令。处理器310可以通过运行存储在内部存储器321的上述指令,从而使得电子设备300执行各种功能应用以及数据处理等。内部存储器321可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储电子设备300使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器321可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器310可以通过运行存储在内部存储器321的指令,和/或存储在设置于处理器310中的存储器的指令,来使得电子设备300执行各种功能应用及数据处理。
充电管理模块340用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块341用于连接电池350,电源管理模块341接收电池350和/或充电管理模块340的输入,为处理器310,内部存储器321,显示屏393,摄像头392,和通信模块360等供电。在其他一些实施例中,电源管理模块341也可以设置于处理器310中。在另一些实施例中,电源管理模块341和充电管理模块340也可以设置于同一个器件中。
通信模块360可以包括移动通信模块和无线通信模块。移动通信模块提供应用在电子设备300上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块可以提供应用在电子设备300上的包括无线局域网(wireless local area networks,WLAN),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。
电子设备300通过GPU,显示屏393,以及应用处理器AP等可以实现显示功能。显示屏393用于显示图像,视频等,本申请实施例中的显示屏393为柔性屏幕,相关介绍可以参照图1中所示的屏幕。
电子设备300可以通过ISP,一个或多个摄像头392,视频编解码器,GPU,一个或多个显示屏393以及应用处理器等实现拍摄功能。
电子设备300可以通过音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口370D,以及应用处理器等实现音频功能。
传感器380可以包括压力传感器380A,陀螺仪传感器380B,气压传感器380C,磁传感器380D,加速度传感器380E,距离传感器380F,接近光传感器380G,指纹传感器380H,温度传感器380J,触摸传感器380K,环境光传感器380L,骨传导传感器380M等。本申请实施例对各类型的传感器的功能不做赘述。
按键390包括开机键,音量键等。按键390可以是机械按键,也可以是触摸式按键。电子设备300可以接收按键输入,产生与电子设备300的用户设置以及功能控制有关的键信号输入。
马达391用于实现电子设备300的震动。SIM卡接口394用于连接SIM卡。在一些实施例中,电子设备300采用eSIM,即:嵌入式SIM卡。
终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的软件系统为安卓Android系统为例,示例性说明电子设
备的结构。图4为本申请实施例提供的电子设备的另一种结构示意图。分层架构将终端设备的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
在一些实施例中,可以将Android系统分为四层,分别为应用程序层(applications)、应用程序框架层(application framework)、安卓运行时(Android runtime)和系统库,以及内核层(kernel),本申请实施例对电子设备的软件结构的分层不做限制。参照图4,本申请实施例中可以将安卓运行时和系统库,以及内核层看作一层,称为系统层。应理解,图4在Android系统的基础上还增加了电子设备中的硬件层。
应理解,图4所示的各分层中包括的模块为本申请实施例中涉及到的模块,如下各分层中包括的模块并不构成对电子设备的结构和模块部署的层级(示例说明)的限定。示例性的,如绘制模块可以部署在应用程序层,也可以部署在应用程序框架层。在一种实施例中,图4中所示的模块可以单独部署,或者几个模块可以部署在一起,图4中对模块的划分为一种示例。在一种实施例中,图4中所示的模块的名称为示例说明。
应用程序层可以包括一系列应用程序包。应用程序层可以包括:相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息等应用程序。应用程序可以包括系统应用和第三方应用。其中,图4中以系统应用包括桌面应用和壁纸应用为例。第三方应用为电子设备上安装的应用,图4中以第三方应用为备忘录应用为例。
应用程序框架层可以为应用程序层的应用提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数。参照图4,应用程序框架层可以包括:系统服务模块、窗口管理服务(window manager service,WMS)、绘制模块、渲染模块,以及图层合成(Surface Flinger,SF)。
其中,系统服务模块可以为应用程序提供监听服务,如可以监听屏幕的折叠状态发生改变等。WMS,用于管理用户界面。绘制模块,用户绘制界面上显示的各元素。渲染模块,用于对绘制模块绘制好的元素进行渲染处理。SF,用于对渲染后的各元素进行图层合成,以得到待显示的界面。
因为本申请实施例中将安卓运行时和系统库,以及内核层看作一层,因此系统层中可以包括安卓运行时和系统库,以及内核层中的功能模块。参照图4,系统层可以包括多个功能模块,例如:状态监测服务,表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。其中,状态监测服务用于根据内核层上报的监测数据确定手机的具体朝向、柔性屏幕的物理状态等。应理解,图4中以系统层包括状态监测服务为例进行说明。其中,系统层还包括:铰链检测模块。铰链检测模块可以用于获取铰链的角度,进而上报至状态监测服务,以使状态监测服务基于铰链的角度确定柔性屏幕的物理状态。
另外,系统层还包括硬件的驱动,用于驱动硬件工作。如驱动层中包括:传感器驱动、显示驱动(display driver)、图形处理器驱动(graphics processing unit driver,GPU driver)等,本申请实施例对此不做限制。应理解,图4中示出了本申请实施例中涉及到的显示驱动,显示驱动,用于驱动显示屏显示界面。
硬件层包括电子设备中的硬件,可以参照图3中的描述。应理解,图4中的硬件层中示出了下述实施例中涉及到的用于支撑屏幕开合的铰链,以及显示屏。
在图4所示的电子设备的结构的基础上,下面结合具体的实施例对本申请实施例提供的具有柔性屏幕的电子设备的显示方法进行说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图5为本申请实施例提供的具有柔性屏幕的电子设备的显示方法的一种实施例的流程示意图。参照图5,本申请实施例提供的具有柔性屏幕的电子设备的显示方法可以包括:
S501,应用向系统服务模块注册监听器。
监听器包括:onpredraw监听器。onpredraw监听器,用于监听到屏幕的物理状态发生变化时,生成屏幕处于展开态或折叠态的界面布局的信息。界面布局的信息用于指示界面布局。其中,当屏幕展开时,onpredraw监听器可以生成屏幕处于展开态的界面布局,当屏幕折叠时,onpredraw监听器可以生成屏幕处于折叠态的界面布局。
在一种实施例中,注册onpredraw监听器可以包括但不限于:系统应用中的桌面应用,以及第三方应用。在一种实施例中,系统应用中的壁纸应用无需注册onpredraw监听器。
应理解的是,无论屏幕展开或折叠,屏幕的物理状态发生变化可以理解为:屏幕均从第一物理状态变化为第二物理状态。其中,屏幕展开可以理解为:屏幕从第一物理状态“折叠态”展开至第二物理状态“展开态”,或者屏幕从第一物理状态“折叠态”展开至第二物理状态“中间态”,或者屏幕从第一物理状态“中间态”展开至第二物理状态“展开态”,或者屏幕从第一物理状态“第一中间态”展开至第二物理状态“第二中间态”。应理解,屏幕折叠可以理解为:屏幕从第一物理状态“展开态”折叠至第二物理状态“折叠态”,或者屏幕从第一物理状态“展开态”折叠至第二物理状态“中间态”,或者屏幕从第一物理状态“中间态”折叠至第二物理状态“折叠态”,或者屏幕从第一物理状态“第二中间态”折叠至第二物理状态“第一中间态”。其中,屏幕处于第一中间态时的展开角度小于屏幕处于第二中间态时的展开角度。屏幕的展开角度可以如图1中的b中角度β所示。
在一种实施例中,监听器还可以包括:角度监听器。角度监听器,用于监听屏幕的展开角度。
在一种实施例中,系统应用,如桌面应用、壁纸应用可以在电子设备开机时向系统服务模块注册监听器,第三方应用可以在第三方应用启动时向系统服务模块注册监听器。
S502,响应于第一操作,屏幕从第一物理状态变化为第二物理状态。
第一操作用于触发屏幕展开或折叠,即屏幕从第一物理状态变化为第二物理状态。在一种实施例中,第一操作可以为用户手动展开或折叠屏幕。或者,第一操作可以为用户操作界面上的控件或电子设备上的物理按键,以触发屏幕展开或折叠。或者,第一操作可以为用户的语音指示,如用户说出“展开屏幕”,可以触发屏幕展开。
S503,屏幕从第一物理状态变化为第二物理状态的过程中,铰链检测模块采集铰链的角度。
铰链运动(如铰链开合),会引发屏幕开合,即使得屏幕的物理状态发生改变。因此在屏幕从第一物理状态变化为第二物理状态的过程中,铰链检测模块可以采集铰链的角度,以便于监测屏幕的物理状态。
应理解,铰链的角度可以表征屏幕的展开角度。
S504,铰链检测模块向状态监测服务发送铰链的角度。
S505,状态监测服务根据铰链的角度,获取屏幕的第二物理状态,以及屏幕的物理状态变化信息。
状态监测服务将屏幕处于第二物理状态时铰链的角度,作为第二角度。状态监测服务可以根据第二角度,确定屏幕的第二物理状态。其中,当第二角度为0°时,屏幕的第二物理状态为折叠态,当第二角度为180°时,屏幕的第二物理状态为展开态,当第二角度大于0°且小于180°时,屏幕的第二物理状态为中间态。
可以想到的是,当屏幕从其他物理状态变化至第一物理状态时,基于S503-S504中的描述,铰链检测模块也可以向状态监测服务发送铰链的第二角度,因此状态监测服务可以存储屏幕处于第一物理状态时铰链的角度,即第一角度。状态监测服务可以根据第一角度和第二角度,获取屏幕的物理状态变化信息。其中,屏幕的物理状态变化信息用于表征:屏幕展开或屏幕折叠。
其中,当第二角度大于第一角度时,状态监测服务可以确定屏幕展开,相应的,屏幕的物理状态变化信息用于表征屏幕展开。当第二角度小于第一角度时,状态监测服务可以确定屏幕折叠,相应的,屏幕的物理状态变化信息用于表征屏幕折叠。
S506,状态监测服务向系统服务模块发送第一消息。
第一消息中可以包括屏幕的物理状态变化信息。
在一种实施例中,在应用已向系统服务模块注册角度监听器的情况下,第一消息中还可以包括屏幕的展开角度,即第二角度。
S507,系统服务模块响应于第一消息,生成第二界面布局的信息。
界面布局可以理解为界面上显示的各元素的布局,如元素的尺寸、位置布局等。在一种实施例中,可以将屏幕处于第一物理状态的界面布局称为第一界面布局。
系统服务模块接收到第一消息时,可以根据第一消息中屏幕的物理状态变化信息,生成第二界面布局的信息,第二界面布局的信息用于指示第二界面布局。在一种实施例中,第二界面布局的信息包括:第二界面布局上显示的各元素的位置、尺寸等信息。换句话说,可以根据第二界面布局的信息,得到第二界面布局,以生成界面。
第二界面布局为屏幕处于展开态或折叠态的界面布局。在一种实施例中,系统服务模块响应于第一消息,可以调用onpredraw函数,生成第二界面布局的信息。其中,当屏幕的物理状态变化信息表征屏幕展开时,第二界面布局为屏幕处于展开态时的界面布局,系统服务模块调用onpredraw函数,可以生成屏幕处于展开态时的界面布局的信息。当屏幕的物理状态变化信息表征屏幕折叠时,第二界面布局为屏幕处于折叠态时的界面布局,系统服务模块调用onpredraw函数,可以生成屏幕处于折叠态时的界面布局的信息。
这里结合图6说明第一界面布局和第二界面布局,图6中以界面上显示电子设备的桌面(主界面),以及第一物理状态为折叠态、第二物理状态为展开态为例进行说明。参照图6中的a,当屏幕处于第一物理状态“折叠态”时,显示内容的界面为界面1。参照图6中的b,当电子设备处于第二物理状态“展开态”时,显示内容的界面为界面2。在屏幕从折叠态展开至展开态的过程中,界面上显示的元素可以不变,但界面2的尺寸大于界面1的尺寸,为了使得界面上显示的元素适配于界面尺寸,界面2上的各元素的位置、尺寸等相较于界面1均发生相应变化。
S508,系统服务模块向应用发送第一监听消息。
第一监听消息中包括:第二界面布局的信息。
在一种实施例中,在应用已向系统服务模块注册角度监听器的情况下,第一监听消息中还可以包括屏幕的展开角度,即第二角度。
S509,应用根据第一界面布局的信息,以及第二界面布局的信息,生成第一动画。
第一界面布局的信息可以包括:第一界面布局上各元素的位置、尺寸等信息。如图6中的a所示,第一界面布局为界面1上各元素的布局,第一界面布局的信息包括:界面1上各元素的位置、尺寸等信息。
在一种实施例中,可以预先设置第一动画的播放时长,以及动效曲线。其中,第一动画的播放时长可以理解为:播放完第一动画所用的时长。动效曲线表征第一动画的动态显示效果。示例性的,动效曲线可以为直线,如第一动画中相邻两个动画帧上的同一元素的位移相同。或者,动效曲线可以为抛物线,如第一动画中相邻两个动画帧上的同一元素的位移不同,示例性的,如开始的相邻两个动画帧上的同一内容的位移较小,随着帧数的增加,相邻两个动画帧上的同一内容的位移逐渐增大,最后几个相邻两个动画帧上的同一内容的位移逐渐变小。
在一种实施例中,动效曲线可以替换为动效参数,应用可以基于动效参数得到动效曲线。下述实施例中以动效曲线为例进行说明。
第一动画是由多个连续的动画帧构成。其中,应用可以根据预设的第一动画的播放时长,以及电子设备的刷新率,获取第一动画的帧数。可以理解的是,电子设备的刷新率与电子设备在单位时长内可以显示的帧数相关,示例性的,如电子设备的刷新率为60Hz,则电子设备可以每隔16.67ms显示一帧。如此,应用可以计算第一动画的播放时长和电子设备的刷新率的商值,商值即为第一动画的帧数。示例性的,如电子设备的刷新率为60Hz,第一动画的播放时长为500ms,则第一动画的帧数为29。
应用确定第一动画的帧数后,可以基于第一界面布局的信息、第二界面布局的信息,生成第一动画。
下述从两个方面讲述应用生成第一动画的方式:
其一,第二物理状态为折叠态或展开态的情况。如屏幕从“折叠态或中间态”展开至“展开态”,或者,屏幕从“展开态或中间态”折叠至“折叠态”。
在一种实施例中,在第二物理状态为折叠态或展开态的情况下,无论第一物理状态是中间态或非中间态(折叠态或展开态),第一动画的播放时长可以为预设的第一动画的播放时长。
在一种实施例中,在第二物理状态为折叠态或展开态的情况下,当第一物理状态是中间态时,因为屏幕的展开角度不是改变180°,而是小于180°。为了减少应用的功耗,以及与屏幕的展开角度的变化相适配,可以适应性减小第一动画的播放时长(称为第一时长)。示例性的,应用可以获取第一角度和第二角度的角度差值,以得到角度差值在180°的比例,进而将该比例与第一时长的乘积作为该种实施例中的第二时长。第二时长为:第一物理状态是中间态,第二物理状态为折叠态或展开态时的第一动画的播放时长。在该实施例中,应用可以基于第二时长,以及电子设备的刷新率,确定第一动画的帧数。
本申请实施例中,应用可以基于第一界面布局的信息、第二界面布局的信息,第一动画的帧数,以及动效曲线,确定第一动画中每一个动画帧的布局的信息,以便于得到每一
个动画帧的布局。其中,应用可以根据每一个动画帧的布局的信息,通过绘制、渲染以及图层合成等步骤,生成每一个动画帧,即得到连续的多个动画帧,即第一动画。本申请实施例中对绘制、渲染以及图层合成等步骤不做赘述,可以参照目前绘制、渲染以及图层合成等步骤的相关描述。
应理解,界面上的为元素的类型不同,在屏幕从第一物理状态变化为第二物理状态的过程中,元素的变化形式不同。示例性的,元素的变化形式可以包括如下任一种:位移变化、尺寸变化,以及内容变化。因此,应用在确定第一动画中每一个动画帧的布局的信息时,可以根据各元素的变化形式,确定每一个动画帧中元素的布局信息,以得到每一个动画帧的布局的信息。
下述以界面上的元素包括:桌面图标(BubbleTextView)、桌面小部件(LauncherAppWidgetHostView)、卡片(AbilityFormHostView),大文件夹(CardFolder)、导航栏以及状态栏为例,分别讲述屏幕从第一物理状态变化为第二物理状态的过程中,元素在界面上的布局的变化形式,以及应用确定第一动画中每一个动画帧的布局的信息的过程。
应理解,下述以屏幕从折叠态展开至展开态为例进行说明。
1、桌面图标。
桌面图标可以包括:应用图标。如设置应用图标、电话应用图标、短信应用图标等。下述以设置应用图标61为例进行说明。
第二界面布局的信息中可以包括:设置应用图标61在界面2中的第二位置,以及设置应用图标61在界面2中的尺寸。在一种实施例中,设置应用图标61在界面2中的第二位置可以以设置应用图标61的上、下、左、右四个角在界面2中的坐标表征。当屏幕处于第一物理状态“折叠态”时,界面1由应用进行绘制、渲染等步骤生成,因此应用也可以获取第一界面布局的信息。第一界面布局的信息中包括:设置应用图标61在界面1中的第一位置,以及设置应用图标61在界面1中的尺寸。
在一种实施例中,参照图6,屏幕从折叠态展开至展开态时,第二界面布局中的设置应用图标61的尺寸不变,但设置应用图标61在界面中的位置发生改变,如设置应用图标61从位置A移动至位置B。在该实施例中,应用可以根据第一界面布局的信息和第二界面布局的信息,确定设置应用图标61(桌面图标)的变化形式为:尺寸不变,位置平移。
在一种实施例中,设置应用图标61(桌面图标)的变化形式还可以为:尺寸改变且位置改变。在该实施例中,设置应用图标61的该种变化形式以及应用生成动画帧中的设置应用图标61的方式,可以参照大文件夹65中的图标(或大文件夹65)的相关描述。
这里以“设置应用图标61(桌面图标)的变化形式为:尺寸不变,位置平移”为例进行说明:
在该示例中,屏幕从折叠态展开至展开态的情况下,应用可以基于第一位置和第二位置,获取设置应用图标61的位移。在一种实施例中,应用可以基于第一位置,得到设置应用图标61的中心位置在界面1中的第一坐标X1,应用可以基于第二位置,得到设置应用图标61的中心位置在界面2中的第二坐标X2。应用可以采用如下公式一得到设置应用图标61的位移S:
S=X2-X1+ΔWidth 公式一
S=X2-X1+ΔWidth 公式一
其中,ΔWidth为界面2相较于界面1的宽度的变化。
应用在获取设置应用图标61的位移后,可以根据设置应用图标61的位移,第一动画的帧数,以及动效曲线,确定第一动画中相邻两个动画帧中设置应用图标61的位移。应用在确定第一动画中相邻两个动画帧中设置应用图标61的位移后,可以根据设置应用图标61在第一界面布局中的第一位置,以及第一动画中相邻两个动画帧中设置应用图标61的位移,依次计算得到每一个动画帧中设置应用图标61的位置。
在一种实施例中,动效曲线为直线,即相邻两个动画帧中设置应用图标61的位移相同。示例性的,以屏幕从折叠态展开至展开态为例,图7中的a所示的为第一动画中的第一个动画帧,即屏幕为折叠态时第一界面布局,在第一个动画帧中,设置应用图标61的位置为A。应用可以将位置A加上位移,得到设置应用图标61在第二个动画帧中的位置,如图7中的b所示的为第一动画中的第二个动画帧,在第二个动画帧中,设置应用图标61的位置为A1。其中,应用可以继续将位置A1加上位移,得到设置应用图标61在第三个动画帧中的位置,如图7中的c所示的为第一动画中的第三个动画帧,在第三个动画帧中,设置应用图标61的位置为A2。依次类推,应用可以得到最后一个动画帧中设置应用图标61的位置,如图7中的d所示的为第一动画中的最后一个动画帧,在最后一个动画帧中,应用图标的位置为B。其中,A1与A之间的位移、A2与A1之间的位移均相等。应理解,图7中的c至图7中的d使用虚线箭头,表征图7中的c至图7中的d之间还存在其他动画帧。
在一种实施例中,动效曲线为抛物线,即相邻两个动画帧中设置应用图标61的位移不同。示例性的,以相邻两个动画帧中设置应用图标61的位移先逐渐增加,再逐渐减小为例进行说明。示例性的,以屏幕从折叠态展开至展开态为例,在第一个动画帧中,设置应用图标61的位置为A。在第二个动画帧中,设置应用图标61的位置为A11。在第三个动画帧中,设置应用图标61的位置为A21。在第25个动画帧中,设置应用图标61的位置为A25。在第26个动画帧中,设置应用图标61的位置为A26。在第27个动画帧中,设置应用图标61的位置为A27。在最后一个动画帧中,设置应用图标61的位置为B。
其中,A21与A11之间的位移大于A11与A之间的位移,A27与A26之间的位移大于A26与A25之间的位移。
在一种实施例中,即使设置应用图标61的尺寸未发生改变,应用还需要关注设置应用图标61的尺寸,以保证屏幕的物理状态发生变化过程中设置应用图标61的尺寸不变,避免用户在观看第一动画时造成设置应用图标61的尺寸突变的问题。
在一种实施例中,应用得到每一个动画帧中的设置应用图标61的位置后,可以采用绘制、渲染步骤,生成每一个动画帧中的设置应用图标61。
在一种实施例中,应用得到每一个动画帧中的设置应用图标61的位置后,在生成每一个动画帧中的设置应用图标61时,无需对设置应用图标61进行重复的绘制、渲染等步骤,而是可以复用第一个动画帧中已经渲染好的设置应用图标61,经过对应的位移(即相邻两个动画帧之间的位移),以生成下一个动画帧中的设置应用图标61。该实施例这样可以缩短动画帧中的设置应用图标61的生成时间,提高生成效率。
2、桌面小部件。
示例性的,如图6所示,桌面小部件可以包括:时间日期部件62以及日程部件63等。
首先对时间日期部件62进行说明:
第二界面布局的信息中可以包括:时间日期部件62在界面2中的第四位置,以及时间
日期部件62的尺寸。第一界面布局的信息中包括:时间日期部件62在界面1中的第三位置,以及时间日期部件62的尺寸。如此,应用可以基于第一界面布局的信息和第二界面布局的信息,确定时间日期部件62的变化形式为:尺寸不变,位置平移。参照图6,屏幕从折叠态展开至展开态时,第二界面布局中的时间日期部件62的尺寸不变,但时间日期部件62在界面中的位置发生改变,如设置应用图标从位置C平移至位置D。
其中,时间日期部件62的位移的方式可以参照“设置应用图标61”的相关描述。应用生成每一个动画帧中的时间日期部件62的方式也可以参照“设置应用图标61”的相关描述。
其次对时间日程部件63进行说明:
第二界面布局的信息中可以包括:日程部件63在界面2中的第六位置,以及日程部件63的第二尺寸,第二尺寸可以包括日程部件63的第二高度H1和第二宽度W2。第一界面布局的信息中包括:日程部件63在界面1中的第五位置,以及日程部件63的第一尺寸,第一尺寸可以包括日程部件63的第一高度H1和第一宽度W2。应用可以基于第一界面布局的信息和第二界面布局的信息,确定日程部件63的变化形式为:尺寸改变,位置改变时因为尺寸改变。参照图6,屏幕从折叠态展开至展开态时,第二界面布局中的日程部件63的尺寸改变,如日程部件63的宽度增加。
其中,应用可以根据第一尺寸和第二尺寸,获取日程部件63的宽度变化ΔW,ΔW=W2-W1。
应用获取日程部件63的宽度变化ΔW后,可以根据日程部件63的位移宽度变化ΔW,第一动画的帧数,以及动效曲线,确定第一动画中相邻两个动画帧的日程部件63的宽度变化。应用在第一动画中相邻两个动画帧的日程部件63的宽度变化后,可以根据日程部件63在第一界面布局中的第一尺寸中的宽度,以及第一动画中相邻两个动画帧的日程部件63的宽度变化,计算得到每一个动画帧中日程部件63的宽度。
以动效曲线为直线为例,即相邻两个动画帧中日程部件63的宽度变化相同。示例性的,以屏幕从折叠态展开至展开态为例,图8中的a所示的为第一动画的第一个动画帧,即屏幕为折叠态时第一界面布局,在第一个动画帧中,日程部件63的宽度为W1。应用可以将宽度W1加上宽度变化,得到日程部件63在第二个动画帧中的日程部件63的宽度,如图8中的b所示的为第二个动画帧,在第二个动画帧中,日程部件63的宽度为W11。应用可以将宽度W11加上宽度变化,得到日程部件63在第三个动画帧中的日程部件63的宽度,如图8中的c所示的为第三个动画帧,在第三个动画帧中,日程部件63的宽度为W12。依次类推,应用可以得到日程部件63在最后一个动画帧中的日程部件63的宽度,如图8中的d所示的为最后一个动画帧,在最后一个动画帧中,日程部件63的宽度为W2。其中,W11与W1之间的宽度差与W12与W11之间的宽度差相等。
在一种实施例中,应用计算得到每一个动画帧中的日程部件63的宽度后,可以通过绘制、渲染的步骤,生成每一个动画帧中的日程部件63。
在一种实施例中,应用得到每一个动画帧中的日程部件63的宽度后,在生成每一个动画帧中的日程部件63时,无需对日程部件63进行重复的绘制、渲染等步骤,而是可以复用第一个动画帧中已经渲染好的日程部件63,经过对应的宽度拉伸,以生成下一个动画帧中的日程部件63。该实施例这样可以缩短动画帧中的日程部件63的生成时间,提高生成效率。
3、卡片。
在一种实施例中,卡片中可以包含有用户感兴趣的应用的图标。示例性的,如图6所示,卡片64中可以包括:音频类类应用程序图标和视频类应用程序图标。
其中,卡片64的变化形式可以参照“日程部件63”的相关描述。应用生成每一个动画帧中的卡片64的方式也可以参照“日程部件63”的相关描述。
4、大文件夹。
大文件夹中可以包括至少一个应用的图标,如图6所示。
将第二界面布局中大文件夹中包括的应用图标称为第二图标,以第一界面布局中大文件夹中包括的应用图标称为第一图标,则第二界面布局的信息中可以包括:大文件夹65在界面2中的第八位置、第四尺寸,以及第二图标在界面2中的第十位置、第六尺寸。第一界面布局的信息中包括:大文件夹65在界面1中的第七位置、第三尺寸,以及第一图标在界面1中的第九位置、第五尺寸。其中,第三尺寸包括第三高度H3和第三宽度W3,第四尺寸包括第四高度H4和第四宽度W4,第五尺寸包括第五高度H5和第三宽度W5,第六尺寸包括第六高度H6和第六宽度W6。
如此,应用可以基于第一界面布局的信息和第二界面布局的信息,确定大文件夹65的变化形式为:尺寸改变、位置改变,以及大文件夹65中包括的内容改变。参照图6,屏幕从折叠态展开至展开态时,第二界面布局中的大文件夹65的尺寸增大,大文件夹65中图标的尺寸也增大,且大文件夹65的位置发生改变,大文件夹65中图标的位置也发生改变。另外,大文件夹65中的内容也发生改变,如大文件夹65中允许放置的图标的个数从4个变为9个,如图6中的a和b所示,大文件65中的应用程序的图标从4个变为6个。应理解,大文件夹65中允许放置的图标的个数,以及图6中大文件夹65中图标的个数的变化为示例说明。
其中,应用获取大文件夹65以及大文件夹65中的图标的位移、尺寸的方式可以参照“设置应用图标61”、“日程部件63”的相关描述。应用生成每一个动画帧中的大文件夹65以及大文件夹65中的图标的方式可以参照“设置应用图标61”、“日程部件63”的相关描述。
应注意的是,与日程部件63不同的是,日程部件63仅存在宽度的变化,大文件夹65以及大文件夹65中的图标不仅存在宽度的变化,还存在高度的变化。其中,在屏幕从第一物理状态变化至第二物理状态的情况下,以大文件夹65的尺寸变化为例,大文件夹65的尺寸变化包括:宽度变化W4-W3,以及高度变化H4-H3。其中,应用获取每一个动画帧中的大文件夹65以及大文件夹65中的图标的宽度的方式,以及生成每一个动画帧中的大文件夹65以及大文件夹65中的图标的方式可以参照“日程部件63”相关描述,应用获取每一个动画帧中的大文件夹65以及大文件夹65中的图标的高度的方式,可以参照宽度的获取方式。
应注意,屏幕从折叠态展开至展开态的过程中,大文件夹65中的图标的位置相对于大文件夹65的中心位置发散变化,即随着屏幕的展开角度的增加,大文件夹65中的图标的位置距离大文件夹65的中心位置越来越远。可以想到的是,屏幕从展开态折叠至折叠态的过程中,大文件夹65中的图标的位置相对于大文件夹65的中心位置聚拢变化,即随着屏幕的展开角度的减小,大文件夹65中的图标的位置距离大文件夹65的中心位置越来越近。
另外,大文件夹65的变化除了位置和尺寸的变化之外,还包括内容的变化,如大文件夹65中允许放置的图标的个数从4个变为9个,大文件65中的应用程序的图标从4个变成6个。
在该实施例中,应用可以对第一界面布局中(如图6中的a所示界面1)的大文件夹65中的图标进行截图,得到第一图像。第一图像中包括:第一界面布局中的大文件夹65中4个
图标。应用可以对第二界面布局中(如图6中的b所示界面2)的大文件夹65中的图标进行截图,得到第二图像。第二图像中包括:第二界面布局中的大文件夹65中的6个图标。
在一种实施例中,屏幕从第一物理状态变化为第二物理状态时,应用可以根据第一图像、第二图像,第一动画的帧数,以及动效曲线,确定第一动画中每个动画帧中第一图像的透明度以及第二图像的透明度。示例性的,如动效曲线为直线时,相邻两个动画帧中的第一图像的透明度的差值相等,第二图像的透明度的差值也相等。
其中,应用在确定第一动画的每个动画帧中第一图像的透明度以及第二图像的透明度后,可以调整第一图像透明度、第二图像的透明度,以得到每一个动画帧中处理后的第一图像、第二图像。示例性的,如屏幕从折叠态展开至展开态的过程中,应用可以处理第一图像为淡出效果,即逐渐增加第一图像的透明度,在屏幕处于展开态时第一图像消失。且应用可以处理第二图像为淡入效果,即逐渐减小第二图像的透明度,最终透明度为0,该过程可以参照图2中的相关描述。
还应注意的是,本申请实施例中,应用得到每一个动画帧中处理后的第一图像、第二图像后,可以将每一个动画帧中处理后的第一图像、第二图像的中心位置与每一个动画帧中大文件夹的中心位置对齐,以避免应用渲染得到的大文件夹65和截图得到的大文件夹65不重叠,造成重影现象。
示例性的,以屏幕从折叠态展开至展开态为例,图9中的a所示的为屏幕为折叠态时的大文件夹65以及大文件夹65中的4个图标,随着屏幕的展开角度的增加,大文件夹65的尺寸逐渐增大,且大文件夹65中包括的图标也逐渐增多,如图9中的b-c所示。当屏幕为展开态时,屏幕上可以显示大文件夹65,以及大文件夹65中的6个图标。
5、导航栏以及状态栏。
如图6所示,界面上包括:导航栏66,以及状态栏67。在一种实施例中,界面上可以不显示导航栏66。
其中,导航栏66,以及状态栏67的位移的方式可以参照“设置应用图标61”的相关描述。应用生成每一个动画帧中的导航栏66,以及状态栏67的方式也可以参照“设置应用图标61”的相关描述。
在“其一”所示的方式中,应用可以得到第一动画中每个动画帧中的各元素,应用可以通过图层合成的方式,将各元素合成在一个动画帧中,以得到每一个动画帧。如对于一个动画帧来说,图层合成模块可以将该动画帧中渲染后的各元素进行图层合成,可以得到该动画帧,按照相同的处理方式,应用可以得到连续的多个动画帧,即第一动画。
示例性的,图层合成模块分别将图7、图8,以及图9中所示每个动画帧中的各元素进行图层合成,可以得到如图10所示的多个动画帧。应理解,图7中除了显示设置应用图标的位移,还示出了除了日程部件63,以及大文件夹65之外的其他元素。应理解,图10中的a为应用生成的动画帧中的设置应用图标61,以及除了日程部件63,以及大文件夹65之外的其他元素,图10中的b为应用生成的动画帧中的日程部件63,图10中的c所示的为应用生成的大文件夹65,图10中的d为应用生成的动画帧。
其二,第二物理状态为中间态的情况。如屏幕从“折叠态、展开态或一中间态”变化为“另一中间态”。
与如上“其一”中的情况不同的是,屏幕最终的展开角度不是0°或180°,即最终界面不是图6中所示的界面1或界面2。第二界面布局信息指示屏幕为展开态或折叠态的布局。因此,当第二物理状态为中间态时,应用需要根据第二界面布局信息,获取第三界面布局信息。第三界面布局信息为屏幕处于第二物理状态“中间态”时的布局信息,以使得显示内容的界面尺寸与屏幕的展开状态相匹配。
在一种实施例中,因为完全展开或完全折叠时显示屏播放第一动画,而第二物理状态为“中间态”,若播放第一动画,则第一动画中的内容会逐渐占据所有的屏幕,这与屏幕的展开角度不匹配,而本申请所想要达到的效果为:随着屏幕的展开角度逐渐增大,屏幕上显示内容的界面尺寸逐渐增大,其余部分不显示内容,随着屏幕的展开角度逐渐减小,屏幕上显示内容的界面尺寸逐渐减小,其余部分不显示内容。
因此,为了使得屏幕上播放的动画与屏幕的展开角度相匹配,以便用户可以感受到界面逐渐展开或逐渐折叠的效果,在一种实施例中,应用可以获取屏幕的第二角度占180°的比例,进而计算第一动画的帧数(称为第一帧数)与该比例的乘积,得到第二帧数。第二帧数可以理解为:屏幕的第二物理状态为“中间态”时,需要播放的动画的帧数。换句话说,应用可以根据屏幕的展开程度,适应性播放第一动画中的部分动画帧或全部动画帧。
在该实施例中,应用在生成第一动画后,可以将前第二帧数的动画帧的集合,作为第二动画,如此应用可以得到屏幕从第一物理状态变化至第二物理状态“中间态”时,需要播放的动画。
在一种实施例中,如上示例中,应用需要获取第一动画,但只播放其中部分动画帧,未播放剩余动画帧,则应用绘制、渲染该剩余动画帧会造成资源浪费,因此在一种实施例中,应用可以根据第二角度,第一界面布局的信息,以及第二界面布局的信息,生成第三界面布局的信息。其中,第三界面布局的信息表征:屏幕处于第二物理状态“中间态”时的界面布局。
在该实施例中,应用可以获取屏幕的第二角度占180°的比例,进而基于该比例,以及第二界面布局的信息,得到第三界面布局的信息。
在一种实施例中,参照上述桌面图标、桌面小部件、卡片,大文件夹、导航栏以及状态栏的描述,应用可以根据第一界面布局的信息,以及第二界面布局的信息,得到各元素的位移、宽度变化、尺寸变化等(可以分别称为第一位移、第一宽度变化,以及第一尺寸变化),因此应用可以将各元素的第一位移、第一宽度变化,以及第一尺寸变化分别乘以该比例,可以得到屏幕从第一物理状态变化至第二物理状态“中间态”时,界面上的各元素的第二位移、第二宽度变化,以及第二尺寸变化。应用可以根据第一界面布局的信息,以及界面上的各元素的第二位移、第二宽度变化,以及第二尺寸变化,得到第三界面布局中各元素的位置、尺寸等,即第三界面布局的信息。
示例性的,如以应用图标为例,应用可以将第一界面布局的信息中应用图标的第一位置,加上第二位移,得到第三界面布局的信息中的应用图标在界面中第三位置。宽度变化和尺寸变化可以参照位移的描述。
应用在得到第三界面布局的信息后,可以基于第一界面布局的信息、第三界面布局的信息、第一动画的帧数,以及动效曲线,生成第二动画,这个过程可以参照第一动画的生成过程。
示例性的,以屏幕展开为例,其中,第一物理状态为折叠态,第二物理状态为中间态(如屏幕的展开角度为90°),第一界面布局为屏幕为折叠态时的界面布局,如图11中的a所示,第二界面布局为屏幕为展开态时的界面布局,如图11中的c所示。本申请实施例中,因为第二物理状态为中间态,则需要获取第二物理状态“中间态”时对应的界面布局的信息。其中,按照如上所述,可以得到第三界面布局的信息,第三界面布局为屏幕的展开角度为120°的界面布局,如图11中的b所示。其中,图11中的b所示的界面3的尺寸(宽度)可以为:在图11中的a所示的界面1的尺寸(宽度)中增加一半(如界面1的尺寸的一半)后的尺寸(宽度)。
S510,播放第一动画。
应用生成第一动画后,可以控制显示屏显示第一动画,以便在屏幕开合的过程中,可以播放第一动画。
在一种实施例中,应用生成第一动画后,可以将第一动画的每一个动画帧送显,以使得显示驱动驱动显示屏播放第一动画。
在一种实施例中,应用得到一个动画帧,如图层合成模块将动画帧中的各元素进行图层合成得到一个动画帧后,可以将该动画帧存储在图层合成模块的缓冲器buffer中。应用将第一动画的每一个动画帧送显,可以理解为:图层合成模块可以每隔16.67ms(如电子设备的刷新率为60Hz)将图层合成得到的动画帧存储在buffer中,且显示驱动可以每隔16.67ms在图层合成模块的buffer中取一个动画帧。显示驱动取到动画帧后,可以驱动显示屏显示该动画帧。如此,显示屏可以连续显示第一动画中的动画帧,即显示屏可以播放第一动画。
示例性的,以屏幕从折叠态展开至展开态为例,图12A中的a所示的屏幕为折叠态,界面1上显示有桌面,在屏幕逐渐展开的过程中,可以根据屏幕的展开程度,在界面3上显示桌面,如图12A中的b所示。其中,屏幕上除了界面3之外的区域可以不显示内容,如呈黑屏显示。最终在屏幕处于展开态时,界面2上可以显示桌面,如图12A中的c所示。应理解,随着屏幕逐渐展开,显示内容的界面的尺寸逐渐增大。
图12A中的b所示的界面为示意说明,图12A中的b能够表征在屏幕展开过程中显示内容的界面尺寸逐渐增大,且界面上的元素的位置、尺寸等发生改变。应理解,图12A中的b中,屏幕上显示的内容应贴合屏幕的展开角度显示,如图12B中b-e中的效果所示。图12A所示的界面上的内容与图12B所示的界面上的内容不同。
可以理解的是,以屏幕从展开态折叠至折叠态为例,屏幕上显示的界面可以依次如图12A中的d-a所示。
示例性的,以屏幕从折叠态展开至展开态为例,参照图12B中的a-f,随着屏幕逐渐展开,显示内容的界面的尺寸逐渐增大,且界面上的元素的位置、尺寸等发生改变。
如上示例中均以屏幕显示桌面为例,图13A、图13B和图14中以备忘录应用为例,且以屏幕从折叠态展开至展开态为例,说明屏幕的显示过程。
图13A中的a显示的为屏幕为折叠态时的备忘录的界面1,备忘录的界面1为显示有备忘录列表141的界面。在一种实施例中,备忘录的界面1具有关联的备忘录的界面2,备忘录的界面2为显示备忘录列表141中任一备忘录内容的界面。在该示例中,在屏幕逐渐展开的过程中,显示内容的界面尺寸越来越大,显示屏在显示备忘录的界面1的基础上会逐渐显示备忘录的界面2,即备忘录的界面2中的内容越来越多地显示出来,如图13A中的b所示。
当屏幕完全展开至展开态时,屏幕上可以完全显示备忘录的界面2,如图13A中的c所示。
图13A中的b所示的界面为示意说明,图13A中的b能够表征在屏幕展开过程中显示内容的界面尺寸逐渐增大,且显示屏在显示备忘录的界面1的基础上会逐渐显示备忘录的界面2。应理解,图13A中的b中,屏幕上显示的内容应贴合屏幕的展开角度显示,如图13B中b-d中的效果所示。图13A所示的界面上的内容与图13B所示的界面上的内容不同。
示例性的,以屏幕从折叠态展开至展开态为例,参照图13B中的a-e,随着屏幕逐渐展开,显示内容的界面的尺寸逐渐增大,且显示屏在显示备忘录的界面1的基础上会逐渐显示备忘录的界面2,即备忘录的界面2中的内容越来越多地显示出来。
在一种实施例中,备忘录的界面1不具有关联的备忘录的界面2,则屏幕的显示过程可以参照屏幕上桌面的显示过程。其中,图14中的a显示的为屏幕为折叠态时的备忘录的界面1,随着屏幕展开角度的增加,备忘录的界面1中的各元素可以进行平移、尺寸加宽等改变,如图14中的b-c所示。
应理解的是,在备忘录的界面1具有关联的备忘录的界面2的情况下,第一界面布局的信息中可以包括备忘录的界面2的布局的信息,但备忘录的界面2为隐藏invisible状态,即屏幕上不显示备忘录的界面2。在备忘录的界面1不具有关联的备忘录的界面2的情况下,第一界面布局的信息中不包括备忘录的界面2的布局的信息。在该实施例中,备忘录应用可以根据第一界面布局的信息,确定备忘录的界面1是否具有关联的备忘录的界面2,进而确定屏幕开合过程中需要显示的内容。
在一种实施例中,图5中所示的步骤为可选步骤,且步骤可以相互组合。在一种实施例中,图5中所示的模块也可以组合,组合后的模块用于执行图5中的至少一个步骤。
本申请实施例中,在屏幕展开或折叠的过程中,可以生成并显示第一动画,其中,随着屏幕展开角度的逐渐增加,显示内容的界面尺寸会逐渐增加,且界面上各元素的相对位置会逐渐增加,各元素的尺寸会逐渐增大,另外,随着屏幕展开角度的逐渐减小,显示内容的界面尺寸会逐渐减小,且界面上各元素的相对位置会逐渐减小,各元素的尺寸会逐渐减小。也就是说,本申请实施例在屏幕展开或折叠的过程中,屏幕可以播放适配于屏幕的展开角度的动画,动画中内容的衔接变化效果好,可以提高用户体验。
如上实施例中讲述了应用生成第一动画,以及显示第一动画的过程。当屏幕上显示桌面时,不仅要显示桌面上的各元素,还会显示壁纸。在一种实施例中,系统应用(桌面应用和壁纸应用)可以按照如上图5所示的步骤生成每个动画帧中的元素以及壁纸,进而使得在屏幕从第一物理状态变化为第二物理状态的过程中,壁纸也需要适配于屏幕的展开角度进行显示。
在一种实施例中,壁纸应用属于系统应用,在电子设备开机时,壁纸应用可以向系统服务模块注册角度监听器,而不注册onpredraw监听器。在该实施例中,壁纸应用可以执行如下图15所示的步骤,以生成每个动画帧中的壁纸。
下述结合图15讲述壁纸应用生成壁纸的过程,参照图15,在S506之后,壁纸应用可以执行S506A-S508A。应理解,图15中将壁纸应用和桌面应用进行区分。
S506A,系统服务模块向壁纸应用发送第二监听消息。
第二监听消息中包括第二角度,即屏幕处于第二物理状态时屏幕的展开角度。
S507A,壁纸应用根据第二角度,得到屏幕处于第二物理状态时的第二壁纸的第二宽度。
在一种实施例中,屏幕展开的角度与屏幕显示的壁纸的宽度具有映射关系,在一种实施例中,壁纸应用根据第二角度,以及该映射关系,得到屏幕处于第二物理状态时的第二壁纸的第二宽度。
在一种实施例中,壁纸应用可以根据第二角度,以及预设壁纸的宽度,得到屏幕处于第二物理状态时的第二壁纸的第二宽度。
其中,预设壁纸为屏幕处于展开态时的壁纸,如图16A所示,图16A中以壁纸为3个圆形为例进行说明。其中,屏幕处于折叠态时,壁纸应用可以在预设壁纸中裁剪与折叠态时的界面尺寸匹配的部分壁纸进行显示。示例性的,壁纸应用可以以预设壁纸的中心线(点划线)为起始点,向两边裁剪相同的距离,以裁剪得到与折叠态时界面尺寸匹配的壁纸,如图16A中的虚线框中的壁纸所示。在一种实施例中,壁纸应用也可以以预设壁纸的最右边界或者最左边界为起始点进行裁剪,本申请实施例对裁剪的方式不作限制,下述实施例中,以预设壁纸的中心线为起始点向两边裁剪壁纸为例进行说明。
在一种实施例中,屏幕的展开角度与壁纸的宽度具有映射关系,壁纸应用可以根据第二角度,以及该映射关系,得到壁纸的第二宽度。示例性的,如在映射关系中,屏幕的展开角度为180°时,壁纸的宽度为W2,屏幕的展开角度为90°,壁纸的宽度为W3,屏幕的展开角度为45°时,壁纸的宽度为W4,屏幕的展开角度为0°,壁纸的宽度为W1。示例性的,当第二角度为90°时,壁纸应用可以根据该映射关系,确定壁纸的宽度为W3。
在一种实施例中,壁纸应用可以获取第二角度占180°的比例,进而根据该比例以及预设壁纸的宽度,得到屏幕处于第二物理状态时的第二壁纸的第二宽度。示例性的,壁纸应用可以将预设壁纸的宽度与该比例的乘积,作为第二宽度。
S508A,壁纸应用根据第二宽度、屏幕处于第一物理状态时的第一壁纸的第一宽度,以及预设壁纸,生成第一动画帧中每个动画帧中的壁纸。
壁纸应用可以根据第一动画的播放时长,以及电子设备的刷新率,确定第一动画的帧数,可以参照上述实施例中的相关描述。壁纸应用可以根据第二宽度和屏幕处于第一物理状态时的第一壁纸的第一宽度,得到屏幕在物理状态变化过程中壁纸的宽度差值。壁纸应用可以根据第一动画的帧数、宽度差值,以及动效曲线,确定第一动画中相邻两个动画帧中壁纸的宽度差值。
其中,如动效曲线为直线,即相邻两个动画帧中壁纸的宽度差值相等,以屏幕从折叠态展开至展开态为例,图16B中的a所示的为第一个动画帧中的壁纸,即屏幕处于第一物理状态时的第一壁纸。壁纸应用可以根据第一壁纸,以及相邻两个动画帧中壁纸的宽度差值,在预设壁纸中裁剪得到第二个动画帧中的壁纸,如如图16B中的b所示。壁纸应用可以根据第二个动画帧中的壁纸,以及相邻两个动画帧中壁纸的宽度差值,在预设壁纸中裁剪得到第三个动画帧中的壁纸,如图16B中的c所示。以此类推,当屏幕为展开态时,最后一个动画帧中的壁纸可以为预设壁纸,如图16B中的d所示。
可以想到的是,在屏幕折叠的过程中,以屏幕从展开态折叠至折叠态为例,屏幕上的壁纸可以依次如图16B中的d-a所示。
相应的,上述S509可以替换为S509C:
S509C,桌面应用根据第一界面布局的信息,以及第二界面布局的信息,生成第一动画中每个动画帧中的元素。
S509C可以参照S509中的相关描述。
在本申请实施例中,在S508A后还可以包括:
S509A,壁纸应用向图层合成模块发送每个动画帧中的壁纸。
S510A,桌面应用向图层合成模块发送每个动画帧中的元素。
S511A,图层合成模块将桌面应用生成的每个动画帧中各元素,以及壁纸应用生成的每个动画帧中的壁纸进行图层合成,以得到第一动画中的每个动画帧。
示例性的,图层合成模块将每个动画帧中各元素以及每个动画帧中的壁纸进行图层合成的过程可以参照图16C所示。
S512A,图层合成模块将第一动画中的每个动画帧进行送显,以使显示驱动驱动显示屏播放第一动画。
S512A可以参照S510中的相关描述。
参照图16D中的a-c,以屏幕从折叠态展开至展开态为例,可以根据屏幕的展开角度,显示适配于展开角度的桌面,桌面上可以包含壁纸,以及桌面上各元素。
在一种实施例中,图15中所示的步骤为可选步骤,且步骤可以相互组合。在一种实施例中,图15中所示的模块也可以组合,组合后的模块用于执行图15中的至少一个步骤。
本申请实施例中,在屏幕上显示桌面时,不仅可以显示桌面上的各元素,还可以显示桌面上的壁纸,且在屏幕展开或折叠的过程中,可以产生适配于屏幕的展开角度的动画,动画中内容的衔接变化效果好,可以提高用户体验。
在一种实施例中,屏幕上显示的元素可以包括:系统元素和应用元素。应理解,当屏幕上显示不同应用的界面时,界面上可以显示相同的系统元素。如系统元素包括:导航栏和状态栏。应用元素如应用的界面中的各元素。应用不同,应用的界面上显示的元素可以不同。上述实施例中讲述了由应用生成屏幕上显示的所有的元素(包括系统元素和应用元素)的方案,在一种实施例中,为了减少应用的处理量和功耗,可以由系统服务模块生成每个动画帧中的系统元素,由应用生成每个动画帧中的应用元素,进而达到系统服务模块分担应用的处理量的目的。
在该实施例中,参照图17,上述实施例中的S509C可以包括:
S5091,应用根据第一界面布局的信息,确定是否存在系统服务模块需要绘制的系统元素。若是,执行S5092,若否,执行S5095。
应理解,图17中以该应用为桌面应用为例进行说明。
应用可以根据第一界面布局的信息,检测第一界面布局上是否存在系统服务模块需要绘制的系统元素。示例性的,参照图6中的a,第一界面布局上存在系统元素,如导航栏66以及状态栏67。
在一种实施例中,应用可以不执行S5091中的判断步骤,而是直接根据第一界面布局的信息,在第一界面布局的信息指示存在系统元素时,执行S5092,在第一界面布局的信息指示不存在系统元素时,执行S5095。
S5092,应用向系统服务模块发送系统元素的标识、第一动画的播放时长,以及动效
曲线。
在一种实施例中,系统服务模块中可以存储有第一动画的播放时长,以及动效曲线。在该实施例中,S5092可以替换为:应用向系统服务模块发送系统元素的标识。
在一种实施例中,系统服务模块中存储的“第一动画的播放时长,以及动效曲线”可以为预先设置在系统服务模块中的,或者由应用同步至系统服务模块的(如应用在向系统服务模块注册监听器时,可以向系统服务模块同步第一动画的播放时长,以及动效曲线),本申请实施例对此不作限制。
在一种实施例中,可以预先设置由系统服务模块生成每个动画帧中的系统元素,由应用生成每个动画帧中的应用元素。因此在屏幕开合的过程中,可以不执行S5091-S5092。且当第一界面布局的信息指示存在系统元素时,系统服务模块执行S5093,当第一界面布局的信息指示不存在系统元素时,系统服务模块不执行S5093。在该实施例中,应用执行S5094。
S5093,系统服务模块根据第一界面布局的信息和第二界面布局的信息,生成第一动画中每个动画帧中的系统元素。
S5093可以参照S509中的相关描述。在一种实施例中,系统服务模块可以查询WMS,以得到第一界面布局的信息。
S5094,应用根据第一界面布局信息和第二界面布局信息,生成第一动画中每个动画帧中的应用元素。
相应的,上述S510A-S511A可以分别替换为S5101A-S5104A:
S5101A,壁纸应用向图层合成模块发送每个动画帧中的壁纸。
S5102A,桌面应用向图层合成模块发送每个动画帧中的应用元素。
S5103A,系统服务模块向图层合成模块发送每个动画帧中的系统元素。
S5104A,图层合成模块将桌面应用生成的每个动画帧中的应用元素,系统服务模块生成的每个动画帧中的系统元素,以及壁纸应用生成的每个动画帧中的壁纸进行图层合成,以得到第一动画中的每个动画帧。
S512A,图层合成模块将第一动画中的每个动画帧进行送显,以使显示驱动驱动显示屏播放第一动画。
示例性的,图18中的a所示的为桌面应用生成的第一动画中的各动画帧中的应用元素,图18中的b所示的为系统服务模块生成的第一动画中各动画帧中的系统元素,图18中的c所示的为壁纸应用生成的第一动画中各动画帧中的壁纸。其中,图层合成模块可以将接收到的第一动画中各动画帧中的应用元素、系统元素,以及壁纸进行图层合成,得到第一动画中各动画帧,即得到第一动画,如图18中的d所示。
其中,以屏幕从折叠态展开至展开态为例,屏幕显示可以参照图16D所示。
S5095,应用根据第一界面布局信息和第二界面布局信息,生成第一动画中每个动画帧中的元素。
应理解,图17中未示出S5095。当应用执行S5095后,本申请实施例还可以执行S509A-S512A。
在一种实施例中,图17中所示的步骤为可选步骤,且步骤可以相互组合。在一种实施例中,图17中所示的模块也可以组合,组合后的模块用于执行图17中的至少一个步骤。
应理解的是,在屏幕上不显示壁纸的情况下,壁纸应用可以不执行对应的步骤。
本申请实施例中,由系统服务模块生成每个动画帧中的系统元素,由应用生成每个动画帧中的应用元素,进而达到系统服务模块分担应用的处理量的目的,可以减少应用的处理量和功耗,提高应用的处理速度和响应。
参照图18所示,因为屏幕上显示的系统元素、应用元素和壁纸分别由系统服务模块、桌面应用,以及壁纸应用生成。在一种实施例中,系统服务模块、桌面应用,以及壁纸应用生成速度不一,若系统服务模块、桌面应用,以及壁纸应用在生成动画帧中的元素以及壁纸后,送显由显示屏显示,则会出现不同动画帧中的元素交叠的现象,第一动画的内容衔接变化效果差。为了避免该问题,本申请实施例中,系统服务模块可以指示系统服务模块、桌面应用,以及壁纸应用同时分别准备生成系统元素、应用元素、壁纸,再指示系统元素、应用元素、壁纸同时进行图层合成以及送显,进而能够保证每个动画帧的准确性。
在该实施例中,应用在向系统服务模块注册监听器时,监听器还可以包括:onConfigurationChanged监听器和onstagechange监听器。
其中,onConfigurationChanged监听器,用于响应于屏幕的物理状态发生变化,系统服务模块可以向桌面应用,以及壁纸应用发送第三监听消息,第三监听消息用于指示桌面应用,以及壁纸应用分别开始生成动画帧中的应用元素、壁纸。onstagechange监听器,用于响应于系统服务模块、桌面应用,以及壁纸应用分别生成动画帧中的系统元素、应用元素以及壁纸,系统服务模块可以向桌面应用,以及壁纸应用发送第四监听消息。第四监听消息用于指示系桌面应用,以及壁纸应用分别将动画帧中的应用元素以及壁纸进行图层合成以及送显。
参照图19,在一种实施例中,S508可以替换为S508B,S506A可以替换为S509B:
S508B,系统服务模块向桌面应用发送第一监听消息和第三监听消息。
在一种实施例中,第一监听消息和第三监听消息可以同时发送或不同时发送,或者系统服务模块可以将第一监听消息和第三监听消息合并为一个监听消息发送。
S509B,系统服务模块向壁纸应用发送第二监听消息和第三监听消息。
应理解,S508B和S509B没有先后顺序的区分,二者可以同时执行。
在一种实施例中,第二监听消息和第三监听消息可以同时发送或不同时发送,或者系统服务模块可以将第二监听消息和第三监听消息合并为一个监听消息发送。
应注意的是,在执行S508B和S509B之后,系统服务模块可以执行冻屏操作。冻屏操作可以理解为系统服务模块指示显示屏等待,显示屏不显示界面。
在S508B和S509B之后,系统服务模块可以执行S5093,以生成每个动画帧中的系统元素。桌面应用执行S5091-S5092,以及S5094,以生成每个动画帧中的应用元素。壁纸应用执行S507A-S508A,以生成每个动画帧中的壁纸。
其中,桌面应用生成每个动画帧中的应用元素之后,可以执行S510B,壁纸应用生成每个动画帧中的壁纸之后,可以执行S511B:
S510B,桌面应用向系统服务模块反馈第一响应消息。
第一响应消息,用于指示桌面应用已生成每个动画帧中的应用元素。
S511B,壁纸应用向系统服务模块反馈第二响应消息。
第二响应消息,用于指示壁纸应用已生成每个动画帧中的壁纸。
在一种实施例中,S510B-S511B为可选步骤。
在一种实施例中,系统服务模块在执行S508B和S509B之后,若在预设时长内未接收到来自桌面应用、壁纸应用的“生成动画帧”失败的消息,系统服务模块可以确定桌面应用已生成每个动画帧中的应用元素,以及壁纸应用已生成每个动画帧中的壁纸。本申请实施例中对壁纸应用、桌面应用,以及系统服务模块之间如何交互“已完成生成每个动画帧中的壁纸、应用元素”的方式不做限制。
S512B,系统服务模块响应于第一响应消息,向桌面应用发送第四监听消息。
S513B,系统服务模块响应于第二响应消息,向壁纸应用发送第四监听消息。
应理解,S512B和S513B没有先后顺序的区分,可以同时执行。
在S512B和S513B之后,系统服务模块可以执行解冻屏操作。解冻屏操作可以理解为:系统服务模块指示显示屏显示界面。
在S512B和S513B之后,还可以执行如上S5101A-S5104A,以及S512A。
在一种实施例中,图19中所示的步骤为可选步骤,且步骤可以相互组合。在一种实施例中,图19中所示的模块也可以组合,组合后的模块用于执行图19中的至少一个步骤。
在一种实施例中,在生成并显示第一动画的过程中,系统服务模块执行冻屏操作,以及解冻屏操作的过程可以参照图20所示。参照图20,以屏幕开合之前称为“开始”,以屏幕显示第一动画后称为“结束”为例。其中,用户可以触发屏幕折叠或展开,系统服务模块检测到屏幕的物理形态发生变化,可以通知应用(如系统应用和/或第三方应用)生成动画帧中的应用元素、壁纸(若存在)。其中,系统服务模块检测到屏幕的物理形态发生变化的方式可以参照S503-S505中的描述。系统服务模块通知应用生成动画帧中的应用元素、壁纸的方式可以参照S508B-S509B中的描述。
在一种实施例中,系统服务模块在向应用通知生成动画帧中的应用元素、壁纸时,或者在向应用通知生成动画帧中的应用元素、壁纸之后,可以执行冻屏操作。在一种实施例中,若由系统服务模块生成动画帧中的系统元素,则在系统服务模块执行冻屏操作时或者执行冻屏操作之后,生成动画帧中的系统元素。其中,系统服务模块响应于应用已生成动画帧中的应用元素、壁纸,且系统服务模块也已生成动画帧中的系统元素,可以执行解冻屏操作,且通知应用启动应用元素、壁纸,以及系统服务模块也启动系统元素,使得显示屏可以显示第一动画。其中,系统服务模块检测应用已生成动画帧中的应用元素、壁纸可以参照S510B-S511B中的描述。系统服务模块通知应用启动应用元素、壁纸的方式可以参照S512B-S513B中的描述。
应理解,图20中的系统服务模块启动系统元素可以理解为:系统服务模块向图层合成模块发送每个动画帧中的系统元素。图20中的应用启动应用元素可以理解为:应用向图层合成模块发送每个动画帧中的应用元素、壁纸。
在一种实施例中,若屏幕上显示的为第三方应用的界面时,第三方应用执行的动作可以参照桌面应用,该实施例中不包括壁纸应用相关的动作。
本申请实施例中,系统服务模块可以指示系统服务模块、桌面应用,以及壁纸应用同时准备分别生成系统元素、应用元素、壁纸,再同时指示将统元素、应用元素、进行图层合成以及送显,可以避免一个动画帧中出现不同动画帧中的元素和壁纸,能够保证每个动画帧的准确性。
参照图21,屏幕处于第一物理状态(折叠态)时,屏幕上可以显示至少一个应用(如两个应用)的界面,这样当屏幕从第一物理状态(折叠态)变化至第二物理状态(展开态),且当屏幕处于第二物理状态(展开态)时,屏幕上也可以显示该至少一个应用(如两个应用)的界面。其中,在屏幕展开的过程中,电子设备也可以根据竖屏的第一界面布局的信息,以及横屏的第二界面布局的信息,生成动画,以在屏幕的物理状态发生改变时,播放该动画,具体可以参照上述实施例中的相关描述。
示例性的,参照图21中的a,当屏幕从第一物理状态(折叠态)时,屏幕划分为上下两个界面,其中界面a为应用1的界面,界面b为应用2的界面。在屏幕从第一物理状态(竖屏)变化至第二物理状态(横屏)时,参照图21中的b,屏幕划分为左右两个界面,其中界面c为应用1的界面,界面d为应用2的界面。在一种实施例中,界面a可以称为应用1的第一界面布局,界面c可以称为应用1的第二界面布局,应用1可以根据第一界面布局的信息,以及第二界面布局的信息,生成动画。同理的,界面b可以称为应用2的第一界面布局,界面d可以称为应用2的第二界面布局,应用2可以根据第一界面布局的信息,以及第二界面布局的信息,生成动画。其中,屏幕从第一物理状态(竖屏)变化至第二物理状态(横屏)的过程中,屏幕可以播放应用1生成的动画以及应用2生成的动画。
应理解,图21对不同应用所占界面(上下或左右)为示例说明,应用a和应用b的界面还可以存在交叠,或者屏幕上应用a和应用b也可以不完全占用屏幕,在屏幕的未被占用的位置可以显示桌面或其他应用的界面。本申请实施例对屏幕上如何显示多个应用的界面的方式不做限制。
上述实施例中均以电子设备中的各模块为执行主体,介绍本申请实施例提供的显示方法。在一种实施例中,以电子设备为执行主体,参照图22,本申请实施例提供的显示方法可以包括:
S2201,当电子设备的屏幕为第一物理状态时,显示第一界面。
示例性的,第一界面可以如图12B中的a所示。
S2202,在屏幕从第一物理状态变化至第二物理状态的过程中,播放第一动画,第一动画中的动画帧所占屏幕尺寸与屏幕的展开角度相关。
屏幕的展开角度越大,第一动画中的动画帧所占屏幕尺寸越大,屏幕的展开角度越小,第一动画中的动画帧所占屏幕尺寸越小。在屏幕展开过程中,第一动画中的动画帧所占屏幕尺寸逐渐增大,在屏幕折叠过程中,第一动画中的动画帧所占屏幕尺寸逐渐减小。
示例性的,第一动画中的动画帧可以如图12B中的b-e所示。
S2203,当屏幕为第二物理状态时,显示第二界面,第二界面为第一动画中的最后一个动画帧。
示例性的,第一界面可以如图12B中的f所示。
应理解,S2201-S2203未在图中示出。
需要说明的是,上述实施例中所述的模块或部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integrated circuit,
ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序代码的处理器如控制器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
Claims (12)
- 一种具有柔性屏幕的电子设备的显示方法,其特征在于,包括:当电子设备的屏幕为第一物理状态时,显示第一界面;在所述屏幕从所述第一物理状态变化至第二物理状态的过程中,播放第一动画,所述第一动画中的动画帧的尺寸与屏幕的展开角度相关;当所述屏幕为所述第二物理状态时,显示第二界面,所述第二界面为所述第一动画中的最后一个动画帧。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于所述屏幕从所述第一物理状态变化至第二物理状态,生成所述第一动画。
- 根据权利要求2所述的方法,其特征在于,所述生成所述第一动画,包括:根据所述第一界面的第一界面布局信息,以及所述第二界面的第二界面布局信息,生成所述第一动画。
- 根据权利要求3所述的方法,其特征在于,所述根据所述第一界面的第一界面布局信息,以及所述第二界面的第二界面布局信息,生成所述第一动画,包括:根据所述第一界面的第一界面布局信息,以及所述第二界面的第二界面布局信息,获取界面上各元素的变化形式;根据所述各元素的变化形式、所述第一动画的播放时长,以及动效曲线,生成所述第一动画。
- 根据权利要求4所述的方法,其特征在于,所述各元素包括如下至少一项:壁纸、应用图标、文字、图片,文件夹、卡片、桌面小部件、导航栏、状态栏,以及微件widget。
- 根据权利要求5所述的方法,其特征在于,所述各元素的变化形式;包括如下至少一项:位置变化、尺寸变化,以及内容变化。
- 根据权利要求1-6中任一项所述的方法,其特征在于,所述屏幕可以为如下任一项:外折屏、内折屏、卷轴屏。
- 根据权利要求7所述的方法,其特征在于,当所述屏幕为外折屏或内折屏时,所述第一物理状态为如下任一项:折叠态、中间态、展开态,所述中间态为处于所述折叠态和所述展开态之间的状态;当所述第一物理状态为折叠态时,所述第二物理状态为中间态或展开态;当所述第一物理状态为展开态时,所述第二物理状态为中间态或折叠态;当所述第一物理状态为中间态时,所述第二物理状态为展开态、或折叠态、或另一中间态。
- 一种电子设备,其特征在于,包括:处理器和存储器;所述存储器存储计算机指令;所述处理器执行所述存储器存储的计算机指令,使得所述处理器执行如权利要求1-8中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1-8中任一项所述的方法。
- 一种计算机程序产品,其特征在于,包括计算机程序或指令,所述计算机程序或 指令被处理器执行时,实现权利要求1-8中任一项所述的方法。
- 一种程序产品,其特征在于,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,通信装置的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得通信装置实施如权利要求1-8任意一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210462994.3A CN117008852A (zh) | 2022-04-28 | 2022-04-28 | 具有柔性屏幕的电子设备的显示方法和电子设备 |
CN202210462994.3 | 2022-04-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023207738A1 true WO2023207738A1 (zh) | 2023-11-02 |
Family
ID=88517683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/089393 WO2023207738A1 (zh) | 2022-04-28 | 2023-04-20 | 具有柔性屏幕的电子设备的显示方法和电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117008852A (zh) |
WO (1) | WO2023207738A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160372083A1 (en) * | 2015-06-18 | 2016-12-22 | Intel Corporation | Facilitating increased user experience and efficient power performance using intelligent segmentation on flexible display screens |
CN112506386A (zh) * | 2019-09-16 | 2021-03-16 | 华为技术有限公司 | 一种折叠屏显示方法及电子设备 |
CN112558898A (zh) * | 2019-09-10 | 2021-03-26 | 华为技术有限公司 | 显示方法及电子设备 |
WO2021232961A1 (zh) * | 2020-05-18 | 2021-11-25 | Oppo广东移动通信有限公司 | 显示控制方法、装置、存储介质及电子设备 |
CN114115769A (zh) * | 2020-08-31 | 2022-03-01 | 华为技术有限公司 | 一种显示方法及电子设备 |
-
2022
- 2022-04-28 CN CN202210462994.3A patent/CN117008852A/zh active Pending
-
2023
- 2023-04-20 WO PCT/CN2023/089393 patent/WO2023207738A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160372083A1 (en) * | 2015-06-18 | 2016-12-22 | Intel Corporation | Facilitating increased user experience and efficient power performance using intelligent segmentation on flexible display screens |
CN112558898A (zh) * | 2019-09-10 | 2021-03-26 | 华为技术有限公司 | 显示方法及电子设备 |
CN112506386A (zh) * | 2019-09-16 | 2021-03-16 | 华为技术有限公司 | 一种折叠屏显示方法及电子设备 |
WO2021232961A1 (zh) * | 2020-05-18 | 2021-11-25 | Oppo广东移动通信有限公司 | 显示控制方法、装置、存储介质及电子设备 |
CN114115769A (zh) * | 2020-08-31 | 2022-03-01 | 华为技术有限公司 | 一种显示方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117008852A (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10671282B2 (en) | Display device including button configured according to displayed windows and control method therefor | |
US10310730B2 (en) | Display device for controlling displaying of a window and method of controlling the same | |
US9141272B1 (en) | Panning application launcher with target based folder creation and icon movement on a proximity-sensitive display | |
US9448694B2 (en) | Graphical user interface for navigating applications | |
WO2021244443A1 (zh) | 分屏显示方法、电子设备及计算机可读存储介质 | |
CN111966252A (zh) | 应用窗口显示方法和电子设备 | |
US20200257411A1 (en) | Method for providing user interface related to note and electronic device for the same | |
US20220253207A1 (en) | Display method and electronic device | |
CN105718189B (zh) | 电子装置以及使用该电子装置显示网页的方法 | |
JP6066602B2 (ja) | 処理装置 | |
US20150063785A1 (en) | Method of overlappingly displaying visual object on video, storage medium, and electronic device | |
US20230281025A1 (en) | Application Interface Layout Method and Electronic Device | |
CN110928464B (zh) | 用户界面的显示方法、装置、设备及介质 | |
WO2022089407A1 (zh) | 一种显示方法及电子设备 | |
KR102192159B1 (ko) | 디스플레이 방법 및 그 방법을 처리하는 전자 장치 | |
US9256358B2 (en) | Multiple panel touch user interface navigation | |
WO2023207738A1 (zh) | 具有柔性屏幕的电子设备的显示方法和电子设备 | |
CN114995929B (zh) | 一种弹窗的显示方法及装置 | |
CN114461312B (zh) | 显示的方法、电子设备及存储介质 | |
CN116033062B (zh) | 应用程序的界面显示方法、电子设备及可读存储介质 | |
KR20120117107A (ko) | 듀얼 디스플레이를 포함하는 휴대용 단말기 및 그 동작 방법 | |
CN115808999B (zh) | 窗口显示方法、终端设备及计算机可读存储介质 | |
WO2024002196A1 (zh) | 一种电子设备的显示方法、装置和存储介质 | |
WO2024099206A1 (zh) | 一种图形界面处理方法以及装置 | |
WO2022068628A1 (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: 23795171 Country of ref document: EP Kind code of ref document: A1 |