大小与显示大小的关系"/>
Android同一设备DPI数值大小与显示大小的关系
今天在用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越多,同一个控件显示也就越大。
更多推荐
Android同一设备DPI数值大小与显示大小的关系
发布评论