android中 mdpi,hdpi,xhdpi,xxhdpi文件理解,图片像素理解

1, 我们在开发的时候,特别是刚开始入行的时候会有疑惑,为什么那么多文件夹放图片,比如mdpi,hdpi,xhdpi,xxhdpi,从ui手里拿到图片我到底该放在哪呢? 今天就来分享一下,图片应该放在哪,并分享一下图片里我理解的像素点。

  网上有很多描述这些文件的文章,大家可以看到;

mdpi : 120dpi--160dpi

hdpi : 160dpi--240dpi

xhdpi : 240dpi--320dpi

xxhdpi : 320dpi--480dpi

这些参数可以判断你的手机会优先从哪个文件夹里去找图片

举个例子,如果你的手机是分辨率是:1920x1080,尺寸是5.1寸,我们可以算他的dpi值,

公式是(√ ̄1920² + 1080²)/5.1 =2202/5.1= 431dpi  

算法是屏幕尺寸是通过手机的左上角到手机的右下角的长度,所以我们用屏幕长和宽的像素点根据勾股定理算出手机从左上角到右下角的像素值,由像素值/尺寸就算出了每尺寸有多少像素值就是dpi,

由算出来的431dpi可以知道,手机会先从xxhdpi里去查找图片,如果没有会往上找。如果xhdpi里有这个图片会使用xhdpi里的图片,但是你调用一些方法去看这个图片的像素值的时候发现会比在xhdpi里的图片放大了,就是宽高的像素都增加了,那么为什么要放大以后再显示出来呢? 这就引出来,android为什么引入这么多文件夹来放图片的原因了:

因为我们在开发的时候我们往往给某一个控件设置一个大小,比如:


我这里只想这个图片在任何手机上都是手机的这个比例。怎么办,就是在手机像素大的时候就是手机api大的时候我让这个手机去加载像素大的图片,这样比例才能一样,所以我们要在xxhdpi里放像素相对大一点的图片,比如:xxhdpi放94x94的xhdpi放74x74,hdpi里放45x45,这样不管是什么样的手机图片都能在指定的比例显示,说回刚刚那个问题如果一个xxhdpi的手机加载了一个xhdpi里的图片为什么要放大呢,因为我是xxhdpi的手机我需要加载xxhdpi里的图片,但是xxhdpi文件夹里没有这个图片,只能加载xhdpi文件夹里的图片,那么加载这里的图片的时候我们为了让xhdpi里的图片能够达到xxhdpi里的图片在手机里显示的比例,就把这个图片做了放大操作。希望大家能够明白。

2,下面说一下图片像素的理解

像素是图片中一个最小单位,也是手机屏幕中的最小单位

我们往往就像素描述图片的大小。但是用图片描述图片是不准确的,我们图片也有尺寸,如果相同的尺寸,含有像素多的图片,就越清晰,所以只用像素描述图片是不能判断图片的清晰度的。清晰度其实就像上边说的dpi的值,这个值越大就越清晰,因为含有的像素点多,就会比较精细。

好啦,希望大家能吸收点东西。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值