获取分辨率及dp/px换算

本文介绍了不同屏幕密度下DP与PX的关系,并说明了如何利用DisplayMetrics获取屏幕尺寸信息。通过使用DP单位,可以实现界面元素在不同分辨率设备上的自适应布局。

DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels;  // 屏幕宽度(像素)
int height = metric.heightPixels;  // 屏幕高度(像素)
float density = metric.density;  // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)

 

120dpi(ldpi低密度屏)       1dp = 0.75px        (由于像素点是物理点,所以用2个像素点来显示3个dp的内容)

160dpi(mdpi中密度屏)     1dp = 1px

213dpi(tvdpi电视密度屏)  1dp = 1.33px

240dpi(hdpi高密度屏)      1dp = 1.5px

320dpi(xhdpi极高密度屏)   1dp = 2px

由上述分析结果可知,控件使用dp,文字使用sp即可满足自适应的需求。

 

参考:

http://www.cnblogs.com/see2851/archive/2011/11/28/2266642.html

http://www.cnblogs.com/zealotrouge/archive/2012/11/23/2784774.html

转载于:https://www.cnblogs.com/Miami/p/4223918.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值