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中添加:
【android第三方框架(五)ButterKnife】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,直接采用注解方式。
文章图片
其他绑定参考:
文章图片
文章图片
更加快捷的途径:ButterKnife的插件zelezny,在android studio 的plugins中直接搜索安装即可。在setContentView右键Generate可以快速完成上述的绑定,插件自动生成。
推荐阅读
- Android中的AES加密-下
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 带有Hilt的Android上的依赖注入
- thinkphp|thinkphp 3.2 如何调用第三方类库
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- android防止连续点击的简单实现(kotlin)