android兼容oppo手机刘海屏解决方案
引用自OPPO官方文档,这里缩减了一些内容,选取重要内容,包括oppo沉浸式的兼容。
转载请标明出处:
https://blog.csdn.net/DJY1992/article/details/80688802
本文出自:【奥特曼超人的博客】
推荐:
- android 兼容所有刘海屏的方案大全
- android 兼容huawei手机刘海屏解决方案
- android 兼容vivo手机刘海屏解决方案
- android兼容oppo手机刘海屏解决方案
- android兼容小米xiaomi刘海屏解决方案
- android 关于google刘海屏的解决方案
目录:
1.机型
OPPO的刘海屏适配文档稍微比较简单点,首先认识一下OPPO推出的一款屏幕高宽比更大、带有刘海的凹形屏幕的手机,其屏幕规格如下:
采用宽度为1080px, 高度为2280px的圆弧显示屏。 屏幕顶部凹形区域不能显示内容,宽度为324px, 高度为80px。
2. 如何识别凹形屏
本次凹形屏规格的机型型号:
- PAAM00
- PAAT00
- PACM00
- PACT00
- CPH1831
- CPH1833
上述机型的屏幕规格完全相同,不需分别做差异化处理,统一适配即可。
如何识别凹形屏:
context.getPackageManager().hasSystemFeature(“com.oppo.feature.screen.heteromorphism”)
返回 true为凹形屏 ,可识别OPPO的手机是否为凹形屏。
3. 应用适配布局说明
您在设计应用界面布局时,请确保布局填满屏幕,并且内容无论横屏或竖屏显示都不会被屏幕凹形槽遮蔽。
应用横屏全屏显示
应用竖屏全屏显示
4. 应用适配内容
应用完整的全面屏显示,将为用户带来极致的全屏效果体验,增强应用的用户粘性。
适配具体内容:
- 声明全屏显示(具体方法见附录)。
- 适配沉浸式状态栏,避免状态栏部分显示应用具体内容。
-
如果应用可横排显示,避免应用两侧的重要内容被遮挡。
应用横屏全屏显示
应用竖屏全屏显示
5. 常见问题
1)PPT中介绍的凹形屏的规格是否固定的?以后其他机型是否会有变化?
公告针对上述机型手机,不针对后续机型。后续机型凹型屏的大小、尺寸、位置可能变化。
2)凹型屏是否有统一处理逻辑?
目前在设置 – 显示 – 应用全屏显示 – 凹形区域显示控制,里面有关闭凹形区域开关,用户可通过这个关闭凹形区域避免遮挡(原则可参考google android P 设计说明)。
3)后续是否会兼容Android P?
Google Android P 会有标准的API获取凹形屏,后续会按照标准API提供适配方案,并兼容老方案。
6. 如何适配全面屏手机
根据谷歌兼容性(CTS)标准要求,应用必须按以下方式中的任意一种,在AndroidManifest.xml中配置方可全屏显示,否则将以非全屏显示。
方式一:配置支持最大高宽比
* <meta-data android:name="android.max_aspect" android:value="ratio_float" /> * android:maxAspectRatio="ratio_float" (API LEVEL 26)
说明:以上两种接口可以二选一.
ratio_float = 屏幕高 / 屏幕宽
(如oppo新机型屏幕分辨率为2280 x 1080, ratio_float = 2280 / 1080 = 2.11,建议设置 ratio_float为2.2或者更大)
方式二:支持分屏,注意验证分屏下界面兼容性
android:resizeableActivity=”true”
建议采用方式二适配支持全面屏。
详见官方文档:https://source.android.google.cn/compatibility/cdd?hl=zh-cn
7 兼容OPPO沉浸式
这里介绍通过设置窗口全屏Flag实现OPPO机型状态栏沉浸式方法:
Android5.0 以后的版本
Window window = activity.getWindow(); View decorView = window.getDecorView(); decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT);
Android4.4 及以前的版本设置方法:
Window window = activity.getWindow(); WindowManager.LayoutParams attributes = window.getAttributes(); attributes.flags |= WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; window.setAttributes(attributes);

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
android兼容小米xiaomi刘海屏解决方案
引用自小米官方文档,这里缩减了一些内容,捡取重要内容。 转载请标明出处: https://blog.csdn.net/DJY1992/article/details/80688376 本文出自:【奥特曼超人的博客】 推荐: android 兼容所有刘海屏的方案大全 android 兼容huawei手机刘海屏解决方案 android 兼容vivo手机刘海屏解决方案 android兼容oppo手机刘海屏解决方案 android兼容小米xiaomi刘海屏解决方案 android 关于google刘海屏的解决方案 目录: 背景 系统级适配规则 开发者适配 系统接口说明 「隐藏屏幕刘海」适配 关于 Android P 的适配 附:系统默认规则的说明 背景 小米 MIUI Notch 屏 Android O 适配说明 1.目前已上市的小米 Notch 设备(俗称刘海屏手机)如下,其宽度、高度和形状均略有差异。 2.含 Notch 往往都是全面屏手机,即屏幕比例可能是18:9、18.7:9 等不同的值。 全面屏设备的适配建议详见:https://dev.mi.com/console/doc/deta...
- 下一篇
ios兼容iphonex刘海屏解决方案
转载请标明出处: https://blog.csdn.net/djy1992/article/details/80683213 本文出自:【奥特曼超人的博客】 目录: 简单描述 兼容IOS刘海屏 简单描述 刘海屏也有其它叫法:凹凸屏、头凹屏、覆盖屏、挖孔屏等等,这里统一按刘海屏命名,虽然都在吐槽IPhoneX的刘海屏,但是各大安卓厂商还是不停的争相模仿,使用起来也是挺不方便的,颜值上升,操作感下降,尤其是单手握住屏幕的边缘时会有极大的不便。 首先借鉴下网络的手机图片展示下,苹果IOS的还好,但是安卓的厂商有小米、华为、oppo、vivo等都相应的出了自己的刘海屏,各大厂商也出了自己兼容刘海屏的方案,我们在另外一篇文章中会提及到安卓全家桶——各大厂商的刘海屏解决方案。 兼容IOS刘海屏 今年IOS除了5.8英寸iPhone X更新外,还有iPhone X Plus和6.1英寸廉价版iPhone X,iOS 12将于6月与我们见面,现在苹果发布最新公告显示,从今年7月开始,iOS系统开发者提交的所有App,都必须要兼容iOS 11 SDK,同时还都要支持iPhone X的刘海全面屏。 这里...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8安装Docker,最新的服务器搭配容器使用
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Thymeleaf,官方推荐html解决方案