Android Butterknife 使用總結——Android Studio 3.0
阿新 • • 發佈:2018-11-15
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"); }