android studio layout添加子文件夹 总结

添加子文件夹的步骤,可参考链接https://www.cnblogs.com/whycxb/p/9095860.html 。

 

子文件夹按链接所述文章操作后,确实是可行的。但是会出现一些问题。

 

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文件夹下会出现提示错误的红色底纹。——出现这个问题,不用管,对项目生成没有影响。

 

 


 

posted @ 2021-09-01 15:33  盛沧海  阅读(638)  评论(0编辑  收藏  举报