转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/19139013
前言
Android中支持许多资源,包括图片(Bitmap),对应于bitmap的文件夹是drawable,除了drawable,还有drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、drawable-xxhdpi等,同一张图片放到上面不同的文件夹中是有区别的,比如一张100 * 100像素大小的图片,分别放在上述各个文件夹中,然后将其设置为ImageView(假设宽高都是wrap_content)的图片,那么这个ImageView的大小是多少呢,或者说图片的大小是多少呢?本文主要和大家阐述这个问题。当然,还有一个问题,如果在上述各个文件夹中都放置一张相同的图片(内容相同,尺寸不同),那么系统会选择加载哪一张图片呢?这个问题,系统有内部的选择机制,简单来说:系统会选择最接近手机屏幕密度的图片,由于这个问题和本文主题关系不是很大,所以暂时不讨论此类问题。
概念
先介绍一些概念:
屏幕密度:单位英寸面积上的像素点数
ldpi: 屏幕密度为120的手机设备
mdpi: 屏幕密度为160的手机设备(此为baseline,其他均以此为基准,在此设备上,1dp = 1px)
hdpi: 屏幕密度为240的手机设备
xhdpi: 屏幕密度为320的手机设备
xxhdpi:屏幕密度为480的手机设备
图片大小以及dp和px关系一览表
说明:根据上表,我们应该很容易算出一张图片在不同手机上的宽和高是多少。
结论
从上表可以得出如下结论
1. 图片放在drawable中,等同于放在drawable-mdpi中,原因为:drawable目录不具有屏幕密度特性,所以采用基准值,即mdpi
2. 图片放在某个特定drawable中,比如drawable-hdpi,如果设备的屏幕密度高于当前drawable目录所代表的密度,则图片会被放大,否则会被缩小
放大或缩小比例 = 设备屏幕密度 / drawable目录所代表的屏幕密度
3. 为了更全面的适配所有设备,我们应该提供一套针对主流屏幕密度的图片(目前为hdpi或xhdpi),其他密度通过系统自动缩放得到图片
分享到:
相关推荐
Android中屏幕密度和图片大小的关系详解 前言 Android中支持许多资源,包括图片(Bitmap),对应于bitmap的文件夹是drawable,除了drawable,还有drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、...
修改安卓手机密度的代码
在代码中获取屏幕密度等参数的例子。这是关于在代码中获取屏幕密度等参数的例子,例子也分析了px和dp转换的方法,也就是px = dp * (dpi / 160)。而且我们需要注意的是Android对屏幕密度是使用了归化。
获取手机屏幕大小,屏幕分辨率,屏幕密度,导航栏高度,标题栏高度
Android屏幕大小和精度介绍包括:多分辨率支持,术语和概念,支持的屏幕分辨率范围
Android中如何禁止屏幕休眠和锁屏 Android中如何禁止屏幕休眠和锁屏
使用CSS3-Media-Query技术适配Android平板屏幕分辨率和屏幕密度.docx
该文档详细说明了关于android设备屏幕分辨率大小的问题,为开发者开发应用中遇到的自适应问题提供帮助
Android针对不同的手机屏幕大小设计图片资源与编码
Android实现截取当前屏幕图片并保存到SDCard卡中。
表中详细给出android5.1.1中API和权限的对应关系,做安卓恶意分析的同学可以参考
Android用代码实现唤醒屏幕的代码(不是物理的电源键)。例如:闹铃时间到了唤醒屏幕
–这一切看起来似乎很正常的样子,但是在android studio的布局文件的布局情况只能与模拟器运行效果、真机界面运行效果这两种效果中的一个相匹配。说白了布局文件在模拟器上运行出满意的效果,但运行到真机界面上的...
1、屏幕相关概念 ...手机屏幕分类和像素密度的对应关系如表1所示 目前主要是以分辨率为800*480和854*480的手机用户居多 从以上的屏幕尺寸分布情况上看,其实手机只要考虑3-4.5寸之间密度为1和1.5的手机
检查手机的屏幕大小和屏幕密度,可以更好的完成不同屏幕的适配!
Android 一个TextView中设置不同字体大小和颜色
编码UTF-8;我们在ZOL上可以通过“参数”查看知名设备的信息,但如果客户寄给你一个他们自己定制的平板,通过“设置”也看不到你想要的信息, ...此Demo提供了获取设备的分辨率、屏幕尺寸和屏幕像素密度(PPL)的方式。
制作android自适应屏幕大小的图片方法
android关于自适应屏幕方向和大小的一些经验