android 手游全面屏适配方案

安卓应用全屏适配(游戏) 前言 在前些日子中,DFQ默认的全屏方案在各种花里胡哨的安卓手机屏幕(如水滴屏、额头屏等全面屏)中出现大黑边。 在游戏应用中,如果两边有黑边,自然是玩起来不舒服的;所以只能寻找解决方案进行适配。 经过一番搜寻、实践,发现问题意外的简单。 解决方案 只需要在AndroidManifest.xml中对应的Application 标签中,添加以下内容即可: 1 2 3 ... 阅读详情

由于原始应用是基于android4.4版本搞的,直接用android P的sdk来搞开发不现实,android P的模拟器可以实现官方刘海了模拟了,没有的可以试试。

适配方案:
计算状态栏高度,如果高度为0那么就是正常比例的手机,如果高度不为0,那么就要加上这个高度。

//获取状态栏高度
 public static int getStatusBarHeight(Context context) 
 {
       int result = 0;
       int resourceId = context.getResources().getIdentifier("status_bar_height","dimen", "android");
       if (resourceId > 0) 
       {
           result = context.getResources().getDimensionPixelSize(resourceId);
       }
       return result;
  }

这里有个值,2.07,也就是华为 P20 屏幕比例是2.077777777小一点的范围(感觉这个还是会有点问题),如果状态栏的高度加上显示的宽度与高度比小鱼这个值,那么就认为不是全面屏,设置这个状态栏高度为0,这个时候,非全面屏的手机就可以正常显示,如果是全面屏,那么这个比就会大于2.07,那么宽度就要加上这个状态栏高度。

int barHeight = MainActivity.getStatusBarHeight(activity);
if( (float)(DisplayWidth + barHeight) / DisplayHeight < 2.07 )
{
    barHeight = 0; // 非全面屏
}

mRender = new Renderer(Context, DisplayWidth + barHeight, DisplayHeight);

第二次修改
现在游戏内的适配是没问题了,不过华为那边还是给退回来了,是说没有进行全面屏适配。
那么问题来了,他们说的全面屏适配是什么?
后来沟通了一下,指的是如果进行了全面屏适配,在打开游戏的时候不会出现一个“全屏适配”的按钮,点击这个按钮就会自动重启应用并拉伸,也是找了好多方案,最后试验才试出来问题所在

<meta-data android:name="android.max_aspect" android:value="2.1" />

上面这个配置是为了适配三星s8而做的调整,然后今天在看华为的适配文档的时候,也发现了这个字段,不过值他们推荐改为2.4

那么这个值表示什么含义呢?参考如下链接
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2017/0405/7783.html

实际上是app支持的最大长宽比的限制,改大一点就完成了适配了,应用就默认可以支持全面屏了。

Unity3D手游多分辨率适配深度解决方案 本方案已在多个千万级DAU项目中验证,可有效覆盖市面上95%以上的移动设备。建议开发团队建立专门的适配测试小组,在项目初期即引入适配框架,通过持续迭代优化达到最佳显示效果。当前移动端设备分辨率呈现多元化发展趋势,主流设备分辨率跨度从720P到4K级别,屏幕宽高比包含16:9、18:9、19.5:9、21:9等多种形态。 阅读详情

相关推荐

Unity手游UI安全区域适配:Screen.safeArea原理与实战方案

在移动应用开发中,UI适配是确保跨设备一致用户体验的基础技术。其核心原理在于根据设备屏幕的物理特性和系统界面,动态计算并应用内容的安全显示区域。这项技术的工程价值在于,它能自动规避刘海、挖孔、圆角等异形屏的遮挡,保障交互元素的可用性和视觉信息的完整性。在Unity引擎开发的手游项目中,这直接关系到玩家的核心操作体验与留存。通过深入理解并应用Unity提供的Screen.safeArea API,开发者可以构建一套高效、通用的适配方案,精准解决包括iPhone灵动岛和各类安卓异形屏在内的适配难题,从而攻克手游

ithome 357

Cocos2d-x 屏幕适配新解

本文出自[无间落叶]:http://blog.leafsoar.com/archives/2013/05-10-19.html 为了适应移动终端的各种分辨率大小,各种屏幕宽高比,在 cocos2d-x(当前稳定版:2.0.4) 中,提供了相应的解决方案,以方便我们在设计游戏时,能够更好的适应不同的环境。 而在设计游戏之初,决定着我们屏幕适配的因素有哪些,简而言之只有两点:屏幕大小 和

