背景:每次创建Activity是都是默认继承AppCompatActivity或Activity,但通常我们都有自己定义的BaseActivity,如果用mvp的话还需实现接口等。创建的布局也是默认使用ConstraintLayout,所以每次都需要改成自己想要的功能。
本文将介绍如何自定义Activity模板并显示在创建Activity的选项中,效果如图:
首先找到Android studio的安装路径,我的是安装在D盘,打开路径D:\android-studio\plugins\android\lib\templates\activities,我们可以发现该目录下均是上图显示的各种Activity模板。我们可以拷贝一份Login Activity(或EmptyActivity)并命名为DemoActivity(可自定义),然后我们就可以进行对应的更改了
打开需要更改的模板,显示如下
globals.xml.flt为全局配置,无需修改
recipe.xml.ftl为模板操作指令
template为所需参数配置
首先我们看template文件:
里面的 instantAppActivityHost、instantAppActivityRoute和activityTitle我们没用到,删除。里面的各个id都将在模板文件中引用。
接下来打开目录下root\src\app_package,我们可以看到有有两个文件,分别为LoginActivity.java.flt和LoginActivity.kt.ftl。一个是java模板,一个是kotlin模板。在这我们仅接受java模板,kt模板大同小异
将LoginActivity.java.flt,名称改成DemoActivity.java.ftl,并打开,将public class ${activityClass} extends ${superClass} 改成public class ${activityClass} extends BaseActivity,添加import语句。将其他多余的代码删掉。${activityClass}即表示引用在刚才template文件id为activityclass的名称(该名称在创建Activity会提示用户填写)
打开root/res/layout,我们可以仿照activity_login.xml.ftl改成我们自定义的activity_demo.xml.ftl
接下来打开recipe.xml.ftl:
最后一步,重启Android studio,创建activity时就可以看到你自定义的模板啦