Java
Android
Kotlin
gradle
AndroidStudio

【Android】Layoutファイルをフォルダ分けする

More than 1 year has passed since last update.


Androidのプロジェクト構造

AndroidでLayoutファイルを作成すると、同じフォルダに並列で格納されてしまいます。

プロジェクトが大きくなってくると、ファイル数が巨大になり、管理が大変になってしまいます。

スクリーンショット 2016-12-17 22.21.45.png


Layoutファイルをフォルダ分けする

本記事の紹介する方法で、以下のようにLayoutファイルを分割することができます。

フォルダで区切られて表示されるので、ファイル管理が少し楽になるかと思います。

スクリーンショット 2016-12-17 22.45.17.png


フォルダの作成

「app -> src -> main」配下に以下のフォルダを作成します。

・src/main/res-main

プロジェクト共通のリソースフォルダになります。

「colors.xml」、「dimens.xml」、「strings.xml」、「styles.xml」やアプリアイコン等を格納します。

・src/main/res-screen

画面用のリソースフォルダになります。

画面を作成するためのLayoutファイルや、その画面に使う画像等を格納します。


App Gradleの設定

app.gradleファイルを開き、「android -> sourceSets」内部でリソースフォルダのパスを指定します。


app.gradle

android {

...
sourceSets {
main {
res.srcDirs += 'src/main/res-main'
file('src/main/res-screen')
.listFiles()
.each { res.srcDirs += it.path }
}
}


ツリー表示の変更

フォルダ分けされたリソースファイルを表示するためには、ツリー表示を「Android」から「Project」に変更する必要があります。

37ed25e6-02c8-b850-44e1-0290fad92bde.png


おわりに

プロジェクトが大きくなってくると、リソースファイルの管理が大変になってきますが、フォルダで分割されていると、ファイル検索等が少し楽になるかと思います。