Himi 原创, 欢迎转载,转载请在明显处注明! 谢谢。
原文地址:http://blog.csdn.net/xiaominghimi/article/details/6753961
今天一个开发者问到我为什么游戏开发要删除项目下的hdpi、mdpi和ldpi文件夹;下面详细给大家解答一下:
首先童鞋们如果看过我写的《【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!》这一节的话都应该知道Android从1.6和更高,Google为了方便开发者对于各种分辨率机型的移植而增加了自动适配的功能;
自动适配的原理很简单,只要你建立的项目是1.6或者更高都会看到项目下有drawable-hdpi、drawable-mdpi、drawable-ldpi 三个文件夹,这三个文件夹分别放置高清分辨率、中分辨率、低分辨率的资源文件;那么如果你的项目在高清分辨率上运行的话,系统会默认索引drawable-hdpi文件夹下的资源,其他雷同;
那么既然系统会自动找匹配的文件夹,那么肯定会出现找不到的情况,比如当前你的应用在高清分辨率运行,假设代码中加载一张“himi.png”的图,那么系统首先会去drawable-hdpi文件夹下去找这张图,一旦找不到,系统会再到其他drawable下寻找,再假设你其实把这张“himi.png”放在了drawable-mdpi中,那么系统会默认把这张图片放大;反之一样,如果你在低分辨率中运行加载一张图片的话,一旦你将图片放入高清的drawable-dpi中,那么系统默认缩小这张图;
总结来说:如果你的应用想适配高、中、低分辨率,那么你需要有3套图放入对应的文件夹中,这样系统会智能加载;如果你就不想让系统智能寻找缩放的话,有两种方式可以解决:
1.删除drawable-hdpi、drawable-mdpi、drawable-ldpi三个文件夹,创建一个drawable文件夹即可;
2.将资源文件放入assets中,因为assets中的资源系统永远不会为其生成id,所以不会智能缩放;
-------------------下面介绍第二点,如何让你的游戏应用高清
其实还是在《【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!》中介绍过,1.6后android有了智能判断的缘故,你获取的屏幕宽高其实是不准确的,详情可以参考【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!》;那么这里要补充一点就是:
如果你在AndroidMainFest 中,定义 <uses-sdk android:minSdkVersion="4" /> 就OK了!你会发现你的图片很清楚,其实也是因为android自动缩放造成的,上面说了,一般获取的分辨率会不正常(比正确的偏小)那么一旦你加上这一句之后,你的分辨率就正常了,所以就明显游戏质量高了一个档次。
这里再补充一下: 一旦你定义了<uses-sdk android:minSdkVersion="4" />,就是限制1.5SDK的手机无法安装你的程序;
OK,继续忙了,大家尝试下吧~
分享到:
相关推荐
### Android开发中的drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系 在Android应用开发过程中,为了确保应用界面在不同尺寸、分辨率的设备上都能保持良好的视觉效果,开发者需要理解并合理利用Android...
"Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读" Android系统中,度量单位是非常重要的一部分,对于开发者来说,了解这些度量单位是非常必要的。在Android系统中,屏幕尺寸、屏幕长宽比、分辨率、密度等...
在开发程序时,建议各自文件夹根据需求均存放不同版本图片,以适应不同的屏幕尺寸和密度。 AndroidManifest.xml 配置 Android 从 1.6 和更高,Google 为了方便开发者对于各种分辨率机型的移植而增加了自动适配的...
可以将mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi的图标自动生成mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi的图标 是个网站 没有侵权 亲测可用
Android系统为了保证在各种屏幕尺寸和密度下都能有良好的显示效果,将图像资源分为了多个不同的密度类别,如ldpi(低密度)、mdpi(中密度)、hdpi(高密度)、xhdpi(超高清密度)等。在“drawable-hdpi”目录下,...
不同的设备有不同的像素密度,例如低密度(ldpi)、中密度(mdpi)、高密度(hdpi)、超高清密度(xhdpi)等。为了适应不同密度,开发者需要提供不同倍率的图片资源。 3. **布局策略**:对于高分辨率的平板设备,...
在Android平台上开发一款飞行射击游戏,游戏资源是至关重要的组成部分,它们直接影响到游戏的视觉效果、用户体验以及游戏性能。"android飞机游戏资源(飞机子弹)"这个压缩包提供了专为Android飞行射击游戏设计的...
在Android项目结构中,需要注意res文件夹下的drawable-mdpi、drawable-ldpi和drawable-hdpi文件夹的区别。mdpi文件夹主要存放中等分辨率的图片,ldpi文件夹主要存放低分辨率的图片,hdpi文件夹主要存放高分辨率的...
《Android开发艺术探索》是一本深受Android开发者喜爱的书籍,它深入浅出地讲解了Android应用开发中的各种技术和实践。这本书的源码是作者为了帮助读者更好地理解和实践书中的知识点而提供的,对于学习和提升Android...
通常会有ldpi(低密度)、mdpi(中密度)、hdpi(高密度)、xhdpi(超高清密度)和xxhdpi(双倍超高清密度)等不同的资源目录。确保在每个目录下都有相应的图片,以实现良好的显示效果。 3. **九宫格图片(9-patch...
1. 屏幕密度(Density):Android设备的屏幕密度通常有ldpi(低密度)、mdpi(中密度)、hdpi(高密度)、xhdpi(超高清密度)等,它们对应不同的像素密度。 2. 尺寸分类(Size):Android将屏幕尺寸分为small、...
2. **图片资源准备**:将设计好的元素导出为PNG格式,并按照不同分辨率(mdpi、ldpi、hdpi)分别存放在项目的res/drawable-相应文件夹下,以确保在不同设备上都能呈现良好的视觉效果。 3. **Layout布局实现**:在...
5. res/drawable-hdpi、res/drawable-ldpi、res/drawable-mdpi:这三个文件夹用来存放不同分辨率的图片资源。 6. res/layout:存放XML布局文件,定义应用界面布局。 7. res/values:存放键值对的定义,如string.xml...
* drawable-en-rUS-port-hdpi:美国英语设置下的高清竖屏图片资源 Drawable 文件夹的优先级别 Drawable 文件夹的优先级别是根据不同的分类规则确定的,例如: * 语言 > 国家地区 > 屏幕密度 > 屏幕方向 > 触摸屏...
Android系统根据设备的像素密度提供不同的资源目录,如ldpi(低密度)、mdpi(中密度)、hdpi(高密度)、xhdpi(超高清密度)等,以确保在不同屏幕分辨率的设备上显示清晰且比例正确的图像。hdpi设备的像素密度大约...
首先,Android系统支持多种屏幕密度,包括低密度(ldpi)、中密度(mdpi)、高密度(hdpi)以及超高清密度(xhdpi、xxhdpi等)。为了确保应用图标在不同设备上显示清晰,开发者需要为每个密度提供相应尺寸的图标。...
开发者需要根据Android的图标规范,为每个图标提供ldpi、mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi等不同密度的版本。 在使用这些图标素材时,要注意保持一致性,这意味着在整个应用中使用的图标风格应保持相同,包括...
SVG -> drawable-xhdpi、drawable-hdpi、drawable-mdpi、drawable-ldpi Android SVG 资源生成器 未来证明您的资产并节省时间! 创建/查找一次,不用担心 DPI 存储桶。 此工具允许您将 SVG 文件用于您的 Android ...
对于图片资源,还可以使用不同的密度(ldpi, mdpi, hdpi, xhdpi等)提供适配不同设备的图片。 6. **调试工具**:Android Studio提供强大的调试工具,包括断点、变量查看、调用栈跟踪等,帮助开发者定位和修复问题。...