butterknife
官网地址:https://github.com/JakeWharton/butterknife/tree/8.8.1
使用注释处理为您生成样板代码的Android视图的字段和方法绑定。
findViewById通过使用@BindView字段消除呼叫。
在列表或数组中组合多个视图。一次使用操作,设置器或属性操作它们。
通过@OnClick与其他人注释方法来消除匿名内部类的侦听器。
通过在字段上使用资源注释来消除资源查找。
注意事项:
1.com.android.tools.build:gradle:2.2.2 以下的版本使用配置方式:
Project 级gradle中配置
buildscript {
repositories {
jcenter()
//butterKnife
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
//butterKnife
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
App Module gradle配置:
apply plugin: 'com.android.application'
// butterKnife
apply plugin: 'android-apt'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "come.lixby.buttferknife"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
// butterKnife 不能高于8.4.0,高于请参考2配置方式
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
}
2.com.android.tools.build:gradle:2.2.2 以上的版本使用配置方式:
Project 级gradle中配置
dependencies {
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
Demo 例子:
package come.lixby.buttferknife;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class MainActivity extends Activity {
@BindView(R.id.textView1)
TextView textView;
@BindView(R.id.button1)
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
initView();
}
private void initView() {
textView.setText("ButterKnife First");
button.setText("ButterKnife");
}
@OnClick({R.id.textView1, R.id.button1})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.textView1:
break;
case R.id.button1:
break;
}
}
static class ViewHolder {
@BindView(R.id.textView1)
TextView textView1;
@BindView(R.id.button1)
Button button1;
ViewHolder(View view) {
ButterKnife.bind(this, view);
}
}
}
自动生成快捷方式: Alt+Insert,前提请安装ButterKnife 插件。
ButterKnife 插件安装:
ButterKnife 快捷生成:
it’s over.
想进一步了解其他使用,请前往官网学习。