Android刘海屏、水滴屏全面屏适配详解

上述两种屏幕都可以统称为刘海屏,不过对于右侧较小的刘海,业界一般称为水滴屏或美人尖。为便于说明,后文提到的「刘海屏」「刘海区」都同时指代上图两种屏幕。

刘海屏、水滴屏全面屏适配细节

当我们在谈屏幕适配时,我们具体谈什么呢?

  • 适应更长的屏幕
  • 防止内容被刘海遮挡

其中第一点是所有应用都需要适配的,对应下文的声明最大长宽比,而第二点,如果应用本身不需要全屏显示或使用沉浸式状态栏,是不需要适配的。

针对需要适配第二点的应用,需要获取刘海的位置和宽高,然后将显示内容避开即可。

声明最大长宽比

以前的普通屏长宽比为16:9,全面屏手机的屏幕长宽比增大了很多,如果不适配的话就会类似下面这样:

适配方式

适配方式有两种:

  1. 将targetSdkVersion版本设置到API 24及以上;

这个操作将会为<application> 标签隐式添加一个属性,android:resizeableActivity=“true”, 该属性的作用后面将详细说明。

  1. 在 标签中增加属性:android:resizeableActivity=“false”,同时在节点下增加一个meta-data标签:

原理说明

在 Android 7.0(API 级别 24)或更高版本的应用,android:resizeableActivity属性默认为true(对应适配方式1)。这个属性是控制多窗口显示的,决定当前的应用或者Activity是否支持多窗口。

可以在清单的<activity>或 <application>节点中设置该属性,启用或禁用多窗口显示,配置如下:

android:resizeableActivity=[“true” | “false”]

如果该属性设置为 true,Activity 将能以分屏和自由形状模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值