AndroidStudio中使用butterknife

前言

全程鼠标和快捷键操作,不需要手动添加一行代码!


正文

butterknife 的 github 地址: https://github.com/JakeWharton/butterknife

一、使用原因

butterknife 主要是为了解决 findViewById 和 onClick 的重复和繁琐,提高我们的编码效率而出现的。

缺点:虽然说 findViewById 比较繁琐,但是我们一看就明白,而通过注解的方式,个人觉得代码的阅读性会变差,但是随着熟练度的增加,这个缺点也可以忽视了。

二、使用方法

1. 打开 Android Studio 的设置页面下载插件 Android ButterKnife Zelezny ,安装完毕后重启 Android Studio ,如下图所示:

image

2.在 Activity 或者 Fragment 中,鼠标放在资源文件上,快捷键 Alt+Insert ,或者鼠标右键选择,选择 Generate ,如下图所示:

image

3.在 app 下的 bulid.gradle 中添加如下依赖:
1
2
3
4
5
6
7
dependencies {
compile 'com.jakewharton:butterknife:8.5.1'
compile 'com.jakewharton:butterknife-compiler:8.5.1'
//8之前只需要第一个依赖就行了,8之后需要这两个依赖
}

也可以使用图形化界面添加依赖:打开 file - Project Structure -选中 app -切换到 Dependencies - 点击右侧加号 - 搜索 butterknife , 如图所示:

image

4.选择 Generate Butterknife Injections 之后,会弹出以下窗口:

image

其中:
onClick 选项为:是否添加点击事件。
Variable Name 表示:生成的变量名称。
Creat ViewHolder 表示:是否创建为 ViewHolder。
Split Onclick methods 表示:点击事件分开或者合并。

5.创建完成之后,如下方图片和代码所示:

image

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@BindView(R.id.text_1)
TextView text1;
@BindView(R.id.text_2)
TextView text2;
@BindView(R.id.btn_1)
Button btn1;
@BindView(R.id.btn_2)
Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
}
@OnClick({R.id.btn_1, R.id.btn_2})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.btn_1:
break;
case R.id.btn_2:
break;
}
}