LoginSignup
5
2

More than 5 years have passed since last update.

resフォルダを細分化する

Last updated at Posted at 2018-05-27

material-components-androidcatalog で、resフォルダが細分化されているのを見つけたので、どうやっているのかを調べました。

sourceSetsを定義

appのbuild.gradleに対し、sourceSetsとresを置きたい場所を定義します。
srcDirsに書かれたフォルダをresフォルダに追加しています。

build.gradle
def srcDirs = [
        'abc'
]

android {
    // 省略...

    sourceSets {
        main {
            res.srcDirs = ['src/main/res']
            srcDirs.forEach {
                res.srcDirs += 'src/main/java/com/kyaracter/myapplication/' + it + '/res'
            }
        }
    }
}

resフォルダとして認識されると、abcにあるresフォルダの見た目がリソースフォルダのものに変わります。

Screen Shot 2018-05-27 at 18.12.36.png

使いみち

valuesだけでなく、layoutやmenuも同様に細分化できるので、ファイル数が多すぎて困った場合に使える感じです。
また、 abc/res/values/string.xml に定義する文字列は、この名前空間の外側でも参照できます。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2