在另一个包(主包除外)下定义资源

时间:2018-01-01 21:14:34

标签: java android package android-resources

我有一个Gradle Android项目(在Android Studio中),包含两个软件包(都在app模块)。您知道src/main/java目录下有两组文件夹:

src/main/java/the/first/pkg/...{The Files Under First Package}...
src/main/java/the/second/pkg/...{The Files Under Second Package}...

注意:第一个和第二个包都位于名为main的文件夹中。但我的意思是,从 主程序包 ,我的 第一个程序包 。换句话说,您可以在main/AndroidManifest.xml文件中看到:

<manifest ... package="the.first.pkg">

但是src/main/res目录怎么样?! 所有资源都位于此路径的根目录中(未按包名称分类)!

现在我如何在第一个包下定义resource(如layout,而在第二个包下定义? (因此,我可以通过 java 在我的the.second.pkg.R.layout.resource_name代码中访问它。)

1 个答案:

答案 0 :(得分:1)

你应该稍微改变你的方案。默认情况下,Android Studio会创建main个包并将所有来源放入其中,如下所示:

enter image description here

如果您想获得不同的res文件夹,对于不同的包,您应该在src包中定义另一个包:

enter image description here

此外,Android Studio可以为您生成:

  
      
  1. 打开“项目”窗格,然后从窗格顶部的下拉菜单中选择“项目”视图。
  2.   
  3. 导航到MyProject / app / src /.
  4.   
  5. 右键单击src目录,然后选择New&gt;文件夹&gt; Java文件夹。
  6.   
  7. 从Target Source Set旁边的下拉菜单中选择debug。
  8.   
  9. 单击“完成”。
  10.   

您可以通过此link调用source sets更多详细信息。