Android Studio自定义模板 写页面竟然可以如此轻松
主要是参考鸿洋的这篇文章,还有就是studio自带的那几个activity和fragment。
这里主要是整理一下在这个过程中主要用到的一些自定义的东西。
java代码
package ${packageName}; //包引入
<#if applicationPackage??>
import ${applicationPackage}.R; //R文件的引入和判断
</#if>
public class ${activityClass} extends ${superClass}{ //类名的引入和自定义key的使用
<#if isHasFragment>
private ${fragmentClass} fragment;
</#if>
template
name="MSEmptyActivity" //new的时候,对应显示的名称
<category value="MeiShe" /> //new的时候,对应的外层文件夹
<parameter //自定义类型,显示在新建的界面上
id="generateLayout"
name="Generate Layout File"
type="boolean"
default="true"
visibility="false" //控制是否在界面显示,也可以用其他boolean类型的参数控制
help="If true, a layout file will be generated" />
recipe
values资源文件的引入(strings,styles等):
<merge from="root/res/values/styles.xml" to="${escapeXmlAttribute(resOut)}/values/styles.xml" />
AndroidManifest文件:
<merge from="root/AndroidManifest.xml.ftl"
to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />
java文件:
<instantiate from="root/src/app_package/EmptyActivity.${ktOrJavaExt}.ftl"
to="${escapeXmlAttribute(srcOut)}/${activityClass}.${ktOrJavaExt}" />
layout文件:
<instantiate from="root/res/layout/activity_main.xml.ftl"
to="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
图片等文件要复制:
<copy from="root/res/drawable-xhdpi"
to="${escapeXmlAttribute(resOut)}/drawable-xhdpi" />