android第三方框架(五)ButterKnife

参考链接:Android Butterknife使用方法总结 -

ButterKnife主要用于快速的绑定控件和监听相应的事件,避免原生传统的绑定步骤的繁琐,加快开发速度,减少做无用工作,采用的了注解的方式,ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。

在组件当中以及adapter都可以应用,范围很广。

配置方式:

工程下

buildscript { 

 repositories { 

 jcenter() 

 } 

 dependencies { 

 classpath'com.android.tools.build:gradle:2.3.3'

classpath'com.jakewharton:butterknife-gradle-plugin:8.8.1'   //添加这一行

}}

app的build中添加:apply plugin:'com.jakewharton.butterknife'

dependencies中添加:

compile'com.jakewharton:butterknife:8.8.1'

annotationProcessor'com.jakewharton:butterknife-compiler:8.8.1'

使用细节:

在Activity 类中绑定 :ButterKnife.bind(this);必须在setContentView();之后绑定;且父类bind绑定后,子类不需要再bind。

在非Activity 类(eg:Fragment、ViewHold)中绑定: ButterKnife.bind(this,view);这里的this不能替换成getActivity()。

在Activity中不需要做解绑操作,在Fragment 中必须在onDestroyView()中做解绑操作。


在activity使用,绑定在Oncreate里使用mBinder=ButterKnife.bind(this),解绑在OnDestroy中使用mBinder.unbind();

在fragment使用,绑定在onCreateView里使用unbinder = ButterKnife.bind(this, view),解绑在onDestroyView()中unbinder.unbind();

在adapter中使用,在viewHolder中使用ButterKnife.bind(this, view);

可以绑定单个或多个控件,字符串,颜色,bitmap等。

绑定单个控件:

@BindView( R2.id.button)

public Button button;

绑定多个控件:

@BindViews({ R2.id.button1, R2.id.button2, R2.id.button3})

public List buttonList;//之后可以采用list相同的操作完成相关功能,如:buttonList.get(0).setText("hello 1 ");


事件绑定:

绑定点击事件:

绑定控件点击事件:@OnClick( )

绑定控件长按事件:@OnLongClick( )

例如:@OnClick(R2.id.button1 )//给 button1 设置一个点击事件 

           public void showToast(){}


自定义控件使用ButterKnife,直接采用注解方式。

其他绑定参考:

android第三方框架(五)ButterKnife_第1张图片
android第三方框架(五)ButterKnife_第2张图片

更加快捷的途径:ButterKnife的插件zelezny,在android studio 的plugins中直接搜索安装即可。在setContentView右键Generate可以快速完成上述的绑定,插件自动生成。

你可能感兴趣的:(android第三方框架(五)ButterKnife)