mergerly的专栏 2871

Unity手游开发实战:如何完美适配不同手机键盘高度与刘海屏(附完整代码)

本文详细介绍了Unity手游开发中如何完美适配不同手机键盘高度与刘海屏的工程级解决方案。通过跨平台键盘高度检测、安全区域动态适配引擎以及UI自动避让系统,有效解决了输入框遮挡和刘海屏适配问题,并附完整代码实现。适用于各类移动端游戏开发场景,显著提升用户体验。

weixin_29001683的博客 219

unity安卓如何适配全面屏?

使用unity打包Android应用安装到全面屏手机上,会发现应用两边会有黑条,并且获取的Screen.width和Screen.height都是非完全的屏幕尺寸。这是因为google android为了向下兼容。所以需要在AndroidManifest.xml中开启选项即可。 Unity打包后正常的Manifest文件如下: &lt;?xml version="1.0" encoding=...

鱼蛋的开发小站 9248

Unity手游开发:如何精准适配不同手机键盘高度(附完整代码)

本文详细解析了Unity手游开发中如何精准适配不同手机键盘高度的技术方案,涵盖Android和iOS平台的键盘高度获取机制、安全区域计算及动态布局调整。通过完整代码示例和实战案例,帮助开发者解决键盘遮挡输入框的常见问题,提升用户体验。

weixin_27960253的博客 256

Unity手游多分辨率适配:从安全区到动态布局的完整工程实践

在移动应用开发中,多分辨率适配是确保用户体验一致性的核心技术挑战,尤其在设备屏幕尺寸和比例日益多样化的今天。其核心原理在于通过坐标转换、锚点系统和动态缩放策略,使界面元素能够根据不同屏幕的物理特性自动调整布局与尺寸。这项技术的工程价值在于提升应用的兼容性与稳定性,直接关系到用户留存与商业转化。在游戏开发领域,特别是使用Unity引擎的手游项目中,适配问题尤为突出,涉及从美术资源规范到运行时动态策略的全流程。本文聚焦于Unity UI系统的Canvas Scaler配置、安全区(Safe Area)处理以及锚

weixin_32631179的博客 347

Android挂机 屏幕,游戏蜂窝新版支持全面屏手机 简单几步教你如何设置挂机

游戏蜂窝是备受广大玩家欢迎的手游辅助工具,内置丰富的脚本和海量适配的游戏,让玩家随时随地,就可以享受一站式、一键式的游戏挂机体验。但是有很多用户想知道游戏蜂窝在全面屏手机上能不能正常使用。这里告诉大家,目前蜂窝已经全面升级,v3.4.3及以上的版本均可支持全面屏,下面就来教玩家们如何在全面屏手机上使用游戏蜂窝。【更新说明】新版黑科技已震撼上线,利用VA虚拟环境,解决技术门槛!【新版】不受系统版本/...

weixin_34096605的博客 2510

Unity手游UI适配实战:键盘高度与异形屏安全区解决方案

在移动应用开发中,UI适配是确保应用在不同设备上提供一致用户体验的关键技术。其核心原理在于处理屏幕坐标系与UI布局坐标系的映射关系,以应对多样化的屏幕尺寸、比例及系统特性。这项技术的价值在于直接提升应用的稳定性和专业度,避免因UI错位、遮挡导致的用户流失。在Unity手游开发场景下,虚拟键盘弹出时的界面顶起和异形屏(如刘海屏、水滴屏)的内容遮挡是两个高频痛点。本文聚焦于解决这两个问题,提供了可复用的C#组件,详细讲解了通过监听输入焦点、计算安全区(Safe Area)以及坐标转换,实现UI面板智能位移与安全

weixin_34413103的博客 292

熬夜再战Android从青铜到王者-几个适配方案【建议收藏】_android 青铜王者段位计算公式

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

2401_86964104的博客 936

游戏GUI开发核心技术解析与优化实践

图形用户界面(GUI)作为人机交互的核心载体,在游戏开发中承担着功能性与沉浸感的双重使命。其技术实现基于渲染管线、输入系统和UI框架的协同工作,通过Canvas渲染、事件分发等机制构建交互逻辑。在性能优化层面,合批处理、图集打包等方案能有效降低DrawCall和内存占用,而物理化UI设计则能增强视觉反馈。随着Unity UGUI、Unreal UMG等引擎技术的演进,现代游戏GUI已能实现跨平台适配与高级特效,为玩家提供更流畅的交互体验。特别是在移动游戏领域,合理的输入优先级设计对降低触屏误触率至关重要。

