Paresh Mayani Paresh Mayani - 2 months ago 17x
Android Question

Can the Android Layout folder contain subfolders?

Right now, i stores every xml layout file inside the layout folder, so it is feasible and simple to manage small projects, but when there is a case of large and heavy projects, then there should be a hierarchy and sub-folders needed inside the layout folder.

for e.g.

-- layout_personal
-- personal_detail.xml
-- personal_other.xml
-- address1.xml
-- address2.xml

Like the same way, we would like to have sub-folders for the large application, so is there any way to do so inside the android project?

I am able to create layout-personal and layout_address sub-folders inside the layout folder, but when the time comes to access the xml layout file using R.layout._ , at that time there is no any xml layout pop-up inside the menu.


You CAN do this with gradle. I've made a demo project showing how at:

The trick is to use gradle's ability to merge multiple resource folders, and set the res folder as well as the nested subfolders in the sourceSets block.

The quirk is that you can't declare a container resource folder before you declare that folder's child resource folders.

Below is the sourceSets block from the build.gradle file from the demo. Notice that the subfolders are declared first.

sourceSets {
    main {
        res.srcDirs =

nested resources picture