适配刘海屏的重要性 刘海屏的设计虽然可以增加屏幕的占用率,但也会影响传统的UI布局,特别是在状态栏、导航栏等区域。我们必须采取措施,确保应用的内容不会被刘海部分遮挡,并且能在不同的屏幕尺寸和分辨率下保持美观。 Android 中的适配策略 Android平台从API Level 28(Android 9.0)开始,提供了对刘海屏的原生支持。开...
Android 8.0刘海屏适配 8.0由于没有谷歌官方api支持,导致各大手机厂商适配方法不一样,适配起来比较麻烦,下面对比较大的国产厂商的适配方案列举如下。 1、华为:https://developer.huawei.com/consumer/cn/devservice/doc/501142、小米:https://dev.mi.com/console/doc/detail?pId=12933、vivo:https://dev.vivo.com...
不进行任何适配的情况下,带有刘海屏的手机都会有一套基本一致的处理逻辑。 一、沉浸式与非沉浸式来回切换页面适配 阅读正文界面 1、 存在问题: 正文页面在阅读的时候是沉浸式的(无菜单,状态栏), 由于沉浸式的时候, 系统的策略是刘海旁边为黑色(屏幕高度此时不算刘海旁边区域高度), 点击正文空白区域, 显示菜单的时...
因为我们的闪屏页一般都是会全屏显示,那我们就需要适配刘海屏上的全屏样式了。 坐好了,我开始吹一波了。 代码语言:javascript 复制 <item name="android:windowBackground">@drawable/loading</item> 闪屏页的样式我设置了全屏 代码中这样判断: 代码语言:javascript 复制 /** * adapt fullScreen mode * * @para...
Android 刘海屏 适配主要有三种方案 第一,LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT 模式 在该模式下,如果当前应用没有设置页面全屏显示,则显示逻辑,与正常情况一样 @OverrideprotectedvoidonCreate(@Nullable Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_notch);if(Bu...
1.1、刘海屏适配的流程: (1)判断手机厂商 (2)判断是否有刘海屏 (3)获取刘海屏的高度 (4)根据开发需要,做指定的适配。如:将内容区域填充到刘海区域,内容往下移动刘海屏高度距离等等 1.2、 Google官方适配方案示例 packagecom.example.wangyiyunclass;importandroidx.annotation.RequiresApi;importandroidx.appcompat.app...
1. 在开发人员选项屏幕中,向下滚动到绘图部分,然后选择模拟“刘海屏”。 2. 选择刘海尺寸信息 3.2 应用界面需要使用刘海区显示适配指导 1. 使用谷歌P版本刘海屏接口需要应用修改(compileSdkVersion和targetSdkVersion任意一个修改到28就可以使用了): compileSdkVersion 28 ...
android:resizeableActivity="true" 也可以通过设置targetSdkVersion>=24(即Android 7.0),该属性的值会默认为true,就不需要在AndroidManifest.xml中配置了。 image 如何适配 上文中已经展示了刘海屏中全屏显示带来的问题,那么如何去解决呢? 1.沉浸式状态栏的适配 ...
适配方案 Android O 的刘海屏适配方案可分为两种情况: 全屏且占用刘海屏的适配方案 对于需要全屏且占用刘海屏显示的情况,如沉浸式游戏、沉浸式阅读(需要把态栏隐藏),适配时可以采用如下步骤:1、在 Activity 中使用 setSystemUiVisibility 设置全屏的一些标识; 2、根据不同厂商的适配规则(官网有提供)设置不同的 flag...
刘海屏是Apple公司在iPhone X率先推出的,后续Android阵营陆续跟进,众所周知Android机型碎片化极其严重,在Google官方正式推出适配方案前,Android开发开发者对各大厂商设备需单独进行刘海屏适配,工作量可想而知。 概要 Google官方在Android 9.0 后对刘海屏进行了支持,本文内容便是基于官方刘海屏解决方案进行介绍: ...