【发布时间】:2023-03-15 08:35:01
【问题描述】:
我有一个相当复杂的安卓应用程序,“布局”文件夹的内容变得越来越大。我尝试将单个布局 xml 文件组织到子文件夹中,例如layout/dialog/、layout/activity/、layout/views/ 等。这似乎不起作用,文件夹的内容未解析到 R. 类中。
有没有办法做到这一点?
谢谢!
【问题讨论】:
我有一个相当复杂的安卓应用程序,“布局”文件夹的内容变得越来越大。我尝试将单个布局 xml 文件组织到子文件夹中,例如layout/dialog/、layout/activity/、layout/views/ 等。这似乎不起作用,文件夹的内容未解析到 R. 类中。
有没有办法做到这一点?
谢谢!
【问题讨论】:
简短的回答是否定的,不支持子文件夹。您可能只需要巧妙地命名文件。看到这个问题:Can the Android drawable directory contain subdirectories?
【讨论】:
资源目录应该是平面的。因此,如果您打算拥有layout/dialog、layout/activity/、layout/views/ 等,您应该使用layout/dialog_whatever、layout/activity_whatever 和layout/views_whatever,这或多或少会为您提供相同的组织。
【讨论】:
不,资源目录不支持子目录结构,因为这完全是为了在你的 R.java 文件中建立索引,
您必须为您的文件进行命名转换,例如 layout/activity_..
【讨论】:
如果您的应用中有更多 xml 布局,那么您必须给出正确的命名约定,因为 xml 在特定活动中使用。
就像您的活动类似于活动1、活动2,并且活动中的xml是dialog1.xml、dialog2.xml、main1.xml、main2.xml、button1.xml、button2.xml、view1.xml、view2。 xml ...等
然后使用具有命名约定的 xml 布局,如下所示:
布局\activity1_dialog1.xml
布局\activity1_main1.xml
布局\activity1_button1.xml
布局\activity1_view1.xml
布局\activity2_dialog2.xml
布局\activity2_main2.xml
布局\activity2_button2.xml
布局\activity2_view2.xml
希望你明白我的意思。它将真正帮助您管理 xml 布局,因为我正在做同样的事情。
享受。 :)
【讨论】: