Android 手机屏幕适配方式和原理

其适配原理主要是根据dp/sp与px的转换,而dp/sp与px的转换又与DisplayMetrics的density相关,所以可以通过改变DisplayMetrics的density,scaledDensity和densityDpi的值来适配不同分辨率机型。

在开始分析之前,我们需要了解一些概念,如:

DisplayMetrics:是Android屏幕显示的信息描述,如尺寸size,密度desity,字体缩放值font scaling

Resources:是应用的资源管理类(High level api),可以调用应用中的color,string,drawable等资源

AssetManager:是可以直接访问应用的raw资源(Low level api)

BitmapFactory: Bitmap工厂类,可以根据多种来源创建Bitmap。

在说Android适配原理之前,我们先来了解一些基础概念。

一、基础概念

  1. dip/dp

是Density independent pixel的缩写,指的是抽象意义上的像素。跟设备的屏幕密度有关系。它是Android里的一个单位,dip和dp是一样的。

  1. sp

scale-independent pixel,安卓开发用的字体大小单位。

3.px

想像把屏幕放大再放大,对!看到的那一个个小点或者小方块就是像素了。

4.dpi

是dot per inch的缩写,就是每英寸的像素数,也叫做屏幕密度。这个值越大,屏幕就越清晰。iPhone5S的dpi是326; Samsung Note3 的dpi是386

5.分辨率

是指屏幕上垂直方向和水平方向上的像素个数。比如iPhone5S的分辨率是1136*640;Samsung Note3的分辨率是1920*1080;

6.屏幕尺寸(screen size)

就是我们平常讲的手机屏幕大小,是屏幕的对角线长度,一般讲的大小单位都是英寸。在api版本13之前(3.2),屏幕被分成四大组:small,normal,large,xlarge。但是在13往后,可以支持更加精确的屏幕区分:sw600dp,sw720dp,w600dp等。

相关推荐
mg66814 小时前
安卓玩机工具----安卓手机变成桌面电脑!多窗口镜像+音频投射+游戏操控,无需 Root
android·智能手机·电脑
come112343 天前
手机与相机拍照入门
数码相机·智能手机
AI2中文网3 天前
安卓 15/16 手机软键盘遮挡输入框、布局顶不上去?已解决:重新编译即可
android·智能手机
wulechun3 天前
基于JVM的高性能QQ机器人开发框架Mirai深度解析、环境搭建与插件生态实战全指南
智能手机
小弥儿4 天前
38K星的开源项目 t3code:给 Claude Code 和 Codex 装一个手机遥控器
学习·智能手机·开源·github
wulechun4 天前
全流程自动化短剧工厂ToonFlow开源项目深度解析与小说转视频实战配置指南
智能手机
ckjr0074 天前
手机里的AI功能越来越多,如何让它真正提高日常使用效率?
人工智能·智能手机
北邮刘老师4 天前
智能体手机的成败关键——智能体互联生态
网络·人工智能·智能手机·智能体·智能体互联网
a5986524 天前
ARM服务器搭建云手机靠谱吗?个人自建方案优缺点总结
服务器·arm开发·智能手机·云手机
jack186894 天前
如何在华为/小米/OPPO/Vivo等手机上恢复误删除的照片文件?五种方法了解下
智能手机