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上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读.doc
可以将mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi的图标自动生成mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi的图标 是个网站 没有侵权 亲测可用
Android应用图标大小自适应,多屏幕支持
SVG -> drawable-xhdpi、drawable-hdpi、drawable-mdpi、drawable-ldpi Android SVG 资源生成器 未来证明您的资产并节省时间! 创建/查找一次,不用担心 DPI 存储桶。 此工具允许您将 SVG 文件用于您的 Android ...
在开发过程中,由于使用模拟器测试了程序,在首次运行后会将res文件夹下的图片资源文件(如drawable-hdpi、drawable-ldpi和drawable-mdpi)拷贝到bin文件夹下。在替换资源图片后,eclipse并不清楚是否有图片改变,...
AndroidResizer 一个java桌面应用程序,用于调整android开发的图片大小,即ldpi,mdpi,hdpi,xhdpi,xxhdpi 从dist文件夹下载ANDRE.jar文件并双击。 在所有操作系统上运行。
xhdpi图片转换,能任意转换Android Drawable下的各种规格格式 "ldpi", "mdpi", "hdpi", "xhdpi","xxhdpi", "xxxhdpi" 比如我的美工人员设计了一个图片适合 xhdpi 分辨率的手机,我可以通过AndroidDrawable将这个...
这是一个用于从 SVG 文件创建 LDPI、MDPI、HDPI 和 XHDPI 格式的 PNG 文件的工具。 这对于为 Android 应用程序快速创建可绘制对象非常有用。
① drawable-*dpi(比如ldpi,hdpi,mdpi,xdpi)(dpi,dots per inch;或PPI,pixels per inch) 定义Android应用中需要的不同分辨率的资源文件 ② values Android应用界面上需要显示各类文本标签的文字信息...
还可以识别 ldpi、mdpi、hdpi、xhdpi、xxhdpi 和 xxxhdpi 显示。 探测: ldpi(低)~120dpi mdpi(中)~160dpi hdpi(高)~240dpi xhdpi(超高)~320dpi xxhdpi(超高)~480dpi xxxhdpi(超超超高)~640dpi ...
You start an app but require many different icons, in different sizes (ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi), different colors, and different variants. If you get the icons as vector (.svg) or ...
在导入模拟器图片时,要特别注意你的图片的大小与比例 首先 要想模拟器全屏,必须在manifest.xml中进行设置: android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 其次 ,必须注意你的模拟器的分辨率...
kotlin-android-practice 一些面向初学者的小项目,可与Kotlin一起练习Android基础。 此存储库中的每个项目都是最简单的。 除了按照自己的方式进行项目...多屏幕说明:这些是您必须支持的某种屏幕:ldpi,mdpi,hdpi,
Android的自动图像大小调整器 该程序会自动调整android项目的图像大小。 该程序不会覆盖现有文件和文件夹,也不会删除提供的图像。... 该程序将创建5个新文件夹(drawable-ldpi,drawable-mdpi,drawable-hdpi,draw
Lowdensityscreen ldpi Mediumdensityscreen mdpi Highdensityscreen hdpi Launcher 36 x 36 px 48 x 48 px 72 x 72 px Menu 36 x 36 px 48 x 48 px 72 x 72 px StatusBar 24 x 24 px 32 x 32 px 48 x 48 px ...
您可以轻松地调整可绘制,mipmap或普通图像的大小,不受大小限制,默认大小为7,即ldpi,mdpi,tvdpi,hdpi,xhdpi,xxhdpi,xxxhdpi,还可以添加或删除大小并预览图像。 关键字搜寻服务 选择项目目录并放入搜索...
输入手机或平板的分辨率和尺寸即可自动计算其密度,以及其他配置: small normal large xlarge ldpi mdpi hdpi xhdpi xxhdpi nodpi
跨平台工具作为Android开发人员来管理您的资源,ARM为您提供了五项主要服务-图像调整大小服务您可以轻松调整可绘制对象,mipmap或普通图像的大小,并且不限大小,默认大小为7,即ldpi, mdpi,tvdpi,hdpi,xhdpi,...
gimp-android-xdpi Gimp插件可以导出任何Android密度的图像或... 选择要导出到的密度文件夹:ldpi / mdpi / hdpi / xhdpi / xxhdpi / xxxhdpi。例子要直接从全尺寸图片中编写应用图标,请选择图标区域: 对应用程序图