Android 齐刘海适配

针对华为、小米、OPPO及VIVO等品牌手机的刘海屏设计,本文详细介绍了如何通过修改AndroidManifest.xml文件中的meta-data属性来实现应用程序的适配。具体包括华为的android.notch_support、小米的notch.config以及OPPO与VIVO的android.max_aspect属性设置,并提供了代码示例。

Android 齐刘海适配

1.基于现Android厂家逐渐开始在自家旗舰机上使用刘海屏,为了达到更好的全屏视觉体验,总结现流行厂商适配方式

2.不同厂商适配方案
华为:
在应用的AndroidManifest.xml中增加meta-data属性android.notch_support
<meta-data android:name=“android.notch_support” android:value=“true”/>

小米:
在应用的AndroidManifest.xml中增加meta-data属性 android:name=“notch.config”
<meta-data android:name=“notch.config” android:value=“portrait|landscape”/>
其中,value 的取值可以是以下4种:

  1. “none” 横竖屏都不绘制耳朵区
  2. “portrait” 竖屏绘制到耳朵区
  3. “landscape” 横屏绘制到耳朵区
  4. “portrait|landscape” 横竖屏都绘制到耳朵区

OPPO与VIVO:
在应用的AndroidManifest.xml中增加meta-data属性 android:name=“android.max_aspect”
<meta-data android:name=“android.max_aspect” android:value=“ratio_float” />

设置好注册文件后在对应适配的activity中做如下代码设置:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
WindowManager.LayoutParams attrs = getWindow().getAttributes();
attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
getWindow().setAttributes(attrs);
int flag = 0x00000100 | 0x00000200 | 0x00000400;
try {
Method method = Window.class.getMethod(“addExtraFlags”,
int.class);
method.invoke(getWindow(), flag);
} catch (Exception e) {
}
注:1.小米配置 0x00000100:开启配置 0x00000200:竖屏配置 0x00000400:横屏配置
2.除华为外其它适配需手动开启系统全屏权限
3.效果图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值