当前位置: 首页 > 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);
}

相关文章:

Android 刘海屏适配指南

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

微信小程序服务通知

项目中用到了小程序的服务消息通知&#xff0c;通知订单状态信息&#xff0c;下边就是整理的一下代码&#xff0c;放到项目中&#xff0c;把项目的小程序appid和小程序的secret写进去&#xff0c;直接运行即可 提前申请好小程序服务信息通知短信模板&#xff0c;代码需要用到模…...

Ubuntu使用Qt虚拟键盘,支持中英文切换

前言 ​ 最近领导给了个需求&#xff0c;希望将web嵌入到客户端里面&#xff0c;做一个客户端外壳&#xff0c;可以控制程序的启动、停止、重启&#xff0c;并且可以调出键盘在触摸屏上使用(我们的程序虽然是BS架构&#xff0c;但程序还是运行在本地工控机上的)&#xff0c;我…...

泰州农商行

该文章用于测试&#xff0c;暴露面检测服务 1595116111115951161112159511611131595116111415951161115159511611161595116111715951161118159511611191595116112015951161121159511611221595116112315951161124159511611251595116112615951161127159511611281595116112915951…...

扫雷(C语言)

目录​​​​​​​ 前言 一、前提知识 二、扫雷游戏编写 2.2 test文件基本逻辑 2.2.1菜单编写 2.2.2game函数的逻辑 2.2.2.1定义两个数组 2.2.2.2两个数组数组的初始化 2.2.2.3打印棋盘 2.2.2.4布置雷 2.2.2.5排查雷 2.2.2.6获取坐标附近雷的数量 2.2.2.7什么时候…...

【实践功能记录8】使用UseElementSize实现表格高度自适应

一、关于 UseElementSize UseElementSize 是一个 Vue 组合式 API 的实用工具&#xff0c;通常用于获取 DOM 元素的尺寸信息&#xff0c;例如宽度、高度等。它通常与 v-slot 一起使用&#xff0c;以便在模板中直接访问这些尺寸信息。 地址&#xff1a;https://vueuse.org/core/u…...

SMO算法 公式推导

min ⁡ α 1 2 ∑ i 1 N ∑ j 1 N α i α j y i y j K ( x i ⋅ x j ) − ∑ i 1 N α i s.t. ∑ i 1 N α i y i 0 0 ≤ α i ≤ C , i 1 , 2 , ⋯ , N (9-69) \begin{aligned} & \min_{\alpha} \quad \frac{1}{2} \sum_{i1}^{N} \sum_{j1}^{N} \alpha_i \alpha_j…...

nodejs包管理器pnpm

简介 通常在nodejs项目中我们使用npm或者yarn做为默认的包管理器&#xff0c;但是pnpm的出现让我们的包管理器有了更多的选择&#xff0c;pnpm相比npm具有以下优势&#xff1a; 速度更快&#xff0c;pnpm在安装依赖时&#xff0c;会将依赖包缓存到全局目录&#xff0c;下次安…...

【postman】工具下载安装

postman作用 postman用于测试http协议接口&#xff0c;无论是开发, 还是测试人员, 都有必要学习使用postman来测试接口, 用起来非常方便。 环境安装 postman 可以直接在chrome 上安装插件&#xff0c;当然大部分的同学是没法连接到谷歌商店的&#xff0c;我们可以在电脑本地…...

Java_Springboot核心配置详解

Spring Boot以其简洁、高效和约定优于配置的理念&#xff0c;极大地简化了Java应用的开发流程。在Spring Boot中&#xff0c;核心配置是应用启动和运行的基础。本文将详细介绍Spring Boot中的两种配置文件格式、基础注解的配置方式、自定义配置以及多环境配置。 一、Spring Bo…...

太速科技-9-基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信号处理卡

基于DSP TMS320C6678FPGA XC7V690T的6U VPX信号处理卡 一、概述 本板卡基于标准6U VPX 架构&#xff0c;为通用高性能信号处理平台&#xff0c;系我公司自主研发。板卡采用一片TI DSP TMS320C6678和一片Xilinx公司Virtex 7系列的FPGA XC7V690T-2FFG1761I作为主处理器&#…...

