Android图片放在不同drawable目录下是有区别的

探讨了不同手机屏幕密度下图片资源管理的重要性,解释了mdpi与drawable-h目录使用时图片显示效果的变化,以及如何优化图片资源以适应不同设备密度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果当前手机是mdpi(设备密度是1)的屏, 而图片放在了drawable-h(设备密度是1.5)的目录下,这时候,图片会相应压缩原来的1.5分之一,从而导致图片原本比较清晰,由于压缩而变得发虚

如果当前手机是xhdpi(2)的屏,而图片放在了hdpi(1.5)的目录下, 这时候,图片应该相应放大为原来的2/1.5倍, 如果图片本身就比较大,那么显示质量不会有太大影响。如果图片本身就小,那也会将图片最清晰的程度发挥出来

由于市面上手机基本在hdpi以上,所以我们尽量可以将图片放在drawable-h的目录下,从而既能保证h以上显示正常,也能保证h屏没太大问题。 如果我们都放在了xh的目录下,就有可能导致h屏手机图片被压缩
<think>好的,我现在要回答用户关于Android Studio中raw目录的作用以及它在Eclipse中的对应位置的问题。首先,我需要回忆一下Android项目的目录结构,特别是在Android Studio和Eclipse中的差异。 用户提到了几个引用,我需要查看这些引用中的信息是否相关。引用[3]和[5]提到了res目录和R.java文件,这可能与资源管理有关。raw目录通常位于res目录下,所以这可能是一个关键点。 在Android Studio中,res目录包含各种资源,比如布局(layout)、图片drawable)、值(values)等。raw目录应该也是res下的一个子目录,用于存放原始文件,比如音频、视频或其他不被系统编译的文件。这些文件会被直接打包到APK中,并且可以通过资源ID在R类中访问,如引用[5]所述。 接下来,关于Eclipse中的对应位置,Eclipse的Android项目结构和Android Studio有所不同。在Eclipse中,资源同样放在res目录下,但可能没有明确的raw目录,不过开发者可以自己创建。因此,Eclipse中的对应位置应该是res/raw,和Android Studio一样,但可能需要手动创建。 需要确认是否正确,例如在Eclipse中是否允许在res下创建raw目录,或者是否有其他默认目录用于存放原始文件。根据经验,Eclipse确实支持res/raw,所以用户需要在Eclipse中手动创建这个目录,然后将文件放入其中,这样处理方式与Android Studio一致。 另外,引用[3]提到app/res的结构与project下的一致,这可能说明在Android Studio的模块中,res目录的结构是标准化的,包含raw等子目录。而Eclipse的项目结构可能更简单,但基本原理相同。 总结,Android Studio中的raw目录用于存放原始资源文件,路径为app/src/main/res/raw,而在Eclipse中对应的是项目根目录下的res/raw,可能需要手动创建。两者都通过R类生成资源ID来访问这些文件。</think>### Android Studio中raw目录的作用及对应位置解析 #### 一、Android Studio中raw目录的作用 1. **资源存放功能** raw目录位于$app/src/main/res/$路径下,专门用于存放**无需编译的原始资源文件**(如音频、视频、文本、二进制文件等)。这些文件会被直接打包进APK,保留原始格式和名称[^5]。 2. **资源访问方式** 通过$R.raw.filename$生成唯一资源ID,例如读取文件: ```java InputStream is = getResources().openRawResource(R.raw.myfile); ``` 3. **与assets目录的区别** - raw目录属于资源系统,支持资源ID访问,但**不支持子目录** - assets目录($app/src/main/assets/$)允许任意层级子目录,但需通过AssetManager访问[^3]。 --- #### 二、Eclipse中的对应位置 1. **目录结构映射** 在Eclipse项目中,raw目录同样位于$项目根目录/res/$路径下,需手动创建(右键res目录 → New → Folder → 输入"raw")。 2. **访问方式一致性** 与Android Studio完全一致,通过$R.raw.filename$访问文件[^5]。 --- #### 三、关键差异对比表 | 特性 | Android Studio | Eclipse | |---------------------|------------------------------|------------------------------| | 默认存在性 | 需手动创建 | 需手动创建 | | 物理路径 | app/src/main/res/raw | 项目根目录/res/raw | | 资源编译处理 | 直接打包,不编译 | 直接打包,不编译 | | IDE创建方式 | 右键res → New → Android Resource Directory → 选择raw | 右键res → New → Folder → 输入raw | --- #### 四、操作示例(Android Studio) 1. 创建raw目录: ``` app/src/main/res/ → 右键 → New → Android Resource Directory → 输入"raw" ``` 2. 添加文件: 将$example.mp3$拖入raw目录 3. 代码调用: ```java MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.example); mediaPlayer.start(); ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值