@zhongzilu
2019-01-28T12:09:24.000000Z
字数 1897
阅读 5378
File Template Android Studio
我发现一个可以让写程序变得简单的方法,那就是自定义文件模板(Custom File Templates).那么什么是File Templates呢?说白了,就是一个已经包含一部分代码的源文件
首先,找到创建File Template的位置,依次打开File ==> Setting ==> Editor ==> File and Code Templates

之后点击 +号添加一个File Template,这里需要填写 File Template的名称和代码。在本次案例中,我们将创建一个实现了部分方法的RecyclerViewAdapter的File Template。因此就取名叫RecyclerViewAdapter

之后你就可以在下方的代码区域粘贴或者编写你的模板代码了。这里有几个预置的变量可以使用,当文件被创建的时候,这些预置的变量将会被 将会被对应的值替代,变量如下:
${NAME} 选择的文件的文件名 ${PACKAGE_NAME} 包名${DATE} 系统当前的时间当然,你也可以自定义变量,在本案例中,我们需要提供ViewHolder类和集合List的类型,所以自定义变量分别为${VIEWHOLDER_CLASS}和${ITEM_CLASS}
那么现在就来编写用于创建模板的代码,代码如下:
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#endimport android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import java.util.List;#parse("File Header.java")public class ${NAME} extends RecyclerView.Adapter<${VIEWHOLDER_CLASS}> {private final Context context;private List<${ITEM_CLASS}> items;public ${NAME}(List<${ITEM_CLASS}> items, Context context) {this.items = items;this.context = context;}@Overridepublic ${VIEWHOLDER_CLASS} onCreateViewHolder(ViewGroup parent, int viewType) {View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.${LAYOUT_RES_ID}, parent, false);return new ${VIEWHOLDER_CLASS}(v);}@Overridepublic void onBindViewHolder(${VIEWHOLDER_CLASS} holder, int position){${ITEM_CLASS} item = items.get(position);//TODO Fill in your logic for binding the view.}@Overridepublic int getItemCount() {if (items == null){return 0;}return items.size();}}
当你想要使用这个文件模板时,会提示你提供相关变量的值,比如${VIEWHOLDER_CLASS}和${ITEM_CLASS},填写的值会自动替换对应的变量,非常的方便。
要使用已经定义好的File Template,只需要选中要创建位置的文件夹,然后点击鼠标右键,再点“New”,你就可以在列表中看到刚创建的File Template的名字

点击RecyclerViewAdapter后填写相关变量的值

填写完后点击"OK",之后你就可以看到自动生成的代码了

这样,今后我要实现一个RecyclerView的Adapter时,就不用再去写那么多代码了
如果你有一些比较好的代码模板,也可以分享给我哦 *^_^*
https://zybuluo.com/zhongzilu/note/370654
@author zhongzilu