首页 > 代码库 > 让ADT_22.6.0以后生成代码默认继承自Activity

让ADT_22.6.0以后生成代码默认继承自Activity

Google为了统一界面,从ADT_22.6.0以后默认的Activity都是继承自ActionbarActivity,有些人可能喜欢这样,有些人就不喜欢这样,而我就是属于后者,于是我开始研究自定义ADT模板,希望能从源头解决问题,后来发现还需要看FreeMarker的模板的语法,有点不想看,于是就想了一个不是办法的办法先用着。
不废话!我的解决办法就是把ADT_22.2.1的 BlankActivity 模板拷贝过来修改名字为 DefaultActivity 的模板,这样在自动生成的代码中,我们的类就是默认继承自Activity,而不是ActionbarActivity。
步骤是这样的:
1. 从官网下载 android-sdk_r22.2.1-windows.zip 后,把其中的 ./tools/templates/activities/BlankActivity 目录解压出来,并修改目录名为:Default Activity;
(Default Activity 是我自己定义的名字,这个文件夹名字可以随意写)

技术分享



2. 修改其中的 template.xml 模板文件,就是要修改模板文件的名字,不要让它跟现有的模板名字重名
修改前的文件头:
技术分享


修改后的文件头:
技术分享

最后保存 修改;
注意:这里template 标签中的 name=Default Activity  表示的模板名字,这个名字跟文件夹名字可以不一样,但是为了统一,建议写成一样的。

3. 把整个 Default Activity文件夹 拷贝到 你的Android SDK目录下载tools/templates/activities/  目录下, 我电脑上的目录是:
D:\android-sdk-windows\tools\templates\activities
4. 新建Android Project 在 Create Activity 引导界面中,就会出现 Default Activity,点选后 finish;
技术分享


最后在建立完成后的工程源码中可以看到,MainActivity已经继承自Activity了
技术分享


后续:

其实还有一个问题,我新建Android工程时始终都会自动建立 appcompat_v7 库工程,我尝试了各种办法,就差把SDK删除了,还是没解决,希望有高手能给些指点。





我把我修改后的目录压缩后上传,如果大家不想修改,可直接下载我的压缩包,解压后放到自己的SDK目录的模板目录中。

下载

让ADT_22.6.0以后生成代码默认继承自Activity