Android屏幕适配方案---基于官网文档结合个人理解

Cocos Creator新手入门:从环境搭建到安卓打包的实战指南 游戏开发是现代软件开发的重要分支,其核心在于通过引擎将创意转化为可交互的数字体验。游戏引擎作为底层框架,封装了渲染、物理、音频等复杂系统,开发者只需关注游戏逻辑的实现。Cocos Creator作为一款轻量级、跨平台的游戏引擎,凭借其对TypeScript的良好支持以及“一次开发,多平台发布”的特性,在2D和轻度3D游戏开发领域展现出显著的技术价值。它尤其适合Web前端开发者转型或独立开发者快速上手,能够高效应用于移动端小游戏、教育应用、互动广告等多种场景。本文基于一位开发者的真实入门历程,详细梳理了从环境 阅读详情

前言

今天无开发任务,闲着没事就看下书,看一章节觉得没爱了,接去官网逛了下,突觉还是官网写的比较人性化,翻译过来反而难懂了有木有。好吧,不要怀疑,本人英语是厉害了点,刚过四级,嘿嘿。其实还算勉强,在这里提供个大家看英文文档的小技巧。俗话说,擒贼先擒王,看文档先看目录,这句话一点也不假。就官网的技术文档来说,左边是大纲,

哦哦

除此之外,在正文的右上角还有本章小目录。所以,急着看正文长篇大论不如先看下这个小目录,只有几句话就可以总结出本章打开内容,其实,这样就很有帮助看下面的文档了。其次,在看正文的过程中,难免会遇到比较生疏的词句,没关系,继续往下看,看完了就懂了,就算只看懂7成或8成也够了,大可不必纠结于单个词句而去浪费很多时间去查字典,这个过程虽然短暂,有时候却会导致你忘记前面看懂得内容,所以本人并不推荐这样去看英文文档, 除非你想学习单词- -。好,进入正题。

为什么要适配?

在Android系统中,机型非常多,屏幕尺寸的种类随之越来越多,一开始Google设计的几套屏幕尺寸标准,貌似大部分手机厂商并不愿意去遵循。故此,Google自己也提供了拓展性非常强的适配方案。

需要适配的通常有layout,drawable 。 而如果编写多套layout来适配不同的机型显然大部分程序员都不愿意去做。 从而往往倾向于drawable的适配来适应layout。那么本文就重点讲图片适配的集中方案。

一、使用多套dimen

这种方案相信很多人都在用,将ImageView的 width,height按照UI美眉给的设计稿填写确切的值,然后在dimen里按照mhdpi hdpi xhdpi xxhdpi的比例来计算每一个值来调整图片的大小。举个例子     UI给的设计稿尺寸标志位720*1280  那么这是属于xhdpi的范畴,那么    根据屏幕像素密度比  mhdpi:hdpi:xhdpi:xxhdpi  = 1:1.5:2.0:2.5  。假设有一张设计稿上的图片大小为100*100      values-mhdpi、 values-hdpi、values-xhdpi、values-xxhdpi目录相对应对应下的dimen下设置为的值应该为 65*65  100*100   130*130  315*315 这样,在对应屏幕大小的手机上显示就正常了很多。虽然这种的精确度是非常高的。不过有没有人发现,单单一张图片就要做那么多工作了,一个应用程序员那么多图片,工作量也是不少了。 看项目来取舍吧,我还有第二种方案。

二、使用多个drawable资源

Google推荐的是这种, 将ImageView的width,height设置为wrap_content 或match_content  。然后 在不同的drawable文件下放入UI美眉给的不同大小的图片,简单粗暴。  

三、使用.9patch 自动适配

支持各种屏幕尺寸通常意味着您的图片资源还必须能适应各种尺寸。例如,无论要应用到什么形状的按钮上,按钮背景都必须能适应。

如果在可以更改尺寸的组件上使用了简单的图片,您很快就会发现显示效果多少有些不太理想,因为系统会在运行时平均地拉伸或收缩您的图片。解决方法为使用自动拉伸位图,这是一种格式特殊的 PNG 文件,其中会指明可以拉伸以及不可以拉伸的区域。

.9的制作,实际上就是在原图片上添加1px的边界,然后按照我们的需求,把对应的位置设置成黑色线,系统就会根据我们的实际需求进行拉伸。

