Android organizing layout resourse?

2019-07-09 23:08发布

I'm trying to organizing layout resource.

Following: - res/layouts - res/layouts/activities - res/layouts/fragments
- res/layouts/other

But my gradle is only creating "activities" directory.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.example.khash.viewpagerexample"
        minSdkVersion 14
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main{
            res.srcDirs = [
                    'src/main/res/layouts/activities',
                    'src/main/res/layouts',
                    'src/main/res/layouts/fragments',
                    'src/main/res/layouts',
                    'src/main/res'
            ]
        }
    }
    }

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:design:26.0.0-alpha1'
}

How i can add all(activities, fragment , other, main) directory to res.

2条回答
▲ chillily
2楼-- · 2019-07-09 23:56

enter image description here

Try this :

  1. Change android -> Project

  2. Rename layout -> layouts

  3. Create new directory inside layouts named it as activities and fragments.(this folder names is sync with gradle. use same name as used in gradle.)

  4. Create layout directory in each directory you have created in layouts.

  5. Put your xmls as you want in your directory.

Gradle file: build.gradle(app)

sourceSets {
            main {
                res.srcDirs =
                        [
                                'src/main/res/layouts/activities',
                                'src/main/res/layouts/fragments',
                                'src/main/res/layouts',
                                'src/main/res'
                        ]
            }
        }
查看更多
不美不萌又怎样
3楼-- · 2019-07-09 23:58

Best Practice : Create prefix like as follows

  • Activity Layout name start with activity_
  • Fragment Layout name start with fragment_
  • Adapter Layout row name start with list_
  • Dialog Layout name start with dialog_
  • Other Layout start with content_

    After then Install Android Studio Plugin ( Android File Grouping )

enter image description here

查看更多
登录 后发表回答