CN115361468A - 屏幕旋转时的显示优化方法、设备及存储介质 - Google Patents
屏幕旋转时的显示优化方法、设备及存储介质 Download PDFInfo
- Publication number
- CN115361468A CN115361468A CN202211293081.XA CN202211293081A CN115361468A CN 115361468 A CN115361468 A CN 115361468A CN 202211293081 A CN202211293081 A CN 202211293081A CN 115361468 A CN115361468 A CN 115361468A
- Authority
- CN
- China
- Prior art keywords
- screen
- display
- application interface
- image
- occlusion image
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000005457 optimization Methods 0.000 title claims abstract description 31
- 230000000694 effects Effects 0.000 claims description 102
- 230000008859 change Effects 0.000 claims description 51
- 230000036544 posture Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 21
- 238000009412 basement excavation Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 5
- 206010034719 Personality change Diseases 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 abstract description 15
- 230000000903 blocking effect Effects 0.000 abstract description 7
- 238000007726 management method Methods 0.000 description 45
- 230000006870 function Effects 0.000 description 41
- 230000005484 gravity Effects 0.000 description 39
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000001133 acceleration Effects 0.000 description 14
- HOWHQWFXSLOJEF-MGZLOUMQSA-N systemin Chemical compound NCCCC[C@H](N)C(=O)N[C@@H](CCSC)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CC(O)=O)C(=O)OC(=O)[C@@H]1CCCN1C(=O)[C@H]1N(C(=O)[C@H](CC(O)=O)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H]2N(CCC2)C(=O)[C@H]2N(CCC2)C(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@@H](NC(=O)[C@H](C)N)C(C)C)CCC1 HOWHQWFXSLOJEF-MGZLOUMQSA-N 0.000 description 11
- 108010050014 systemin Proteins 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000006978 adaptation Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000005562 fading Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- 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/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
- H04M1/72439—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for image or video messaging
-
- 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
-
- 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/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种屏幕旋转时的显示优化方法、设备及存储介质,属于屏幕显示技术领域。所述方法包括:显示应用的第一应用界面,第一应用界面对应的遮挡图像显示策略为第一显示策略;响应于屏幕旋转操作,获取第二显示策略,第二显示策略为第一应用界面进行界面旋转后的第二应用界面对应的遮挡图像显示策略;在第一显示策略与第二显示策略不同的情况下,将第一应用界面向第二应用界面切换,并根据第二显示策略,在切换至第二应用界面之前隐藏或显示遮挡图像。如此,在屏幕旋转时,可以在完成屏幕旋转之前提前在挖孔屏上显示或隐藏遮挡图像,从而缩短了显示或隐藏遮挡图像和应用界面旋转之间的时间差,缓解了屏幕旋转时视觉上的卡顿。
Description
技术领域
本申请涉及屏幕显示技术领域,特别涉及一种屏幕旋转时的显示优化方法、设备及存储介质。
背景技术
挖孔屏是目前手机等电子设备中经常使用的一种屏幕结构,对于挖孔屏设备(即具有挖孔屏的电子设备),若当前显示的应用界面和挖孔屏不适配,则挖孔屏设备可以在屏幕顶部区域和/或侧边区域显示遮挡图像,例如挖孔屏顶部和侧边的黑条,从而遮挡对应区域。
在电子设备的屏幕显示某个应用的应用界面时,若屏幕发生旋转,比如从竖屏模式切换至横屏模式,则电子设备需要将应用的竖屏应用界面向横屏应用界面进行切换。但是,应用的竖屏显示界面和横屏显示界面根据是否适配挖孔屏,其对应的遮挡图像显示策略可能不同。比如,若应用的竖屏应用界面适配挖孔屏,横屏应用界面不适配挖孔屏,则从竖屏应用界面切换到横屏应用界面时,需要隐藏遮挡图像。若应用的竖屏应用界面不适配挖孔屏,横屏应用界面适配挖孔屏,则从竖屏应用界面切换到横屏应用界面时,需要显示遮挡图像。
目前的电子设备中,显示或隐藏遮挡图像和应用界面旋转之间有较长的时间差,给用户造成不好的使用体验。
发明内容
本申请提供了一种屏幕旋转时的显示优化方法、设备及存储介质,可以缩短显示或隐藏遮挡图像和应用界面旋转之间的时间差,改善屏幕旋转时调整遮挡图像的视觉体验。所述技术方案如下:
第一方面,提供了一种屏幕旋转时的显示优化方法,应用于配置有挖孔屏的电子设备,所述方法包括:显示应用的第一应用界面,第一应用界面对应的遮挡图像显示策略为第一显示策略;响应于屏幕旋转操作,获取第二显示策略,第二显示策略为第一应用界面进行界面旋转后的第二应用界面对应的遮挡图像显示策略;在第一显示策略与第二显示策略不同的情况下,将第一应用界面向所述第二应用界面切换,并根据第二显示策略,在切换至第二应用界面之前隐藏或显示遮挡图像。
如此,在屏幕旋转时,可以在完成屏幕旋转之前提前在挖孔屏上显示或隐藏遮挡图像,从而缩短了显示或隐藏遮挡图像和应用界面旋转之间的时间差,缓解了屏幕旋转时隐藏或显示遮挡图像而导致的视觉上的卡顿,改善用户的使用体验。
其中,遮挡图像用于遮挡挖孔屏的顶部区域和/或侧边区域。比如,遮挡图像可以包括顶部黑条和/或侧边黑条。
在一种可能的示例中,第一显示策略为在挖孔屏上显示遮挡图像,第二显示策略为在所述挖孔屏上不显示所述遮挡图像;显示应用的第一应用界面,包括:显示应用的第一应用界面,并在挖孔屏上显示所述遮挡图像;在切换至所述第二应用界面之前隐藏或显示遮挡图像,包括:在切换至第二应用界面之前,隐藏挖孔屏上显示的遮挡图像。
如此,可以在第一应用界面对应的遮挡图像显示策略为显示遮挡图像,旋转后的第二应用界面对应的遮挡图像显示策略为不显示遮挡图像的情况下,在切换至第二应用界面之前,提前隐藏挖孔屏上显示的遮挡图像,缩短隐藏遮挡图像和应用界面旋转之间的时间差,缓解了屏幕旋转时隐藏遮挡图像而导致的视觉上的卡顿。
在一种可能的示例中,隐藏挖孔屏上显示的所述遮挡图像,包括:逐次缩小所述挖孔屏上显示的遮挡图像的尺寸,直至遮挡图像被隐藏;或者,逐次提高挖孔屏上显示的遮挡图像的透明度,直至遮挡图像被隐藏。
如此,可以实现以渐出效果隐藏遮挡图像,缓解从显示到隐藏遮挡图像的跳变,在视觉上增加隐藏遮挡图像的过程感和流畅感,增强用户的使用体验。
在一种可能的示例中,第一显示策略为在挖孔屏上不显示遮挡图像,第二显示策略为在挖孔屏上显示所述遮挡图像;在切换至第二应用界面之前隐藏或显示遮挡图像,包括:在切换至第二应用界面之前,在挖孔屏上显示所述遮挡图像。
如此,可以在第一应用界面对应的遮挡图像显示策略为不显示遮挡图像,旋转后的第二应用界面对应的遮挡图像显示策略为显示遮挡图像的情况下,在切换至第二应用界面之前,提前在挖孔屏上显示遮挡图像,缩短显示遮挡图像和应用界面旋转之间的时间差,缓解幕旋转时显示遮挡图像而导致的视觉上的卡顿。
在一种可能的示例中,在挖孔屏上显示遮挡图像,包括:在挖孔屏上显示遮挡图像的部分区域,逐次增加显示的遮挡图像的部分区域的尺寸,直至在挖孔屏上显示完整的遮挡图像;或者,在挖孔屏上以第一透明度显示遮挡图像,逐次减小遮挡图像的透明度,直至遮挡图像的透明度减小至第二透明度,第二透明度小于第一透明度。
如此,可以实现以渐现效果显示遮挡图像,缓解从隐藏到显示遮挡图像的跳变,在视觉上增加显示遮挡图像的过程感和流畅感,增强用户的使用体验。
在一种可能的示例中,第一显示策略和第二显示策略均包括第一遮挡图像的显示策略和第二遮挡图像的显示策略,第一遮挡图像用于遮挡挖孔屏的顶部区域,第二遮挡图像用于遮挡挖孔屏的侧边区域;在切换至第二应用界面之前隐藏或显示遮挡图像,包括:
在第一显示策略和第二显示策略中的第一遮挡图像的显示策略不同、第二遮挡图像的显示策略相同的情况下,在切换至第二应用界面之前隐藏或显示第一遮挡图像;
在第一显示策略和第二显示策略中的第一遮挡图像的显示策略相同、第二遮挡图像的显示策略不同的情况下,在切换至第二应用界面之前隐藏或显示第二遮挡图像;
在第一显示策略和第二显示策略中的第一遮挡图像的显示策略不同、第二遮挡图像的显示策略也不同的情况下,在切换至第二应用界面之前隐藏或显示第一遮挡图像、以及隐藏或显示第二遮挡图像。
如此,增加了遮挡图像显示策略的多样性,可以根据需要灵活配置应用的横竖屏应用界面对应的遮挡图像显示策略。另外,可以根据多样性的遮挡图像显示策略,在切换至第二应用界面之前,适应性地隐藏或显示遮挡图像。
在一种可能的示例中,电子设备的操作***包括窗口管理服务模块、***用户界面和显示旋转模块;响应于屏幕旋转操作,获取第二显示策略,包括:
窗口管理服务模块若检测到屏幕旋转指令,则查询第二应用界面对应的遮挡图像显示策略,第二应用界面对应的遮挡图像显示策略为第二显示策略,屏幕方向包括横屏方向和竖屏方向;
将第一应用界面向第二应用界面切换,根据第二显示策略,在切换至第二应用界面之前隐藏或显示遮挡图像,包括:
窗口管理服务模块通知显示旋转模块进行屏幕旋转,并根据第二显示策略通知***用户界面隐藏或显示遮挡图像;显示旋转模块响应窗口管理服务模块的通知,将第一应用界面向第二应用界面切换;***用户界面在显示旋转模块将第一应用界面切换至第二应用界面切换之前,响应窗口管理服务模块的通知,隐藏或显示遮挡图像。
如此,WMS可以在通知显示旋转模块进行屏幕旋转之前,提前获取旋转后的应用界面对应的遮挡图像显示策略,以及在显示旋转模块完成屏幕旋转之前,根据旋转后的应用界面对应的遮挡图像显示策略提前通知***用户界面隐藏或显示遮挡图像,从而缩短了隐藏或显示遮挡图像和应用界面旋转之间的时间差,缓解了屏幕旋转时隐藏或显示遮挡图像而导致的视觉上的卡顿。
其中,屏幕旋转指令用于指示屏幕需要进行旋转。窗口管理服务模块可以在接收到电子设备的重力方向变化事件后,根据重力方向变化事件确定屏幕需要进行旋转时,确定检测到屏幕旋转指令。或者,在接收到横竖屏姿态变化事件时,确定检测到屏幕旋转指令。或者,在接收到自动旋转功能按钮的触发事件时,确定检测到屏幕旋转指令。当然,也可以在其他情况下确定检测到屏幕旋转指令,本申请实施例对此不作限定。
在一种可能的示例中,操作***还包括SurfaceFlinger;显示旋转模块响应窗口管理服务模块的通知,将第一应用界面向第二应用界面切换,包括:
显示旋转模块响应窗口管理服务模块的通知,通知SurfaceFlinger播放屏幕旋转动画效果,屏幕旋转动画效果是指将第一应用界面向第二应用界面切换的动画效果。通过在屏幕旋转时播放屏幕旋转动画效果,可以增加屏幕旋转的过程感和流畅感,提高用户的视觉体验。
在一种可能的示例中,***用户界面可以以渐隐效果隐藏遮挡图像,或者以渐现效果显示遮挡图像。比如,窗口管理服务模块可以在通知显示旋转模块进行屏幕旋转同时,根据第二显示策略通知***用户界面播放遮挡图像的渐隐动画效果或渐现动画效果。显示旋转模块响应窗口管理服务模块的通知,通知SurfaceFlinger播放屏幕旋转动画效果,同时,***用户界面响应窗口管理服务模块的通知,播放遮挡图像的渐隐动画效果或渐现动画效果。如此,可以保证屏幕旋转动效与遮挡图像的渐隐渐现动效同时进行,而不是在屏幕旋转动效播放完成之外才隐藏或显示遮挡图像,增强用户体验。
在一种可能的示例中,电子设备的操作***还包括传感器模块,传感器模块用于获取电子设备的横竖屏姿态;窗口管理服务模块查询第二应用界面对应的遮挡图像显示策略之前,还包括:传感器模块若检测到电子设备的横竖屏姿态发生变化,则向窗口管理服务模块发送横竖屏姿态变化事件;窗口管理服务模块接收横竖屏姿态变化事件,根据接收到的横竖屏姿态变化事件,确定检测到屏幕旋转指令。
第二方面,提供了一种屏幕旋转时的显示优化装置,所述屏幕旋转时的显示优化装置具有实现上述第一方面中屏幕旋转时的显示优化方法行为的功能。所述屏幕旋转时的显示优化装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的屏幕旋转时的显示优化方法。
第三方面,提供了一种屏幕旋转时的显示优化装置,所述屏幕旋转时的显示优化装置的结构中包括处理器和存储器,所述存储器用于存储支持屏幕旋转时的显示优化装置执行上述第一方面所提供的屏幕旋转时的显示优化方法的程序,以及存储用于实现上述第一方面所述的屏幕旋转时的显示优化方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述屏幕旋转时的显示优化装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的屏幕旋转时的显示优化方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的屏幕旋转时的显示优化方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例提供的一种手机在竖屏模式下在挖孔屏上显示未适配挖孔屏的竖屏应用界面以及遮挡图像的示意图;
图2是相关技术提供的一种手机从适配挖孔屏的竖屏应用界面向未适配挖孔屏的横屏应用界面切换的场景示意图;
图3是相关技术提供的一种手机从未适配挖孔屏的竖屏应用界面向适配挖孔屏的横屏应用界面切换的场景示意图;
图4是本申请实施例提供的一种手机从适配挖孔屏的横屏应用界面向未适配挖孔屏的竖屏应用界面切换的场景示意图;
图5是本申请实施例提供的一种手机从未适配挖孔屏的竖屏应用界面向适配挖孔屏的横屏应用界面切换的场景示意图;
图6是本申请实施例提供的一种电子设备的结构示意图;
图7是本申请实施例提供的一种电子设备的软件***的框图;
图8是相关技术中提供的一种屏幕旋转时的显示方法的流程图;
图9是本申请实施例提供的一种屏幕旋转时的显示优化方法的流程图;
图10是本申请实施例提供的一种屏幕旋转时的显示优化方法的信令图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,比如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
为了便于理解本申请,首先对本申请实施例可能涉及的术语进行说明。
全面屏设备:全面屏设备是指通过缩小边框的尺寸而获得较高的屏占比的电子设备。屏占比是指屏幕面积和电子设备正面(一般以屏幕所在的一面为正面)的面积的比值。通过缩小边框的宽度,全面屏的屏占比可以达到80%至90%。
瀑布屏设备:瀑布屏是在全面屏设备的基础上进一步改进后的产物。瀑布屏设备的屏幕侧边具有一定的弧度,因而与全面屏设备相比,瀑布屏设备能够完全取消屏幕两侧的边框,进一步提高了屏占比,使得瀑布屏设备的屏占比可以达到90%以上。
挖孔屏:设置有挖孔区域的上述全面屏和瀑布屏可以统称为挖孔屏,配置的屏幕为挖孔屏的电子设备可以称为挖孔屏设备。
一般的,全面屏设备和瀑布屏设备的屏幕上可以设置挖孔区域,该挖孔区域的形状可以是圆形、圆角矩形或其他不规则形状,挖孔区域可以位于屏幕的一角(比如位于靠近左上角的位置),也可以位于屏幕顶部中央的位置,本申请实施例对挖孔区域的位置和形状均不做限定。电子设备上需要安装在正面的器件可以安装在挖孔区域内。需要安装在正面的器件可以包括前置摄像头、接近光传感器等。
遮挡图像:遮挡图像是指电子设备在屏幕的顶部区域和/或侧边区域显示的用于遮挡对应区域的图像。遮挡图像的样式和尺寸,可以基于***的默认配置确定,也可以基于用户设置确定。比如,若应用界面不适配挖孔屏,则电子设备可以在显示应用界面的同时,在挖孔屏的顶部区域和/或侧边区域显示遮挡图像。
接下来,对申请实施例涉及的应用场景进行说明。
当电子设备的屏幕为挖孔屏时,不同应用的应用界面对挖孔屏的适配情况可能不同,同一应用的竖屏应用界面和横屏应用界面对挖孔屏的适配情况也可能不同。竖屏应用界面是指在竖屏模式下适配于竖向屏幕的应用界面。横屏应用界面是指在横屏模式下适配于横向屏幕的应用界面。
比如,对于有些应用来说,这些应用的竖屏应用界面适配挖孔屏,而横屏应用界面未适配挖孔屏。因此,其竖屏应用界面在挖孔屏上显示时能占满整个屏幕,电子设备在显示适配挖孔屏的竖屏应用界面时不需要在屏幕的顶部区域和/或侧边区域显示遮挡图像。而其横屏应用界面在挖孔屏上显示时不能占满整个屏幕,电子设备在显示不适配挖孔屏的横屏应用界面时,会在屏幕顶部区域和/或侧边区域显示遮挡图像,使屏幕上未被遮挡的可视区域和横屏应用界面适配。
再比如,对于另一些应用来说,这些应用的竖屏应用界面不适配挖孔屏,而横屏应用界面适配挖孔屏。因此,其竖屏应用界面在挖孔屏上显示时不能占满整个屏幕,电子设备在显示不适配挖孔屏的竖屏应用界面时,会在屏幕顶部区域和/或侧边区域显示遮挡图像,使屏幕上未被遮挡的可视区域和竖屏应用界面适配。而其横屏应用界面在挖孔屏上显示时能占满整个屏幕,电子设备在显示适配挖孔屏的横屏应用界面时不需要在屏幕的顶部区域和/或侧边区域显示遮挡图像。
由上可知,应用的竖屏应用界面和横屏应用界面对应的遮挡图像显示策略可以根据对应应用界面是否适配挖孔屏设置。比如,若应用界面适配挖孔屏,则其对应的遮挡图像显示策略为不在挖孔屏上显示遮挡图像,即在挖孔屏上隐藏遮挡图像。若应用界面未适配挖孔屏,则其对应的遮挡图像显示策略为在挖孔屏上显示遮挡图像。
另外,在显示未适配挖孔屏的横屏应用界面或竖屏应用界面时,根据应用界面在挖孔屏上覆盖的区域,电子设备可以同时在顶部区域和侧边区域显示遮挡图像,或者可以仅在顶部区域显示遮挡图像,还可以仅在侧边区域显示遮挡图像。总之,显示遮挡图像的具***置可以根据当前显示的应用界面决定,本实施例对此不做限定。
因此,未适配挖孔屏的应用界面对应的遮挡图像显示策略可能包括多种显示策略。比如包括如下几种显示策略:在顶部区域和侧边区域显示遮挡图像;在顶部区域显示遮挡图像但不在侧边区域显示遮挡图像;在侧边区域显示遮挡图像但不在顶部区域显示遮挡图像。
由上可知,即使应用的竖屏应用界面和横屏应用界面均未适配挖孔屏,其对应的遮挡图像显示策略也可能不同。比如,竖屏应用界面对应的遮挡图像显示策略为:在顶部区域和侧边区域显示遮挡图像。横屏应用界面对应的遮挡图像显示策略为:在顶部区域显示遮挡图像但不在侧边区域显示遮挡图像。
若电子设备在显示某个应用的应用界面时进行屏幕旋转,即横竖屏模式发生切换,则电子设备将从竖屏应用界面切换至横屏应用界面,或者从横屏应用界面切换至竖屏应用界面。在电子设备从竖屏应用界面切换至横屏应用界面,或者从横屏应用界面切换至竖屏应用界面时,若切换前的应用界面与切换后的应用界面对应的遮挡图像显示策略不同,电子设备将会在应用界面切换后在屏幕上显示或隐藏遮挡图像。比如,若旋转前的应用界面适配挖孔屏,旋转后的应用界面不适配挖孔屏,则将在应用界面旋转后在挖孔屏上显示遮挡图像。若旋转前的应用界面不适配挖孔屏,旋转后的应用界面适配挖孔屏,则将在应用界面旋转后在挖孔屏上隐藏遮挡图像。
需要说明的是,本申请实施例涉及的电子设备为配置有挖孔屏的电子设备,具体可以为手机、平板电脑、智能可穿戴设备等,本申请实施例对电子设备的具体类型不做限定。为了便于理解,接下来将以电子设备为手机为例进行举例说明。
请参考图1,图1是本申请实施例提供的一种手机在竖屏模式下在挖孔屏上显示未适配挖孔屏的竖屏应用界面以及遮挡图像的示意图。由图1可以看出,手机100的屏幕上设置有挖孔区域101,挖孔区域101内安装有前置摄像头。屏幕顶部,即挖孔区域101所在的区域为挖孔屏的顶部区域102,屏幕两侧的长条形区域为挖孔屏的侧边区域103。
手机100在竖屏模式下运行视频应用时,手机100的挖孔屏上显示图示的视频应用的竖屏应用界面。由于视频应用的竖屏应用界面未适配挖孔屏,电子设备在显示视频应用的竖屏应用界面的同时,在挖孔屏的顶部区域102显示如图1所示的顶部黑条104,在挖孔屏的侧边区域103显示如图1所示的侧边黑条105,图1所示的顶部黑条104和侧边黑条105,即是本申请实施例所述的遮挡图像的一种具体实现形式。
除图1所示的场景以外,在实际应用中,显示未适配挖孔屏的竖屏应用界面或横屏应用界面时,根据应用界面在挖孔屏上覆盖的区域,电子设备可以同时在顶部区域和侧边区域显示遮挡图像,或者可以仅在顶部区域显示遮挡图像,还可以仅在侧边区域显示遮挡图像。总之,显示遮挡图像的具***置可以根据当前显示的应用界面决定,本实施例对此不做限定。
在对手机进行屏幕旋转时,比如将手机由竖屏模式切换为横屏模式时,手机会将当前显示的竖屏应用界面切换为适配于横向屏幕的横屏应用界面。若竖屏应用界面未适配挖孔屏,而横屏应用界面适配挖孔屏,则在手机显示横屏应用界面时,会隐藏遮挡图像。比如,在对手机100进行屏幕旋转,从而将图1所示的竖屏显示界面切换为适配挖孔屏的横屏应用界面时,将隐藏屏幕上的遮挡图像,即隐藏顶部区域102的顶部黑条以及侧边区域103的侧边黑条,使得横屏应用界面占满屏幕。
相关技术中,电子设备跟随应用界面旋转而显示或隐藏遮挡图像时,存在如下的问题:
目前的电子设备在从竖屏应用界面向横屏应用界面切换,或者从横屏应用界面向竖屏应用界面切换时,都是在屏幕旋转动画效果播放结束之后再调整屏幕上遮挡图像的显示或隐藏,这类电子设备在进行屏幕旋转时,用户看到的视觉效果一般是,屏幕旋转动画效果播放完后,屏幕上显示的界面发生跳变,从显示遮挡图像的界面直接切换为隐藏遮挡图像的界面,或者从隐藏遮挡图像的界面切换为显示遮挡图像的界面。这种在屏幕旋转动画效果播放完后的跳变,会造成视觉上的卡顿感,即用户感觉电子设备在屏幕旋转的过程发生卡顿和闪屏。
比如,请参考图2,图2是相关技术提供的一种手机从适配挖孔屏的竖屏应用界面向未适配挖孔屏的横屏应用界面切换的场景示意图。
手机处于竖屏模式时,用户打开手机安装的视频应用播放视频,手机响应于用户的操作启动视频应用,通过视频应用播放视频,并显示如图2的(a)图所示的竖屏模式下视频应用的竖屏应用界面。由于竖屏模式下视频应用的竖屏应用界面适配挖孔屏,因此显示竖屏应用界面时,挖孔屏上未显示遮挡图像。在视频应用播放视频期间,用户执行屏幕旋转操作,手机响应于屏幕旋转操作,将视频应用的竖屏应用界面向横屏应用界面切换,显示如图2中的(b)图所示的视频应用的横屏应用界面。另外,在手机从视频应用的竖屏应用界面向横屏应用界面切换的过程中,可以播放屏幕旋转动画效果,屏幕旋转动画效果是指从竖屏应用界面向横屏应用界面切换的动画效果。手机在切换至如图2中的(b)图所示的横屏应用界面后,获取横屏应用界面对应的遮挡图像显示策略。若横屏应用界面对应的遮挡图像显示策略为显示顶部黑条和侧边黑条,再将图2中的(b)图所示的界面切换为图2中的(c)图所示界面,即在屏幕的顶部区域显示顶部黑条,以及在侧边区域显示侧边黑条。
再比如,请参考图3,图3是相关技术提供的一种手机从未适配挖孔屏的竖屏应用界面向适配挖孔屏的横屏应用界面切换的场景示意图。
手机处于竖屏模式时,用户打开手机安装的视频应用播放视频,手机响应于用户的操作启动视频应用,通过视频应用播放视频,并显示如图3的(a)图所示的竖屏模式下视频应用的竖屏应用界面。由于竖屏模式下视频应用的竖屏应用界面适配挖孔屏,因此显示竖屏应用界面时,挖孔屏上显示有遮挡图像,遮挡图像包括顶部黑条和侧边黑条。在视频应用播放视频期间,用户执行屏幕旋转操作,手机响应于屏幕旋转操作,将视频应用的竖屏应用界面向横屏应用界面切换,显示如图3中的(b)图所示的视频应用的横屏应用界面以及遮挡图像。另外,在手机从视频应用的竖屏应用界面向横屏应用界面切换的过程中,可以播放屏幕旋转动画效果。手机在切换至如图3中的(b)图所示的横屏应用界面后,获取横屏应用界面对应的遮挡图像显示策略。若横屏应用界面对应的遮挡图像显示策略为不显示顶部黑条和侧边黑条,则将图3中的(b)图所示的界面切换为图3中的(c)图所示的界面,即隐藏顶部区域的顶部黑条以及侧边区域的侧边黑条。
由上述图2可知,相关技术中,从适配挖孔屏的竖屏应用界面向不适配挖孔屏的横屏应用界面切换时,先从隐藏遮挡图像的竖屏应用界面切换到隐藏遮挡图像的横屏应用界面,再在横屏应用界面上添加遮挡图像。由上述图3可知,相关技术中,从未适配挖孔屏的竖屏应用界面向适配挖孔屏的横屏应用界面切换时,先从显示遮挡图像的竖屏应用界面切换到显示遮挡图像的横屏应用界面,再隐藏横屏应用界面上的遮挡图像。这将导致手机在应用界面旋转时,用户看到的视觉效果一般是,屏幕旋转动画效果播放完后,屏幕上显示的界面发生跳变,从显示遮挡图像的界面直接切换为隐藏遮挡图像的界面,或者从隐藏遮挡图像的界面切换为显示遮挡图像的界面。这种在屏幕旋转动画效果播放完后的跳变,会造成视觉上的卡顿感,即用户感觉手机在屏幕旋转的过程发生卡顿和闪屏。
针对上述问题,本申请实施例提供了一种屏幕旋转时的显示优化方法,以改善电子设备在屏幕旋转时造成的卡顿感和闪烁感,改善用户的使用体验。在本申请实施例提供的显示优化方法中,在显示应用的第一应用界面时,若检测到屏幕旋转操作,则响应于屏幕旋转操作,先获取第一应用界面进行界面旋转后的第二应用界面对应的遮挡图像显示策略。如果第二应用界面与第一应用界面对应的遮挡图像显示策略不同,则将第一应用界面向所述第二应用界面切换,并根据第二应用界面的遮挡图像显示策略,在切换至第二应用界面之前隐藏或显示遮挡图像。如此,在屏幕旋转时,可以在完成屏幕旋转之前提前在挖孔屏上显示或隐藏遮挡图像,从而缓解屏幕旋转时的卡顿感。
其中,第二应用界面为对第一应用界面进行界面旋转后得到的应用界面,即对第一应用界面进行横竖屏切换后得到的应用界面。也就是说,第一应用界面和第二应用界面为应用的同一应用界面在横竖屏模式下的不同显示形式。比如,若第一应用界面为竖屏应用界面,则第二应用界面为横屏应用界面。若第一应用界面为横屏应用界面,则第二应用界面为竖屏应用界面。
下面以手机这一具体的电子设备为示例,说明应用本申请实施例的显示优化方法的手机进行屏幕旋转时的场景。
请参见图4,图4是本申请实施例提供的一种手机从适配挖孔屏的横屏应用界面向未适配挖孔屏的竖屏应用界面切换的场景示意图。
手机处于竖屏模式时,用户打开手机安装的视频应用并播放视频,手机响应于用户的操作启动视频应用,通过视频应用开始播放视频,并显示如图4的(a)图所示的竖屏模式下视频应用的竖屏应用界面。由于竖屏模式下视频应用的竖屏应用界面适配挖孔屏,因此显示竖屏应用界面时,挖孔屏上未显示遮挡图像。在视频应用播放视频期间,用户执行屏幕旋转操作,手机响应于屏幕旋转操作,先获取当前显示的竖屏应用界面对应的横屏应用界面的遮挡图像显示策略,若横屏应用界面的遮挡图像显示策略为显示顶部黑条和侧边黑条,则将竖屏应用界面向横屏应用界面切换,并根据横屏应用界面的遮挡图像显示策略,在切换至横屏应用界面之前,提前在挖孔屏上显示顶部黑条和侧边黑条。如此,如图4的(b)图所示,在完成屏幕旋转时,即可直接在挖孔屏上显示横屏应用界面、顶部黑条和侧边黑条,缓解了屏幕旋转时先显示切换后的横屏应用界面、再在横屏应用界面上添加遮挡图像导致的视觉上的卡顿。
其中,屏幕旋转操作是指触发屏幕进行旋转的操作,可以为用户旋转手机的操作,也可以为点击自动旋转功能图标的操作等,本申请实施例对屏幕旋转操作不做限定。
再比如,请参考图5,图5是本申请实施例提供的一种手机从未适配挖孔屏的竖屏应用界面向适配挖孔屏的横屏应用界面切换的场景示意图。
手机处于竖屏模式时,用户打开手机安装的视频应用并播放视频,手机响应于用户的操作启动视频应用,通过视频应用开始播放视频,并显示如图5的(a)图所示的竖屏模式下视频应用的竖屏应用界面。由于竖屏模式下视频应用的竖屏应用界面为适配挖孔屏,因此显示竖屏模式的竖屏应用界面时,挖孔屏上显示有遮挡图像,遮挡图像包括顶部黑条和侧边黑条。在视频应用播放视频期间,用户执行屏幕旋转操作,手机响应于屏幕旋转操作,先获取当前显示的竖屏应用界面对应的横屏应用界面的遮挡图像显示策略,若横屏应用界面的遮挡图像显示策略为隐藏遮挡图像(不显示顶部黑条和侧边黑条),则将竖屏应用界面向横屏应用界面切换,并根据横屏应用界面的遮挡图像显示策略,在切换至横屏应用界面之前,提前在挖孔屏上隐藏顶部黑条和侧边黑条。如此,如图5的(b)图所示,在完成屏幕旋转时,即可直接在挖孔屏上显示隐藏了顶部黑条和侧边黑条的横屏应用界面,缓解了屏幕旋转时先显示切换后的横屏应用界面和遮挡图像、再隐藏遮挡图像导致的视觉上的卡顿。
此外,在完成屏幕旋转之前提前在挖孔屏上显示遮挡图像时,还可以以渐现效果显示遮挡图像,比如播放遮挡图像的渐现动画效果,以缓解从隐藏到显示遮挡图像的跳变,在视觉上增加显示遮挡图像的过程感和流畅感,增强用户体验。比如,在屏幕上逐次增加遮挡图像的尺寸,直至在屏幕上显示完整的遮挡图像;或者,在屏幕上逐次减小遮挡图像的透明度,直至遮挡图像的透明度减小至能够清楚地看到遮挡图像的透明度。当然,也可以采用其他方式实现以渐现效果显示遮挡图像,本申请实施例对此不做限定。
此外,在完成屏幕旋转之前提前在挖孔屏上隐藏遮挡图像时,还可以以渐出效果隐藏遮挡图像,比如播放遮挡图像的渐隐动画效果,以缓解从显示到隐藏遮挡图像的跳变,在视觉上增加隐藏遮挡图像的过程感和流畅感,增强用户体验。比如,在屏幕上逐次减小遮挡图像的尺寸,直至遮挡图像被隐藏;或者,在屏幕上逐次增加遮挡图像的透明度,直至遮挡图像被隐藏。当然,也可以采用其他方式实现以渐出效果隐藏遮挡图像,本申请实施例对此不做限定。
接下来,对本申请实施例涉及的电子设备予以说明。
图6是本申请实施例提供的一种电子设备100的结构示意图,其具体可以是手机、平板电脑、可穿戴设备等设备。参见图6,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,比如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(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)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头193反馈的数据。比如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的整数。
外部存储器接口120可以用于连接外部存储卡,比如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。比如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,计算机可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,来执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100在使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,比如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。加速度传感器180E还可以用于识别电子设备100的姿态,应用于横竖屏切换,计步器等应用。当然,加速度传感器180E也可以结合陀螺仪传感器180B,来识别电子设备100的姿态,应用于横竖屏切换。
陀螺仪传感器180B可以用于确定终端100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端100的抖动,实现防抖。陀螺仪传感器180B还可以用于横竖屏切换,导航,体感游戏场景。
以上是以电子设备100为例对本申请实施例作出的具体说明。可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请实施例提供的电子设备可以是用户设备(user equipment,UE),例如移动终端(如手机)、平板电脑、桌面型、膝上型笔记本电脑、手持计算机、上网本、个人数字助理(personal digital assistant,PAD)等设备。
另外,在上述部件之上,运行有操作***。例如苹果公司所开发的IOS操作***,谷歌公司所开发的Android开源操作***,微软公司所开发的Windows操作***等。在
电子设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。为了更清楚的说明本申请实施例提供的屏幕旋转时的显示优化方法,本申请实施例以分层架构的安卓(Android)***为例,对电子设备100的软件***进行示例性说明。
图7是本申请实施例提供的一种电子设备100的软件***的框图。参见图7,电子设备可以包括硬件层和软件层,其中,分层架构的Android***可以包括应用层,应用框架层,***库层和内核层。在一些可选的实施例中,电子设备的***还可以包括上述技术架构未提及的层级,如安卓运行时(Android Runtime)。
应用程序层可以包括一系列应用程序包,如导航应用,音乐应用和视频应用等。如图7所示,应用程序包可以包括视频、聊天等应用,以及***用户界面(system userinterface,System UI)。
视频、聊天等应用用于为用户提供对应的服务。例如,用户使用视频应用观看视频,使用聊天应用和其他用户聊天,使用音乐应用收听音乐。
SystemUI用于管理电子设备的人机交互界面(user interface,UI),在本申请实施例中,SystemUI用于管理挖孔屏边缘区域的遮挡图像的显示和隐藏。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图7所示,应用程序框架层可以包括窗口管理服务模块(window manageservice,WMS),显示旋转模块(又称DisplayRotation),应用管理服务模块(activitymanage service,AMS)和输入管理模块(又称Input)等。
WMS用于管理窗口程序。窗口管理器可以获取屏幕大小,判断是否有状态栏,锁定屏幕,截取屏幕等。本申请实施例中,WMS可以创建并管理应用对应的窗口。
显示旋转模块用于控制屏幕进行旋转,通过旋转使得屏幕呈现出竖屏或者横屏的布局。比如在确定需要进行屏幕旋转时,通知Surfaceflinger进行应用界面的横竖屏切换。
AMS用于根据用户的操作启动特定的应用。例如,当用户点击桌面的视频应用图标时,AMS将视频应用设置为前台运行的状态,并创建视频应用对应的应用堆栈,使视频应用能够正常运行。
***库层可以包括多个功能模块,比如:传感器模块(又称sensor)和SurfaceFlinger。
传感器模块用于获取传感器采集的数据,比如获取加速度传感器采集的电子设备的重力方向信息。或者,传感器模块也可以根据电子设备的重力方向信息,确定电子设备的横竖屏状态信息,横竖屏状态信息用于指示电子设备处于横屏状态还是竖屏状态。
Surfaceflinger是一种***服务,用于图层的创建、控制和管理等功能。本申请实施例中,Surfaceflinger可以用于进行应用界面的横竖屏切换,比如播放屏幕旋转动画效果。
另外,***库层还可以包括:表面管理器(surface manager),媒体库(MediaLibraries),三维图形处理库(比如:OpenGL ES),2D图形引擎(比如:SGL)等。表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,比如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。在本申请实施例中,内核层至少包含触控驱动模块和显示驱动模块。
显示驱动模块用于根据应用框架层的模块和应用层的应用程序所提供的图像数据,在触摸屏上显示对应的图像。例如,视频应用将视频的一帧图像数据传递给显示驱动模块,显示驱动模块根据该图像数据在触摸屏上显示视频中的一帧图像。SystemUI将遮挡图像的图像数据传递给显示驱动模块,显示驱动模块根据遮挡图像的图像数据在挖孔屏指定的区域显示该遮挡图像。
触控驱动模块用于监测触摸屏各区域的电容值。当用户在触摸屏上点击或滑动时,被点击或滑动的区域的电容值会发生变化,触控驱动模块能够监测到触摸屏上各区域电容值的变化,并向输入管理模块发送电容值变化消息,电容值变化消息中携带有触摸屏各个区域的电容值(或电容采样值)的变化幅度以及发生变化的时间等信息。
输入管理模块根据上报的电容值变化消息可以确定触控操作,然后将识别到的触控操作发送给其他模块。这里的触控操作可以包括点击操作,拖拽操作,以及特定的手势操作(如上滑手势操作,横滑手势操作等)。
硬件层包括挖孔屏和姿态传感器等,姿态传感器可以包括加速度传感器,还可以包括陀螺仪。姿态传感器用于检测电子设备的姿态信息,比如重力方向信息等。
例如,用户在手机处于竖屏姿态时旋转手机,将手机从竖屏姿态旋转为横屏姿态,传感器模块根据加速度传感器上报的数据识别出手机的重力方向发生变化,然后向WMS发送重力方向变化事件,WMS根据重力方向变化事件判断手机从竖屏姿态旋转为横屏姿态,然后确定需要进行屏幕旋转。或者,传感器模块根据加速度传感器上报的数据识别出手机的横竖屏状态发生变化,然后向WMS发送横竖屏姿态变化事件,WMS根据横竖屏状态变化事件确定需要进行屏幕旋转。
再例如,手机在相关界面提供自动旋转功能图标,比如在菜单栏或视频播放界面提供自动旋转功能图标,用户点击自动旋转功能图标后,输入管理模块根据上报的电容值变化消息识别出自动旋转功能图标的点击操作,然后将自动旋转功能图标的点击事件上报给WMS,WMS根据自动旋转功能图标的点击事件确定需要进行屏幕旋转。
需要说明的是,本申请实施例虽然以Android***为例进行说明,但是其基本原理同样适用于基于iOS或Windows等操作***的电子设备。
上述技术架构列举了电子设备中本申请可能涉及的模块和器件。在实际应用中,电子设备可以包括上述技术架构的全部或部分模块和器件,以及其他上述技术架构未提及的模块和器件,当然,也可以只包括上述技术架构的模块和器件,本实施例对此不做限定。
为了便于理解本申请实施例提供的屏幕旋转时的显示优化方法,下面先结合图7所示的电子设备的技术架构,以电子设备为手机为例,说明相关技术提供的屏幕旋转时的显示方法的实现方式。
请参考8,图8是相关技术中提供的一种屏幕旋转时的显示方法的流程图,该方法包括如下步骤:
步骤801:用户旋转手机。
比如,用户在手机显示应用的第一应用界面时,旋转手机。第一应用界面可以为横屏应用界面或竖屏应用界面。
步骤802:传感器模块检测到手机的重力方向发生变化。
传感器模块可以获取手机安装的加速度传感器上报的重力信息,根据加速度传感器在手机旋转过程中上报的重力信息,检测到手机的重力方向发生变化。
步骤803:传感器模块向窗口管理服务模块(以下简称WMS)发送重力方向变化事件。
传感器模块可以在检测到手机的重力方向发生变化后,向WMS发送重力方向变化事件。
步骤804:WMS在接收到重力方向变化事件后,根据重力方向变化事件判断手机是否需要进行屏幕旋转。
其中,重力方向变化事件可以包括变化前后的重力方向信息。WMS可以根据变化前后的重力方向信息确定手机的姿态变化,根据手机的姿态变化确定手机的屏幕姿态是否发生变化,比如是否从横屏姿态旋转为竖屏姿态,或者是否从竖屏姿态旋转为横屏姿态。若手机的屏幕姿态发生变化,则确定手机需要进行屏幕旋转,若屏幕姿态未发生变化,则确定手机不需要进行屏幕旋转。
步骤805:WMS若确定手机需要进行屏幕旋转,则通知显示旋转模块进行屏幕旋转。
步骤806:显示旋转模块响应于WMS的通知,通知SurfaceFlinger播放屏幕旋转动画效果。
其中,屏幕旋转动画效果是指从第一应用界面切换为第二应用界面的动画效果。第二应用界面为当前显示的第一应用界面进行界面旋转后的应用界面。比如,若第一应用界面为竖屏应用界面,则第二应用界面为横屏应用界面。若第一应用界面为横屏应用界面,则第二应用界面为竖屏应用界面。
也即是,相关技术中,WMS在确定手机需要进行屏幕旋转时,就立即通知显示旋转模块进行屏幕旋转,从而将第一应用界面切换为第二应用界面。
步骤807:WMS在检测到屏幕发生旋转后,查询旋转后界面对应的遮挡图像显示策略。
其中,旋转后界面是指当前显示的第一应用界面进行界面旋转后的第二应用界面。遮挡图像显示策略可以为显示遮挡图像或隐藏遮挡图像。
比如,WMS可以从窗口管理信息中查询旋转后的界面对应的遮挡图像显示策略。窗口管理信息存储有多个应用的横屏显示界面和竖屏显示界面分别对应的遮挡图像显示策略。
步骤808:WMS根据旋转后界面对应的遮挡图像显示策略,通知SystemUI隐藏或显示遮挡图像。
比如,若旋转后界面对应的遮挡图像显示策略为隐藏遮挡图像,则通知SystemUI隐藏遮挡图像。若旋转后界面对应的遮挡图像显示策略为显示遮挡图像,则通知SystemUI隐藏显示遮挡图像。
步骤809:SystemUI响应WMS的通知,隐藏或显示遮挡图像。
相关技术中,由于WMS在确定手机需要进行屏幕旋转时,是先通知显示旋转模块进行屏幕旋转,在检测到屏幕发生旋转后再查询旋转后界面对应的遮挡图像显示策略,根据旋转后界面对应的遮挡图像显示策略通知SystemUI隐藏或显示遮挡图像,因此这将导致手机在完成屏幕旋转后,再根据旋转后界面对应的遮挡图像显示策略隐藏或显示遮挡图像。用户看到的视觉效果一般是,屏幕旋转动画效果播放完后,屏幕上显示的界面发生跳变,从显示遮挡图像的界面直接切换为隐藏遮挡图像的界面,或者从隐藏遮挡图像的界面切换为显示遮挡图像的界面。这种在屏幕旋转动画效果播放完后的跳变,会造成视觉上的卡顿感,即用户感觉电子设备在屏幕旋转的过程发生卡顿和闪屏。
针对上述问题,本申请实施例提供了一种屏幕旋转时的显示优化方法,以改善电子设备在屏幕旋转时造成的卡顿感和闪烁感,改善用户的使用体验。
下面结合图7所示的电子设备的技术架构,以电子设备为手机为例,说明本申请实施例提供的屏幕旋转时的显示优化方法的实现方式。
请参考图9,图9是本申请实施例提供的一种屏幕旋转时的显示优化方法的流程图,该方法包括如下步骤:
步骤901:应用管理服务模块启动应用。
其中,应用可以是电子设备上安装的任意一款应用,比如可以为聊天应用或视频应用等。
应用管理服务模块(以下简称AMS)可以响应于用户打开应用的操作,启动应用。在使用电子设备时,用户可以通过多种方式打开电子设备安装的一个应用,例如,点击桌面上的应用图标,点击消息通知栏中应用的通知消息等。
步骤902:AMS向窗口管理服务模块通知启动该应用的窗口。
AMS启动应用后,向窗口管理服务模块通知启动该应用的窗口,从而触发WMS创建该应用的窗口。比如,AMS可以向WMS发送一个窗口启动通知,该通知中携带有被AMS启动的应用的应用标识。
步骤903:WMS响应于AMS的通知,创建该应用对应的窗口。
比如,WMS收到窗口启动通知后,可以根据窗口启动通知携带的应用标识创建被该应用对应的窗口。
应用对应的窗口被启动后,切换到前台运行的应用将应用界面的图像数据发送给显示驱动模块,显示驱动模块即可根据应用界面的图像数据在屏幕上显示被启动的应用的应用界面。
步骤904:在手机显示该应用的第一应用界面的情况下,用户旋转手机,第一应用界面对应的遮挡图像显示策略为第一显示策略。
其中,显示第一应用界面时手机可以处于横屏状态或竖屏状态,相应地,第一应用界面可以为横屏应用界面或竖屏应用界面。
第一应用界面对应的遮挡图像显示策略可以为显示遮挡图像或隐藏遮挡图像。比如,若第一显示策略为显示遮挡图像,则在显示第一应用界面时在屏幕上显示遮挡图像,譬如在屏幕的顶部区域和/或侧边区域显示遮挡图像。若第一显示策略为隐藏挡图像,则在显示第一应用界面时隐藏屏幕上的遮挡图像。
进一步地,遮挡图像显示策略可以包括第一遮挡图像的显示策略和第二遮挡图像的显示策略。第一遮挡图像用于遮挡屏幕的顶部区域,比如第一遮挡图像为顶部黑条。第二遮挡图像用于遮挡屏幕的侧边区域,比如第二遮挡图像为侧边黑条。第一遮挡图像的显示策略包括显示或隐藏第一遮挡图像。第二遮挡图像的显示策略包括显示或隐藏遮挡图像。
比如,若第一显示策略为显示第一遮挡图像和第二遮挡图像,则在显示第一显示界面时在屏幕的顶部区域显示第一遮挡图像,并在侧边区域显示第二遮挡图像。若第一显示策略为显示第一遮挡图像和隐藏第二遮挡图像,则在显示第一显示界面时在屏幕的顶部区域显示第一遮挡图像,并隐藏侧边区域上的第二遮挡图像。若第一显示策略为隐藏第一遮挡图像和显示第二遮挡图像,则在显示第一显示界面时隐藏屏幕的顶部区域上的第一遮挡图像,并在屏幕的侧边区域显示第二遮挡图像。若第一显示策略为隐藏第一遮挡图像和第二遮挡图像,则在显示第一显示界面时隐藏屏幕的顶部区域上的第一遮挡图像,并隐藏侧边区域上的第二遮挡图像。
步骤905:传感器模块检测到手机的重力方向发生变化。
传感器模块可以获取手机安装的加速度传感器上报的重力信息,根据加速度传感器在手机旋转过程中上报的重力信息,检测到手机的重力方向发生变化。
步骤906:传感器模块向WMS发送重力方向变化事件。
感器模块可以在检测到手机的重力方向发生变化后,向WMS发送重力方向变化事件。
步骤907:WMS在接收重力方向变化事件后,根据重力方向变化事件判断手机是否需要进行屏幕旋转。
WMS可以采用预设判断策略,根据重力方向变化事件判断手机是否需要进行屏幕旋转。
比如,重力方向变化事件可以包括变化前后的重力方向信息。WMS根据变化前后的重力方向信息可以确定手机的姿态变化,根据手机的姿态变化即可确定手机的横竖屏姿态是否发生变化,比如是否从横屏姿态旋转为竖屏姿态,或者是否从竖屏姿态旋转为横屏姿态。若手机的横竖屏姿态发生变化,则确定手机需要进行屏幕旋转,若横竖屏姿态未发生变化,则确定手机不需要进行屏幕旋转。
应理解,预设判断策略也可以为其他实现形式,本申请实施例对此不做限定。
此外,本申请实施例仅是以WMS根据重力方向变化事件判断手机是否需要进行屏幕旋转进行举例说明,应理解,WMS也可以根据其他信息判断手机是否需要进行屏幕旋转。
比如,传感器模块可以根据加速度传感器上报的数据识别出手机的横竖屏姿态发生变化,然后向WMS发送横竖屏姿态变化事件,WMS根据横竖屏姿态变化事件判断是否需要进行屏幕旋转。
再比如,手机在相关界面提供自动旋转功能图标,譬如在菜单栏或视频播放界面提供自动旋转功能图标,用户点击自动旋转功能图标后,输入管理模块根据上报的电容值变化消息识别出自动旋转功能图标的点击操作,然后将自动旋转功能图标的点击事件上报给WMS,WMS根据自动旋转功能图标的点击事件确定需要进行屏幕旋转。
步骤908:WMS若判断手机需要进行屏幕旋转,则获取第二显示策略,第二显示策略为当前显示的第一应用界面进行界面旋转后的第二应用界面对应的遮挡图像显示策略。
WMS可以在该应用安装好之后,通过该应用的接口获得该应用的第二应用界面对应的遮挡图像显示策略。
应用的每个应用界面都有其对应的任务(Activity)对象,应用安装好之后,WMS通过应用的接口可以获得该应用的各个Activity的信息,即任务信息(ActivityInform),任务信息中包含Activity对应的应用界面对挖孔屏的适配情况,也就是包含获得各个Activity对应的应用界面是否适配挖孔屏。Activity对应的应用界面可以包括横屏应用界面和竖屏应用界面。
对于未适配挖孔屏的应用界面,WMS可以基于***默认的配置信息确定需要显示遮挡图像的区域。示例性的,配置信息可以是,显示未适配挖孔屏的应用界面时需要在顶部区域显示黑边,也可以是,显示未适配挖孔屏的应用界面时需要在顶部区域和侧边区域显示黑边,还可以是,显示未适配挖孔屏的应用界面时需要在侧边区域显示黑边。
综上,WMS可以根据应用的任务信息中Activity对应的应用界面的适配情况以及上述默认的配置信息,确定应用的各个应用界面的遮挡图像显示策略。当然,也可以通过其他方式确定应用的各个应用界面的遮挡图像显示策略。
步骤909:WMS通知显示旋转模块进行屏幕旋转。
步骤910:显示旋转模块响应于WMS的通知,通知SurfaceFlinger播放屏幕旋转动画效果。
其中,屏幕旋转动画效果是指将第一应用界面向第二应用界面切换的动画效果。
显示旋转模块通过通知SurfaceFlinger播放屏幕旋转动画效果,可以控制SurfaceFlinger开始播放屏幕旋转动画效果,即控制第一应用界面开始向第二应用界面切换。也就是说,第一应用界面向第二应用界面切换的动画效果是从步骤910开始的。
步骤911:SurfaceFlinger响应于显示旋转模块的通知,播放屏幕旋转动画效果。
步骤912:在第一显示策略与第二显示策略不同的情况下,WMS根据第二显示策略,通知SystemUI播放遮挡图像的渐隐动画效果或渐现动画效果。
在第一显示策略与第二显示策略不同的情况下,WMS可以根据第二显示策略,通知SystemUI隐藏或显示遮挡图像。本申请实施例仅是以渐隐效果来逐渐隐藏遮挡图像,以渐现效果来逐渐显示遮挡图像为例进行举例说明,当然也可以采用其他方式隐藏或显示遮挡图像,本申请实施例对此不做限定。
比如,若第一显示策略为隐藏遮挡图像,第二显示策略为显示遮挡图像,则WMS可以根据第二显示策略,在屏幕旋转动画效果播放完成之前通知SystemUI播放遮挡图像的渐隐动画效果。或者,若第一显示策略为显示遮挡图像,第二显示策略为隐藏遮挡图像,则WMS可以根据第二显示策略,在屏幕旋转动画效果播放完成之前通知SystemUI播放遮挡图像的渐现动画效果。
进一步地,若第一显示策略和第二显示策略均包括第一遮挡图像的显示策略和第二遮挡图像的显示策略,在第一应用界面切换至第二应用界面之前通知SystemUI隐藏或显示遮挡图像还可以包括以下几种情况:
第一种情况:在第一显示策略和第二显示策略中的第一遮挡图像的显示策略不同、第二遮挡图像的显示策略相同的情况下,在切换至第二应用界面之前通知SystemUI隐藏或显示第一遮挡图像。
比如,若第一显示策略中的第一遮挡图像显示策略为显示第一遮挡图像、第二显示策略中的第二遮挡图像显示策略为隐藏第一遮挡图像,则在切换至第二应用界面之前通知SystemUI隐藏第一遮挡图像。若第一显示策略中的第一遮挡图像显示策略为隐藏第一遮挡图像、第二显示策略中的第一遮挡图像显示策略为显示第一遮挡图像,则在切换至第二应用界面之前通知SystemUI显示第一遮挡图像,比如通知SystemUI播放第一遮挡图像的渐现动画效果。
第二种情况:在第一显示策略和第二显示策略中的第一遮挡图像的显示策略相同、第二遮挡图像的显示策略不同的情况下,在切换至第二应用界面之前通知SystemUI隐藏或显示第二遮挡图像,比如通知SystemUI播放第二遮挡图像的渐隐动画效果或渐现动画效果。
比如,若第一显示策略中的第二遮挡图像显示策略为显示第二遮挡图像、第二显示策略中的第二遮挡图像显示策略为隐藏第二遮挡图像,则在切换至第二应用界面之前通知SystemUI隐藏第二遮挡图像。若第一显示策略中的第二遮挡图像显示策略为隐藏第二遮挡图像、第二显示策略中的第二遮挡图像显示策略为显示第二遮挡图像,则在切换至第二应用界面之前通知SystemUI显示第二遮挡图像,比如通知SystemUI播放第二遮挡图像的渐现动画效果。
第三种情况:在第一显示策略和所述第二显示策略中的第一遮挡图像的显示策略不同、第二遮挡图像的显示策略也不同的情况下,在切换至第二应用界面之前通知SystemUI隐藏或显示第一遮挡图像、以及隐藏或显示第二遮挡图像,比如通知SystemUI播放第一遮挡图像的渐隐动画效果或渐现动画效果,以及播放第二遮挡图像的渐隐动画效果或渐现动画效果。
应理解,第三种情况的具体实现方式可以根据上述第一种情况和第二种情况的组合推理得到,本申请示例在此不再赘述。
作为一个示例,WMS可以在通知显示旋转模块进行屏幕旋转的同时,通知SystemUI播放遮挡图像的渐隐动画效果或渐现动画效果,或者在通知显示旋转模块进行屏幕旋转后的预设时长内,通知SystemUI播放遮挡图像的渐隐动画效果或渐现动画效果,该预设时长为屏幕旋转动画效果的播放所需时长,如此,可以实现在屏幕旋转动效播放完成前,遮挡图像的渐隐渐现动效同步播放完成,提高屏幕旋转过程在视觉上的流畅感,进而提高用户体现。
在一种可能的实现方式中,步骤908和步骤909可以同时执行,即WMS在判断手机需要进行屏幕旋转后,在通知显示旋转模块进行屏幕旋转的同时,获取第二显示策略。之后,步骤910和步骤912可以同时执行,即在显示旋转模块通知SurfaceFlinger播放屏幕旋转动效的同时,WMS根据第二显示策略通知SystemUI播放遮挡图像的渐隐渐现动效的同时。之后,步骤911和步骤913可以同时执行,即在SurfaceFlinger播放屏幕旋转动效的同时,SystemUI播放遮挡图像的渐隐动效或渐显动效。如此,可以实现屏幕旋转动效和遮挡图像的渐隐渐现动效的同步进行,提高用户体验。
步骤913:SystemUI响应于WMS的通知,播放遮挡图像的渐隐动画效果或渐显动画效果。
SystemUI响应于WMS的通知,可以隐藏或显示遮挡图像。其中,若WMS通知SystemUI隐藏遮挡图像,则SystemUI响应于WMS的通知,隐藏遮挡图像。若WMS通知SystemUI显示遮挡图像,则SystemUI响应于WMS的通知,显示遮挡图像。
本申请实施例仅是以渐隐效果来逐渐隐藏遮挡图像,以渐现效果来逐渐显示遮挡图像为例进行举例说明。比如,若WMS通知SystemUI播放遮挡图像的渐隐动画效果,则SystemUI响应于WMS的通知,播放遮挡图像的渐隐动画效果。若WMS通知SystemUI播放遮挡图像的渐现动画效果,则SystemUI响应于WMS的通知,显示播放遮挡图像的渐现动画效果。
比如,遮挡图像的渐隐动画效果的实现形式可以包括:在屏幕上逐次减小遮挡图像的尺寸,直至遮挡图像被隐藏;或者,在屏幕上逐次增加遮挡图像的透明度,直至遮挡图像被隐藏。当然,也可以采用其他方式实现以渐出效果隐藏遮挡图像,本申请实施例对此不做限定。
比如,遮挡图像的渐现动画效果的实现形式可以包括:在屏幕上逐次增加遮挡图像的尺寸,直至在屏幕上显示完整的遮挡图像;或者,在屏幕上逐次减小遮挡图像的透明度,直至遮挡图像的透明度减小至能够清楚地看到遮挡图像的透明度。当然,也可以采用其他方式实现以渐现效果显示遮挡图像,本申请实施例对此不做限定。
在一种可能的实现方式中,先在屏幕上显示遮挡图像的部分区域,然后逐次增加遮挡图像的部分区域的尺寸,直至在屏幕上显示完整的遮挡图像。其中,先在屏幕上显示遮挡图像的部分区域可以预先设置,比如可以为遮挡图像的上部区域或下部区域等,本申请实施例对此不做限定。
在另一种可能的实现方式中,先在挖孔屏上以第一透明度显示所述遮挡图像,然后逐次减小遮挡图像的透明度,直至遮挡图像的透明度减小至第二透明度。其中,第二透明度小于第一透明度,第二透明度为能够清楚地看到遮挡图像的透明度。第一透明度和第二透明度可以根据需要预先进行设置,本申请实施例对此不做限定。
本申请实施例中,在确定需要进行屏幕旋转后,WMS可以在显示旋转模块进行屏幕旋转之前,提前获取旋转后的应用界面对应的遮挡图像显示策略,以及在屏幕旋转动效播放完成之前,根据旋转后的应用界面对应的遮挡图像显示策略提前通知***用户界面播放遮挡图像的渐隐动画效果或渐现动画效果,实现了在屏幕旋转动效播放完成前,遮挡图像的渐隐渐现动效同步播放完成,提高了屏幕旋转过程在视觉上的流畅感,缓解了屏幕旋转时隐藏或显示遮挡图像而导致的视觉上的卡顿,进而提高了用户体验。
一般地,电子设备中各个模块之间的交互,以及模块自身功能的实现都依赖于对***中各函数的调用。为了进一步理解本申请提供的显示优化方法,下面以图5所示的电子设备从未适配挖孔屏的竖屏应用界面向适配挖孔屏的横屏应用界面切换的场景为示例,说明该过程中电子设备内部的函数调用关系。
请参见图10,图10是本申请实施例提供的一种屏幕旋转时的显示优化方法的信令图。
如图10所示,WMS具体可以包括如下组件:
显示管理组件,又称DisplayManagerService;显示内容组件,又称DisplyContent;电话窗口管理组件,又称HwPhoneWindowManager。
SurfaceFlinger可以包括如下组件:
屏幕旋转动画组件,又称Screen Rotation Animation。
手机显示图5中的(a)图所示的竖屏应用界面和遮挡图像时,若用户旋转手机,则传感器模块可以检测到手机的重力方向发生变化,然后调用1:传感器事件,又称sensorEvent(),即传感器模块的检测数据变化触发的事件。传感器模块通过调用传感器事件,将手机的重力方向变化事件上报给显示管理组件。
调用1的过程,可以视为图9中步骤906的一种具体实现方式。
显示管理组件接收到传感器模块上报的重力方向变化事件后,可以根据重力方向变化事件判断手机是否需要进行屏幕旋转,若判断手机需要进行屏幕旋转,则调用2:显示切换函数,又称onDisplayChanged(),通过调用显示切换函数通知显示内容组件当前显示的竖屏显示界面需要进行屏幕旋转。
显示内容组件响应于显示管理组件的通知,调用3:旋转切换确认函数,又称updateRotationUnchecked,显示内容组件通过调用旋转切换确认函可以配置旋转数据,比如配置旋转角度、旋转后的横屏应用界面的长和宽等,将配置的旋转数据上报给显示旋转模块。
显示旋转模块接收到显示内容组件上报的旋转数据后,可以调用4:开启旋转动画函数,又称startRotationAnimation(),通过调用开启旋转动画函数,控制屏幕旋转动画组件开始播放屏幕旋转动画效果,即开始播放从竖屏应用界面切换为横屏应用界面的动画效果。也就是说,从竖屏应用界面向横屏应用界面切换的动画效果是从调用4的时刻开始播放。
本申请实施例中,调用3的过程可以视为前述步骤907的一种具体实现方式,调用4的过程可以视为前述步骤909的一种具体实现方式。
另外,显示旋转模块接收到显示内容组件上报的旋转数据后,在调用4的同时,还可以调用5:查询屏幕边缘控制策略函数,又称queryNotchControlFiletForSideScreen,通过调用查询屏幕边沿控制策略函数,向电话窗口管理组件发送查询旋转后的横屏应用界面对应的遮挡图像显示策略的查询请求。电话窗口管理组件接收到该查询请求后,从窗口管理信息中查询旋转后的横屏应用界面对应的遮挡图像显示策略,横屏应用界面对应的遮挡图像显示策略包括顶部黑条和侧边黑条的显示策略。若查询到横屏应用界面对应的遮挡图像显示策略为隐藏顶部黑条和侧边黑条,则电话窗口管理组件调用6:屏幕边沿可视化函数,又称setScreenSideBoxVisibilityAnimation(),将横屏应用界面对应的遮挡图像显示策略为隐藏顶部黑条和侧边黑条反馈给显示旋转模块。
显示旋转模块在接收到电话窗口管理组件反馈的横屏应用界面对应的遮挡图像显示策略后,还可以根据横屏应用界面对应的遮挡图像显示策略,调用7:开启隐藏动画函数,又称startFadeAnimation()。显示管理组件通过调用开启隐藏动画函数,可以通知***用户界面隐藏遮挡图像。接收到隐藏遮挡图像的通知后,***用户界面可以按预定的隐藏方式将屏幕顶部和侧边显示的黑条隐藏,比如以浅出效果隐藏屏幕顶部和侧边显示的黑条,并在隐藏完成后,调用8:隐藏动画完成函数,又称onfadeAnimationEnd(),以通知显示旋转模块顶部及侧边黑条已经完全隐藏。
另外,屏幕旋转动画组件播放屏幕旋转动画效果完成后,还可以调用9:旋转动画完成函数,又称onRotationAnimationEnd(),以通知显示管理组件屏幕旋转动画效果播放完成。
此外,也可以由显示内容组件响应于显示管理组件的通知调用5,再根据电话窗口管理组件反馈的信息调用7,通知***用户界面隐藏遮挡图像。
本实施例中,显示旋转模块可以在通知屏幕旋转动画组件播放屏幕旋转动效,即调用函数4的同时,查询旋转后界面的遮挡图像显示策略,根据查询到的显示策略通知***用户界面播放遮挡图像的隐藏动画,即调用函数5-7。如此,屏幕旋转动效和遮挡图像的隐藏动画可以同时进行,从而缩短了隐藏遮挡图像和屏幕旋转之间的时间差,改善了挖孔屏从未适配挖孔屏的应用界面切换到适配挖孔屏的应用界面时的视觉效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,比如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(比如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(比如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(比如:软盘、硬盘、磁带)、光介质(比如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(比如:固态硬盘(Solid State Disk,SSD))等。
以上所述为本申请提供的可选实施例,并不用以限制本申请,凡在本申请的揭露的技术范围之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种屏幕旋转时的显示优化方法,其特征在于,应用于配置有挖孔屏的电子设备,所述方法包括:
显示应用的第一应用界面,所述第一应用界面对应的遮挡图像显示策略为第一显示策略,所述遮挡图像用于遮挡所述挖孔屏的顶部区域和/或侧边区域;
响应于屏幕旋转操作,获取第二显示策略,所述第二显示策略为所述第一应用界面进行界面旋转后的第二应用界面对应的遮挡图像显示策略;
在所述第一显示策略与第二显示策略不同的情况下,将所述第一应用界面向所述第二应用界面切换,并根据所述第二显示策略,在切换至所述第二应用界面之前隐藏或显示所述遮挡图像。
2.如权利要求1所述的方法,其特征在于,所述第一显示策略为在所述挖孔屏上显示所述遮挡图像,所述第二显示策略为在所述挖孔屏上不显示所述遮挡图像;
所述显示应用的第一应用界面,包括:
显示所述应用的第一应用界面,并在所述挖孔屏上显示所述遮挡图像;
所述在切换至所述第二应用界面之前隐藏或显示所述遮挡图像,包括:
在切换至所述第二应用界面之前,隐藏所述挖孔屏上显示的所述遮挡图像。
3.如权利要求2所述的方法,其特征在于,所述隐藏所述挖孔屏上显示的所述遮挡图像,包括:
逐次缩小所述挖孔屏上显示的所述遮挡图像的尺寸,直至所述遮挡图像被隐藏;
或者,
逐次提高所述挖孔屏上显示的所述遮挡图像的透明度,直至所述遮挡图像被隐藏。
4.如权利要求1所述的方法,其特征在于,所述第一显示策略为在所述挖孔屏上不显示所述遮挡图像,所述第二显示策略为在所述挖孔屏上显示所述遮挡图像;
所述在切换至所述第二应用界面之前隐藏或显示所述遮挡图像,包括:
在切换至所述第二应用界面之前,在所述挖孔屏上显示所述遮挡图像。
5.如权利要求4所述的方法,其特征在于,所述在所述挖孔屏上显示所述遮挡图像,包括:
在所述挖孔屏上显示所述遮挡图像的部分区域,逐次增加显示的所述遮挡图像的部分区域的尺寸,直至在所述挖孔屏上显示完整的所述遮挡图像;
或者,
在所述挖孔屏上以第一透明度显示所述遮挡图像,逐次减小所述遮挡图像的透明度,直至所述遮挡图像的透明度减小至第二透明度,所述第二透明度小于所述第一透明度。
6.如权利要求1所述的方法,其特征在于,所述第一显示策略和所述第二显示策略均包括第一遮挡图像的显示策略和第二遮挡图像的显示策略,所述第一遮挡图像用于遮挡所述挖孔屏的顶部区域,所述第二遮挡图像用于遮挡所述挖孔屏的侧边区域;
所述在切换至所述第二应用界面之前隐藏或显示所述遮挡图像,包括:
在所述第一显示策略和所述第二显示策略中的所述第一遮挡图像的显示策略不同、所述第二遮挡图像的显示策略相同的情况下,在切换至所述第二应用界面之前隐藏或显示所述第一遮挡图像;
在所述第一显示策略和所述第二显示策略中的所述第一遮挡图像的显示策略相同、所述第二遮挡图像的显示策略不同的情况下,在切换至所述第二应用界面之前隐藏或显示所述第二遮挡图像;
在所述第一显示策略和所述第二显示策略中的所述第一遮挡图像的显示策略不同、所述第二遮挡图像的显示策略也不同的情况下,在切换至所述第二应用界面之前隐藏或显示所述第一遮挡图像、以及隐藏或显示所述第二遮挡图像。
7.如权利要求1-6任一所述的方法,其特征在于,所述电子设备的操作***包括窗口管理服务模块、***用户界面和显示旋转模块;
所述响应于屏幕旋转操作,获取第二显示策略,包括:
所述窗口管理服务模块若检测到屏幕旋转指令,则查询所述第二应用界面对应的遮挡图像显示策略,所述第二应用界面对应的遮挡图像显示策略为所述第二显示策略;
所述将所述第一应用界面向所述第二应用界面切换,根据所述第二显示策略,在切换至所述第二应用界面之前隐藏或显示所述遮挡图像,包括:
所述窗口管理服务模块通知所述显示旋转模块进行屏幕旋转,并根据所述第二显示策略通知所述***用户界面隐藏或显示所述遮挡图像;
所述显示旋转模块响应所述窗口管理服务模块的通知,将所述第一应用界面向所述第二应用界面切换;
所述***用户界面在所述显示旋转模块将所述第一应用界面切换至所述第二应用界面切换之前,响应所述窗口管理服务模块的通知,隐藏或显示所述遮挡图像。
8.如权利要求7所述的方法,其特征在于,所述操作***还包括SurfaceFlinger;
所述显示旋转模块响应所述窗口管理服务模块的通知,将所述第一应用界面向所述第二应用界面切换,包括:
所述显示旋转模块响应所述窗口管理服务模块的通知,通知SurfaceFlinger播放屏幕旋转动画效果,所述屏幕旋转动画效果是指将所述第一应用界面向所述第二应用界面切换的动画效果。
9.如权利要求7所述的方法,其特征在于,所述电子设备的操作***还包括传感器模块,所述传感器模块用于获取所述电子设备的横竖屏姿态;
所述窗口管理服务模块查询所述第二应用界面对应的遮挡图像显示策略之前,还包括:
所述传感器模块若检测到所述电子设备的横竖屏姿态发生变化,则向所述窗口管理服务模块发送横竖屏姿态变化事件;
所述窗口管理服务模块接收所述横竖屏姿态变化事件,根据接收到的所述横竖屏姿态变化事件,确定检测到所述屏幕旋转指令。
10.一种电子设备,其特征在于,所述电子设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211293081.XA CN115361468B (zh) | 2022-10-21 | 2022-10-21 | 屏幕旋转时的显示优化方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211293081.XA CN115361468B (zh) | 2022-10-21 | 2022-10-21 | 屏幕旋转时的显示优化方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115361468A true CN115361468A (zh) | 2022-11-18 |
CN115361468B CN115361468B (zh) | 2023-02-28 |
Family
ID=84007719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211293081.XA Active CN115361468B (zh) | 2022-10-21 | 2022-10-21 | 屏幕旋转时的显示优化方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115361468B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117389496A (zh) * | 2023-09-19 | 2024-01-12 | 荣耀终端有限公司 | 一种折叠屏显示方法、电子设备和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3495935A1 (en) * | 2017-12-11 | 2019-06-12 | Guangdong Oppo Mobile Telecommunications Corp., Ltd | Method for screenshot and related products |
CN109885373A (zh) * | 2019-02-27 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 一种用户界面的渲染方法和装置 |
CN110134475A (zh) * | 2019-04-17 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 显示界面参数配置的方法、装置、计算机设备和存储介质 |
CN110874177A (zh) * | 2018-08-29 | 2020-03-10 | 中兴通讯股份有限公司 | 显示屏的显示方法、电子设备及存储介质 |
WO2020078273A1 (zh) * | 2018-10-15 | 2020-04-23 | 华为技术有限公司 | 一种拍摄方法及电子设备 |
CN114168031A (zh) * | 2022-02-11 | 2022-03-11 | 荣耀终端有限公司 | 挖孔屏的显示优化方法、设备和存储介质 |
-
2022
- 2022-10-21 CN CN202211293081.XA patent/CN115361468B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3495935A1 (en) * | 2017-12-11 | 2019-06-12 | Guangdong Oppo Mobile Telecommunications Corp., Ltd | Method for screenshot and related products |
CN110874177A (zh) * | 2018-08-29 | 2020-03-10 | 中兴通讯股份有限公司 | 显示屏的显示方法、电子设备及存储介质 |
WO2020078273A1 (zh) * | 2018-10-15 | 2020-04-23 | 华为技术有限公司 | 一种拍摄方法及电子设备 |
CN109885373A (zh) * | 2019-02-27 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 一种用户界面的渲染方法和装置 |
CN110134475A (zh) * | 2019-04-17 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 显示界面参数配置的方法、装置、计算机设备和存储介质 |
CN114168031A (zh) * | 2022-02-11 | 2022-03-11 | 荣耀终端有限公司 | 挖孔屏的显示优化方法、设备和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117389496A (zh) * | 2023-09-19 | 2024-01-12 | 荣耀终端有限公司 | 一种折叠屏显示方法、电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115361468B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112269527B (zh) | 应用界面的生成方法及相关装置 | |
JP7497943B2 (ja) | 折り畳み可能画面を有するデバイス、折り畳み可能画面デバイスのためのタッチ制御方法、コンピュータ可読記憶媒体およびコンピュータプログラム | |
CN111966252A (zh) | 应用窗口显示方法和电子设备 | |
EP4040277A1 (en) | Method for displaying multiple windows, and electronic device and system | |
KR102121592B1 (ko) | 시력 보호 방법 및 장치 | |
CN113805745B (zh) | 一种悬浮窗的控制方法及电子设备 | |
CN114168031B (zh) | 挖孔屏的显示优化方法、设备和存储介质 | |
CN112860145B (zh) | 一种应用的控制方法与电子设备 | |
EP4024838A1 (en) | Display method for side region of screen, and electronic apparatus | |
CN115361468B (zh) | 屏幕旋转时的显示优化方法、设备及存储介质 | |
CN114637451B (zh) | 应用切换时的显示优化方法、设备和存储介质 | |
WO2023040666A1 (zh) | 键盘显示方法、折叠屏设备和计算机可读存储介质 | |
CN114780012B (zh) | 电子设备的锁屏壁纸的显示方法和相关装置 | |
US20240129621A1 (en) | Video recording method and electronic device | |
CN116781825A (zh) | 分屏显示方法、电子设备及可读存储介质 | |
CN116755748B (zh) | 卡片更新方法、电子设备以及计算机可读存储介质 | |
CN117130509B (zh) | 亮度控制方法及其相关设备 | |
CN116688494B (zh) | 生成游戏预测帧的方法和电子设备 | |
WO2024066976A1 (zh) | 控件显示方法及电子设备 | |
CN116672707B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN115514840B (zh) | 通知消息提示的方法、***、设备及可读存储介质 | |
WO2024152910A1 (zh) | 一种录像方法以及电子设备 | |
EP4383191A1 (en) | Display method and electronic device | |
CN117894256A (zh) | 显示处理方法、装置及电子设备 | |
CN117130510A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |