【Android游戏开发二十七】讲解游戏开发与项目下的hdpi 、mdpi与ldpi资源文件夹以及游戏高清版本的设置...
今天一个开发者问到我为什么游戏开发要删除项目下的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游戏开发二十七】讲解游戏开发与项目下的hdpi 、mdpi与ldpi资源文件夹以及游戏高清版本的设置...相关推荐
- android多语言适配--语言对应的资源文件夹名称
android多语言适配--语言对应的资源文件夹名称 众所皆知.Android开发中,res资源文件夹下,可以根据不同的文件名后缀(连接符(-)加限定符)来区别不同的资源. android在运行时使用 ...
- appdata里的Android,android studio如何自定义res资源文件夹目录?-appdata是什么文件夹...
概述 在Android开发中,经常会有大量的布局.字符串.图片以及图标资源文件需要管理.而且默认都是会放在一个res资源文件夹下面.那么有什么办法可以对这些资源进行分模块或者分类型呢? 下面我来和大家 ...
- Android屏幕适配-资源文件夹命名与匹配规则
Table 2. Configuration qualifier names. Configuration Qualifier Values Description 说明:本文档目的为分析androi ...
- Android复习15【动画:创建资源文件夹、创建动画资源文件、组合动画、属性动画、材料设计新特性】
2020-05-09-[12周-周四] Android动画 https://blog.csdn.net/zhangbijun1230/article/details/80262359 https:// ...
- Android 应用如何判断是否是平板如何添加平板资源文件夹
对于Android 3.2以后的机器是有比较好的区分方法的,就是通过在资源文件夹后面加 -sw600dp 来区分.比如说你想要在平板展示的layout就放到 layout-sw600dp 目录下,St ...
- Android产品研发(十七)--Hybrid开发
转载请标明出处:一片枫叶的专栏 上一篇文章中我们介绍了Android开发中经常会涉及到但又常常被忽视掉的开发者模式.主要讲解了包括如何打开手机的开发者模式,开发者模式中各个菜单的意义和作用,如何清除手 ...
- 翻金币游戏-大体介绍和资源文件,主场景,选择关卡场景设置
现在要开始实战做一个翻金币游戏,是这样的环境 一共二十关,金币一面金色,一面银色.翻一个会使周围四个一起翻转,目标是所有金币都是金色. 首先需要添加这些图片资源,方法不多说,主要是资源包括八张金币不同 ...
- Razor Page Library:开发独立通用RPL(内嵌wwwroot资源文件夹)
Demo路径:https://github.com/yanshengjie/RPL.Demo 1. Introduction Razor Page Library 是ASP.NET Core 2.1引 ...
- java游戏放哪个文件夹_L7游戏安装细则及简洁KJAVA文件夹页面
L7游戏安装细则及简洁KJAVA文件夹页面(1) 发现新手大多对游戏安装很是迷茫,现将详细步骤及相关事项整理于此. 1.下载 小7支持的游戏为JAVA应用程序的游戏,在网上找到相关的小7支持的游戏,界 ...
最新文章
- angular $observe() 和$watch的区别
- .NET Core 构建跨平台的桌面应用
- Day 02 你最爱的交通方式
- 注册表修改之USB口启用
- C语言——vs2010的使用 || C语言入门知识
- .NET重构(四):窗体继承+模板方法,完美实现组合查询
- python抓取数据时失败_爬取数据缺失的补坑,Python数据爬取的坑坑洼洼如何铲平...
- Anaconda日志
- 继承演练 c# 1613706361
- SAP License:SAP与ORACLE到底谁更强?
- 04-Mysql----初识sql语句
- 6.1、Android Studio的Android Monitor概览
- JAVA(三)java基础知识
- 沃特玛采集均衡模块_采集均衡模块以及电池管理系统_2016212573884_说明书_专利查询_专利网_钻瓜专利网...
- python pdfminer3k_Python对pdf中的关键字过滤(pdfminer3k或pdfminer使用)
- 什么是广域网?它的特点以及与局域网的不同点是什么?
- 机器学习——神经网络(三):线性神经网络
- 4000元台式电脑组装配置单2022 4000元组装电脑配置清单
- JavaMail连接Office 365使用XOAUTH2身份认证
- 流行和声(4)Major7和弦