Android版式文件夾能夠包含子文件夾嗎?

如今,我將每一個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


#1樓

我認爲解決此問題的最佳方法(假設不容許使用子文件夾)是在文件名前加上您要放置在其中的文件夾的名稱。 例如,若是您有許多用於「活動」,「片斷」或只是「視圖」的通用視圖的佈局,則應在其前面加上places_my_layout_name。 至少這解決了以在IDE中更容易找到它們的方式來組織它們的問題。 這不是最棒的解決方案,但總比沒有好。 bash


#2樓

如今,藉助Android Studio和Gradle,您能夠在項目中擁有多個資源文件夾。 不只能夠組織布局文件,還能夠組織任何類型的資源。 ide

它不徹底是子文件夾,但能夠分離應用程序的各個部分。 佈局

配置以下: gradle

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

檢查文檔ui


#3樓

你能夠用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佈局等)的直接父級仍須要與規範相對應。


#4樓

檢查將文件夾層次結構轉換爲單個文件夾的Bash Flatten Folder腳本


#5樓

好吧,簡短的答案是沒有。 可是您絕對能夠有多個res文件夾。 我認爲,這與layout文件夾的子文件夾儘量接近。 這是您的操做方式。

相關文章
相關標籤/搜索