四、使用限制符

个人认为,一些大公司或大项目才会采取这种方案。对于渣渣的我来说, 用不到,在这里先不做介绍了, 日后有需要再补充上来。有兴趣的同学飞:

《Google屏幕适配方案》


Nornir自动化简单介绍-网络设备信息收集 作为网工,学会通过执行脚本,可以自动化的完成日常一些设备相关配置或信息收集等工作,可以说是事半功倍。 Nornir就是这样一个自动化网络运维工具。按照官网上的说明: Nornir是用python编写的自动化框架,可与python一起使用。Nornir旨在通过提供一个纯Python框架来解决这些问题。 详细参考: Github GitHub - nornir-automation/nornir: Pluggable multi-threaded framework with inventory . 阅读详情

相关推荐

手把手调试:如何为高通Hypervisor上的GuestOS添加一个自定义的HAB服务通道

本文详细介绍了如何在高通Hypervisor环境下为GuestOS添加自定义HAB服务通道的全过程。从HAB通信框架的核心概念解析到设备树节点的动态注入机制,再到物理通道的内核层实现和用户层测试,提供了完整的开发案例和调试技巧,帮助开发者高效构建定制化通信服务。

weixin_27066963的博客 371

手机适配之 dimen 基础知识

文章目录一、dimen 是什么?二、dimen 定义的尺寸资源文件作用?三、dimen 定义的资源文件如何使用?四、尺寸文件使用建议 一、dimen 是什么? dimen 是用来定义尺寸的资源文件,默认路径:工程的 res\values\dimens.xml 二、dimen 定义的尺寸资源文件作用? 可以在 res 下创建不同分辨率的 values 目录,例如 values-480x320、v...

qq_39438055的博客 4105

GB28181 2022 配置信令

基本参数视频参数选项视频参数属性配置巡航轨迹

ww506772362的专栏 1628

Android官网几篇屏幕适配文章

Supporting Multiple Screens http://developer.android.com/guide/practices/screens_support.html Supporting Different Screens http://developer.android.com/training/basics/supporting-devices/screens.ht

三少爷的剑 1272

双轴按键摇杆模块原理与嵌入式驱动实战

双轴按键摇杆是一种融合模拟量(X/Y轴)与数字量(Z轴按键)的复合型人机交互传感器,其本质基于电位器分压原理与机械开关通断特性。通过ADC采集连续电压信号并结合数字IO检测按键状态,可实现高鲁棒性的二维运动感知与触发控制。该方案技术门槛低、成本可控、兼容性强,广泛应用于智能小车、DIY游戏手柄、工业HMI及教育开发板等嵌入式场景。文中深入解析电位器线性度、KEY引脚开漏特性、ADC参考电压稳定性及软件消抖状态机等关键工程要素,为基于Arduino、STM32或ESP32平台的快速集成提供可复用的技术路径。

weixin_30995917的博客 82

异步bus交互(一)— 两级DFF同步器

异步bus交互(一)— 两级DFF同步器 跨时钟域处理 & 亚稳态处理 1.问题产生 现在的芯片(比如SOC,片上系统)集成度和复杂度越来越高,通常一颗芯片上会有许多不同的信号工作在不同的时钟频率下。比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工作在另一个时钟频率下,而普通的信号又会工作在另外的时钟频率下。这3个不同时钟频率下工作的信号往往需要相互沟通和传递信号。 不同时钟域下的信号传递就涉及到跨时钟域信号处理,因为相互之间的频率、相位不一样,如果不做处理或者

qq_44816673的博客 5118

Android开发中针对市面主流机型的适配方案

Android开发中常用的适配方案

mikehot的博客 1965

金三银四!风控建模岗面试题库大全:从理论到实战避坑指南

风控建模面试大全

阿黎逸阳的博客 767

GitHub标星7-5K!Android-超级稳定且高效的UI适配方案【建议收藏

希望本文对你有所启发,有任何面试上的建议也欢迎留言分享给大家。好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。好了~如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。

2401_83977825的博客 1168

AIGC算法工程师面试八股文深度解析与进阶指南:揭秘Diffusion Models核心原理与实战技巧

总结来说,Cosine Noise Scheduler 的核心优势在于它能够更巧妙地平衡信号和噪声的比例,在扩散过程的早期阶段更长时间地保留原始图像的细节信息,从而为去噪模型提供一个更友好的学习环境,最终带来更优异的生成质量。🚀

