洋芋博客

一个什么都分享的博客

如下图(设备处于横屏状态),你会明显的发现最左边有一块黑色的区域没有利用起来,那就是刘海的位置。

解决方案如下:

首先,在你的主题下添加这一项,

<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>

像下面这样。

android:windowLayoutInDisplayCutoutMode是用于指定 Android 应用中如何处理刘海屏区域(刘海屏是指屏幕上的凹槽或凸起,例如刘海屏手机的屏幕上方可能有相机或传感器的切口)的一个主题属性。

shortEdges(短边)模式是在刘海区域的两侧显示内容,而不会延伸到刘海区域内。这种方式适合于让应用内容沿着刘海的两侧布局,不覆盖刘海的情况。

并且请确保你的应用的 minSdkVersion 至少为 27。如果你的应用的 minSdkVersion 低于 27,你可能需要采用其他方法进行刘海屏适配。

然后,你需要设置布局延伸到状态栏区域(这个根据你的实际情况选择什么时候设置),确保布局内容能够覆盖到状态栏上,如下

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN ;
decorView.setSystemUiVisibility(uiOptions);

这样设备横屏时,刘海区域就利用起来啦!像下面这样,

如果还有什么疑问的话,可以评论区联系我喔!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注