Butterknife 的配置情况分很多种。本篇文章主要是在Android Studio 3.0版本下配置。
由于Android studio更新,然后gradle更新了,这样的话可能使原来的android-apt 工具跟不上节奏了,所以让采用annotationProcessor工具。因此配置方法有所改变。
配置:
第一步:在Project的 build.gradle 中builscript标签中的子标签dependencies中添加如下代码:
classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1
如下所示:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1' //添加这一行
}
}
第二步:在Preoject 的build.gradle中添加如下代码:
apply plugin: 'com.jakewharton.butterknife'
第三步:在app的build.gradle中的dependencies标签中添加如下代码:
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
这样就配置成功了。
使用:
布局文件xml定义TextView:
<TextView android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />
Activity中setContentView之后,需要bing ButterKnife,然后使用@BindView(R.id.textview1)绑定view。如下:
@BindView(R.id.textview1) TextView tv1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // tv1 = findViewById(R.id.textview1); ButterKnife.bind(this); tv1.setText("Hello ButterKnife"); }