您的位置:首页 > 移动开发 > Android开发

Android同一设备DPI数值大小与显示大小的关系

2016-01-16 18:10 344 查看
  今天在用genymotion模拟器时,发现在相同分辨率(720*1280)下有不同的dpi,于是好奇地启动了一下不同的dpi,竟然发现在相同分辨率下dpi越大,显示的内容越大,相同的内容竟然显示不全了。这与window显示分辨率正好相反。

这是720*1280分辨率下的160dpi显示的情况:



这是720*1280分辨率下的320dip显示的情况



  于是好奇心就上来了,开始分析dpi的计算由来。dpi是每英寸的像素点数,也就是总共的像素数除以英寸数。而720*1280像素数已定,英寸数也是已定,于是又拿自己的手机修改dpi测试一下,还是一样的结果。

  思考了好久,才终于想通。Android系统在开发中用到的是dp(Density independent pixels ),即设备无关像素。也就是在不同的设备下的同一控件显示的像素数是不同的。dp在不同设备下对应的像素数由公式:dp=(dpi/160)*px。其中160是mdpi对应的数值。当dpi越大,一个dp在同一设备中占用的px越多,同一个控件显示也就越大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: