您现在的位置是:首页 > 文章详情

android 关于google刘海屏的解决方案

日期:2018-06-13点击:491

转载请标明出处:
https://blog.csdn.net/DJY1992/article/details/80689308
本文出自:【奥特曼超人的博客】

推荐:

目录:

刘海屏问题

首先需要使用模拟器测试,最近 Google 也发布了 Android P 的模拟器,也可以找些真机云测的平台,但是需要一点点费用,自己买一台也是可以的,毕竟都是安卓开发。

首先考虑的是如何兼容各大厂商的问题,首先归总下:

  1. 谷歌google
  2. 小米xiaomi
  3. 华为huawei
  4. vivo
  5. oppo

Google 解决方案Android P

首先需要把SDK更新到Android P preview版本,然后使用 Android P 提供的模拟器,在开发者选项里找到 “Simulate a display with a cutout”,开启刘海屏的支持,需要注意它们的区别,因为刘海屏是有多个版本的。
刘海屏解决方案djy1992

注意,尾部都是带有cutout的,很多人不知道为什么,后面会讲解。

有了模拟器,接下来就解决代码问题了:

Google官方提供了三种模式:

1.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT 2.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES 3.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER

官方对应的解释:

  1. 仅仅当系统提供的bar完全包含了刘海区时才允许window扩展到刘海区,否则window不会和刘海区重叠
  2. 允许window扩展到刘海区
  3. 不允许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群投稿。

原文链接:https://yq.aliyun.com/articles/613328
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章