微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 屏幕单位 密度 分辨率区分

屏幕单位 密度 分辨率区分

时间:09-12 来源:互联网 点击:

1、概念理解

术语

说明

备注

Screen size(屏幕尺寸)

指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸

摩托罗拉milestone手机是3.7英寸

Aspect Ratio(宽高比率)

指的是实际的物理尺寸宽高比率,分为long和nolong

Milestone是16:9,属于long

Resolution(分辨率)

和电脑的分辨率概念一样,指手机屏幕纵、横方向像素个数

Milestone是854*480

DPI(dot per inch)

每英寸像素数,如120dpi,160dpi等,假设QVGA(320*240)分辨率的屏幕物理尺寸是(2英寸*1.5英寸),dpi=160

可以反映屏幕的清晰度,用于缩放UI的

Density(密度)

单位英寸中的像素数量,resolution/Screen size可以反映出手机密度

一般分为低、中、高密度

Density-independent pixel (dip)独立像素

指的是逻辑密度计算单位,dip和具体像素值的对应公式是dip/pixel=dpi值/160

页面布局的基本单位

2、屏幕单位区别

1)dip:设备独立像素,与屏幕密度有关

2)dp:和dip是一样的

3)px:pixels(像素),这是绝对像素,是多少就永远是多少不会改变

4)sp:scaled pixels(放大像素). 主要用于字体显示best for textsize

结论:根据google的推荐,像素统一使用dip,字体统一使用sp

3、dip与px换算

px=dip*屏幕密度(屏幕密度用getDisplayMetrics().density获得)

public static int dip2px(Context context, float dipValue){

final float scale = context.getResources().getDisplayMetrics().density;

return (int)(dipValue * scale + 0.5f);

}

public static int px2dip(Context context, float pxValue){

final float scale = context.getResources().getDisplayMetrics().density;

return (int)(pxValue / scale + 0.5f);

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top