CN117539561A - 页面显示方法和相关装置 - Google Patents
页面显示方法和相关装置 Download PDFInfo
- Publication number
- CN117539561A CN117539561A CN202210923735.6A CN202210923735A CN117539561A CN 117539561 A CN117539561 A CN 117539561A CN 202210923735 A CN202210923735 A CN 202210923735A CN 117539561 A CN117539561 A CN 117539561A
- Authority
- CN
- China
- Prior art keywords
- page
- elements
- target
- configuration information
- electronic device
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000008707 rearrangement Effects 0.000 claims abstract description 37
- 238000005259 measurement Methods 0.000 claims abstract description 10
- 230000000694 effects Effects 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 16
- 230000000875 corresponding effect Effects 0.000 description 46
- 238000012545 processing Methods 0.000 description 22
- 238000007726 management method Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000013461 design Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000009877 rendering Methods 0.000 description 8
- 238000010295 mobile communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000003321 amplification Effects 0.000 description 5
- 238000003199 nucleic acid amplification method Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 210000000577 adipose tissue Anatomy 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (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
技术领域
本申请涉及终端技术领域,并且更具体地,涉及页面显示方法和相关装置。
背景技术
随着折叠屏手机的出现,应用程序的页面显示与终端屏幕的适配越来越受到关注。
目前,在用户将折叠屏手机的折叠屏从折叠状态变为展开状态时,在展开状态下的折叠屏上显示应用的页面时,通常先将折叠状态下的折叠屏上所显示的应用的页面按照预设的放大比例(比如,放大比例为2倍、或3倍等)进行放大,再将放大后的页面显示在展开状态下的折叠屏上。
然而,由于放大后的页面的面积通常大于展开状态下的折叠屏的面积,这就导致放大后的页面显示在展开状态下的折叠屏上时,容易出现内容显示不全的情况,也就是容易出现应用的页面与展开态的屏幕不适配的问题,影响用户的体验。
发明内容
本申请提供了页面显示方法和相关装置,以期实现应用的页面与展开状态下的屏幕相适配,提升用户体验。
第一方面,本申请提供了一种页面显示方法,应用于电子设备,该方法包括:在折叠态下的折叠屏显示第一页面;在检测到折叠屏被展开时,基于对第一页面中的元素的测量和布局,得到第三页面;对第三页面中的目标元素进行重布局,得到目标元素重布局后的位置,该目标元素为视图或视图组;基于目标元素重布局后的位置进行绘制,得到第二页面,该目标元素在第三页面中的绝对布局和在第二页面中的绝对布局不同;在展开态下的折叠屏显示第二页面。
其中,对第一页面中的元素的测量可以用于确定元素在第三页面中的大小,对第一页面中的元素的布局可用于确定元素在第三页面中的位置。
目标元素可以是预定义的。该目标元素例如可以在设备出厂前,对不同应用的页面测试确定,具体可以包括:页面中一些可能会在折叠屏由折叠态被展开后落在折叠屏范围之外的元素,或者显示不全的元素,等等。本申请对此不作限定。
基于上述方法,电子设备在检测到折叠屏从折叠态变为展开态时,先以折叠态下的折叠屏上所显示的第一页面中元素的大小和位置为基准,通过测量和布局来得到第三页面,再对第三页面中的部分或全部元素(也即上述目标元素)的位置进行重布局,进而可以根据目标元素重布局后的位置进行绘制以得到第二页面,并将第二页面显示在折叠屏上。如此一来,用户在将折叠屏展开后看到的页面为第二页面,由于在绘制第二页面前,考虑到目标元素可能落在折叠屏范围之外的情况,对其进行了重布局,从而使得呈现给用户的第二页面包含了第一页面中的所有元素,可以避免第一页面中的元素在折叠屏被展开后显示不全的情况,换言之,折叠屏上所显示的页面能够与屏幕相适配,从而提升了用户体验。
结合第一方面,在第一方面的某些可能的实现方式中,所述对第三页面中的目标元素进行重布局,包括:获取配置信息,该配置信息用于指示目标元素在重布局之前的初始位置和重布局之后的目标位置,该目标元素重布局之前的初始位置和重布局之后的目标位置不同;基于配置信息,对第三页面中的目标元素进行重布局。
通过预先设置好的配置信息来对第三页面中的目标元素进行重布局,使得电子设备根据配置信息的指示对第三页面中的目标元素进行位置调整即可,无需再去临时通过大量计算来确定各个目标元素的显示位置,提高了重布局的效率。
结合第一方面,在第一方面的某些可能的实现方式中,该配置信息指示第三页面中的多个元素分别在重布局之前的初始位置和重布局之后的目标位置;该多个元素包括多个视图,或者,该多个元素包括至少一个视图组和至少一个视图组中的多个视图,且多个元素包括目标元素。
其中,该多个元素可以为第三页面中一部分区域的元素,也可以为第三页面中所有区域的元素。该多个元素中包括需要进行重布局的目标元素,也包括无需进行重布局的目标元素。
在某些可能的实现方式中,在所述基于配置信息,对第三页面中的目标元素进行重布局之前,该方法还包括:基于配置信息指示的多个元素中每个元素的初始位置和目标位置,确定需要重布局的目标元素;在第三页面中匹配目标元素。
通过对配置信息所指示的每个元素的初始位置和目标位置的差异比对,可从多个元素中快速筛选出目标元素,进而加快在第三页面中定位出目标元素的效率。
结合第一方面,在第一方面的某些可能的实现方式中,该多个元素包括至少一个视图组和至少一个视图组中的多个视图,以及所述基于配置信息指示的多个元素中每个元素的初始位置和目标位置,确定需要重布局的目标元素,包括:基于多个元素中各元素的层次结构,按照从父元素到子元素的顺序,遍历多个元素中每个元素的初始位置和目标位置,以确定需要重布局的目标元素。
通过各个元素的层次结构来遍历寻找出目标元素,从而可以准确地确定出目标元素,避免目标元素被遗漏。
结合第一方面,在第一方面的某些可能的实现方式中,所述在第三页面中匹配目标元素,包括:根据多个元素在第三页面中的位置和配置信息中指示的目标元素的初始位置,在第三页面中匹配目标元素。
结合第一方面,在第一方面的某些可能的实现方式中,该配置信息还用于指示多个元素中每个元素的标识;所述在第三页面中匹配目标元素,包括:根据多个元素的标识和配置信息中指示的目标元素的标识,在第三页面中匹配目标元素。
结合第一方面,在第一方面的某些可能的实现方式中,该配置信息还用于指示页面的放大比例,该配置信息指示的多个元素中每个元素的初始位置和目标位置是基于放大比例确定的。
其中,放大比例可以满足如下条件:0<R≤N,N为折叠屏在完全展开时的屏幕宽度与折叠屏在折叠状态下的屏幕宽度之间的比值。在一种可能的设计中,在N=2时,R可取值1.2。
通过配置信息来指示页面的放大比例,使得页面中的元素可根据放大需求被适度放大,既能避免展开态下的折叠屏所显示的页面中元素不会过大,使得放大后的元素与展开态下的折叠屏的屏幕相适配,提高用户体验。
在一种可实现的方式中,配置信息还用于指示电子设备的折叠屏在展开状态下,第三页面所占的屏幕宽度。
第三页面所占的屏幕宽度Q可以满足如下条件:Qx=Ry,其中,Q为电子设备在展开状态下,第三页面所占的屏幕宽度,x为电子设备在展开状态下的屏幕宽度,y为电子设备在折叠状态下的屏幕宽度,R为放大比例。
结合第一方面,在第一方面的某些可能的实现方式中,该放大比例大于1的情况下,该配置信息还用于指示资源的存储路径,该资源是与折叠屏在展开态下的显示分辨率匹配的资源。
在配置信息所指示的放大比例大于1的情况下,通过配置信息指示与折叠屏在展开态下的显示分辨率匹配的资源的存储路径,提高了展开态下的折叠屏所显示的页面中的元素的清晰度,也提升了用户体验。
结合第一方面,在第一方面的某些可能的实现方式中,该第一页面为应用程序的页面,所述获取配置信息,包括:基于应用程序的页面对应的Activity组件,获取与Activity组件对应的配置信息。
第二方面,本申请提供了一种页面显示装置,该装置包括用于执行如第一方面以及第一方面任意一种可能的实现方式的模块。
第三方面,本申请提供了一种页面显示装置,包括存储器和处理器,存储器用于存储计算机程序,处理器用于执行计算机程序,以执行第一方面以及第一方面任意一种可能的实现方式。
第四方面,本申请提供了一种电子设备,该电子设备包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用存储器中的计算机程序以执行如第一方面以及第一方面任一种可能实现方式中的方法。
第五方面,本申请提供了一种芯片,芯片包括处理器,该处理器用于调用存储器中的计算机程序,以执行如第一方面以及第一方面任一种可能实现方式中的方法。
第六方面,本申请提供了一种计算机可读存储介质,包括计算机程序,当该计算机程序在计算机上运行时,使得电子设备执行第一方面以及第一方面任一种可能实现方式中的方法。
第七方面,本申请提供了一种计算机程序产品,包括计算机程序,当该计算机程序在计算机上运行时,使得电子设备执行第一方面以及第一方面任一种可能实现方式中的方法。
应当理解的是,本申请的第二方面至第七方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1是本申请实施例提供的电子设备的一种外观示意图;
图2是本申请实施例提供的元素的一种结构示意图;
图3a是本申请实施例提供的电子设备的硬件结构的示意图;
图3b是本申请实施例提供的电子设备的软件与硬件的结构框图;
图4是本申请实施例提供的电子设备进行页面显示的一种界面示意图;
图5是本申请实施例提供的页面显示方法的示意性流程图;
图6a至图6d是本申请实施例提供的电子设备进行页面显示的另一界面示意图;
图7a至图7e是本申请实施例提供的电子设备进行页面显示的另一界面示意图;
图8是本申请实施例提供的电子设备的软件架构示意图;
图9是本申请实施例提供的页面显示装置的示意性框图;
图10是本申请实施例提供的页面显示装置的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例提供的页面显示方法,可以应用在具备柔性屏幕的电子设备中。用户使用具有柔性屏幕的电子设备时,可以展开或折叠屏幕,即屏幕可以开合。电子设备的屏幕可以包括但不限于为:外折屏、内折屏、对角折叠屏等。电子设备的屏幕可以折叠至少一次,与此对应的屏幕可以称为双折折叠屏、三折折叠屏等。下述实施例中以电子设备的屏幕折叠一次为例进行说明。由于电子设备的屏幕可折叠,因此也可将该屏幕称为折叠屏。
为便于理解,首先对下文涉及到的几个术语做简单说明。
1.折叠态与展开态:电子设备的折叠屏处于被折叠的状态称为折叠态,电子设备的折叠屏处于被展开的状态称为展开态。
对于具有外折折叠屏的电子设备来说,由于该电子设备具有一个屏幕,则折叠态可以理解为将该屏幕从该屏幕的折叠线对折,直至折叠线两侧的屏幕之间的夹角为0°或近似0°时的状态。例如,对于双折的折叠屏,该折叠线可以为折叠屏的中轴线。
对于具有内折折叠屏的电子设备来说,由于该电子设备具有多个独立的屏幕,则折叠态可以为多个屏幕之间的夹角为0°或近似0°时的状态。比如,对于具有两个独立屏幕的内折折叠屏的电子设备,在两个屏幕之间的夹角为0°或近似0°时,说明折叠屏处于折叠态。
下文中为方便说明,将外折折叠屏的折叠线两侧的屏幕之间的夹角和内折折叠屏多个屏幕之间的夹角统称为屏幕之间的夹角。
图1示例性地示出了电子设备的一种外观示意图。应理解,图1所示的电子设备的折叠屏为外折屏,且该折叠屏为双折折叠屏。
图1中的(a)示出了该电子设备的折叠屏处于折叠态下的外观,图1中的(b)示出了该电子设备的折叠屏处于完全展开态下的外观。用户可通过对电子设备的折叠屏进行展开操作、或折叠操作,在如图1中的(a)和如图1中的(b)之间进行折叠屏的不同状态的转换。
该折叠屏在折叠态时,屏幕间夹角为0°或近似0°,当折叠屏被展开后,屏幕间夹角随之增大,屏幕间夹角可以在0°至180°的范围内变化。需要说明的是,文中只是为了区分电子设备在不同状态下显示的不同页面,对折叠屏定义了折叠态和展开态,而并不限定不同状态对应的屏幕间夹角。不同的设备厂商可以将折叠态和展开态对应的角度范围做出不同的定义。在另一些设计中,折叠屏还可能被定义更多的状态,比如中间态、支架态等,本申请对此均不做限定。
需注意,这里所述的电子设备在不同状态下显示的不同页面,是指同一应用程序(可简称,应用)(application,APP)的页面,虽然在不同状态下显示的页面不同,但这些状态下显示的页面都包含了相同的页面内容,例如包含了相同的元素,且元素间的关系也相同。其中,所述元素包括视图(view)和视图组(viewgroup),元素间的关系包括视图与视图间的关系,以及视图与视图组间的关系。
应理解,电子设备无论处于折叠态还是展开态,均可通过折叠屏显示各种应用的各个页面。比如,如图1所示,电子设备可通过折叠屏显示桌面应用的主页面。图1中的(a)和(b)中所示的页面就分别为该电子设备在不同状态下显示的不同页面。
一种可能的设计是,电子设备可以在由折叠态展开至某一预设角度时,将显示的页面由适用于折叠态的页面切换为适用于展开态的页面,该预设角度可以由设备厂商定义,不同的设备厂商对于该预设角度定义的值也可能不同,本申请对此不作限定。
2.元素:应用程序的页面内容可以包括多个元素。该多个元素可以包括多个视图,或者,多个元素可以包括至少一个视图组和该至少一个视图组中的多个视图。视图是元素的最小单位。
对于任意一个页面,可将该页面上展现的所有内容统称为一个元素,也可将页面上展现的内容划分为多个不同的部分,每个部分称为一个元素。
在页面中,元素可按照父元素到子元素的层次结构进行设置。其中,父元素可以包括子元素,父元素可以为视图组,子元素可以为视图、或者视图组。
下面结合图2对元素的结构进行示例性说明。
图2为本申请实施例提供的元素的一种结构示意图。如图2所示,该元素包括视图组200,视图组200可包括视图组210和视图组220。其中,视图组210可进一步包括视图211和视图组212,视图组220可进一步包括视图221和视图222,视图组212可进一步包括视图2121和视图2122。
应理解,视图组200可以为视图组210和视图组220的父元素,视图组210和视图组220可以为视图组200的子元素。视图组210可以为视图211和视图组212的父元素,视图211和视图组212可以为视图组210的子元素。视图组220可以为视图221和视图222的父元素,视图221和视图222可以为视图组220的子元素。视图组212可以为视图2121和视图2122的父元素,视图2121和视图2122可以为视图组212的子元素。
3.绝对布局(relative layout):又称坐标布局,可以直接指定元素的绝对位置,可通过设置元素的X坐标和Y坐标来控制元素的位置。其中,元素的X坐标和Y坐标分别是相对于预定义的坐标轴来设置。
下面对适用于本申请实施例提供的方法的电子设备进行介绍。
图3a是本申请实施例提供的电子设备的硬件结构的示意图。
电子设备300可以包括处理器310,外部存储器接口320,内部存储器321,通用串行总线(universal serial bus,USB)接口330,充电管理模块340,电源管理模块341,天线1,天线2,移动通信模块350,无线通信模块360,音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口370D,传感器模块380,按键390,马达391,指示器392,摄像头393,显示屏394,以及用户标识模块(subscriber identification module,SIM)卡接口395等。其中传感器模块380可以包括压力传感器380A,陀螺仪传感器380B,气压传感器380C,磁传感器380D,加速度传感器380E,距离传感器380F,接近光传感器380G,指纹传感器380H,温度传感器380J,触摸传感器380K,环境光传感器380L,骨传导传感器380M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备300的具体限定。在本申请另一些实施例中,电子设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器310可以包括一个或多个处理单元,例如:处理器310可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器310中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器310中的存储器为高速缓冲存储器。该存储器可以保存处理器310刚用过或循环使用的指令或数据。如果处理器310需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器310的等待时间,因而提高了系统的效率。
在一些实施例中,处理器310可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备300的结构限定。在本申请另一些实施例中,电子设备300也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块340用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块340可以通过USB接口330接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块340可以通过电子设备300的无线充电线圈接收无线充电输入。充电管理模块340为电池充电的同时,还可以通过电源管理模块341为电子设备供电。
电源管理模块341用于连接电池,充电管理模块340与处理器310。电源管理模块341接收电池和/或充电管理模块340的输入,为处理器310,内部存储器321,显示屏394,摄像头393,和无线通信模块360等供电。电源管理模块341还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块341也可以设置于处理器310中。在另一些实施例中,电源管理模块341和充电管理模块340也可以设置于同一个器件中。
电子设备300的无线通信功能可以通过天线1,天线2,移动通信模块350,无线通信模块360,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备300中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块350可以提供应用在电子设备300上的包括2G/3G/4G/5G等无线通信的解决方案。
无线通信模块360可以提供应用在电子设备300上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备300的天线1和移动通信模块350耦合,天线2和无线通信模块360耦合,使得电子设备300可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备300通过GPU,显示屏394,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏394和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器310可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏394用于显示图像,视频等。显示屏394包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),MiniLed,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备300可以包括1个或N个显示屏394,N为大于1的正整数。本申请实施例中的显示屏394为柔性屏幕,可以响应于用户的操作被折叠或展开,相关介绍可以参照图1中所示的屏幕。
电子设备300可以通过ISP,摄像头393,视频编解码器,GPU,显示屏394以及应用处理器等实现拍摄功能。
外部存储器接口320可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备300的存储能力。外部存储卡通过外部存储器接口320与处理器310通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器321可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器321可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备300使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器321可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器310通过运行存储在内部存储器321的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备300的各种功能应用以及数据处理。
电子设备300可以通过音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口370D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
按键390包括开机键,音量键等。按键390可以是机械按键。也可以是触摸式按键。电子设备300可以接收按键输入,产生与电子设备300的用户设置以及功能控制有关的键信号输入。
马达391可以产生振动提示。马达391可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏394不同区域的触摸操作,马达391也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器392可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口395用于连接SIM卡。SIM卡可以通过插入SIM卡接口395,或从SIM卡接口395拔出,实现和电子设备300的接触和分离。在一些实施例中,电子设备300采用eSIM,即:嵌入式SIM卡。
图3b为本申请实施例提供电子设备的软件与硬件的结构框图。
如图3b所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层、应用程序框架层、安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图3b所示,应用程序层可以包括锁屏应用、桌面应用等。桌面应用例如可进一步包括相机、图库、日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、游戏、购物、出行、即时通信(如短信息、微信等)、智能家居、设备控制等应用程序。
其中,智能家居应用可用于对具有联网功能的家居设备进行控制或管理。例如,家居设备可以包括电灯、电视和空调。又如,家居设备还可以包括防盗门锁、音箱、扫地机器人、插座、体脂秤、台灯、空气净化器、电冰箱、洗衣机、热水器、微波炉、电饭锅、窗帘、风扇、电视、机顶盒、门窗等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3b所示,应用程序框架层可以包括ActivityManagerService、视图系统、窗口管理服务(window manager service,WMS)、SurfaceFlinger等。本申请实施例对此不作任何限制。
WMS也可以称为窗口管理器,可用于管理窗口程序,它负责窗口的启动、添加、删除。窗口的层级、大小也由WMS管理。窗口不具备绘制功能,因此每个窗口都需要一块Surface来供自己绘制,为每个窗口分配Surface是由WMS完成的。
ActivityManagerService可简称为AMS,是Android中很重要的一个服务,它统筹管理着Android的四大组件,即管理着活动(Activity)、服务(Service)、广播(Broadcast)和内容提供(ContentProvider)四大组件。AMS也可统一调度各应用进程。
SurfaceFlinger可用于接收多个图形显示数据,将这些图形显示数据合成,也就是进行图层合成,以得到待显示的界面。
SurfaceFlinger是整个Android系统渲染的核心进程。所有应用的渲染逻辑最终都会来到SurfaceFlinger中进行处理,比如进行图像合成。SurfaceFlinger会把合成后的图像数据交给中央处理器(central processing unit,CPU)或者图形处理器(graphicsprocessing unit,GPU)进行绘制。应理解,SurfaceFlinger的具体原理可参考现有技术,在此不再赘述。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
安卓运行时可以包括核心库和虚拟机。安卓运行时负责Android系统的调度和管理。核心库可以包含两部分:一部分是java语言需要调用的功能函数,另一部分是Android系统的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理、堆栈管理、线程管理、安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:状态监测服务、表面管理器(surfacemanager)、媒体库(media libraries)、三维图形处理库(例如,OpenGLES)、二维(2dimensions,2D)图形引擎(例如,SGL)等。
状态监测服务用于根据内核层上报的监测数据确定手机的具体朝向、柔性屏幕的物理状态等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和三维(3dimensions,3D)图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如,MPEG4、H.264、MP3、AAC、AMR、JPG、PNG等。三维图形处理库用于实现三维图形绘图、图像渲染、合成和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含电源管理服务、传感器服务(也可以称,传感器驱动)、显示服务(也可以称,显示驱动)、摄像头驱动、音频驱动等。本申请实施例对此不做任何限制。
如图3a所示,应用程序框架层以下的系统库和内核层等可称为底层系统。底层系统中包括用于提供显示服务的底层显示系统,例如,底层显示系统包括内核层中的显示驱动以及系统库中的表面管理器等。
底层系统之下为硬件,硬件可以为软件运行提供基础。如图3a所示,该电子设备的硬件可以包括但不限于,开机键、传感器、显示屏、指纹、摄像头等。
图4为本申请实施例提供的电子设备进行页面显示的一种界面示意图。
如图4中的(a)所示,在折叠态下的折叠屏上显示有某应用的页面401,该页面401中包含有如下元素:数字“1”、数字“2”、数字“3”、数字“4”、数字“5”、数字“6”、数字“7”和数字“8”,以及作为各数字的背景的元素(以下简称背景元素,图中以“○”示出)。
应理解,每个数字、或每个数字的背景元素均可看做视图,一个数字和一个数字的背景元素可以作为一个视图组。
若用户想体验平板的效果,就可将电子设备的折叠屏展开。如图4中的(b)所示,图中以虚线框示出了电子设备的折叠屏被展开时的大小。此时,电子设备在检测到折叠屏被展开时,会将页面401整体放大2倍,也就是以折叠态下的屏幕宽度的2倍为放大比例来放大页面401,得到放大后的页面401'。换言之,将页面401的宽度W拉宽2倍至2W、长度H拉长2倍至2H,页面401中各元素的大小也同步被放大2倍,从而得到放大后的页面401'。
可以看出,放大后的页面401'中,数字“5”、数字“6”、数字“7”和数字“8”以及这四个数字对应的背景元素落在了展开态的折叠屏的范围以内,而数字“1”、数字“2”、数字“3”、数字“4”以及这四个数字对应的背景元素则落在了展开态的折叠屏的范围之外。
应理解,得到放大后的页面401'的过程为电子设备的内部实现,在实际应用中,该页面并不会显示在折叠屏上。
还应理解,图4中的(b)所采用的放大比例仅为示例性说明,在实际应用中,该放大比例可由展开态下屏幕的宽度与折叠态下屏幕的宽度的比值确定。例如,若展开态下屏幕的宽度为折叠态下屏幕的宽度的两倍(比如,折叠屏为两折的折叠屏),那么该放大比例可以为2倍;若展开态下屏幕的宽度为折叠态下屏幕的宽度的三倍(比如,折叠屏为三折的折叠屏),那么该放大比例可以为3倍。
如图4中的(c)所示,电子设备确定数字“5”、数字“6”、数字“7”和数字“8”以及这四个数字对应的背景元素落在了展开态的折叠屏的范围之内,就可基于这些元素的位置和大小进行绘制,得到第二页面402,并在展开态下的折叠屏上显示该第二页面402。
可以看出,第二页面402中各数字的字体大小及其各自的背景元素大小相比第一页面401放大很多倍,且第二页面402所显示的内容相比第一页面401所显示的内容减少一半。
通过上述页面显示的方式可以看出,在用户将电子设备的折叠屏从折叠态变为展开态时,电子设备会将在折叠态下的折叠屏上所显示的应用的页面按照放大比例(比如,放大比例为2倍)进行整体放大,由于放大后的页面的面积通常远远大于展开态下的折叠屏的面积,这就导致放大后的页面显示在展开态下的折叠屏上时,往往出现内容显示不全的问题,也就是容易出现应用的页面与展开态下的屏幕不适配的问题,影响用户的体验。
鉴于此,本申请提供了一种页面显示的方法。电子设备在检测到折叠屏从折叠态变为展开态时,通过对折叠态下的折叠屏所显示的页面中的部分元素的位置进行重布局,进而根据重布局后的位置进行页面绘制,将绘制得到的页面显示在展开态下的折叠屏上。由于这些重布局的元素可以预先定义,也即,预先考虑到了页面因折叠屏被展开落在屏幕之外或显示不全的问题,因此,针对这些元素进行重布局,可以避免页面中的部分元素在折叠屏被展开后显示不全的情况。换言之,所显示的页面与展开态下的屏幕能够相适配,提升了用户的体验。
在介绍本申请实施例之前,首先做出如下几点说明:
第一,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的页面等。
第二,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
第三,在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
图5为本申请实施例提供的页面显示方法的示意性流程图。图5所示的方法可以由页面显示装置执行,例如可以是图3a中的电子设备,也可以是该电子设备中的部件,如芯片、芯片系统或其它可用于实现其部分或全部功能的模块,本申请对此不作限定。为了便于理解,后文以电子设备为例来说明本申请实施例提供的方法。
下面对方法500中的各个步骤做详细说明。
步骤501,在折叠态下的折叠屏显示第一页面。
如前所述,折叠态为电子设备的折叠屏处于折叠时的状态。第一页面为电子设备的折叠屏处于折叠态时,在折叠屏上所显示的页面,该页面可以为任意一个应用程序的任意一个页面。
例如,图6a示出了在电子设备的折叠屏处于折叠态时,在折叠屏上显示有第一页面601。
步骤502,在检测到折叠屏被展开时,基于对第一页面中的元素的测量和布局,得到第三页面。
其中,测量是指确定元素的大小,元素的大小包括元素的宽度和高度。布局是指确定元素的位置,即元素的坐标(x,y)。
在用户想体验平板的效果时,就可将折叠态下的折叠屏展开,电子设备在检测到折叠屏被展开时,就可基于第一预设坐标轴来确定第一页面中各元素的大小(宽和高)及坐标(x,y)。在确定出第一页面中各元素的大小和坐标后,电子设备就可基于第二预设坐标轴和第一页面中各元素的大小、坐标,得到第三页面。
其中,第一预设坐标轴为电子设备处于折叠态下时,本领域技术人员所预设的坐标轴。第二预设坐标轴为折叠屏被展开至预设角度时,本领域技术人员所预设的坐标轴。其中,坐标轴的原点可由本领域技术人员根据实际需求设置。比如,可以折叠屏的四个顶点中任一顶点所在的位置为坐标原点来建立坐标轴,也可以折叠屏的四个边中任一边的中间点所在的位置为坐标原点来建立坐标轴。
在确定元素的坐标(x,y)时,可将该元素的中心点的坐标作为该元素的坐标。在确定元素的宽度时,可将该元素投影在x轴上的长度作为该元素的宽度。在确定元素的高度时,可将该元素投影在y轴上的长度作为该元素的高度。
在第一预设坐标轴的原点和第二预设坐标轴的原点所在的位置不同,比如,第一预设坐标轴的原点为折叠屏的左下角的顶点,第二预设坐标轴的原点为折叠屏的右侧边的中间点。那么,在确定出第一页面中各元素的大小和坐标后,电子设备需要先基于第一预设坐标轴和第二预设坐标轴的坐标转换关系,确定出第一页面中各元素在第二预设坐标轴中的坐标,再根据第一页面中各元素在第二预设坐标轴中的坐标和各元素的大小,来得到第三页面。
下面结合图6a和图6b对电子设备得到第三页面的实现过程进行示例性说明。
需要说明的是,该示例中,第一预设坐标轴是以图6a所示的折叠态下的折叠屏的左下角的顶点为坐标原点建立的坐标轴,第二预设坐标轴是以图6b所示的折叠屏被展开至180°时,折叠屏的左下角的顶点为坐标原点建立的坐标轴。即,图6a采用的第一预设坐标轴和图6b采用的第二预设坐标轴为同一个坐标轴。
如图6a,在折叠态下的折叠屏上显示有第一页面601。假设第一页面601中的元素包括八个视图组,分别为a1、a2、a3、a4、a5、a6、a7和a8。每个视图组又包括两个视图,具体地,a1包括的两个视图分别为a11和a12,a2包括的两个视图分别为a21和a22,a3包括的两个视图分别为a31和a32,a4包括的两个视图分别为a41和a42,a5包括的两个视图分别为a51和a52,a6包括的两个视图分别为a61和a62,a7包括的两个视图分别为a71和a72,以及a8包括的两个视图分别为a81和a82。
电子设备在检测到折叠屏被展开时,就可以图6a所示的第一预设坐标轴为基准,确定出八个视图组,也就是a1至a8各自的宽度、高度和坐标,以及确定出16个视图,也就是a11、a12、a21、a22、a31、a32、a41、a42、a51、a52、a61、a62、a71、a72、a81及a82各自的宽度、高度和坐标。
如图6b,电子设备在确定出第一页面601中各个元素的宽度、高度和坐标后,就可以图6b所示的第二预设坐标系为基准,确定出a1至a8、a11、a12、a21、a22、a31、a32、a41、a42、a51、a52、a61、a62、a71、a72、a81及a82分别在第二预设坐标轴中的位置,再根据这些元素分别在第二预设坐标轴中的位置和确定的各自的宽度、高度,就可得到第三页面602。
应理解,由于图6a中的第一预设坐标轴和图6b中的第二预设坐标轴为同一个坐标轴。因此,电子设备确定出的各元素在第二预设坐标轴中的位置与各元素在第一预设坐标轴中的位置相同,无需进行坐标转换。
需要说明的是,本申请所涉及的第三页面是电子设备的内部生成的页面,并不会通过折叠屏显示在屏幕上。
步骤503,对第三页面中的目标元素进行重布局,得到目标元素重布局后的位置,该目标元素为视图或视图组。
其中,对目标元素进行重布局,可以理解为重新确定目标元素的位置。
目标元素为第三页面中需要进行重布局的元素,也就是需要重新确定位置的元素。
电子设备对第三页面中的目标元素进行重布局的过程可通过如下步骤1)~2)实现。
步骤1)、获取配置信息,该配置信息用于指示目标元素在重布局之前的初始位置和重布局之后的目标位置,该目标元素重布局之前的初始位置和重布局之后的目标位置不同。
本领域技术人员可针对存在页面布局问题的页面进行配置,以得到配置信息。对于存在页面布局问题的应用程序的页面,每个页面对应一个配置信息。
可选地,电子设备可通过如下方式来获取配置信息:
基于应用程序的页面对应的Activity组件,获取与Activity组件对应的配置信息。
在一种可实现的方式中,电子设备可基于页面对应的Activity组件的名称,在本地预存的多个配置信息中查找出对应的配置信息。其中,Activity组件的名称会携带对应的应用程序的名称和页面的名称等信息,比如,根据某个Activity组件的名称,可以确定出对应的应用程序为A应用程序,页面为登录页。
在根据Activity组件的名称来查找配置信息时,可能出现查找到多个配置信息的情况。例如,对应用程序A的登录页而言,该页面处于登录状态和未处于登录状态的页面内容显示不同,因此,本领域技术人员对预先针对登录状态的该登录页和未登录状态的该登录页分别设置配置信息。若此时仍旧根据该登录页对应的Activity组件的名称来查找配置信息,就出现查找到两个配置信息的情况。
因此,在另一种可实现的方式中,电子设备可基于页面对应的Activity组件的属性信息,在本地预存的多个配置信息中查找出对应的配置信息。其中,该属性信息例如可以为登录状态。
例如,电子设备可进一步确定出应用程序A的登录页对应的Activity组件的属性信息为登录状态,则就可从查找到的两个配置信息中进一步确定出与该登录页的登录状态相匹配的配置信息。
由于配置信息是针对应用程序的页面配置的,因此,每个配置信息也会携带该页面对应的Activity组件的名称和属性信息。
电子设备在根据应用程序的页面对应的Activity组件在本地预置的多个配置信息中查找对应的配置信息时,若未查找到对应的配置信息,则说明该页面无需进行重布局,也就是该页面不存在页面布局问题。那么,电子设备无需按照本申请的方案来进行页面显示,采用目前已有的方案进行页面显示即可。
应理解,本申请所提供的基于Activity组件的名称、属性信息来查找页面对应的配置信息仅为示例性说明,本申请对查找页面对应的配置信息的具体实现方式不作限定,均在本申请保护范围之内。
在本申请中,配置信息可以有如下两种可能的设计。
设计一,配置信息指示第三页面中的多个元素分别在重布局之前的初始位置和重布局之后的目标位置。
其中,该多个元素包括多个视图,或者,该多个元素包括至少一个视图组和该至少一个视图组中的多个视图,且该多个元素中包括目标元素。
配置信息所指示的第三页面中的多个元素可以为第三页面中的全部区域的所有元素,也可以为第三页面中的部分区域中的所有元素,但无论哪种指示方式,需要进行重布局的目标元素都包含于该多个元素之中。
可以理解,对于配置信息所指示的多个元素,所指示的目标元素在重布局之前的初始位置和重布局之后的目标位置不同,非目标元素在重布局之前的初始位置和重布局之后的目标位置相同。其中,非目标元素为配置信息中所指示的多个元素中,除目标元素之外的其它元素。
示例性地,如图6b所示,电子设备在得到第三页面602后,电子设备获取到了第三页面602对应的配置信息,该配置信息可指示第三页面602中多个元素的初始位置和目标位置。比如,可指示a1至a8、a11、a12、a21、a22、a31、a32、a41、a42、a51、a52、a61、a62、a71、a72、a81及a82各自对应的重布局之前的初始位置和重布局之后的目标位置,这些元素中,有的元素为目标元素,有的元素为非目标元素。
设计二,配置信息指示第三页面中的目标元素在重布局之前的初始位置和重布局之后的目标位置。
该配置信息可仅指示第三页面中需要进行位置调整的元素的初始位置和目标位置,也就是需要进行重布局的目标元素在重布局之前的初始位置和重布局之后的目标位置。
示例性地,如图6b所示,电子设备在得到第三页面602后,电子设备获取到了第三页面602对应的配置信息,该配置信息可指示第三页面602中需要调整位置的目标元素的初始位置和目标位置。比如,可指示a2至a3、a6至a8、a21、a22、a31、a32、a41、a42、a61、a62、a71、a72、a81及a82各自对应的重布局之前的初始位置和重布局之后的目标位置,这些元素均为目标元素。
步骤2)、基于配置信息,对第三页面中的目标元素进行重布局。
电子设备在获取到第三页面对应的配置信息后,就可根据配置信息所指示的需要重布局的目标元素的原始位置和目标位置,重新确定出第三页面中目标元素的位置。
在本申请中,在步骤1)之后,步骤2)之前,电子设备还可根据获取到的配置信息在第三页面中匹配出目标元素。
与前述的配置信息的两种设计相对应,电子设备可采用不同的方式来匹配目标元素。
与设计一相对应,电子设备可通过执行如下步骤i)和ii)来匹配目标元素。
步骤i)、基于配置信息指示的多个元素中每个元素的初始位置和目标位置,确定需要重布局的目标元素。
配置信息在指示第三页面中多个元素的初始位置和目标位置时,所指示的多个初始位置和相应的多个目标位置中,不但包含有目标元素的初始位置和目标位置,也包含有非目标元素的初始位置和目标位置。因此,电子设备就需要根据配置信息所指示的多个初始位置和相应的多个目标位置来确定出初始位置和目标位置不同的元素,也就是目标元素。
电子设备在从配置信息的多个元素中确定目标元素时,可通过如下方式来确定出目标元素:
基于多个元素中各元素的层次结构,按照从父元素到子元素的顺序,遍历多个元素中每个元素的初始位置和目标位置,以确定需要重布局的目标元素。
应理解,本领域技术人员在预先设置配置信息时,按照从父元素到子元素的顺序,来存储多个元素中每个元素的初始位置和目标位置。
例如,在设置如图6b所示的第三页面的配置信息时,本领域技术人员就可按照a1至a8为父元素,a11、a12、a21、a22、a31、a32、a41、a42、a51、a52、a61、a62、a71、a72、a81及a82为子元素的顺序来在电子设备中存储各个元素的初始位置和目标位置。
那么,在确定配置信息中的目标元素时,电子设备就可先依次判断a1、a2、a3、a4、a5、a6、a7和a8各自对应的初始位置和目标位置是否相同,从中确定出初始位置和目标位置不同的父元素。再进一步判断各个子元素,即a11、a12、a21、a22、a31、a32、a41、a42、a51、a52、a61、a62、a71、a72、a81及a82各自的初始位置和目标位置是否相同。因此,就可从中确定出需要重布局的目标元素,比如,确定出了需要重布局的目标元素为a2、a3、a4、a6、a7、a8、a21、a22、a31、a32、a41、a42、a61、a62、a71、a72、a81和a82。
为了避免歧义,需要指出的是,前述的配置信息并没有指示具体的元素是哪些,其指示的仅是多个初始位置和相对应的多个目标位置,也就是前述的配置信息指示的是多对位置信息,每对位置信息包括一个初始位置和相对应的一个目标位置。电子设备获取到配置信息后,并不知道这些位置信息中的每对位置信息具体对应的是第三页面中的哪个元素。因此,电子设备就可先通过执行步骤i)比较每对位置信息中的初始位置和目标位置是否相同,来筛选出初始位置和目标位置不相同的位置信息,这些位置信息就是配置信息所指示的目标元素的位置信息,再通过执行下述步骤ii)确定出这些初始位置和目标位置不同的位置信息对应的是第三页面中的哪个目标元素。
步骤ii)、在第三页面中匹配目标元素。
其中,在第三页面中匹配目标元素,可以理解为在第三页面中定位出配置信息所指示的需要进行重布局的目标元素。
在第三页面中匹配目标元素的一种可能的实现方式是,根据多个元素在第三页面中的位置和配置信息中指示的目标元素的初始位置,在第三页面中匹配目标元素。
如前所述,电子设备在生成第三页面的时候,会确定出第一页面中的各元素在第二预设坐标轴下的位置,也就是确定出各元素在第三页面中的位置。因此,电子设备就可将第三页面中各个元素的位置与确定出的配置信息所指示各个目标元素的初始位置分别进行匹配,若第三页面中某元素的位置与配置信息所指示的某个初始位置相同,就可将第三页面中的该元素作为目标元素。
在第三页面中匹配目标元素的另一种可能的实现方式是,根据多个元素的标识(identifier,ID)和配置信息中指示的目标元素的ID,在第三页面中匹配目标元素。
在这种实现方式中,配置信息还可用于指示多个元素中每个元素的ID。电子设备在确定出了配置信息所指示的多个位置信息中,哪些位置信息的初始位置和目标位置有差异,也就相应可获知初始位置和目标位置有差异的元素ID,也就是确定出了目标元素的ID。因此,电子设备就可将配置信息中目标元素的ID与第三页面中的各个元素的ID进行匹配,从而在第三页面中定位出目标元素。
在第三页面中匹配目标元素的又一种可能的实现方式是,根据多个元素的标签和配置信息中所指示的目标元素的标签,在第三页面中匹配目标元素。
应理解,本申请所提供的基于位置、标识、或标签在第三页面中进行目标元素的匹配仅为示例性说明,本申请对目标元素的具体匹配方式不作限定,均在本申请保护范围之内。
在设计二中,由于配置信息指示第三页面中的目标元素的初始位置和目标位置,而不指示其他元素的初始位置和目标位置,因此电子设备无需再从配置信息中筛选出初始位置和目标位置有差异的位置信息,而是可以直接在第三页面中匹配目标元素。也就是,电子设备不执行上述步骤i),直接执行上述步骤ii)。应理解,步骤ii)的具体实现方式可参照前文说明,在此不再赘述。
电子设备在获取到配置信息,并从第三页面中匹配出目标元素之后,便可以根据配置信息中目标元素的目标位置,对目标元素进行重布局。
为便于理解,下面结合图6b和图6c来对步骤503的实现过程进行示例性介绍。
如图6b,电子设备在得到第三页面602后,获取第三页面602的配置信息。假设该配置信息指示了第三页面602中需要重布局的目标元素的初始位置和目标位置,以及各个目标元素的ID。比如,指示了a2至a4、a6至a8、a21、a22、a31、a32、a41、a42、a61、a62、a71、a72、a81及a82分别在重布局之前的初始位置和重布局之后的目标位置。其中,配置信息所指示的a2、a21和a22的目标位置为(x2,y2),所指示的a3、a31和a32的目标位置为(x3,y3),所指示的a4、a41和a42的目标位置为(x4,y4),所指示的a6、a61和a62的目标位置为(x6,y6),所指示的a7、a71和a72的目标位置为(x7,y7),所指示的a8、a81和a82的目标位置为(x8,y8)。
如图6c,电子设备就可基于配置信息所指示的这些需要重布局的目标元素ID,在第三页面602中定位出目标元素(在图6c中以加粗方式示出),并根据所指示的各个目标元素的目标位置,重新确定出目标元素a2、a21和a22重布局后的位置为(x2,y2),a3、a31和a32重布局后的位置为(x3,y3),a4、a41和a42重布局后的位置为(x4,y4),a6、a61和a62重布局后的位置为(x6,y6),a7、a71和a72重布局后的位置为(x7,y7),a8、a81和a82重布局后的位置为(x8,y8)。
电子设备就可将各个目标元素的位置调整到各自的目标位置处,即,将a2、a21和a22的位置调整至(x2,y2)处,将a3、a31和a32的位置调整至(x3,y3)处,将a4、a41和a42的位置调整至(x4,y4)处,将a6、a61和a62的位置调整至(x6,y6)处,将a7、a71和a72的位置调整至(x7,y7)处,以及将a8、a81和a82的位置调整至(x8,y8)处,以实现对这些目标元素的重布局。
在本申请中,配置信息还可用于指示页面的放大比例,该配置信息指示的多个元素中每个元素的初始位置和目标位置是基于放大比例确定的。
配置信息还可以指示第三页面的放大比例,放大比例可以满足如下条件:0<R≤N,N为折叠屏在完全展开时的屏幕宽度与折叠屏在折叠状态下的屏幕宽度的比值。
例如,在电子设备的折叠屏为双折折叠屏时,折叠屏在完全展开时的屏幕宽度为折叠状态下的屏幕宽度的2倍,则放大比例满足0<R≤2。在电子设备的折叠屏为三折折叠屏时,折叠屏在完全展开时的屏幕宽度为折叠状态下的屏幕宽度的三倍,则放大比例满足0<R≤3。
在一种可实现的方式中,考虑到用户的感官体验,R可取值为1.2。
在一种可实现的方式中,配置信息可以不指示第三页面的放大比例,而是指示电子设备的折叠屏在展开状态下,第三页面所占的屏幕宽度。
其中,第三页面所占的屏幕宽度Q满足如下条件:Qx=Ry,其中,Q为电子设备在展开状态下,第三页面所占的屏幕宽度,x为电子设备在展开状态下的屏幕宽度,y为电子设备在折叠状态下的屏幕宽度,R为前述放大比例。
例如,假设电子设备在展开状态下的屏幕宽度是在折叠状态下的屏幕宽度的2倍,则x可取值为2,y可取值为1。假设配置信息所指示的电子设备在展开状态下,第三页面所占的屏幕宽度,即Q为3/5。那么,根据上述换算关系,就可确定出放大比例R为1.2。因此,就可对第三页面进行1.2倍的放大。
应理解,若配置信息指示了页面的放大比例,那么,步骤503具体为对放大后的第三页面中的目标元素进行重布局。
在本申请中,在放大比例大于1的情况下,配置信息还用于指示资源的存储路径,资源是与折叠屏在展开态下的显示分辨率匹配的资源。
在配置信息所指示的放大比例大于1时,对于放大后的第三页面中的元素,若仍旧采用折叠屏在折叠态下的分辨率资源来显示页面,就可能出现页面中元素模糊的问题。因此,在配置信息所指示的放大比例大于1时,重新指示与展开态下的屏幕的显示分辨率匹配的资源。
例如,折叠屏处于折叠态时,配置信息指示高清分辨率资源所在的路径,电子设备就可采用高清分辨率资源来显示页面,而折叠屏在展开态下,若配置信息所指示的放大比例大于1,配置信息就不会再指示高清分辨率资源所在的路径,而是指示超高清分辨率所在的资源的路径。那么,电子设备就不再采用高清分辨率资源来显示画面,而是采用超高清分辨率资源来显示画面,以保证页面显示的清晰度。
应理解,每个应用都对应有不同的分辨率资源,不同显示分辨率资源存储在电子设备的不同文件夹中。
步骤504,基于目标元素重布局后的位置进行绘制,得到第二页面,该目标元素在第三页面中的绝对布局和在第二页面中的绝对布局不同。
目标元素在第三页面中的绝对布局和在第二页面中的绝对布局不同可以理解为目标元素在第三页面中的绝对位置和在第二页面中的绝对位置不同。
示例性地,如图6c,电子设备对a2至a4、a6至a8、a21、a22、a31、a32、a41、a42、a61、a62、a71、a72、a81及a82的位置进行调整后,就可基于这些目标元素调整后的位置进行页面绘制,从而得到如图6d所示的第二页面603。
可以看出,a2至a4、a6至a8、a21、a22、a31、a32、a41、a42、a61、a62、a71、a72、a81及a82在第三页面602中的位置与在第二页面603中的绝对位置均不同。
应理解,页面绘制的过程可参照现有技术,在此不再赘述。
步骤505,在展开态下的折叠屏显示第二页面。
如前所述,电子设备的折叠屏处于被展开的状态称为展开态。
例如,如图6d,电子设备根据步骤504绘制得到第二页面603后,就可将该第二页面603显示在折叠屏完全展开时的屏幕上。
基于上述方案,电子设备在检测到折叠屏从折叠态变为展开态时,以折叠态下的折叠屏上所显示的第一页面中元素的大小和位置为基准,通过测量和布局来得到第三页面,再基于配置信息对第三页面中的部分或全部元素(也即上述目标元素)的位置进行重布局,进而可以根据目标元素重布局后的位置进行绘制以得到第二页面,并将第二页面显示在折叠屏上。由于这些重布局的元素可以预先定义,也即,预先考虑到了页面因折叠屏被展开落在屏幕之外或显示不全的问题,因此,针对这些元素进行重布局,可以避免页面中的部分元素在折叠屏被展开后显示不全的情况,换言之,所显示的页面与展开态下的屏幕能够相适配,提升了用户的体验。
为了对本申请所提供的页面显示方法的实现过程更好的理解,下面结合图7a至图7e进行示例性说明。
图7a~图7e为本申请实施例提供的电子设备进行页面显示的另一界面示意图。
如图7a,在折叠态下的折叠屏上显示有第一页面701。假设该第一页面701包含有八个视图组,分别为b1、b2、b3、b4、b5、b6、b7和b8。每个视图组包括两个视图。其中,b1包括的两个视图分别为b11和b12,b2包括的两个视图分别为b21和b22,b3包括的两个视图分别为b31和b32,b4包括的两个视图分别为b41和b42,b5包括的两个视图分别为b51和b52,b6包括的两个视图分别为b61和b62,b7包括的两个视图分别为b71和b72,以及b8包括的两个视图分别为b81和b82。
电子设备在监测到折叠屏被展开时,就可以图7a中所示的坐标轴为基准,确定出b1至b8、b11、b12、b21、b22、b31、b32、b41、b42、b51、b52、b61、b62、b71、b72、b81及a82各自的宽度、高度和坐标。
如图7b,电子设备在确定出第一页面701中各个元素的宽度、高度和坐标后,就可以图7b中的坐标轴为基准,确定出上述各个元素分别在图7b所示的坐标轴中的位置,再根据这些元素分别在图7b所示的坐标轴中的位置和确定的各个元素的宽度、高度,就可得到第三页面702。
电子设备在得到第三页面702后,可在本地预存的多个配置信息中获取第三页面702对应的配置信息。假设该配置信息指示了第三页面702的放大比例为1.2倍,也指示了放大后的第三页面中需要重布局的目标元素的初始位置和目标位置、以及各个目标元素的ID。比如,指示了b1至b8、b11、b12、b21、b22、b31、b32、b41、b42、b51、b52、b61、b62、b71、b72、b81及b82各自在重布局之前的初始位置和重布局之后的目标位置。
如图7c,电子设备可先基于配置信息所指示的放大比例对第三页面702进行放大,即,将第三页面702整体放大1.2倍,得到放大后的第三页面702'。可以看出,放大后的第三页面702'的宽度、高度均是未放大前的第三页面702的宽度、高度的1.2倍,放大后的第三页面702'中元素的大小也是未放大的第三页面中元素的大小的1.2倍,即b1'至b8'、b11'、b12'、b21'、b22'、b31'、b32'、b41'、b42'、b51'、b52'、b61'、b62'、b71'、b72'、b81'及b82'分别是b1至b8、b11、b12、b21、b22、b31、b32、b41、b42、b51、b52、b61、b62、b71、b72、b81及b82的1.2倍。
如图7d,电子设备将第三页面702放大后,就可进一步根据配置信息所指示的需要重布局的各目标元素的初始位置和目标位置,对放大后的第三页面702'中的目标元素进行重布局。假设配置信息所指示的b1、b11和b12的目标位置为(x1',y1'),b2、b21和b22的目标位置为(x2',y2'),所指示的b3、b31和b32的目标位置为(x3',y3'),所指示的b4、b41和b42的目标位置为(x4',y4'),所指示的b5、b51和b52的目标位置为(x5',y5'),所指示的b6、b61和b62的目标位置为(x6',y6'),所指示的b7、b71和b72的目标位置为(x7',y7'),所指示的b8、b81和b82的目标位置为(x8',y8')。那么,电子设备可就可相应将b1'、b11'和b12'位置调整至(x1',y1'),将b2'、b21'和b22'位置调整至(x2',y2'),将b3'、b31'和b32'位置调整至(x3',y3'),将b4'、b41'和b42'的位置调整至(x4',y4'),将b5'、b51'和b52'位置调整至(x5',y5'),将b6'、b61'和b62'位置调整至(x6',y6'),将b7'、b71'和b72'的位置调整至(x7',y7'),以及将b8'、b81'和b82'位置调整至(x8',y8')。
如图7e,电子设备进一步根据上述各个目标元素调整后的位置进行绘制,从而得到第二页面703,并将第二页面703显示在展开态下的折叠屏上。
基于上述方案,电子设备在检测到折叠屏从折叠态变为展开态时,以折叠态下的折叠屏上所显示的第一页面中元素的大小和位置为基准,通过测量和布局来得到第三页面,再基于配置信息对第三页面中的部分或全部元素(也即上述目标元素)的位置进行重布局,进而可以根据目标元素重布局后的位置进行绘制以得到第二页面,并将第二页面显示在折叠屏上。由于这些重布局的元素可以预先定义,也即,预先考虑到了页面因折叠屏被展开落在屏幕之外或显示不全的问题,因此,针对这些元素进行重布局,可以避免页面中的部分元素在折叠屏被展开后显示不全的情况。换言之,所显示的页面与展开态下的屏幕能够相适配,提升了用户的体验。
图8为本申请实施例提供的电子设备的软件架构示意图。
如图8所示,该软件架构包括应用程序层、应用程序框架层、硬件抽象层和内核层。图8所示的软件架构示出了与本申请实施例相关的模块,而并未示出各个层所有的模块。
应用程序层包括一系列应用程序包。在应用程序层可通过启动应用程序包来运行应用程序。Activity组件是Android组件中的四大组件之一,在一个Android应用中,一个Activity组件通常可以理解为一个应用的活动页面,它上面可以显示一些控件也可以监听并处理用户的事件以做出响应。每运行一个应用程序,就会有相应的Activity组件启动。
应用程序框架层包括AMS、WMS和SurfaceFlinger。关于AMS、WMS和SurfaceFlinger的相关说明可参看前文结合图3b的描述,此处不再赘述。
在本申请中,AMS可对应用程序的页面所对应的Activity组件进行识别,以及根据识别的Activity组件来从本地预存的配置文件中读取该页面对应的配置信息。
硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。从软硬件测试的角度看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得硬件测试工作的并行进行称为可能。硬件抽象层是一个编程层,允许计算机操作系统在逻辑层而不是硬件层与硬件设备交互。
硬件抽象层可以包括GraphicsAlloc和Hwcomposer。其中,GraphicsAlloc也可简称为Gralloc,用于分配显存、刷新显示。Hwcomposer可用于将图像缓冲区内容刷新到显示缓冲区。
内核层可以采用Linux内核,内核层可以包括显示驱动(display driver)和图形处理器驱动(graphics processing unit driver,GPU driver)。
需要说明的是,硬件抽象层和内核层的相关原理可参照现有技术,在此不再赘述。
在本申请中,假设用户在折叠态下的折叠屏上想打开应用程序1,就可通过底层系统的显示屏,即折叠态下的折叠屏上触发折叠屏上所显示的应用程序1的图标。折叠屏在接收到该触发事件时,会将该触发事件上报给应用程序层。
应用程序层在接收到该触发事件时,通过运行应用程序包1,使应用程序1的第一页面(比如,登录页)相应地显示在底层系统中的显示屏,即折叠态下的折叠屏上。同时,在运行应用程序1的第一页面时,该应用程序1的第一页面对应的Activity组件也相应启动。
需要说明的是,关于底层系统的介绍可参照前述图3b的相关说明,在此不再赘述。
在用户将折叠屏展开时,应用程序框架层中的AMS可对第一页面的Activity组件进行识别,根据该第一页面对应的Activity组件,从本地预存的配置文件中读取该第一页面对应的配置信息。AMS在读取到第一页面对应的配置信息后,可将该配置信息缓存在本地。在第一次的测量流程和布局流程中,可确定出第一页面中各个元素在第一页面中的宽度、高度以及位置,进而根据确定出的第一页面中各个元素的大小和位置,得到第三页面。
进一步地,WMS从AMS处读取该配置信息,基于该配置信息,对第三页面中的目标元素进行重布局。
若配置信息指示了第三页面中的目标元素在重布局之前的初始位置和重布局之后的目标位置,并未指示第三页面的放大比例。则基于配置信息对第三页面中的目标元素重新执行布局流程。
在对第三页面中的目标元素重新执行布局流程后,WMS可为窗口分配一块Surface,基于该Surface和所确定的目标元素重布局之后的位置执行绘制流程,从而得到第二页面。
若配置信息不但指示第三页面的放大比例,还指示了放大后的第三页面中目标元素在重布局之前的初始位置和重布局之后的目标位置。则根据配置信息所指示的放大比例对第三页面进行放大,对于放大后的第三页面,重新执行测量流程和布局流程,也就是重新确定放大后的第三页面中各个元素的宽度、高度,以及基于配置信息所指示的放大后的第三页面中目标元素的目标位置,重新调整放大后的第三页面中目标元素的位置。
在重新执行测量流程和布局流程后,WMS可为窗口分配一块Surface,基于该Surface和所确定的放大后的第三页面中各元素的大小、目标元素重布局之后的位置执行绘制流程,从而得到第二页面。
WMS将绘制得到的第二页面交由SurfaceFlinger,由SurfaceFlinger进行图像合成,进而就可在展开态下的折叠上显示第二页面。
简言之,本申请所提供的页面显示方法主要由应用程序框架层中的AMS和WMS实现,具体实现细节可参照前述对图5至图7e的相关介绍,在此不再赘述。
图9是本申请实施例提供的页面显示装置的示意性框图。如图9所示,该通信装置900可以包括:显示模块910和处理模块920。该装置900中的各模块可用于实现上文方法中电子设备的相应流程。
具体地,显示模块910可以用于在折叠态下的折叠屏显示第一页面;处理模块920可以用于在检测到折叠屏被展开时,基于对第一页面中的元素的测量和布局,得到第三页面;对第三页面中的目标元素进行重布局,得到目标元素重布局后的位置,该目标元素为视图或视图组;基于目标元素重布局后的位置进行绘制,得到第二页面,该目标元素在第三页面中的绝对布局和在第二页面中的绝对布局不同;显示模块910还可以用于在展开态下的折叠屏显示第二页面。
可选地,该处理模块920具体可以用于获取配置信息,该配置信息用于指示目标元素在重布局之前的初始位置和重布局之后的目标位置,该目标元素重布局之前的初始位置和重布局之后的目标位置不同;基于配置信息,对第三页面中的目标元素进行重布局。
可选地,该配置信息指示第三页面中的多个元素分别在重布局之前的初始位置和重布局之后的目标位置;该多个元素包括多个视图,或者,该多个元素包括至少一个视图组和至少一个视图组中的多个视图,且多个元素包括目标元素;该处理模块920还可以用于基于配置信息指示的多个元素中每个元素的初始位置和目标位置,确定需要重布局的目标元素;在第三页面中匹配目标元素。
可选地,该多个元素包括至少一个视图组和至少一个视图组中的多个视图,该处理模块920具体用于基于多个元素中各元素的层次结构,按照从父元素到子元素的顺序,遍历多个元素中每个元素的初始位置和目标位置,以确定需要重布局的目标元素。
可选地,该处理模块920具体用于根据多个元素在第三页面中的位置和配置信息中指示的目标元素的初始位置,在第三页面中匹配目标元素。
可选地,该配置信息还用于指示多个元素中每个元素的标识,该处理模块920具体用于根据多个元素的标识和配置信息中指示的目标元素的标识,在三页面中匹配目标元素。
可选地,该配置信息还用于指示页面的放大比例,该配置信息指示的多个元素中每个元素的初始位置和目标位置是基于放大比例确定的。
可选地,在放大比例大于1的情况下,该配置信息还用于指示资源的存储路径,该资源是与折叠屏在展开态下的显示分辨率匹配的资源。
可选地,该处理模块920具体用于基于应用程序的页面对应的Activity组件,获取与Activity组件对应的配置信息。
应理解,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
图10为本申请实施例提供的页面显示装置的硬件结构示意图。
如图10所示,该装置包括:存储器1001、处理器1002和接口电路1003。该装置还可以包括显示屏1004,其中,存储器1001、处理器1002、接口电路1003和显示屏1004可以通信。示例性的,存储器1001、处理器1002、接口电路1003和显示屏1004可以通过通信总线通信,存储器1001用于存储计算机执行指令,由处理器1002来控制执行,并由接口电路1003来执行通信,从而实现本申请实施例提供的页面显示方法。
可选地,接口电路1003还可以包括输入输入电路和/或输出电路。
可选地,上述处理器1002可以包括一个或多个CPU,还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可能的实现方式中,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
本申请实施例提供一种电子设备,结构可参见图2,电子设备的存储器可用于存储至少一个程序指令,处理器用于执行至少一个程序指令,以实现上述方法实施例的技术方案。其实现原理和技术效果与上述方法相关实施例类似,此处不再赘述。
本申请实施例提供一种芯片,该芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本申请实施例提供一种计算机程序产品,当该计算机程序产品在电子设备运行时,使得该电子设备执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本申请实施例提供一种计算机可读存储介质,其上存储有程序指令,该程序指令被电子设备执行时,使得电子设备执行上述实施例的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (13)
1.一种页面显示方法,其特征在于,应用于包括折叠屏的电子设备,所述方法包括:
在折叠态下的所述折叠屏显示第一页面;
在检测到所述折叠屏被展开时,基于对所述第一页面中的元素的测量和布局,得到第三页面;
对所述第三页面中的目标元素进行重布局,得到所述目标元素重布局后的位置,所述目标元素为视图或视图组;
基于所述目标元素重布局后的位置进行绘制,得到第二页面,所述目标元素在所述第三页面中的绝对布局和在所述第二页面中的绝对布局不同;
在展开态下的所述折叠屏显示所述第二页面。
2.如权利要求1所述的方法,其特征在于,所述对所述第三页面中的目标元素进行重布局,包括:
获取配置信息,所述配置信息用于指示所述目标元素在所述重布局之前的初始位置和所述重布局之后的目标位置,所述目标元素重布局之前的初始位置和重布局之后的目标位置不同;
基于所述配置信息,对所述第三页面中的目标元素进行重布局。
3.如权利要求2所述的方法,其特征在于,所述配置信息指示所述第三页面中的多个元素分别在所述重布局之前的初始位置和所述重布局之后的目标位置;所述多个元素包括多个视图,或者,所述多个元素包括至少一个视图组和所述至少一个视图组中的多个视图,且所述多个元素包括所述目标元素;
在所述基于所述配置信息,对所述第三页面中的目标元素进行重布局之前,所述方法还包括:
基于所述配置信息指示的所述多个元素中每个元素的初始位置和目标位置,确定需要重布局的所述目标元素;
在第三页面中匹配所述目标元素。
4.如权利要求3所述的方法,其特征在于,所述多个元素包括至少一个视图组和所述至少一个视图组中的多个视图,以及
所述基于所述配置信息指示的所述多个元素中每个元素的初始位置和目标位置,确定需要重布局的目标元素,包括:
基于所述多个元素中各元素的层次结构,按照从父元素到子元素的顺序,遍历所述多个元素中每个元素的初始位置和目标位置,以确定需要重布局的所述目标元素。
5.如权利要求3或4所述的方法,其特征在于,所述在第三页面中匹配所述目标元素,包括:
根据所述多个元素在所述第三页面中的位置和所述配置信息中指示的所述目标元素的初始位置,在所述第三页面中匹配所述目标元素。
6.如权利要求3或4所述的方法,其特征在于,所述配置信息还用于指示所述多个元素中每个元素的标识;
所述在第三页面中匹配所述目标元素,包括:
根据所述多个元素的标识和所述配置信息中指示的所述目标元素的标识,在所述第三页面中匹配所述目标元素。
7.如权利要求3至6中任一项所述的方法,其特征在于,所述配置信息还用于指示页面的放大比例,所述配置信息指示的所述多个元素中每个元素的初始位置和目标位置是基于所述放大比例确定的。
8.如权利要求7所述的方法,其特征在于,所述放大比例大于1的情况下,所述配置信息还用于指示资源的存储路径,所述资源是与所述折叠屏在展开态下的显示分辨率匹配的资源。
9.如权利要求2至8中任一项所述的方法,其特征在于,所述第一页面为应用程序的页面,所述获取配置信息,包括:
基于所述应用程序的页面对应的Activity组件,获取与所述Activity组件对应的配置信息。
10.一种页面显示装置,其特征在于,包括用于执行如权利要求1至9中任一项所述方法的模块。
11.一种页面显示装置,其特征在于,包括存储器和处理器,其中,所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述计算机程序,以使所述装置执行如权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,用于存储计算机程序,当所述计算机程序在计算机上运行时,使得电子设备执行如权利要求1至9中任一项所述的方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得电子设备实现如权利要求1至9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210923735.6A CN117539561A (zh) | 2022-08-02 | 2022-08-02 | 页面显示方法和相关装置 |
PCT/CN2023/110518 WO2024027696A1 (zh) | 2022-08-02 | 2023-08-01 | 页面显示方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210923735.6A CN117539561A (zh) | 2022-08-02 | 2022-08-02 | 页面显示方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117539561A true CN117539561A (zh) | 2024-02-09 |
Family
ID=89790579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210923735.6A Pending CN117539561A (zh) | 2022-08-02 | 2022-08-02 | 页面显示方法和相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117539561A (zh) |
WO (1) | WO2024027696A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597510B (zh) * | 2019-08-09 | 2021-08-20 | 华为技术有限公司 | 一种界面的动态布局方法及设备 |
CN112558951B (zh) * | 2020-12-24 | 2022-04-29 | 大唐互联科技(武汉)有限公司 | 一种可折叠屏网页适配方法、设备及存储设备 |
CN116009802A (zh) * | 2021-10-22 | 2023-04-25 | 华为技术有限公司 | 页面显示方法、电子设备及计算机可读存储介质 |
CN114564263A (zh) * | 2022-02-18 | 2022-05-31 | 维沃移动通信有限公司 | 页面布局调整方法、装置 |
CN116483488A (zh) * | 2023-02-21 | 2023-07-25 | 维沃移动通信有限公司 | 屏幕显示方法、装置、电子设备和可读存储介质 |
-
2022
- 2022-08-02 CN CN202210923735.6A patent/CN117539561A/zh active Pending
-
2023
- 2023-08-01 WO PCT/CN2023/110518 patent/WO2024027696A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024027696A1 (zh) | 2024-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389802B (zh) | 一种柔性屏幕的显示方法及电子设备 | |
CN113377316A (zh) | 用于提供屏幕镜像服务的设备和方法 | |
US10310722B2 (en) | Method and electronic device for controlling scroll speed of content | |
US10347221B2 (en) | Electronic device and method for controlling display thereof | |
WO2022022177A1 (zh) | 一种显示方法及电子设备 | |
EP3364646A1 (en) | Electronic device and method for displaying 360-degree image in the electronic device | |
US20150103222A1 (en) | Method for adjusting preview area and electronic device thereof | |
WO2023005751A1 (zh) | 渲染方法及电子设备 | |
KR20150027934A (ko) | 다각도에서 촬영된 영상을 수신하여 파일을 생성하는 전자 장치 및 방법 | |
US20180232558A1 (en) | Method for performing interaction and electronic device using the same | |
CN116567141B (zh) | 数据处理方法和电子设备 | |
CN117130516B (zh) | 一种显示方法及电子设备 | |
WO2023216957A1 (zh) | 一种目标定位方法、系统和电子设备 | |
KR20160027699A (ko) | 이미지 처리 방법 및 그 전자 장치 | |
CN113643403A (zh) | 确定目标通信设备的方法、终端以及计算机可读存储介质 | |
CN116048686B (zh) | 显示方法及折叠屏设备 | |
CN112181915A (zh) | 执行业务的方法、装置、终端和存储介质 | |
CN116826892A (zh) | 充电方法、充电装置、电子设备及可读存储介质 | |
CN117480489A (zh) | 显示方法及电子设备 | |
CN117539561A (zh) | 页面显示方法和相关装置 | |
KR20150069155A (ko) | 전자 장치의 터치 인디케이터 디스플레이 방법 및 그 전자 장치 | |
CN111596925A (zh) | 自动生成代码的方法、装置、计算机设备及介质 | |
CN116700655B (zh) | 一种界面显示方法及电子设备 | |
CN116700855B (zh) | 一种界面显示方法及电子设备 | |
CN116401727B (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 |