专栏首页懒人开发android studio简单使用(A2):自定义模版简单实战

android studio简单使用(A2):自定义模版简单实战

因为暂时还没有考虑好顺序,先用A2表示


简单过程

复制EmptyActivity一份, 重命名为 DodoTemplateActivity

Paste_Image.png

将代码放到hg版本控制中(自己不熟悉,简单放到本地)

Paste_Image.png

做最初的提交后,可以看见对应的文件夹

Paste_Image.png

这个时候,我们重启android studio, 发现没有看见对应的自己的模版

Paste_Image.png


添加自己的Activity模版

其实,我们前面一篇的猜测有提到过,模版的名字,是由 template.xml对应的template中name决定的 我们修改对应的文件

Paste_Image.png

只是简单修改名字

Paste_Image.png

我们再次重启android studio

Paste_Image.png

我们可以在Activity模版中,找到我们的这一个模版了 (当然,点开的话, 除了先修改的介绍, 其他都是一样的)

Paste_Image.png


添加一个TextView

我们一起看一下 我们知道 template.xml文件是对应的显示模版,获取参数用的 (上一篇有说到) 这里 globals.xml.ftl 是设置变量用的, 我们暂时不去修改它 而 recipe.xml.ftl ,是执行的文件我们一起看一看


recipe.xml.ftl 中的layout模版

这里默认生成的是【** ../common/recipe_simple.xml.ftl **】

Paste_Image.png

这里,原来默认的 recipe_simple.xml.ftl,默认是 (这里比较简单,为了好对比,我只贴图,不贴代码了)

Paste_Image.png

修改后的 recipe_simple_dodo.xml.ftl

Paste_Image.png

其实也就自己创建对应的xml的时候,指向了不同的模版。 我们在开看一下模版的区别 (这里因为是创建一个TextView, 并且设置名字, 让Activity里面直接可以获得对应的id,设置简单的代码) 旧的 simple.xml.ftl (会判断 是否是新的Project,如果是新的,才创建对应的TextView)

Paste_Image.png

这里新的 simple_dodo.xml.ftl (只是去掉判断,添加id而已)

Paste_Image.png

大体的common下的文件

Paste_Image.png

Paste_Image.png


recipe.xml.ftl 中的Activity模版

上面修改了 layout的模版位置,现在修改下Activity的模版 (这里因为是项目单独的,不需要复用,不在common包中,所以直接修改即可,不用新泻)

Paste_Image.png

对应的文件位置:

Paste_Image.png

而模版,也就简单添加了 一些import, 引用, findview和简单set

Paste_Image.png


最后一起测试一下

  • 在对应的package下面,新建Activity模版

Paste_Image.png

  • 可以看见对应的 描述被改变了

Paste_Image.png

  • 生成后,可以看见生成的Activity的变化

Paste_Image.png

  • 还可以看见 layout的变化

Paste_Image.png


其他网上对应的一些模版


后言

其实,写对应的模版,虽然很简单 但是,要确认经常会用到的需求,并且适合自己对应的父类以及相应的逻辑 考虑周全,还是挺重要的 只要理解了过程,新添加对应的Activity模版,或者其他模版也不是难事了 (当然,简单的单个文件模版,直接用File Template即可, 见其他的文章)

Paste_Image.png

Paste_Image.png

Paste_Image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • android studio简单使用(B):代码模版快捷键Live Templates

    因为暂时还没有考虑好顺序,先用B表示 因为发现是很早写的,没有写完 先发布,以后有时间再添加吧

    dodo_lihao
  • (3.1)James Stewart Calculus 5th Edition:Derivatives of Polynomials and Exponential Functions

    这里y = 2x 是 和 y = e^x 相切 如果 斜率为2,则对应横坐标值为a, 点为(a,e^a) 就是: **e^a = 2 ** => **...

    dodo_lihao
  • AndroidStudio简单使用(二):左侧Structure

    上面有说, 可以通过 Alt + 7 快捷键 调出来。 个人觉得, 这个对于查看代码结构,还是很方便的。直接可以看到代码的大体结构。 我们以 android...

    dodo_lihao
  • shiro教程1(HelloWorld)

    Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用...

    Java帮帮
  • Docker+Jenkins+GIT+Tomcat实战持续化集成

    | Docker-server | 172.20.6.20 |Docker宿主机

    KaliArch
  • 『中级篇』手动建立一个base Image(14)

    IT故事会
  • 带你快速掌握Flutter图片开发核心技能

    在这篇文章中,将带着大家一起学习在Flutter中图片开发以及应用场景中的必备技能以及一些经验技巧。

    CrazyCodeBoy
  • [816]python之pprint

    pprint提供了以一种“pretty-print”的方式打印出任意python数据结构的模块。当然,如果不是python的基本数据类型,那么这种方式可能加载不...

    周小董
  • ES6新的数据结构Set

    Set一种新的数据结构,在之前数据的集合分为数组(Array)和对象(Object),ES6出现新的Set数据结构,和Map,这里先介绍一下Set.

    十月梦想
  • 渣渣菜鸡的蚂蚁金服面试经历(二)

    17、如果存取相同的数据,ArrayList 和 LinkedList 谁占用空间更大?

    zhisheng

扫码关注云+社区

领取腾讯云代金券