前言
gitbhub地址:https://github.com/JakeWharton/butterknife
用于Android视图的字段和方法绑定,使用注释处理为您生成样板代码,简化代码,提升开发效率,运行时不会影响APP效率,使用配置方便, 代码清晰,可读性强。
- 通过在字段上使用.BindView来消除FindViewById调用。
- 在列表或数组中分组多个视图。同时使用操作、设置器或属性对它们进行操作。
- 通过用@OnClick和其他方法注释方法来消除对侦听器的匿名内部类。
- 通过在字段上使用资源注释来消除资源查找。
添加依赖
build.gradle
dependencies {
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
Library projects
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
}
}
依赖模块
apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'
基本使用
初始化
在Activity中绑定:
ButterKnife.bind(this);
Fragment中绑定:
ButterKnife.bind(this, view);
1.查询控件ID
class ExampleActivity extends Activity {
@BindView(R2.id.user) EditText username;
@BindView(R2.id.pass) EditText password;
...
}
2.点击事件
@OnClick(R.id.fl)
public void set(View view){
ToastUtils.showToast("点击事件");
}
3.长点击事件
@OnLongClick(R.id.fl_main)
public boolean CreadDot(){
ToastUtils.showToast("长点击事件");
return true;
}
3.资源绑定
@BindString(R.string.title)
String title;
@BindColor(R.color.white)
int white;
@BindDrawable(R.mipmap.head)
Drawable head;
@BindDimen(R.dimen.size)
Float size;
插件使用(zelezny )
1.下载安装
2.使用
将光标放到R.layout.activity_main,然后右键Generate就有了。