butterKnife 在控件初始化上很好的减少我们代码量,下面就来讲下它的使用吧
一。导入 butterKnife
在android studio 的gradle中配置,记住是module 的 gradle,而不是 project的gradle,配置如下:
dependencies { //butterKnifecompile 'com.jakewharton:butterknife:8.5.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'//这条千万不能忘记!!}
在activity中声明变量:
private Unbinder unbinder;
在activity 的 oncreate 中 绑定
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
记得 绑定要放在 setContentView(int rid)之后unbinder = ButterKnife.bind(this);
在 ondestroy 中解绑
@Override protected void onDestroy() { unbinder.unbind(); super.onDestroy(); }
在activity 中的初始化是这样的:
@BindView(R.id.tv_id) TextView mTvId;
需要注意的是 butterKnife 在activity 中的 绑定是这样的:
unbinder = ButterKnife.bind(this);
在 非 activity (如fragment)中的 绑定 是这样的:
- @Override
- public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- mRootView =inflater.inflate(getContentViewId(),container,false);
- ButterKnife.bind(this,mRootView);//绑定framgent
- this.context = getActivity();
- return mRootView;
- }
二。在androidstudio中嵌入 插件,使 butterKnife 初始化更方便
file-----》settings--------》plugins-----》点击中间列的 browse repositories。。。 按钮,在弹出的dialog中搜索
android butterKnife Zelezny 点击 indgtall ,apply,ok 然后 restart studio。
初始化控件的时候,光标放在
R.layout.activity_main
上,右键 generate。。。 ---》 generate butternknife injections ,然后勾选要初始化的 控件,修改控件名称,点击 confirm即可生成。
以上就是butterknife 对于控件初始化的使用,当然其还有更多用用处,大家可以继续研究