您的位置:首页 > 移动开发 > Android开发

修改Android工程模板

2016-01-04 14:58 477 查看
》## 修改Android工程模板 ##

原创博客,转载请注明出处

前言:在新建项目工程多了,或者使用自己搭建或者公司搭建的框架也好,会发现很多文件需要重新加入,这个时候我们就会想,能不能在我们new项目的时候就自动添加一些资源文件,例如常用的color.xml等,本文就用color.xml来作为例子

1)定位到自己的SDK_HOME

2)进入SDK_HOME/tools/templates/activities (有没有发现里面的东西好熟悉)

3)复制其中一个文件夹并且重命名作为我们需要新建的项目模板(笔者选择复制BlankActivity并且命名为BlankActivity2,效果图1)



4)进入BlankActivity2/template.xml,修改xml代码

<template
format="3"
revision="4"
name="Blank Activity"
minApi="7"
minBuildApi="14"
description="Creates a new blank activity with an action bar.">


改为

<template
format="3"
revision="4"
name="Blank Activity2"
minApi="7"
minBuildApi="14"
description="我们自己的模板,再加个自己的水印__ 来自CSDN,昵称:永恒灬噤忌">


慢慢去看一看属性,就大概知道是什么意思了,这里就不详细说明了

改完这里运行eclipse或者Android studio创建项目的时候就多出一个项目选项了多出的项目选项就是我们刚刚新建的模板,但是,到这里还不行。我们要的东西还没加上去呢。

5)进入SDK_HOME/tools/templates/activities/BlankActivity2/res/values (正确来说应该是 SDK_HOME/tools/templates/activities/(刚刚复制出来的文件夹)/res/values)

6)新建一个color.xml.ftl文本文件,并在里面加入我们需要的color资源代码

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 这里就只贴出3种颜色,颜色值这个东西百度一大把随便贴出一点就好了 -->
<color name="transparent">#00000000</color> <!-- 透明色 -->
<color name="white">#FFFFFF</color> <!-- 白色 -->
<color name="ivory">#FFFFF0</color> <!-- 象牙色 -->
</resources>


心急的人这个时候就想新建项目了,却发现为何还没有这个资源文件,因为还有最重要的一部没做

7)用文本编辑器打开SDK_HOME/tools/templates/activities/recipe.xml.ftl文件,在recipe的节点下添加一句话

<merge from="res/values/color.xml.ftl"
to="${escapeXmlAttribute(resOut)}/values/color.xml" />


不过笔者为了以后改起来知道他在哪,我把它跟描述string.xml的文件放一起,效果如下

<?xml version="1.0"?>
<recipe>

<#if appCompat><dependency mavenUrl="com.android.support:appcompat-v7:19.+"/></#if>

<merge from="AndroidManifest.xml.ftl"
to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />

<instantiate from="res/menu/main.xml.ftl"
to="${escapeXmlAttribute(resOut)}/menu/${menuName}.xml" />

<merge from="res/values/strings.xml.ftl"
to="${escapeXmlAttribute(resOut)}/values/strings.xml" />
<merge from="res/values/color.xml.ftl" to="${escapeXmlAttribute(resOut)}/values/color.xml" />
<merge from="res/values/dimens.xml.ftl"
to="${escapeXmlAttribute(resOut)}/values/dimens.xml" />
<merge from="res/values-w820dp/dimens.xml"
to="${escapeXmlAttribute(resOut)}/values-w820dp/dimens.xml" />

<instantiate from="res/layout/activity_simple.xml.ftl"
to="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />

<instantiate from="src/app_package/SimpleActivity.java.ftl"
to="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />

<open file="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
<open file="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
</recipe>


8)保存,走你,new项目看效果,如下图



第一次写博客,写的不好请多提出意见
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android sdk 博客