Android Studio 模板用法与自定义模板
2016-04-29 本文已影响372人
QiuJay
本文gif图比较多,可能会导致页面加载缓慢,请大家耐心等待
今天我们来学习下Android Studio这款软件的一些秘密,这些就是Template,就是我们输出一些特定的字符就可以实现自动编写一大堆代码,额,什么意思了?下面还是看图来理解吧!
Live Template
这种模板用法就是输入特定字符,按下Tab键即可<Windsows>,此键可自定义设置
在方法中输入“Toast”并按下Tab键

快速编写TAG,在类中输入“logt”并按下Tab键

常量的编写,详细见图


输出语句的书写的正确姿势

Log打印语句的Code正确方式

对一个对象的判空/非空语句写法

IntentView的写法才叫炫酷

示范就先到这里,这时可能就会问,你是怎么知道要输入的关键字的?我说我猜的你信吗?不管你信不信,我反正不信。-_-!那么我就带大家怎么去找这些输入的关键字。
姿势:Settings > Editor > Live Templates
templates
大家可以自行去查看,看看是否有自己需要的,学习并记下来,然后运用到代码编写的工作中去,让我们代码编写速度更快更嗨吧!
可能用着用着就会发现,我可能想实现自己的一个Live Template,可以吗?答案是肯定的。
自定义Live Template
具体方法还是看图,这里创建了一个实现类似"logt"的效果,希望大家可以根据这个实现一些复杂的,这里就实现了一个简单的"mytag"

File Template
大家在AS中创建一个类的时候,相信大家都见过在类名上有这么一句注释
/**
* Created by 你的电脑用户名 on 当前的日期.
*/
这个也是可以修改的,见图:

我们一起来创建一些自己喜欢的File Template
饿汉式单例类,模板代码如下<此模板AS自带>:
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
public class ${NAME}{
private static ${NAME} ourInstance = new ${NAME}();
public static ${NAME} getInstance() {
return ourInstance;
}
private ${NAME}() {
}
}

是不是在为AS创建Activity的时候不会自动继承Activity而烦恼了?
自定义Activity class File Template模板代码如下:
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
public class ${NAME} extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
