根据手机屏幕的密度获取drawable对应目录下的图片
2018-03-27 13:27
417 查看
转自:https://blog.csdn.net/guolin_blog/article/details/50727753
根据如下方式获取到屏幕的dpi值:
其中xdpi代表屏幕宽度的dpi值,ydpi代表屏幕高度的dpi值,通常这两个值都是近乎相等或者极其接近的,在我的手机上这两个值都约等于403。那么403又代表着什么意思呢?我们直接参考下面这个表格就知道了:
从表中可以看出,403dpi是处于320dpi到480dpi之间的,因此属于xxhdpi的范围,所以我的手机会从drawable-xxhdpi目录下寻找图片资源。
如果drawable-xxhdpi文件夹下没有这张图时, 系统就会自动去其它文件夹下找这张图了,优先会去更高密度的文件夹下找这张图片,我们当前的场景就是drawable-xxxhdpi文件夹,然后发现这里也没有android_logo这张图,接下来会尝试再找更高密度的文件夹,发现没有更高密度的了,这个时候会去drawable-nodpi文件夹找这张图,发现也没有,那么就会去更低密度的文件夹下面找,依次是drawable-xhdpi -> drawable-hdpi -> drawable-mdpi -> drawable-ldpi。
根据如下方式获取到屏幕的dpi值:
float xdpi = getResources().getDisplayMetrics().xdpi; float ydpi = getResources().getDisplayMetrics().ydpi;
其中xdpi代表屏幕宽度的dpi值,ydpi代表屏幕高度的dpi值,通常这两个值都是近乎相等或者极其接近的,在我的手机上这两个值都约等于403。那么403又代表着什么意思呢?我们直接参考下面这个表格就知道了:
从表中可以看出,403dpi是处于320dpi到480dpi之间的,因此属于xxhdpi的范围,所以我的手机会从drawable-xxhdpi目录下寻找图片资源。
如果drawable-xxhdpi文件夹下没有这张图时, 系统就会自动去其它文件夹下找这张图了,优先会去更高密度的文件夹下找这张图片,我们当前的场景就是drawable-xxxhdpi文件夹,然后发现这里也没有android_logo这张图,接下来会尝试再找更高密度的文件夹,发现没有更高密度的了,这个时候会去drawable-nodpi文件夹找这张图,发现也没有,那么就会去更低密度的文件夹下面找,依次是drawable-xhdpi -> drawable-hdpi -> drawable-mdpi -> drawable-ldpi。
相关文章推荐
- Android 获取屏幕尺寸与密度 遇到一个问题,我的地图浮标图片在WVGA手机上正好,在QVGA上就显的太大,所以我要根据屏幕的不同调整浮标的大小使其在QVGA大小合适。有的同事提出了依据
- 获取手机屏幕密度dpi和对应的资源文件夹
- android 根据图片url获取bitmap或者drawable,然后再进行压缩处理
- 不同屏幕尺寸时获取drawable图片资源的真实尺寸
- android获取屏幕尺寸、密度(判断手机屏幕类型)
- Eclipse下drawable不同目录对应的屏幕分辨率
- Android开发中根据图片名称获取在drawable中的ID
- android 获取手机中的所有图片或某一目录下的图片方法
- android eclipse 根据屏幕密度自动生成不同分辨率的图片
- 自适应屏幕资源drawable和layout文件夹与对应手机分辨率之间的关系
- android开发,灵活根据手机屏幕密度,设置x dip的效果
- Android获取手机的屏幕分辨率和密度
- 获取drawable目录下图片的uri地址
- android获取屏幕尺寸、密度(判断手机屏幕类型)
- Android不同drawable目录下对应图片分辨率
- Android获取drawable目录下的图片绝对路径并转为Bitmap
- 如何获取drawable目录下的图片绝对路径
- Android url转drawable Android中如何根据URL获取图片
- Android开发之如何获取Android手机屏幕的大小(分辨率、密度)
- Android通过拼接名字获取drawable下的图片(根据图片名称获取在drawable中的ID)