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越多,同一个控件显示也就越大。
这是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越多,同一个控件显示也就越大。
相关文章推荐
- 16-01-16 Android 颜色代码
- android webkit 加载js 出现 Error//webConsole:Uncaught Error:cannot call method ‘setItem’ of null at...
- 记录贴(RadioGroup)
- android studio 读取assets中zip文件
- 关于android MTK相机L版本,切换屏幕比例后,分辨率随之改变,但重新进入相机后原有分辨率不再生效问题
- Android学习笔记-实现toolBar跟随ListView滑动显示与隐藏
- Android JNI通过C++调用JAVA
- Android应用开发学习笔记
- android wear-Showing Information in Watch Faces and Creating InteractiveWatch Faces, Providing Confi
- 18、数据存储_01前言(这种东西最难写了)
- android 之下拉刷新
- 全局大喇叭,广播机制初篇。
- Android性能优化之Splash页应该这样设计
- Android自适应不同屏幕几种方法
- Android研发规范
- android-invalidate和postInvalidate 的区别及使用
- android之LruCache源代码解析
- Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?
- android中AudioRecord使用
- android保存图片到sdcard后,在图片浏览器不能马上显示出来