LZ-Says:在前行的路上,时刻告诫自己,廊坊的日子,未来将不会再继续~ 某人们,哈哈哈,记住,士别三日,当刮目相看~!!!
前言
Android 的痛苦在于机型的琳琅满目,从而直接的导致我们 Android 开发者,那叫一个苦逼呢。
当然,类似我鸡大这样,enmmm,可能就是分分钟吧。
今天记录下有关兼容华为、小米刘海屏的小“趣”事~
兼容路
今天发现 App 有个很扎眼的小 bug,那便是在启动页并没有全屏效果,从而最直接的导致了如下几个问题:
- 华为、小米刘海屏脑袋黑不溜秋,成了 ?;
- 华为某个机型,脑袋黑黑,虽说不是刘海屏。。。
其实说白了一个问题,兼容刘海屏的问题。
那么什么是个刘海屏,想想 IPhone X,可懂?
而下面引用华为对此的一段描述:
刘海屏指的是手机屏幕正上方由于追求极致边框而采用的一种手机解决方案。 因形似刘海儿而得名。也有一些其他叫法:挖孔屏、凹口屏等,市场上已经有越来越多的手机都支持这种屏幕形式。
如下图所示:
如果我们没兼容刘海屏,默认系统则是一个大黑边,丑的一批~
那么针对官方文档,我们进行逐步兼容~
一、来看华为
在此,放出 LZ 使用靠谱简单省事儿的方案:
使用新增的 Meta-data 属性 android.notch_support,在应用的 AndroidManifest.xml 中增加 meta-data 属性,此属性不仅可以针对 Application 生效,也可以对 Activity 配置生效。
依据以上,我们在 Application 下添加 meta-data 属性:
<meta-data android:name="android.notch_support" android:value="true"/>
接着我们,运行查看效果:
当然,还可以专门为某个 Activity 单独设置,具体查阅文档吧~
LZ 还是很喜欢统一设置~
二、来看小米
首先了解下有关小米目前的具有刘海屏的设备:
其次找寻最 Easy 的方案实现:
在 Application 下增加一个 meta-data,用以声明该应用是否使用耳朵区。示例如下:
<meta-data
android:name="notch.config"
android:value="portrait|landscape"/>
其中,value 的取值可以是以下4种:
"none" 横竖屏都不绘制耳朵区
"portrait" 竖屏绘制到耳朵区
"landscape" 横屏绘制到耳朵区
"portrait|landscape" 横竖屏都绘制到耳朵区
效果如下:
嗯哼,特此记录~
个人公众号
不定期发布博文,最近有点忙,感谢老铁理解,欢迎关注~