android:如何在`mipmap`文件夹中创建子文件夹,可以在代码和布局中访问

时间:2015-05-17 21:46:33

标签: android android-resources project-structure

我的各种mipmap文件夹(mipmap-xhdpimipmap-xxhdpi等等都有我的图像资源。)我的项目有数百张图像(并且还在增长),它们变得很麻烦在每个目录中都是一个级别。

我想创建一个子文件夹,例如" sprites"我可以在代码中引用类似

的内容

R.mipmap.sprites.sprite_name

如何在我的mipmap文件夹中创建可用的子文件夹?

当我在mipmap文件夹中创建一个新目录(使用New -> Directory)时,该目录及其内容对于我指定资源的任何地方都是不可见的,即:

•在我的xml布局的设计视图中,当我浏览背景图像资源或图像按钮时,子文件夹被隐藏。

•在代码中,当我指定图像资源时(R. ...子文件夹被忽略)。

有没有正确的方法呢?似乎有一些其他目录选项,在New -> Folder类别下,我有:

Assets folder,描述为"为要包含在apk中的资产创建源根目录,"但我不想要一个根,我想要一个子目录。

Res Folder," android资源文件的源根" 1.我不知道这与资产有何不同2.再次,我不想要根。

还列出了其他几种我不熟悉的文件夹类型。

如果无法实现,那么在项目中包含(和组织)数百(或数千)图像资源的正确方法是什么?唯一的办法是将它们全部放在一个目录中吗?

2 个答案:

答案 0 :(得分:3)

  

如何在我的mipmap文件夹中创建可用的子文件夹?

你做不到。任何时候的资源目录mipmap或其他都不能包含子目录。

  

在项目中包含(和组织)数百(或数千)图像资源的正确方法是什么?唯一的办法是将它们全部放在一个目录中吗?

如果你打算使用资源,那么是的,虽然我会将它们放在drawable目录中。 mipmap主要用于启动器图标。

  

mipmap是特殊的,因为应用程序将根据设备分辨率显示不同分辨率的图像

没有。 mipmapdrawable资源在运行时支持资源重新采样,但它基于密度,而不是分辨率。

正如ByteHamster所说,您可以在assets/中放置所需的任何目录结构,但您需要将适当的值放入BitmapFactory.Options以帮助根据密度重新取样。

答案 1 :(得分:0)

是的,您必须将所有资源保留在一个文件夹中,因为您可能知道,target different device classes使用了不同的文件夹。

通过前缀组织资源的正确方法:如official Android documentation中所述,您应该使用前缀来使资源以有意义的顺序显示。