在线UI设计工具:创意与效率的结合

随着UI设计领域的快速增长&#xff0c;设计师们纷纷投身于这一行业&#xff0c;选择一款合适的UI设计工具变得至关重要。除了经典的UI设计软件&#xff0c;在线UI设计工具因其灵活性和便捷性&#xff0c;越来越受到设计师们的喜爱。这种不受时间和地点限制&#xff0c;且不依赖…...

【MyBatis源码】SqlSessionFactoryBuilder源码分析

文章目录 概述类结构从 InputStream 创建 SqlSessionFactoryXMLConfigBuilder构建ConfigurationXMLConfigBuilder初始化方法parse()方法parseConfiguration属性&#xff08;properties&#xff09; 概述 SqlSessionFactory 是 MyBatis 的核心接口之一&#xff0c;提供创建 Sql…...

Percona XtraBackup数据备份方案

一、简介 官方文档:https://docs.percona.com/percona-xtrabackup/innovation-release/index.html Percona XtraBackup 是一款适用于基于 MySQL 的服务器的开源热备份实用程序,可让您的数据库在计划的维护时段内保持完全可用。无论是 24x7 高负载服务器还是低交易量服务器,…...

聚“芯”而行,华普微亮相第五届Silicon Labs Works With大会

2024年10月24日&#xff0c;由致力于以安全、智能无线连接技术建立更互联世界的全球领导厂商Silicon Labs主办的第五届Works With开发者大会在上海雅乐居万豪侯爵酒店成功举办。 作为全球性的物联网年度“盛宴”&#xff0c;本届大会群英荟萃&#xff0c;不仅有着来自生态大厂的…...

Java 用户随机选择导入ZIP文件,解压内部word模板并入库,Windows/可视化Linux系统某麒麟国防系统...均可适配

1.效果 压缩包内部文件 2.依赖 <!--支持Zip--><dependency><groupId>net.lingala.zip4j</groupId><artifactId>zip4j</artifactId><version>2.11.5</version></dependency>总之是要File类变MultipartFile类型的 好像是…...

【C++】C++17结构化绑定、std::optional、std::variant、std::any

二十二、C17中的结构化绑定、std::optional、std::variant、std::any 本部分是一个小系列&#xff0c;介绍C17中新引入的、用来解决各种不同返回情况的、标准库新组件。 1、C的结构化绑定 结构化绑定structured bindings是C17中引入的一项特性&#xff0c;它允许开发者方便地…...

C#的起源。J++语言的由来?J#和J++傻傻分不清?

C#的起源 C#读音是C Sharp, 它是微软为了对抗Java而生&#xff0c;最早是J&#xff0c;效率比Java还好&#xff0c;后来被Sun公司起诉J破坏了平台无关性&#xff0c;微软重新开发C#. C#和Java一样都定位为中间件语言&#xff0c;用虚拟机执行编译的字节码以达到跨平台目的。从语…...

Flutter 在 对接 google play 时,利用 android studio 可视化生成 已签名的aab包

android studio 可视化生成 aab包 第一 &#xff1a; 先说注意事项 在Flutter项目里面&#xff0c;直接打开当前项目是不行的&#xff0c;不显示相应操作&#xff0c;需要在Android 目录打开&#xff0c;直白点就是直接打开项目里面的Android 目录 不然会出现的一些问题 第一…...

使用web.dev提供的工具实现浏览器消息推送服务

文章目录 前言实现工具和效果实现原理实现过程前端接收用户订阅请求将用户订阅信息更新到后端后端实现接收并保存订阅信息的接口后端实现消息推送的逻辑前言 对于电商独立站来说,新品上架或者促销活动上线及时通知到用户是很重要的,通知的渠道有很多,其中就包括浏览器消息推…...

