【Android Studio】分類整理res/Layouts中的佈局文件(創建子目錄)

好吧,這個功能需求也是因爲作爲一個重度強迫症患者,非常想要把layouts中的文件分類整理下。否則看到一堆Activity和Fragment等文件混在一起特別難受。更重要的原因是,如果你的工程交給別人維護,別人看到一堆佈局文件壓根不知道從哪裏下手。又是經過一番折騰,總算把佈局整理成這樣了:

說到佈局文件的整理,一般有兩種:

1. 按照文件類型:基本上分爲Activity、Fragment和views等

2. 按照頁面類型:你的工程有幾個大的頁面,每個頁面下面又有多少個子頁面,可以按照這種模塊的方式分類整理下。

當然我就是採用第二種方式。


說點題外話,我最開始的時候在StackOverFlow上面搜到了兩種方法,一種方法是用一個plugin:


但是這種方法經過實際認證,好像在1.3版本之後的AS就不能用了。下圖就是我安裝的版本,看到安裝了之後,左側的導航欄中根本沒有other setting的入口。


我還專門去問了這個插件的開發者,告訴他我的1.4.1版本的AS沒有效果,然後作者給我推薦了另外一種方法,可能稍微麻煩一點,但是確實有效。其實也是在StackoverFlow中贊同數比較高的回答。下面我們就詳細一步一步來吧:

0. 先說一個大前提,這種方法必須要你的AS設置成project模式,而不是Android模式


1. 把你的整個Layouts文件夾拷貝出來做一個備份(備份永遠是我們在做嘗試之前最重要的一件事情。我一般習慣把整個工程也備份一下)

2. 整個刪除你的Layouts文件夾(確保你至少做了第1步的文件夾備份)

3. 右鍵你的res文件夾,然後New --> directory

4. 命名爲Layouts(其實你也可以起成另外的名字,無關緊要了)

5. 右鍵你剛建好的Layouts文件夾,New --> directory(這裏面就要建我們說的第1層目錄了,按照我的習慣,這一層的文件夾就是我們的工程的幾大模塊的分類了。當然你也可以按照Activity和Fragment來命名)

這裏插一下,我當時直接在AS中操作的話,是會出現新建的目錄是Layouts.mainpage.layout的格式,而不是用樹形結構一層層打開的,後來我就直接在電腦的文件系統中手動新建文件夾,目的是一樣的

6. 在你第5步新建好的文件夾中繼續新建一個文件夾,命名爲layout這一步驟非常重要!這一步驟非常重要!這一步驟非常重要!

7. 從第1步備份的文件中把相應的文件拷貝到這個layout文件夾中

8. 重複第5到第7步,把所有的佈局文件分類存放好。

9. 打開build.gradle文件(注意這裏會有兩個build.grade文件,我們要改變的是工程裏面的那個),然後添加進去下面的代碼:

sourceSets {  
        main {  
            res.srcDirs =  
                    [  
                            'src/main/res/layouts/mainpage',  
                            'src/main/res/layouts/investment',  
                            'src/main/res/layouts/productlist',  
                            'src/main/res/layouts/myaccount',  
                            'src/main/res/layouts/setting',  
                            'src/main/res/layouts',  
                            'src/main/res'  
                    ]  
        }  
    }  


sourceSets {
        main {
            res.srcDirs =
                    [
                            'src/main/res/layouts/mainpage',
                            'src/main/res/layouts/investment',
                            'src/main/res/layouts/productlist',
                            'src/main/res/layouts/myaccount',
                            'src/main/res/layouts/setting',
                            'src/main/res/layouts',
                            'src/main/res'
                    ]
        }
    }
添加後的build.gradle文件類似這個樣子



需要特別注意的是:代碼中一定要把 src/main/res/layouts  和 src/main/res 兩行代碼寫在最後面!!!

10. 重啓一下AS應該就ok了~

以下爲本人補充,原文未提及:

每次新建佈局文件後,文件並不在選中的文件夾裏,而是在res.SrcDirs裏排在第一的字段表示的地址裏

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章