2017-04-07 74 views
0

我正在開發並不簡單的應用程序。有很多模塊,所以我想通過創建子目錄來正確管理它們。我嘗試下面的結構,但仍然無法實現這一點。在Android中的Layout Res中創建子目錄

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.xmlres->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

你的問題是不是對什麼是這個問題很清楚。 – Johny

+0

我無法訪問'在Acticvity類main.xml'文件,也沒有能夠使設計在'main.xml'檢查我定義了兩個錯誤的問題。這對我來說是個問題 –

+0

我在下面寫了一個答案。檢查它並讓我知道它是否有幫助。 – Johny

回答

2

您的main.xml和您的所有佈局應該在res/layout下,因爲layout是保存您應用的所有佈局的文件夾。

後您更改,請在MainActivity及用途:

setContentView(R.layout.main); 

在搖籃使這一變化:

sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] } } 

,始終當您更改gradle這個事,始終做到同步!

我想這應該解決您的問題。

+0

不,這不是解決問題。問題仍然存在 –

+0

您是否已將所有佈局移至** res/layout **下? – Johny

+0

我想你上面的項目文件創建佈局文件夾下 –