Android——屏幕尺寸

来源:互联网 发布:网络教学系统uml 编辑:程序博客网 时间:2024/06/07 18:02

一.屏幕参数

屏幕的大小:就是常说的手机屏幕是几寸的
屏幕的分辨率:例如 小米三分辨率1920×1080 宽上有1080个像素 高上有1920个像素
每英寸的像素:PPI/DPI 对角线的像素点除以屏幕的大小
系统的屏幕密度
官方给出的标准的DPI的值:
密度:ldpi 密度值:120 分辨率:240X320
密度:mdpi 密度值:160 分辨率:320X480
密度:hdpi 密度值:240 分辨率:480X800
密度:xhdpi 密度值:320 分辨率:720X1280
密度:xxhdpi 密度值:480 分辨率:1080X1920
独立像素密度 :dp 这个是我们在布局文件中最常使用的
相同长度的屏幕,高密度的屏幕包含更多的像素点
Android中使用mdpi为标准,1px=1dp hdpi 1dp=1.5px xhdpi 1dp=2px xxhdpi 1dp=3px

二.单位转换

/** * Created by LCY on 2016/3/24. * 实现dp/sp和px之间的转换 */public class DisplayUtil {//将px转换为dppublic static int px2dp(Context context,float pxValue){final float scale=context.getResources().getDisplayMetrics().density;//density就是换算比例return (int)(pxValue/scale+0.5f);//四舍五入}//将dp转换为pxpublic static int dp2px(Context context,float dpValue){final float scale=context.getResources().getDisplayMetrics().density;//density就是换算比例return (int)(dpValue*scale+0.5f);//四舍五入}//将px转换为sppublic static int px2sp(Context context,float pxValue){final float scale=context.getResources().getDisplayMetrics().scaledDensity;//density就是换算比例return (int)(pxValue/scale+0.5f);//四舍五入}//将sp转换为pxpublic static int sp2px(Context context,float spValue){final float scale=context.getResources().getDisplayMetrics().scaledDensity;//density就是换算比例return (int)(spValue*scale+0.5f);//四舍五入}}

此外 TypedValue类也可以完成转换

0 0
原创粉丝点击