一、框架簡介:
? ? ? ? Annotation特點(diǎn)就是使代碼更加簡潔忧吟,降低代碼的耦合性试躏,提高代碼的編譯效率,提高開發(fā)效率棠枉。與butterknife相比增加setLayout()注解浓体,目的就是省略掉布局填充代碼,下面分別對Activity和Fragment進(jìn)行說明:1.在activity中省略掉:setContentView();2.在fragment中省略掉inflate();其實(shí)并不是真正的省略辈讶,而是將使用反射將其封裝在Annotation框架里面命浴,那么問題來了,那么如何將布局添加進(jìn)該類中贱除?這就是剛才所說的增加setLayout()注解生闲,該注解在類前,只要一打開該類就一目了然看到該類的布局月幌,具體已經(jīng)在使用方法中介紹的很詳細(xì)碍讯。
? ? ? ?使用Annotation框架使個(gè)人建議將其封裝到BaseActivity和BaseFragment中,可以避免一些重復(fù)代碼扯躺。
? ? ? 封裝BaseActivity時(shí)在onCreate方法中初始化:Annotation.init(this);
? ? ? 封裝BaseFragment時(shí)捉兴,將inflateView()方法封裝進(jìn)去,但是不要將Annotation.bind(this)封裝到onCreateView()中录语,因?yàn)閛nCreateView()需要返回一個(gè)view對象倍啥,這個(gè)時(shí)候需要將Annotation.bind()返回的View給onCreateView();
二、引入方法:
方式一:
在module的build.gradle文的dependencies目錄下件添加:
compile 'com.suhu:Annotations:v1.0.0'
(在Android studio默認(rèn)的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的同學(xué)請?jiān)贏nnotations/app/libs/目錄下復(fù)制jar包:annotation.jar
三虽缕、使用方法:
在activity中使用:
1.實(shí)現(xiàn)接口:IALayoy
2.在onCreate方法中初始化:Annotation.init(this);
在fragment中使用:
1.實(shí)現(xiàn)接口: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注解)