FJN110的博客 344

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

XiaoqiangClub的博客 4666

Android之屏幕适配方案

在说明适配方案之前,我们需要对如下几个概念有所了解:屏幕尺寸,屏幕分辨率,屏幕像素密度。屏幕尺寸指屏幕的对角线的物理长度,单位是英寸,1英寸=2.54厘米。比如常见的屏幕尺寸:5.0、5.99、6.0等等屏幕分辨率是指手机在横向、纵向上的像素点数总和,单位是px,1px=1个像素点,一般以纵向像素*横向像素。比如分辨率2160x1080的手机,表示高度上有2160个像素点,而宽度上有1080个像素点,屏幕分辨率为:2160*1080。

ChenYiRan123456的博客 7991

【FDTD】仿真目录(共计 16 篇)

对于完美吸收型边界条件,有时候我们需要设置将仿真结构穿过边界条件区域,具体原因可以阅读下文。在进行 S 参数扫描时,当考虑到材料的色散特性时,我们可以如下文一样选择计算群延迟。仿真,我们需要构建仿真结构与仿真区域,对于它们的尺寸,应该遵循下文进行设定。中存在多种不同的网格类型,具体可以参考下文,这部分内容仅作了解即可。尺寸的设置问题,对于 mesh 的最小尺寸,可以参考下文。的边界条件设置也十分重要,下文中我们对边界条件进行总结。仿真中我们可以设定参与仿真的模式数量,可以参考下文。尺寸的实例,详见下文。

u011699626的博客 502

Android dp方式的屏幕适配-原理(后期补充完整讲解)

Android dp方式的屏幕适配-原理 传统所说的屏幕适配,其实是针对不同屏幕的UI尺寸适配,即在编写页面时使用了具体的dp、sp值后导致的其他问题。 我之前写过一些相关的文章和工具插件,也收到了很多网友的反馈。 今天特编写此篇博客,重新整理以前的思路,同时也融入我近期更深刻的理解和总结,完整解答各位网友的疑惑。 友情链接,感谢鸿神提供的思路。张鸿洋的《Android 屏幕适配方案》: h...

阿杜 3万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Android屏幕适配-官方文档

本文是关于屏幕适配的官方文档,包含每个文档的内容以及文档地址,以便快速查阅。

Houlin的博客 548

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

UE4.27安卓打包全流程实战:从环境配置到疑难排错

移动应用开发中,跨平台打包是将代码与资源编译、链接并封装为可在目标设备上运行的安装包的关键环节。其核心原理在于通过构建工具链(如Gradle)协调编译器、SDK和项目配置,生成符合目标平台规范的二进制文件。这一过程的技术价值在于确保了应用的功能完整性与性能表现,是产品上线的必经之路。在游戏开发领域,使用虚幻引擎(UE4)进行安卓打包是常见的应用场景,它涉及复杂的**环境配置**与**编译工具链**协作。开发者常面临SDK版本不匹配、NDK兼容性、Gradle依赖冲突等挑战,导致打包失败或应用闪退。本文聚焦U

weixin_33946020的博客 424

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

dip,dpi,sp,density官方解答

百度了下网上关于这些词的解释,基本上是copy自同一篇文章,而且感觉有些地方没说对,讲得也很混乱。其实最好的方法还是看下android自己对这些东西的陈述。有疑惑的同学还是耐下心来看下面的文章吧     http://developer.android.com/guide/practices/screens_support.html

林学森的技术专栏 1265

Java开发者的Android尝试-附LangChain4j使用

摘要:本文记录了Java全栈开发者学习Android开发的经历与感悟。作者发现Android开发虽使用熟悉的Java语言,但开发模式和关注点与后端/前端差异巨大。通过迁移Java知识、借助AI工具解决技术问题,作者快速掌握了UI布局、交互逻辑和本地存储等核心技能。文章特别强调了AI在学习中的价值:代码纠错、方案选择和知识梳理,并提出"掌握核心思路+AI辅助"的高效学习模式。最终作者认为,在AI时代应更注重解决问题的思维而非死记硬背技术细节。

2301_80753942的博客 1144

Godot Android配置全攻略:从环境搭建到真机调试避坑指南

