俗话说:“不会偷懒的程序员不是好的程序员!”。作为一名Android开发,是不是经常厌烦了大量的findViewById以及setOnClickListener代码,而ButterKnife是一个专注于Android系统的View注入框架,让你从此从这些臃肿的代码中解脱出来。
首先看一下在Android Studio中引入ButterKnife步骤如下:
在项目上右键,选择Open Module Settings,如下:

选择APP->dependencies->“加号”->Library dependency如下:

输入butterknife如下:

选中目标点击OK,可以看出最新的ButterKnife已经升级到了8.2.1版本。还需要配置两个文件:
1.在project的build.gradle中

2.在module的build.gradle中


这时butterknife的环境就配置好了,可以运行测试一下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
? ?android:layout_width="match_parent"
? ?android:layout_height="match_parent">
? ?<TextView
? ? ? ?android:id="@+id/tv1"
? ? ? ?android:layout_width="match_parent"
? ? ? ?android:layout_height="wrap_content"
? ? ? ?android:gravity="center"
? ? ? ?android:text="Hello World!"
? ? ? ?android:textSize="18sp" />
</RelativeLayout>
MainActivity.java如下:
package com.example.administrator.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import butterknife.BindView;
import butterknife.ButterKnife;
public class MainActivity extends AppCompatActivity {
? ?@BindView(R.id.tv1)
? ?TextView tv1;
? ?@Override
? ?protected void onCreate(Bundle savedInstanceState) {
? ? ? ?super.onCreate(savedInstanceState);
? ? ? ?setContentView(R.layout.activity_main);
? ? ? ?ButterKnife.bind(this);
? ? ? ?tv1.setText("Hello ButterKnife");
? ?}
}
调用@BindView传入TextView的id,然后在下面声明变量tv1,最后在onCreate方法中调用ButterKnife的bind方法绑定控件。
运行实例如下:

OK,届时butterknife引入成功!
下面看一下,引入Button的点击事件监听,布局文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
? ?android:layout_width="match_parent"
? ?android:layout_height="match_parent"
? ?android:orientation="vertical">
? ?<TextView
? ? ? ?android:id="@+id/tv1"
? ? ? ?android:layout_width="match_parent"
? ? ? ?android:layout_height="wrap_content"
? ? ? ?android:gravity="center"
? ? ? ?android:text="Hello World!"
? ? ? ?android:textSize="18sp" />
? ?<Button
? ? ? ?android:id="@+id/btn1"
? ? ? ?android:text="BUTTON1"
? ? ? ?android:layout_width="match_parent"
? ? ? ?android:layout_height="wrap_content" />
</LinearLayout>
MainActivity.java:
@BindView(R.id.btn1)
Button btn1;
@OnClick(R.id.btn1)
public void test(View view) {
? ?Toast.makeText(MainActivity.this,"test",Toast.LENGTH_SHORT).show();
}
@Onclick传入Button的id为Button设置点击事件监听,运行实例如下:

谢谢关注我的微信公众号,觉得好可以分享到朋友圈哦.

请关注我的新浪微博:AndroidTip
CSDN博客:http://blog.csdn.net/yayun0516