如何在安卓应用中从孩子的./res/目录中获取资源



我有一个android应用程序文件夹结构:

phone
├── res
└── src
└── tablet 
├── res
└── src

现在在phone/src中有一个activity.java想要使用来自phone/tablet/res的资源(.xml文件),我如何从子目录访问资源?谢谢!

尝试import,.phone.Rphone.tablet.R,但后者无法找到。

看起来你的文件夹结构不是Android Studio默认使用的。我建议将其更改为根据默认结构,因为在这种情况下Gradle可以自动合并所有资源等,否则您可能需要在build.gradle中添加一些自定义配置。下面是使用模块/子模块的唯一示例。但是,如果您想为不同的构建类型提供单独的代码版本,则可能需要不同的口味。

<module name> // i.e. phone
|--src
|----main
|------res
|--<sub-module name> // i.e. tablet
|----src
|------main
|--------res
|----build.gradle
|--build.gradle

然后在模块的build.gradle中添加子模块作为依赖项-这将允许从模块级使用子模块的代码库。

或者,如果您不需要单独的模块,但只想将平板电脑相关资源分组在单独的文件夹

phone
|--src
|----main
|------res
|--------tablet

然后在你的build.gradle你需要指定res路径:

android {
sourceSets {
main.res.srcDirs = [
'src/main/res',
'src/main/res/tablet'
]

最新更新