Android分辨率

引言:在Android碎片化日益严重的今天,如何适配各种手机的屏幕,似乎成了一个令人头疼的问题?

dip (dp) 设备独立像素

px (pixels) 像素

sp (scaled pixels) 字体像素, 当你在系统设置里调节字号大小时,应用中的文字也会随之变大变小。

in 英寸 1 in = 2.54 cm

pt 印刷标准长度  1pt= 1/72英寸

dpi 每英寸像素密度 

在160dpi像素密度下:px=dp

density 密度,dp到px的变换系数

需要根据dpi值准备5套图片资源: 

drawable:主要放置xml配置文件或者对分辨率要求较低的图片 

drawalbe-ldpi:低分辨率的图片,如QVGA (240x320) 

drawable-mdpi:中等分辨率的图片,如HVGA (320x480) 

drawable-hdpi:高分辨率的图片,如WVGA (480x800),FWVGA (480x854) 

drawable-xhdpi:至少960dp x 720dp 

Android有个自动匹配机制去选择对应的布局和图片资源。

系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。

在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。 

一般情况下,

240×320的屏幕是低密度120dpi,即ldpi;

320×480的屏幕是中密度160dpi,即mdpi;

480×800的屏幕是高密度240dpi,即hdpi;

720×1280的屏幕是超高密度320dpi,即xhdpi;

1080×1920的屏幕是超超高密度480dpi,即xxhdpi。


ldpi:mdpi:hdpi:xhdpi:xxhdpi=3:4:6:8:12

由于不同的手机或平板有不同的像素密度,而开发人员不可能为每款不同像素密度的手机开发相同的应用,因此Android想到了这点,Android系统本身定义了六种像素密度:

低(120dpi)、中(160dpi)、高(240dpi)、超高(320dpi)、超超高(480dpi)

由于在160dpi像素密度的情况下:px = dp,当在其他像素密度时,pxe和dp的换算规则是:dp=(int)(px/1.5+0.5) 

因为,在低、中、高、超高、超超高像素密度下,dp到px的换算系数分别为:

低(0.75)、中(1)、高(1.5)、超高(2)、超超高(3)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 以下内容为转载,涉及版权问题请联系原文作者。原文地址>> 不少设计师和工程师都被安卓设备纷繁的屏幕搞得晕头转向,我...
    小矮人Ethan阅读 1,538评论 0 10
  • 1.为什么Android要进行分辨率与屏幕适配 最大的原因是碎片化,因为Android的开源措施和各个厂商的自己细...
    KaelQ阅读 2,966评论 3 47
  • 本文参考自: Google的官方权威适配文档 郭霖:Android官方提供的支持不同屏幕大小的全部方法 Storm...
    M悇芐冋忆阅读 13,264评论 5 56
  • 什么是屏幕尺寸、屏幕分辨率、屏幕像素密度? 什么是dp、dip、dpi、sp、px?他们之间的关系是什么? 什么是...
    初吻献给地板阅读 214评论 0 0
  • 自3月3日从公司离职,从一开始的斗志昂扬到如今的落败公鸡,这之间的情绪变化让我有点承接不力。 两个月的...
    蒙起非尘阅读 281评论 0 1

友情链接更多精彩内容