打开template.xml,其中的内容如下:
<template
format="5"
revision="5"
name="Empty Activity"
minApi="9"
minBuildApi="14"
description="Creates a new empty activity">
<category value="Activity" />
<formfactor value="Mobile" />
<parameter
id="activityClass"
name="Activity Name"
type="string"
constraints="class|unique|nonempty"
suggest="${layoutToActivity(layoutName)}"
default="MainActivity"
help="The name of the activity class to create" />
<parameter
id="generateLayout"
name="Generate Layout File"
type="boolean"
default="true"
help="If true, a layout file will be generated" />
<parameter
id="layoutName"
name="Layout Name"
type="string"
constraints="layout|unique|nonempty"
suggest="${activityToLayout(activityClass)}"
default="activity_main"
visibility="generateLayout"
help="The name of the layout to create for the activity" />
<parameter
id="isLauncher"
name="Launcher Activity"
type="boolean"
default="false"
help="If true, this activity will have a CATEGORY_LAUNCHER intent filter, making it visible in the launcher" />
<parameter
id="backwardsCompatibility"
name="Backwards Compatibility (AppCompat)"
type="boolean"
default="true"
help="If false, this activity base class will be Activity instead of AppCompatActivity" />
<parameter
id="packageName"
name="Package name"
type="string"
constraints="package"
default="com.mycompany.myapp" />
<!-- 128x128 thumbnails relative to template.xml -->
<thumbs>
<!-- default thumbnail is required -->
<thumb>template_blank_activity.png</thumb>
</thumbs>
<globals file="globals.xml.ftl" />
<execute file="recipe.xml.ftl" />
</template>
对应上Androidstudio新建activity时的设置界面,界面上的每一项都对应着template.xml文件中的一个parameter.
2、自定义模板就是写普通的java代码,这些代码可能在下一次新建avtivity或者其他的工具类时用的到,并且把其中的变量,通过${xxxx}来动态替换。
3、如果自己简单地自定义模板,先在androidstudio自带的模板文件中copy一份,需要修改的文件包括:
A 如果仅仅只自动生成代码,那么只需要将src目录下的代码进行修改; B 必须修改recipe.xml,模仿模板中的写法 一般如果是生成的java文件就使用initiate 如果是string atrrs 等已经存在的文件,一般就是使用merge关键字。
只要会模仿,按照例子写一个模板就明白其原理了。