Unreal发布Android在刘海屏手机上不能全屏显示问题

Unreal 4.27发布Android在刘海屏手机上不能全屏显示问题

  • Android设置全屏
  • 刘海屏全屏设置
  • 4.27设置刘海屏在部分手机不能显示问题

Android设置全屏

AndroidManifest.xml文件配置

    ...<activity android:name="com.epicgames.ue4.GameActivity" android:label="@string/app_name" android:theme="@style/UE4SplashTheme" android:configChanges="mcc|mnc|uiMode|density|screenSize|smallestScreenSize|screenLayout|orientation|keyboardHidden|keyboard" android:resizeableActivity="false" android:launchMode="singleTask" android:screenOrientation="sensorLandscape" android:debuggable="true"><meta-data android:name="android.app.lib_name" android:value="UE4" /></activity><activity android:name=".DownloaderActivity" android:screenOrientation="sensorLandscape" android:configChanges="mcc|mnc|uiMode|density|screenSize|orientation|keyboardHidden|keyboard" android:theme="@style/UE4SplashTheme" /><meta-data android:name="android.max_aspect" android:value="2.4" />...

其中设置android:resizeableActivity="false",增加<meta-data android:name="android.max_aspect" android:value="2.4" />,默认最大的宽高比是2,现在很多手机超过这个宽高比,所以可以设置更大的宽高比。
Unreal不能直接修改AndroidManifest.xml文件,需要通过Project Setting->Platforms->Android->Advanced APK Packaging进行设置。
实际上,我们不需要修改AndroidManifest.xml,在Project Setting->Platforms->Android->APK Packaging有选项设置。
在这里插入图片描述
以上两个选项设置允许全屏和最大宽高比,但不适合刘海屏全屏。因为刘海屏的刘海并不属于常规全屏的一部分。

刘海屏全屏设置

Unreal 4.27是有选项直接设置刘海屏全屏显示的。
在这里插入图片描述

但测试很多手机都不能在刘海屏显示。

4.27设置刘海屏在部分手机不能显示问题

问题出在打包的Java程序里
在这里插入图片描述
打开上面的java文件,可以看到java代码里还有机型测试。

		// allow certain models for now to use full area around cutoutboolean BlockDisplayCutout = true;if (android.os.Build.MANUFACTURER.equals("HUAWEI")){BlockDisplayCutout = false;}else if (android.os.Build.MANUFACTURER.equals("HMD Global")){String model = android.os.Build.MODEL;if (model.equals("Nokia 8.1")){BlockDisplayCutout = false;}}else if (android.os.Build.MANUFACTURER.equals("samsung")){String model = android.os.Build.MODEL;if (model.startsWith("SM-G970") || model.startsWith("SM-G973") || model.startsWith("SM-G975") ||model.startsWith("SC-03L") || model.startsWith("SCV41") || model.startsWith("SC-04L") ||model.startsWith("SCV42") || model.startsWith("SM-N97") || model.startsWith("SM-F700") ||model.startsWith("SM-G98") || model.startsWith("SCV47") || model.startsWith("SCG01") ||model.startsWith("SCG02") || model.startsWith("SC-51A") || model.startsWith("SC-52A") ||android.os.Build.VERSION.SDK_INT >= 28){BlockDisplayCutout = false;}}else if (android.os.Build.MANUFACTURER.equals("Xiaomi")){String model = android.os.Build.MODEL;if (model.startsWith("POCOPHONE F1")){BlockDisplayCutout = false;}}else if (android.os.Build.MANUFACTURER.equals("OnePlus")){String model = android.os.Build.MODEL;if (model.startsWith("IN2020") || model.startsWith("IN2021") || model.startsWith("IN2023") ||model.startsWith("IN2025") || model.startsWith("IN2010") || model.startsWith("IN2011") ||model.startsWith("IN2013") || model.startsWith("IN2015") || model.startsWith("IN2017") ||model.startsWith("IN2019") || model.startsWith("AC2001") || model.startsWith("AC2003") ||model.startsWith("BE2025") || model.startsWith("BE2026") || model.startsWith("BE2028") ||model.startsWith("BE2029")){BlockDisplayCutout = false;}}if (BlockDisplayCutout){UseDisplayCutout = false;}