weixin_26841957的博客 326

Unity UI适配实战:5个核心技巧告别Canvas漂移与错位

UI适配是游戏开发中确保用户界面在不同屏幕尺寸和分辨率下保持一致性的关键技术。其核心原理在于将固定的设计布局通过相对坐标和智能缩放规则,动态映射到多变的显示设备上。这项技术的价值在于提升用户体验的一致性和产品的专业度,广泛应用于移动端、PC端及跨平台游戏的HUD、菜单、弹窗等界面开发。通过深入理解Canvas的渲染模式、Rect Transform的锚点机制以及Canvas Scaler的缩放策略,开发者可以构建出自适应布局。本文聚焦Unity引擎,针对Canvas适配中常见的元素“漂移”、异形屏遮挡及多分

weixin_33868027的博客 296

android 全面屏/刘海屏有效适配

黑底问题 手机厂商追求高用户体验,屏幕宽高比越做越高。17:9 19:10 18:9 18.5:9所谓全面屏。 原来一般主流手机1920*1080分辨率 16:9高宽比。如果没有单独去配置属性,会导致在超过17:9宽高比手机上,底部一大块黑底。 适配方案 1920*1080 传统手机 ratio_float = 16/9 = 1.778 ; 2248*10...

zane_xiao的博客 6605

Unity项目适配微信小游戏:基于WebAssembly的跨平台开发实战指南