在移动游戏开发中,跨平台部署是关键技术环节,它决定了创意能否触达海量用户。其核心原理在于通过特定的工具链将游戏引擎项目编译为目标平台的原生应用包。对于使用Godot引擎的开发者而言,Android平台的配置是实现这一过程的关键技术价值所在,它直接关系到应用能否成功打包、签名并适配各类设备。这涉及到Android SDK、NDK、JDK等基础组件的协同工作,以及渲染后端选择、屏幕适配等工程实践。掌握Godot Android配置,能有效解决NDK版本冲突、签名密钥缺失等常见问题,确保游戏流畅上架Google

a359798678的博客 483

Layabox率先支持小米快游戏,LayaAir 2.0.2版本大幅提升3D性能、spine性能和内存优化、新增屏幕适配设置!...

小米快游戏背景介绍TEF2019快应用开发者大会于3月20日在北京落下帷幕,宣布海信手机和中国移动终端公司加入快应用生态平台,厂商联盟扩展为12家。快应用具有成本低、体...

Layabox 1751

最新Android开发面经,助你顺利通过面试、斩获高薪!

面试前应该做哪些准备?一份优秀的简历、了解投递的岗位要求、复习面试岗位相关知识、整理自己做过的项目、适当的做一些算法题...

m0_59162559的博客 206

Qt 5.14.2 Android开发环境配置全攻略:从零到真机部署

跨平台应用开发是当前移动与桌面端融合的重要技术方向,其核心在于实现一套代码在多系统间的无缝运行。Qt框架通过其成熟的C++库和工具链,为开发者提供了高效的跨平台解决方案,尤其适合需要复用核心C++逻辑的项目。在Android平台,Qt利用NDK(原生开发工具包)将C++代码编译为本地库,并通过Java胶水代码与Android系统交互,实现了性能与开发效率的平衡。其技术价值在于显著降低了多平台适配的复杂度,保护了既有C++代码资产。在移动应用、嵌入式界面、工业控制等场景中,这种开发模式优势明显。本文聚焦于Qt

weixin_30240349的博客 328

真牛皮!连续四年百度Android岗必问面试题!系列教学

前言 对于字节跳动的二面三面而言,Framework+MVP架构+HashMap原理+性能优化+Flutter+源码分析等问题都成高频问点!然而很多的朋友在面试时却答不上或者答不全!今天在这分享下这些问点的视频解析给大家,希望对有需要的朋友有所帮助! 80%的人答不出的字节跳动面试问题—Framework 视频内容概要: 1.framework层整体执行流程分析 2.XML文件加载源码分析 3.自定义VIEW源码分析 4.切入源码执行流程实现屏幕适配 Java相关 无论什么级别的Android从业者,Jav

m0_57077995的博客 171

android dpi url,关于meta viewport中target-densitydpi属性详解(推荐)

前段时间在做WAP页面,发现页面设置了meta viewport中的大众属性,即:但发现页面依旧不根据手机屏幕进行自动缩放,后来找其他同事帮忙解决了,我看了源代码发现了是在原来的viewport中增加了target-densitydpi属性。看之初不太了解,也因为当时自己手上有其他需求在处理,最近突然想起了这件事,准备对它做一些了解,以备不时之需。首先来了解一下这个属性到底是做什么的,从网上摘录了...

weixin_39516956的博客 357

细细品读!深入浅出,官方文档看ConstraintLayout

https://www.jianshu.com/p/38ee0aa654a8 本文已授权微信公众号 【Android技术经验分享】 发布 转载请注明出处:http://www.jianshu.com/p/38ee0aa654a8 写在前面 之前品读了郭霖大神写的《Android新特性介绍,ConstraintLayout完全解析》,受其感染,写了一篇《未来布局之星——Constraint...

baidu_32472003的博客 283

AndroidP刘海(水滴)形状适配

前言 关于SVG 的 PathData 在 Android 中的使用前参考如下blog https://blog.youkuaiyun.com/zwlove5280/article/details/73196543 paths详细介绍可参考如下英文网站->Chapter 9: Paths https://www.w3.org/TR/SVG/paths.html#PathDataMovetoC...

lby318的专栏 2884
上一篇: Android消息机制-深入理解消息队列的工作模式
下一篇: Android理解四种启动模式
ChillTree
博客等级 码龄13年 15粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值