UseDisplayCutout从打包参数接收设置,但以上java代码又做了机型判断,如果机型不在目录中,UseDisplayCutout会被强制设置为false。

		if (BlockDisplayCutout){UseDisplayCutout = false;}

那么,我们只要修改这个代码,把强制设置UseDisplayCutout = false注释掉应该就可以显示刘海屏了。

直接修改Intermediate\Android\arm64\src\com\epicgames\ue4\SplashActivity.java文件是无用的,Intermediate目录下的文件在编译的时候会被新生成代码覆盖掉的。
我们需要把Intermediate\Android\arm64\src\com\epicgames\ue4\SplashActivity.java文件拷贝到Build\Android\src\com\epicgames\ue4\SplashActivity.java(如果已经有了,就不用拷贝了),然后修改Build\Android\src\com\epicgames\ue4\SplashActivity.java才行。

		if (BlockDisplayCutout){// UseDisplayCutout = false;}

经过以上设置,实际测试可以在OPPO手机上正常显示刘海屏全屏了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/275612.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

`httpsok`:轻松搞定免费的泛域名SSL/TLS证书

&#x1f525;&#x1f525;&#x1f525; httpsok&#xff1a;轻松搞定免费的泛域名SSL/TLS证书 在当今互联网时代&#xff0c;网站的安全性已成为一项不可或缺的重要因素。其中&#xff0c;采用HTTPS协议是一种有效的保护措施&#xff0c;但对于个人和团队开发者来说&#x…

Ubuntu23.10安装FFmpeg及编译FFmpeg源码

安装FFmpeg: 打开终端: 输入 sudo apt install ffmpeg 安装成功: 验证FFmpeg 默认安装位置与库与头文件位置 使用FFmpeg源码编译: 1.安装YASM sudo apt-get install yasm

2024年腾讯云便宜学生云服务器购买攻略

腾讯云学生服务器优惠活动「云校园」轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置112元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G3M公网带宽配置842.4元一年&#xff0c;腾讯云服务器网txyfwq.com分享2…

数据库管理-第160期 Oracle Vector DB AI-11(20240312)

数据库管理160期 2024-03-12 数据库管理-第160期 Oracle Vector DB & AI-11&#xff08;20240312&#xff09;1 向量的函数操作to_vector()将vector转换为标准值vector_norm()vector_dimension_count()vector_dimension_format() 2 将向量转换为字符串或CLOBvector_seriali…

观测云产品更新 | 监控器新增组合检测、新增跨工作空间 ServiceMap 等

观测云更新 监控 > 新增「组合监控 」 支持将工作空间内的多个监控器检测结果组合判断&#xff0c;帮助您在复杂的判断条件或存在依赖场景时&#xff0c;进行更加灵活的监控触发。 详情说明&#xff0c;请参见&#xff1a;组合检测 - 观测云文档 服务优化 新增支持跨空间…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Column)

沿垂直方向布局的容器。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 接口 Column(value?: {space?: string | number}) 从API version 9开始&#xff0c;该接口…

创建SpringCloudGateWay

创建SpringCloudGateWay 本案例基于尚硅谷《谷粒商城》项目&#xff0c;视频27 创建测试API网关 1、创建module 2、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:x…

v-model 粗略解析

v-model 粗略解析 v-model是什么&#xff1f; 双向数据绑定&#xff0c;可以从data流向页面&#xff0c;也可以从页面流向data通常用于表单收集&#xff0c;v-model 默认绑定 value 值书写形式&#xff1a; v-model:value"" 或 v-model v-model原理是什么&#xf…

界面控件DevExpress ASP.NET Scheduler - 助力快速交付个人信息管理系统(下)

DevExpress ASP. NET Scheduler组件能完全复制Microsoft Outlook Scheduler的样式和功能&#xff0c;具有日、周、月和时间轴视图&#xff0c;并包括内置的打印支持&#xff0c;因此用户可以在尽可能短的时间内交付全功能的个人信息管理系统。在上文中&#xff08;点击这里回顾…

在域控的Users目录下批量创建用户组,名称来自Excel

对于CSV文件&#xff0c;PowerShell可以直接读取并处理&#xff0c;无需额外安装模块。假设你的CSV文件中&#xff0c;用户组名称在第一列&#xff0c;文件名为"groups.csv"&#xff0c;可以使用以下PowerShell脚本来批量创建&#xff1a; # 读取CSV文件中的数据 $g…

OpenCV的常用数据类型

OpenCV涉及的常用数据类型除包含C的基本数据类型,如&#xff1a;char、uchar&#xff0c;int、unsigned int,short 、long、float、double等数据类型外, 还包含Vec&#xff0c;Point、Scalar、Size、Rect、RotatedRect、Mat等类。C中的基本数据类型不需再做说明下面重点介绍一下…

QT----基于QT的人脸考勤系统(未完成)

目录 1 编译opencv库1.1 下载源代码1.2 qt编译opencv1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat 2 编译SeetaFace2代码2.1 遇到报错By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has2.2遇到报错Model missing 3 测试…

如何剪辑视频?从入门到精通,轻松驾驭!

“视频怎么剪辑呀&#xff0c;手上有一段视频&#xff0c;但其中只有某个片段是我真正想要的。我想把这个片段单独剪辑出来&#xff0c;做成一个新的视频。有没有什么简单的方法可以实现这个目的&#xff1f;请赐教&#xff0c;感激不尽&#xff01;” 在这个短视频盛行的时代…

vue3上传图片并且支持删除

先做上传组件 <template><!-- --><el-uploadref"uploadRef":headers"headers":action"action":limit"limit":list-type"listType":auto-upload"autoUpload":show-file-list"showFileList&q…

STM32中断和外部中断

NVIC&#xff1a;嵌套中断向量控制器&#xff1a;用于统一分配中断优先级和管理中断 响应式优先级&#xff1a;也可以称为插队式优先级哪个优先级高优先处理哪个 抢占式优先级&#xff1a;优先级高的可以优先被处理&#xff0c;相当于CPU可以暂时中断当前处理的程序&#xff0c…

海豚调度系列之:任务类型——SQL节点

海豚调度系列之&#xff1a;任务类型——SQL节点 一、SQL节点二、创建任务三、任务参数四、任务样例五、运行该任务成功之后在hive中查询结果六、使用前置sql和后置sql示例 一、SQL节点 SQL任务类型&#xff0c;用于连接数据库并执行相应SQL。 二、创建任务 点击项目管理-项…

Windows C++ 使用WinAPI实现RPC

demo下载地址&#xff1a;https://download.csdn.net/download/2403_83063732/88958730 1、创建IDL文件以及acf文件&#xff08;创建helloworld.idl helloworld.acf&#xff09; 其中IDL文件&#xff1a; import "oaidl.idl"; import "ocidl.idl"; [ …

MySQL的事务隔离是如何实现的?

目录 从一个例子说起 快照读和当前读 事务的启动时机和读视图生成的时刻 MVCC 隐藏字段 Undo Log回滚日志 Read View - 读视图 可重复读(RC)隔离级别下的MVCC 读提交(RR)隔离级别下的MCC 关于MVCC的一些疑问 1.为什么需要 MVCC &#xff1f;如果没有 MVCC 会怎样&am…

Python学习笔记-Flask实现简单的抽奖程序(增加图片显示)

1.创建static文件夹,存放图片文件 2.hero列表数据更改为要抽奖的图片名 3.html中可以编写python语句,遍历hero列表内容渲染到表格中 4.在点击随机抽取后,可以获得名称,然后使用img标签,将获取的名称拼接到路径中 3.初始页面,访问127.0.0.1:5000/index 4.点击随机抽取后 5.py…

ResNeXt学习笔记

一、更新了block 二、将block中的卷积层分组 注意&#xff1a;对于block层数小于3的&#xff0c;没有太大作用