如何在同一个项目中添加2个Navigation Drawer Activity?
问题解决方案
该问题是Android Studio 2020.3.1 Arctic Fox版本的内置Activity模板已知缺陷,该版本默认仅允许单项目创建一次Navigation Drawer Activity,重复创建会触发静默失败,仅执行Gradle同步。以下是可直接落地的解决方法:
方案1:手动创建(无需修改编辑器配置,最稳定)
- 右键项目
app模块,依次选择「New」→「Activity」→「Empty Views Activity」,创建基础Activity容器,自定义命名如SecondDrawerActivity - 分别创建配套资源:
- 在
menu包下新建second_drawer_menu.xml,可直接复用第一个抽屉菜单的格式修改菜单项内容 - 在
layout包下新建activity_second_drawer.xml,拷贝第一个抽屉Activity的布局代码,修改NavigationView的app:menu属性指向刚新建的menu文件,按需调整头部布局、导航控件id - 在
navigation包下新建second_drawer_nav_graph.xml,配置对应页面导航逻辑
- 在
- 复制第一个Drawer Activity的初始化代码到新建的Activity中,替换所有绑定的资源id为新建的对应资源,编译运行即可
方案2:修复模板触发逻辑
- 关闭当前项目回到AS欢迎页,依次点击「Customize」→「All Settings」→「Experimental」,取消勾选Use new UI wizard for creating activities,重启编辑器后回到项目即可正常创建第二个Navigation Drawer Activity
- 若上述操作无效,可暂时将项目中已有的第一个抽屉的menu、布局、导航文件剪切到项目外,完成第二个抽屉Activity创建后再移回原路径,重新同步Gradle即可
方案3:兜底修复
升级Android Studio到2021.2.1 Chipmunk及以上版本,该版本已修复对应模板缺陷,可直接重复创建Navigation Drawer Activity
内容的提问来源于stack exchange,提问作者EngEl
相关产品推荐
相关产品推荐

