赞
踩
参考:https://blog.csdn.net/m0_37828249/article/details/79061899
屏幕尺寸:指屏幕的对角线长度,单位是英寸,1英寸等于2.54厘米,常见尺寸有2.4,2.8,3.5,3.7,4.2,5.0,5.5,6.0等。
屏幕分辨率px:指在纵横向上的像素点数,单位是px,1px为一个像素点,一般格式为纵向像素横向像素,如1960×1080。
屏幕像素密度dpi:相同尺寸情况下,分辨率越高,屏幕越清晰,即屏幕像素密度越大。屏幕像素密度指每英寸上面的像素点个数,单位是dpi,是“dot per inch”的缩写,计算方式:dpi = px / 尺寸
密度无关像素dip:单位dip或dp,是Density Independent Pixels的缩写,Android规定,在屏幕像素密度为160dpi的情况下,1dp=1px。而在像素密度为320dpi的情况下,1dp=2px,以此类推。计算公式:1dp=(像素密度/160dpi)*1px。
sp:全称cale-independent pixels,与dp类似,用于设置字体大小。
设置布局时,使用dp和sp(字体),不要直接使用px,这样才能保证屏幕适配。
dp的范围划分:
名称 | 像素密度范围 |
---|---|
mdpi | 120dpi ~ 160dpi |
hdpi | 160dpi ~ 240dpi |
xhdpi | 240dpi ~ 320dpi |
xxhdpi | 320dpi ~ 480dpi |
xxxhdpi | 480dpi ~ 640dpi |
参考:https://blog.csdn.net/zhangqijie001/article/details/5894872
手机的分辨率信息是手机的一项重要信息,Android 提供DisplayMetircs 类可以很方便的获取分辨率。
Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。
为了获取DisplayMetrics 成员,首先初始化一个对象如下:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
注:构造函数DisplayMetrics 不需要传递任何参数;调用getWindowManager() 之后,会取得现有Activity 的Handle ,此时,getDefaultDisplay() 方法将取得的宽高维度存放于DisplayMetrics 对象中,而取得的宽高维度是以像素为单位(Pixel) ,“像素”所指的是“绝对像素”而非“相对像素”。
getDimension()
getDimensionPixelSize()
getDimensionPixelOffset()
getDimension()、getDimensionPixelSize()和getDimenPixelOffset()的结果值都是将资源文件中定义的dip值乘以屏幕密度,getDimension()返回的是float,其余两个返回的是int, 其中getDimensionPixelSize()返回的是实际数值的四舍五入,而getDimensionPixelOffset返回的是实际数值去掉后面的小数点。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。