比butterKnife更简洁的注解框架
一、框架简介:
Annotation特点就是使代码更加简洁,降低代码的耦合性,提高代码的编译效率,提高开发效率。与butterknife相比增加setLayout()注解,目的就是省略掉布局填充代码,下面分别对Activity和Fragment进行说明:1.在activity中省略掉:setContentView();2.在fragment中省略掉inflate();其实并不是真正的省略,而是将使用反射将其封装在Annotation框架里面,那么问题来了,那么如何将布局添加进该类中?这就是刚才所说的增加setLayout()注解,该注解在类前,只要一打开该类就一目了然看到该类的布局,具体已经在使用方法中介绍的很详细。
使用Annotation框架使个人建议将其封装到BaseActivity和BaseFragment中,可以避免一些重复代码。
封装BaseActivity时在onCreate方法中初始化:Annotation.init(this);
封装BaseFragment时,将inflateView()方法封装进去,但是不要将Annotation.bind(this)封装到onCreateView()中,因为onCreateView()需要返回一个view对象,这个时候需要将Annotation.bind()返回的View给onCreateView();
二、引入方法:
方式一:
在module的build.gradle文的dependencies目录下件添加:
compile 'com.suhu:Annotations:v1.0.0'
(在Android studio默认的jcenter库中,所以只需一步即可)
方式二:
1.在工程的build.gradle文件的repositories目录下添加:maven{url 'https://jitpack.io'}
2.在module的build.gradle文的dependencies目录下件添加:
compile 'com.github.suhuMM:Annotations:v1.0.0'
针对eclipse朋友:
使用eclipse的同学请在Annotations/app/libs/目录下复制jar包:annotation.jar
三、使用方法:
在activity中使用:
1.实现接口:IALayoy
2.在onCreate方法中初始化:Annotation.init(this);
在fragment中使用:
1.实现接口:IFLayout
2.重写方法:inflateView 并返回:return View.inflate(getActivity(), layout, null);
3.在onCreateView方法中初始化:Annotation.bind(this);
四、方法介绍
Activity初始化方法:init()
Fragment初始化方法:bind()
五、版本信息
v1.0.0版本信息:
v1.0.0也是最初始版本,该版本主要有两大模块:1.布局加载(setLayout注解)2.控件加载(bindView注解)