默认情况下,在未设置特殊标志的竖屏模式下,在带刘海屏的设备上,状态栏的大小会调整 为至少与刘海一样高,而您的内容会显示在下方区域。在横屏模式或全屏模式下,您的应用 窗口会显示黑边,因此您的任何内容都不会显示在刘海区域中。 将内容呈现在短边刘海区域中 对于某些内容(如视频、照片、地图和游戏),呈现在刘...
lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES; //设置页面延伸到刘海区显示 window.setAttributes(lp); 1. 2. 3. 4. 5. 6. 7. 8. Android 8.0刘海屏适配 8.0由于没有谷歌官方api支持,导致各大手机厂商适配方法不一样,适配起来比较麻烦,下面对比较大...
二、刘海屏尺寸pt分布 iPhoneX系列.png 三、实际适配宏定义 /** * MARK:-屏幕尺寸宏定义 * 导航栏高度 状态栏高度 底部tabbar高度 苹果X底部安全区高度 *///屏幕rect#defineSCREEN_BOUNDS ([UIScreen mainScreen].bounds)//屏幕宽度#defineSCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)//屏幕高度#d...
第二张图就是开启模拟选项后显示的切口样式,当然这个缺口是模拟的,目前真机普遍的刘海屏高度在90px左右,安卓模拟器模拟的刘海屏高度为144px。第三张图是开启一个应用的闪屏页没有适配刘海屏的高度时候的样子,顶部出现了黑色区域。这个黑色区域是因为刘海缺口导致的整个界面整体向下移。因为我们的闪屏页一般都是会全屏...
全屏未适配刘海屏的页面,系统会对刘海屏区域进行切割,让整体 UI 页面做下移处理,避开刘海屏的显示。 全屏已适配刘海屏的页面,可以兼容刘海屏,做到真正的全屏显示。 后面会单独讲解这几种方式的区别。 2.3 抢先体验 Android P 在手边没有对应系统的设备的时候,模拟器是一条不错的路,最近 Google 也发布了 Android...
对Activity生效,意味着可以针对单个页面进行刘海屏适配,设置了该属性的Activity系统将不会做特殊处理。例如: 代码语言:javascript 复制 <applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:testOnly="false...
1 适配Android刘海屏小结 一、沉浸式与非沉浸式来回切换页面适配 二、沉浸式页面适配 (非沉浸式页面,系统自动适配) 不进行任何适配的情况下,带有刘海屏的手机都会有一套基本一致的处理逻辑。 一、沉浸式与非沉浸式来回切换页面适配 阅读正文界面 1、 存在问题: 正文页面在阅读的时候是沉浸式的(无菜单,状态栏), 由...
所以,我们在进行刘海屏适配的时候,首先需要通过一些手段,统一各大厂商的显示方案,让所有的刘海屏手机都利用状态栏的界面,「告知系统」我们已经适配了刘海屏,确保系统不会下移我们的应用,保留原生体验。 这里主要有两种方式: 1、设置屏幕高宽比例 因为刘海屏手机的「宽高比」比之前的手机大,如果不适配的话,Android ...
2.全屏显示的适配 对于全屏显示的情况,处理起来要相对麻烦一些,下面重点说一下这种情况下的适配方案。 1.Android P及以上 谷歌官方从Android P开始给开发者提供了刘海屏相关的API,可以通过直接调用API来进行刘海屏的适配处理。DisplayCutout类可以获得安全区域的范围以及刘海区域(官方的叫法是缺口)的信息,需要注意只有AP...
不幸的是,你的应用中很大几率会有全屏界面,所谓的刘海屏适配,也正是针对这些全屏界面。 如果你什么都不做,默认规则不允许全屏界面内容显示到刘海区域,即刘海屏区域会保留一条黑边,你的全屏界面会在刘海下方展示,这看起来好像也是可以接受的,然后你竟说服产品达成共识,“无为而治”才是最强大的刘海屏适配方案!