Multiple Resource Folders In Android

You can manage your resources XML files (layout, drawable,..) better, by grouping them into separate subfolders corresponding to the app’s features.

Step to Create Multiple Resource Folders in Android

  • Create a parent folder that contains all layouts of our project.
  • Create The Features Folder.
  • Adding Resource Folder For The Features.
  • Android Resource Folders Into Android Resources.
  • Adding / Accessing Resource Files.

Step 1 — Create a parent folder that contains all layouts of our project

Switch project tree explorer to Project view.

Switching To Project View

Right click in res,select New → Directory, name it as layouts.

Naming the resource folder as layouts

Step 2 — Create The Features Folder

Select folder you created, Then right click and select New → Folder → Res Folder.

Create New Res Folder For The Feature

Name the folder based on your feature. In my case, I have named as user, details.

Naming the resource folder by feature

Step 3 — Adding Resource Folder For The Features

Then, Create resource folders like layout, drawable, menu,anim,etc for the created feature folders. In my example, I have created layout and drawable resource folders.

Resource Folder For The Features

Step 4 — Android Resource Folders Into Android Resources

Dmytro Danylyk (A Google Developers Experts) says, That we can have multiple res folders within by add resource sets.

Add the below lines of code into your app’s build.gradle file inside android tag.Then, re-sync Gradle and rebuild the project.

android {
    ...
    sourceSets {
        main {
            res.srcDirs = [
'src/main/res',
'src/main/res/layouts/user', 
'src/main/res/layouts/details']
        }
    }
}

Step 5 — Adding / Accessing Resource Files

Then, you can add your layout, drawable resources directly into respecting feature folder. Then, To Access the resources you can use standard way of calling like R.layout.activity_user.xml R.drawable.map.

Adding Resources To Features Folder
Accessing Resource From Activity

Leave a Reply

Your email address will not be published. Required fields are marked *