我在app上工作并不简单。有很多模块,所以我想通过创建子目录来正确管理它们。我尝试下面的结构,但仍然无法实现这一点。
res
layout
camera
main.xml
// Structure is like this
// res-> layout -> camera -> main.xml
默认情况下,所有xml
布局文件都位于layout
文件夹下。但我想在布局文件夹下创建另一个文件夹,其名称为相机,例如layout-> camera
,并希望将Activity
布局放在此相机文件夹下
像这样layout -> camera -> main.xml
。所以,我做了它并且可以在相机文件夹下放置文件。但是现在当我打开main.xml
时出现问题,当您将鼠标悬停在xmlns:android
上时会出现错误:
在 main.xml :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
// Error: URI is not register (Setting | language | framework Schems and DTDs
我认为错误的原因是更改布局文件的路径。因为默认情况下所有文件都在布局下。我改变了道路。如何解决此错误,但请记住我希望我的布局文件位于相机文件夹下。
另外一个问题是如何在java
类中访问布局的子文件夹,例如我main.xml
下面有res->layout->camera
文件我试过以下代码但是有错误
MainActivity :
setContentView(R.layout.camera.main);
// Error: can not resolve symbol camera
如何解决此问题并从布局文件夹下的子文件夹中访问文件。
我搜索了一些Stackoverflow问题并找到了一些东西,但仍然没有用。
摇篮
sourceSets {
main {
res.srcDirs =
[
'src/main/res/layouts/camera',
'src/main/res'
]
}
}
请让我知道如何解决这个问题。我是android的新手。
答案 0 :(得分:2)
您的ng-selected="i.id == 1"
和所有布局都应位于res / layout下,因为main.xml
是包含应用所有布局的文件夹。
更改后,请转到 MainActivity 并使用:
layout
在Gradle中进行此更改:
setContentView(R.layout.main);
并且总是在gradle中更改内容时,总是会同步!
我想这可以解决你的问题。