No.1085 ‘基于S7-200 PLC和组态王的邮件分拣控制系统设计

No.1085 基于S7-200 PLC和组态王的邮件分拣控制系统设计快递分拣中心里&#xff0c;传送带上的包裹像流水般划过&#xff0c;机械臂精准抓取分类——这种工业自动化场景的实现&#xff0c;离不开PLC和上位机的黄金组合。今天咱们就以西门子S7-200 PLC搭配组态王6.55&#xff0c…...

2.5MW ANPC拓扑储能变流器PCS整流器仿真搭建之旅

储能变流器pcs整流器仿真模型&#xff0c;联系默认发百度&#xff0c;ANPC电路拓扑&#xff0c;2.5MW&#xff0c;电压外环&#xff0c;电流内环&#xff0c;2016版本的matlab在电力电子领域&#xff0c;储能变流器PCS&#xff08;Power Conversion System&#xff09;的整流器…...

OpenClaw性能优化:降低千问3.5-9B调用的Token消耗

OpenClaw性能优化&#xff1a;降低千问3.5-9B调用的Token消耗 1. 为什么需要关注Token消耗 去年冬天我第一次用OpenClaw对接千问3.5-9B模型时&#xff0c;被账单吓了一跳——一个简单的文件整理任务竟然消耗了将近2万Token。这让我意识到&#xff0c;在本地部署场景下&#x…...

《SpringBoot》史上最全SpringBoot相关注解介绍

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

ESP8266原生HomeKit接入:零桥接HAP协议实现

1. 项目概述HomeKit-ESP8266 是一个面向 ESP8266 Arduino Core 的原生 Apple HomeKit 配件实现库。它不依赖任何桥接设备&#xff08;如 HomePod、Apple TV 或 Mac&#xff09;&#xff0c;可直接作为独立的 HomeKit 配件接入 iOS/macOS 的“家庭”App。该库并非基于 Apple 官方…...

[MediaForge] 音频技术深度解析(五):常见问题与快速解决

目录 问题排查方法论 音频采集常见问题 音频重采样常见问题 音频编码常见问题 音频封装常见问题 端到端完整流程问题 快速定位工具集 AI 辅助排查指南 1. 问题排查方法论 1.1 通用排查流程 ┌───────────────────────────────────────…...

eos低开视图查询,筛选空字符的数据,事件中的查询条件怎么写?

问题描述: eos低开视图查询&#xff0c;筛选空字符的数据&#xff0c;事件中的查询条件怎么写&#xff1f; 解决方案: 查询空字符串&#xff0c;可在查询条件中使op"empty"&#xff0c;参考示例如下。 this.finalCondition.and.items.push({propertyName: "n…...

【ABAP】客转供 客户转供应商 cl_md_bp_maintain=>maintain 创建供应商

报错&#xff1a;未分配客户/供应商&#xff0c;您无法传输客户/供应商数据 这是因为如果创建的时候是作为客户的&#xff0c; 后面想要创建为供应商&#xff0c;所以调用的供应商创建/修改接口。 但是这时候&#xff0c;LFA1里面是没有供应商编号的&#xff0c;只有BUT000里面…...

OpenClaw 从翻车到迎来上百项更新:MiniMax、腾讯、阿里、有道 8 位专家拆解OpenClaw本土化实战解法

责编 | 梦依丹出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;3 月 24 日&#xff0c;行业顶流 OpenClaw 在迎来号称自诞生以来的最大更新之后&#xff0c;却始料未及地上演了一段“装虾五分钟&#xff0c;修 Bug 两小时”的升级翻车大事故。由于强行将插件生态迁移…...

MLOps实践指南:让AI模型持续交付

在人工智能技术日益渗透到各行各业核心业务的今天&#xff0c;一个严峻的现实是&#xff1a;大量机器学习模型在实验室里表现优异&#xff0c;却止步于概念验证阶段&#xff0c;难以稳定、高效地部署到生产环境。对于软件测试从业者而言&#xff0c;传统的测试方法与工具在应对…...