当前位置: 首页 > news >正文

Android 刘海屏适配指南

如果您不希望您的内容与刘海区域重叠, 以确保您的内容不会与状态栏及 导航栏。如果您要呈现在刘海区域中,请使用 WindowInsetsCompat.getDisplayCutout() 检索 DisplayCutout 对象 包含每个刘海屏的安全边衬区和边界框。借助这些 API 您需要检查视频内容是否与刘海屏重叠 并根据需要调整位置。

您还可以确定内容是否布置在刘海区域之后。通过 layoutInDisplayCutoutMode 窗口布局属性用于控制您的内容在刘海区域中的绘制方式。 您可以将 layoutInDisplayCutoutMode 设置为以下值之一:

  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT: 当刘海屏包含在 系统栏。否则,窗口不会与刘海屏重叠;用于 例如,在横屏模式下显示内容时,内容可能会进入信箱模式。如果 您的应用以 SDK 35 为目标平台,则对于非浮动广告,系统会解读为 ALWAYS 窗口。
  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS: 始终允许将内容延伸至刘海屏区域。如果您的应用面向 SDK 35 且在 Android 15 设备上运行,则这是唯一允许的模式 非浮动窗口,以确保无边框显示。
  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES: 在竖屏和横屏模式下,内容都会呈现到刘海区域中。错误做法 用于浮动窗口如果您的应用以 SDK 35 为目标平台,则会被解读为 ALWAYS,适用于非浮动窗口。
  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER: 但内容绝不会呈现到刘海区域中。如果您的应用以 SDK 35 为目标平台,则此参数为 对于非浮动窗口,解释为 ALWAYS

您可以通过编程方式或通过设置刘海屏模式来设置刘海模式 style。
以下 示例定义了一个样式,以应用 LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES 属性。

<style name="ActivityTheme"><item name="android:windowLayoutInDisplayCutoutMode">shortEdges <!-- default, shortEdges, or never --></item>
</style>

如果选择在代码中进行指定,只需要在Activity中加入如下代码即可:

if (Build.VERSION.SDK_INT >= 28) {WindowManager.LayoutParams params = getWindow().getAttributes();params.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;getWindow().setAttributes(params);
}

http://www.mrgr.cn/news/63000.html

相关文章:

  • Nodejs 安装配置多个版本
  • ubuntu 配置OpenOCD与RT-RT-thread环境的记录
  • 44.ComboBox的数据绑定 C#例子 WPF例子
  • ClickHouse-CPU、内存参数设置
  • K8s Pod OOMKilled,监控却显示内存资源并未打满
  • 如何用SQL语句来查询表或索引的行存/列存存储方式|OceanBase 用户问题集锦
  • [C++]unordered_map和unordered_set的模拟实现
  • vim命令及shell命令
  • cdp(Chrome DevTools)检测分析
  • 基于MPC控制器的混合动力EMS能量管理系统simulink建模与仿真
  • 线程的状态及其查看
  • 入门 | Kafka数据使用vector消费到Loki中使用grafana展示
  • 【Canal 中间件】Canal使用原理与基本组件概述
  • 优雅的LUA数据记录方法-serpent序列化+LUA Table
  • 2023 年 Github 万圣节彩蛋
  • windows C#-类型系统(下)
  • NLP segment-01-聊一聊分词 AI 的基础
  • street gaussion 耗时分析
  • 数据结构作业day4
  • pyecharts地图类型
  • 暴力破解漏洞
  • node.js_npm : 无法加载文件 D:\Program Files\nodejs\npm.ps1
  • [java][高级]FilterListenerAjax
  • 双瑞股份上会,业绩增速放缓,与部分供应商交易合理性不足
  • 使用 MMDetection 实现 Pascal VOC 数据集的目标检测项目练习(四) annaconda和pytorch
  • Unity DOTS