仰天大笑出门去,我辈岂是蓬蒿人。这篇文章主要讲述Android_基础之分辨率相关的知识,希望能为你提供帮助。
常见屏幕分辨率对应尺寸
标屏 | 分辨率 | 比例 | 宽屏 | 分辨率 | 比例 |
QCIF | 176X144 | 11:9 | |||
CIF | 352X288 | 11:9 | |||
QVGA | 320X240 | 4:3 | WQVGA | 400X240 | 5:3 |
HVGA | 480X320 | 3:2 | |||
VGA | 640X480 | 4:3 | WVGA | 800X480 | 5:3 |
qHD | 960X540 | 16:9 | |||
HD/720P | 1280X720 | 16:9 | |||
HD+ | 1600X900 | 16:9 | |||
FHD/1080P | 1920X1080 | 16:9 | |||
FHD+ | 2160X1440 | 16:9 | |||
QHD | 2560X1440 | 16:9 |
基本概念
屏幕大小:屏幕对焦线的长度,单位是英寸(inch)。
分辨率:上述表格分辨率是屏幕的高和宽的像素点数。如320x240,即高320个像素点 宽240个像素点。
屏幕密度(实际物理dpi):dpi(dots per inch), 即每英寸上的像素点数目。如屏幕大小是4,分辨率是320x240,则屏幕密度是 (√ (3202+2402))/4 = 100。
系统密度(系统dpi):density, 系统中配置的 默认的固定的密度。
下面是系统密度的信息,mdpi(160)作为基准:
ldpi | mdpi | hdpi | xhdpi | xxhdpi | |
系统密度 | 120 | 160 | 240 | 320 | 480 |
代表分辨率 | 240x320 | 320x480 | 480x800 | 720x1280 | 1080x1920 |
基准比例 | 0.75 | 1 | 1.5 | 2 | 3 |
各个单位的关系:dp, px, sp
dp布局中常用的单位,px即像素点,sp常用于字体大小。
dp与px:
dp与px转换是基于系统密度的。以mdpi,160为基准的,如1dp在320x480设备上,1dp=1px; 在480x800上1dp=1.5px。
系统密度在系统中配置的属性是ro.sf.lcd_density,通过下面代码获取
Log.d( TAG, "density="+getResources().getDisplayMetrics().density +"; densityDpi="+getResources().getDisplayMetrics().densityDpi);
执行的手机(ro.sf.lcd_density=240,480x960)得到的结果
2019-09-29 10:27:52.432 5521-5521/com.flx.testfilestorage D/flx_storage: density=1.5; densityDpi=240
所以 1dp=densitypx 或者 1dp = (densityDpi/160)px
sp与px:
android设计原则 字体尺寸使用sp,非字体尺寸使用dp。 当标准(默认)字体时,1sp=1px。
所以标准(默认)字体情况下,sp转px和dp一样,1sp=densitypx 或者 1sp = (densityDpi/160)px。
默认设置中几种字体尺寸可选择的变化值 如下(不同手机厂商可能会修改,所以不同手机可能不同):
< item> 0.85< /item> //小 < item> 1.0< /item> //默认 < item> 1.15< /item> //大 < item> 1.30< /item> //最大
【Android_基础之分辨率】
推荐阅读
- Google AppCrawler初探
- 使用Android手机作为树莓派的屏幕
- 重新开坑(开始自学Android编程)
- Android 7.0适配
- appium---App页面滑动
- 解决absolute fixed元素在安卓唤起虚拟键盘时,元素被挤上来。
- Dapper 框架
- Android调用WCF服务
- 快速安装create-react-app脚手架