android 关于google刘海屏的解决方案
转载请标明出处:
https://blog.csdn.net/DJY1992/article/details/80689308
本文出自:【奥特曼超人的博客】
推荐:
- android 兼容所有刘海屏的方案大全
- android 兼容huawei手机刘海屏解决方案
- android 兼容vivo手机刘海屏解决方案
- android兼容oppo手机刘海屏解决方案
- android兼容小米xiaomi刘海屏解决方案
- android 关于google刘海屏的解决方案
- ios兼容iphonex刘海屏解决方案
目录:
刘海屏问题
首先需要使用模拟器测试,最近 Google 也发布了 Android P 的模拟器,也可以找些真机云测的平台,但是需要一点点费用,自己买一台也是可以的,毕竟都是安卓开发。
首先考虑的是如何兼容各大厂商的问题,首先归总下:
- 谷歌google
- 小米xiaomi
- 华为huawei
- vivo
- oppo
Google 解决方案Android P
首先需要把SDK更新到Android P preview版本,然后使用 Android P 提供的模拟器,在开发者选项里找到 “Simulate a display with a cutout”,开启刘海屏的支持,需要注意它们的区别,因为刘海屏是有多个版本的。
注意,尾部都是带有cutout的,很多人不知道为什么,后面会讲解。
有了模拟器,接下来就解决代码问题了:
Google官方提供了三种模式:
1.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT 2.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES 3.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
官方对应的解释:
- 仅仅当系统提供的bar完全包含了刘海区时才允许window扩展到刘海区,否则window不会和刘海区重叠
- 允许window扩展到刘海区
- 不允许window扩展到刘海区
老码农看到LAYOUT的时候应该可以想到它应该是属于哪里的了,没错,就是属于WindowManager
的,老家伙出场,WindowManager
的类型:WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
。
WindowManager.LayoutParams windowManagerDu = getWindow().getAttributes(); windowManagerDu.layoutInDisplayCutoutMode=WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER; getWindow().setAttributes(windowManagerDu );
之前很多人问为什么开发者模式都是cutout,其实就是cut的边缘体,也就是layoutInDisplayCutoutMode
,如果带状态栏的话需要判断DisplayCutout
。
DisplayCutout cutoutMode = getDisplayCutout(); if(cutoutMode != null){ WindowManager.LayoutParams windowManagerDu = getWindow().getAttributes(); windowManagerDu.layoutInDisplayCutoutMode=WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER; getWindow().setAttributes(windowManagerDu ); }
这样就设置了是否允许window扩展到刘海区的代码,厂商的兼容度都是不一样的,因为都是在谷歌出解决方案之前出的刘海屏,所以版本上的兼容要统一估计也没那么快。
其它厂商解决方案
小米官方提供的解决方案
目前已上市的小米 Notch 设备(俗称刘海屏手机):小米8、小米8 SE、小米8 透明探索版
由于内容较多,详细请见另外篇:android兼容小米xiaomi刘海屏解决方案
华为官方提供的解决方案
由于内容较多,详细请见另外篇:android 兼容huawei手机刘海屏解决方案
vivo官方提供的解决方案
由于内容较多,详细请见另外篇:android 兼容vivo手机刘海屏解决方案
oppo官方提供的解决方案
由于内容较多,详细请见另外篇:android兼容oppo手机刘海屏解决方案
其它手机厂商
暂时没有发现,欢迎同学们多多投稿,也可加Q群投稿。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
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的刘海全面屏。 这里...
- 下一篇
android 兼容所有刘海屏的方案大全
转载请标明出处: https://blog.csdn.net/DJY1992/article/details/80689632 本文出自:【奥特曼超人的博客】 推荐: - ios兼容iphonex刘海屏解决方案 - android 兼容所有刘海屏的方案大全 - android 兼容huawei手机刘海屏解决方案 - android 兼容vivo手机刘海屏解决方案 - android兼容oppo手机刘海屏解决方案 - android兼容小米xiaomi刘海屏解决方案 - android 关于google刘海屏的解决方案 目录: 谷歌google官方提供的解决方案 小米xiaomi官方提供的解决方案 华为huawei官方提供的解决方案 vivo官方提供的解决方案 oppo官方提供的解决方案 其它手机厂商 谷歌google官方提供的解决方案 由于内容较多,详细请见另外篇:android 关于google刘海屏的解决方案 小米xiaomi官方提供的解决方案 目前已上市的小米 Notch 设备(俗称刘海屏手机):小米8、小米8 SE、小米8 透明探索版 由于内容较多,详细请见另外篇:androi...
相关文章
文章评论
共有0条评论来说两句吧...