如今,我將每一個xml佈局文件存儲在res/layout
文件夾中,所以管理小型項目既可行又簡單,可是,在有大型項目的狀況下,應該有一個層次結構和一個子目錄,佈局文件夾中所需的文件夾。 html
例如 android
layout -- layout_personal -- personal_detail.xml -- personal_other.xml --layout_address -- address1.xml -- address2.xml
一樣,咱們想爲大型應用程序提供子文件夾,那麼在android項目中有沒有辦法作到這一點? git
我能夠在layout文件夾中建立layout-personal和layout_address子文件夾,可是當須要使用R.layout ._______訪問xml佈局文件時,那時在xml目錄中沒有任何xml佈局彈出窗口。菜單。 github
我認爲解決此問題的最佳方法(假設不容許使用子文件夾)是在文件名前加上您要放置在其中的文件夾的名稱。 例如,若是您有許多用於「活動」,「片斷」或只是「視圖」的通用視圖的佈局,則應在其前面加上places_my_layout_name。 至少這解決了以在IDE中更容易找到它們的方式來組織它們的問題。 這不是最棒的解決方案,但總比沒有好。 bash
如今,藉助Android Studio和Gradle,您能夠在項目中擁有多個資源文件夾。 不只能夠組織布局文件,還能夠組織任何類型的資源。 ide
它不徹底是子文件夾,但能夠分離應用程序的各個部分。 佈局
配置以下: gradle
sourceSets { main { res.srcDirs = ['src/main/res', 'src/main/res2'] } }
檢查文檔 。 ui
你能夠用gradle作到這一點。 我作了一個演示項目,展現瞭如何。 spa
訣竅是利用gradle的功能合併多個資源文件夾 ,並在sourceSets塊中設置res文件夾以及嵌套的子文件夾。
奇怪的是,您不能在聲明該容器的子資源文件夾以前聲明一個容器資源文件夾。
如下是演示中build.gradle文件中的sourceSets塊。 請注意,首先聲明瞭子文件夾。
sourceSets { main { res.srcDirs = [ 'src/main/res/layouts/layouts_category2', 'src/main/res/layouts', 'src/main/res' ] } }
此外,實際資源文件(png,xml佈局等)的直接父級仍須要與規範相對應。
檢查將文件夾層次結構轉換爲單個文件夾的Bash Flatten Folder腳本
好吧,簡短的答案是沒有。 可是您絕對能夠有多個res
文件夾。 我認爲,這與layout
文件夾的子文件夾儘量接近。 這是您的操做方式。