android layout布局androidstudiolayout添加⼦⽂件夹总结
⼦⽂件夹按链接所述⽂章操作后,确实是可⾏的。但是会出现⼀些问题。
1.添加的activity在默认情况下,会将activity的界⾯添加到app gradle中res.srcDirs中的第⼀个路径上。
若你添加的路径为:sourceSets { main{ res.srcDirs = [ 'src/main/res/layout/home', 'src/main/res/layout', 'src/main/res' ] } }
,那么前端的xml⽂件将添加到layout/home下的layout⽂件夹中。
2.若你添加的不是空⽩activity,⽽是tabbed activity,那么它将在添加路径中第⼀个路径下的⽂件夹下添加valus⽂件夹,并添加引⼊的相关⽂件。但在编译时,由于最外层的layout⽂件夹下已经存在了valus中strings、dimensions、colors、styles 等相关xml⽂件,同时添加的路径中⼜有相关⽂件,往往出现声明重复的报错。若没有相关经验,会导致查错时相当困难。
为了避免上述情况的出现,试了下在保证将'src/main/res'放在最前的情况下(测试过程中发现其按添加先后,优先选择先添加的路径),那么问题2中的就不会出现此问题,同时新添加的activity中的相关xml⽂件都在最外层的layout⽂件夹,此时需要⼿动将其拖到你需要的⽂件夹中即可,然后refactor即可。
但这⼜会导致下述问题:
1.⼀些布局xml未放⼊到⼦layout下,在编译时很可能会报错:error: cannot find symbol。——只要将这个布局⽂件移⼊你要移⼊的⼦⽂件夹就可以解决问题。
2.在⼦layout下删除xml⽂件后,res⽂件夹下会出现提⽰错误的红⾊底纹。——出现这个问题,不⽤管,对项⽬⽣成没有影响。