跨平台游戏开发是当前游戏行业的重要趋势,旨在让同一套代码能够在多个终端上运行,以最大化开发效率和市场覆盖。其核心原理在于通过中间层技术抽象底层硬件和操作系统的差异,实现逻辑代码的复用。在众多技术方案中,WebAssembly(Wasm)因其接近原生的执行效率和良好的可移植性,正成为连接高性能应用与Web环境的关键桥梁。它允许将C/C++/Rust等语言编译成紧凑的二进制格式,在现代浏览器中高效运行,为将复杂的游戏引擎移植到Web平台提供了可能。这一技术的工程价值在于,它显著降低了将现有成熟项目(尤其是使用U

weixin_33725270的博客 476

vivox20 html阅读器,【vivoX20评测】软件适配才是全面屏的最大优势_vivo X20_手机评测-中关村在线...

软件适配才是全面屏的最大优势说到了这部分,也就说到了完成度最关键的部分。全面屏的优势不仅要体现在视觉观感上的未来感上,更要体现在使用体验的提升上。但目前来看,除了高端的全面屏手机,其他亲民价位的全面屏手机适配效果并不是很理想。我们知道,传统的智能手机画面比例是16:9,基本所有的智能手机APP也都是按照这个画面比例进行适配优化的,游戏画面也不例外。举个例子来说,当我们在其他屏幕比例的安卓平板上运行...

weixin_36401794的博客 310

Unity UI适配核心:Canvas Scaler模式解析与2023版避坑指南

UI适配是游戏与应用开发中的基础挑战,其核心在于确保界面元素在不同屏幕分辨率与设备上保持视觉一致与功能可用。原理上,系统通过坐标转换与缩放计算,将设计稿的布局映射到物理屏幕。技术价值在于提升用户体验的一致性与产品的跨平台兼容性。应用场景广泛覆盖手游、PC端应用及各类交互界面。本文聚焦Unity引擎中的Canvas Scaler组件,深入剖析其Scale With Screen Size等模式的工作原理,并结合锚点设置、安全区域处理等高频搜索热词,提供解决UI错位、拉伸及异形屏适配等常见问题的工程实践方案,帮

weixin_30920597的博客 622

在Ubuntu 20.04上,用EtherCAT Igh 1.6.2驱动高创BD3E伺服电机(附完整C代码)

本文详细介绍了在Ubuntu 20.04实时内核环境下,使用EtherCAT Igh 1.6.2主站驱动高创BD3E伺服电机的完整实现方案。从实时系统配置、伺服电机PDO映射到精确控制线程设计,提供了完整的C代码样例和实际项目中的调试技巧,帮助开发者实现工业自动化中的高精度运动控制。

weixin_30772105的博客 110

从‘王者荣耀’到‘原神’:拆解主流手游UI如何用Unity锚点实现多设备适配

本文深入解析了《王者荣耀》和《原神》等主流手游如何利用Unity锚点系统实现多设备UI适配。通过详细拆解锚点(Anchors)的工作原理、商业级适配方案及Canvas Scaler的协同使用,为开发者提供了一套高效解决不同屏幕比例设备适配难题的实战指南,大幅提升开发效率。

weixin_33050117的博客 252

存储关键技术·RAID技术·RAID2.0·华为RAID2.0+·华为服务器·云计算

一.RAID基本概念 常见的RAID级别组合RAID级别 二.RAID的数据组织形式 三.RAID的数据保护功能 方法一:镜像方法二:奇偶校验算法(XOR) 四.RAID热备和重构 1.热备(Hot Spare)的定义2.热备的分类3.热备的工作原理 五.RAID 2.0技术 1.RAID 2.02.RAID 2.0+3.华为RAID 2.0+ 六.RAID 2.0+块虚拟化技术 1.什么会出现RAID 2.0+技术?2.什么是RAID 2.0?3.RAID 2.0+的原理是什么?

qq_47480932的博客 3319

宽屏手机“看得更多“,我 16:9 的凭什么吃亏?

"宽屏看得多"是个三角函数问题,但**"要不要让宽屏看得多"是个设计问题**。单机游戏可以拥抱 Hor+,让好设备获得更沉浸的画面——那是奖励。竞技射击游戏不行,因为在这里视野就是信息,信息就是胜负。把"设备差异"限制在体验层(更舒服的按键、更宽的观感),坚决挡在竞技层(可见敌人、可用信息)之外。面积守恒的 FOV 曲线 + 彻底解耦的开镜系统 + 与屏幕无关的服务端 AOI + 可量化的比例矩阵门禁。一条公式引发的问题,最终要靠一整套工程纪律来关上。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 3万+

OTN传送网实战指南:从光层到电层的完整架构解析(附配置示例)

本文深入解析OTN传送网从光层到电层的完整架构,涵盖关键组件、技术实现及配置示例。通过高速公路与光传送网的类比,详细介绍了光层超宽传输管道构建、电层业务调度核心引擎以及控制平面智能运维实战。附有典型组网方案与故障排查指南,助力网络工程师高效部署与维护OTN传送网。

tomato的博客 682

Android AI Agent集成实战:架构设计与自动化技能开发

AI Agent(人工智能代理)是一种能够感知环境、自主规划并执行任务以达成目标的软件实体。其核心原理在于结合大语言模型的推理能力与工具调用(Tool Calling)技术,使应用从被动响应转向主动服务。在移动开发领域,这项技术的价值在于为应用注入“智能大脑”,实现跨应用自动化与个性化交互,从而显著提升用户体验和操作效率。具体到Android平台,其应用场景广泛,例如自动填写表单、智能聊天辅助、个性化工作流优化等。本文聚焦于Android AI Agent的工程化落地,深入探讨了如何利用Accessibil

weixin_42636895的博客 661

手机投屏电视怎么选?2026主流投屏软件实测对比与避坑指南

日常投屏无需盲目安装各类工具,通用最优逻辑为优先使用系统原生投屏、其次使用视频APP内置投屏,特殊设备兼容场景可选用第三方投屏软件兜底。目前主流投屏工具各有功能侧重,百度网盘胜在存储与投屏一体化、多端同步与素材智能处理能力,适配全场景长期使用;AirDroid Cast对苹果设备适配友好,适合苹果用户轻度投屏;小柚投屏轻量化易上手,适合临时简易投屏。用户可根据自身设备类型、使用频率、功能需求灵活选择对应方案,能够有效规避投屏失败、画面异常、操作繁琐等问题,稳定实现大屏投屏体验。

poiu1234657的博客 1103

便携式水下动态实时视频色彩还原设备,一键快速实现对水下偏色视频和图像的色彩还原处理

便携式水下动态实时视频色彩还原,一键快速对水下图像进行色彩校正,清晰度提升和亮度均衡处理,为水下资源勘探和科学考古,海洋生态环境监测,水下机器作业等应用提供有力的协助

weixin_43518680的博客 633
上一篇: 学习opengl的好网站
下一篇: 【leetcode】728. Self Dividing Numbers -- easy
eclipse_c
博客等级 码龄14年 28粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值