在做android开发的时候,要控制界面的布局就需要根据View的id来做控制,然而id每次都需要 findViewById 来获取到View实例,这样写太麻烦了。于是,butterknife 的作用就体现出来了,它可以快速生成布局id注解,就不用每个控件都写 findViewById 了。

 

1、在 Module 的 build.gradle 里面添加View注解库

dependencies {
    //View注解库
    implementation \'com.jakewharton:butterknife:8.8.1\'
    annotationProcessor \'com.jakewharton:butterknife-compiler:8.8.1\'
}

添加好 butterknife 注解库之后就可以简单的运用了。

 

2、初步运用

例如,布局文件代码为:(可以看到其id为 materiel_color)

<TextView
    android:id=\"@+id/materiel_color\"
    style=\"@style/TextViewGray\"
    android:text=\"546486\"/>

在Activity的 onCreate()方法中,绑定初始化 ButterKnife

//绑定初始化ButterKnife
ButterKnife.bind(this);

绑定id

@BindView(R.id.materiel_color)
TextView materielColor;

如上所示,就可以根据 materielColor 来操控这个 TextView 控件了,并不需要在使用 findViewById 来获取TextView实例

上述的写法的代码都是需要手敲的,这样还是有些麻烦。但是,还有一个更简便的做法,我们只需要进行如下操作:

3、我要偷懒

想要偷懒,就还需要引入配套插件[android-butterknife-zelezny] 引入方法如下

在项目内: File > Settings… > plugins     如下图所示

\"\"

如图所示,输入 ButterKnife Zelezny 搜索插件,如果本地有了,就直接勾选点击 OK ,如果没有就在这里直接下载下来。

 

4、插件使用

导入 ButterKnife Zelezny 插件后,就可以使用快捷键自动生成  @BindView 注解了

在局部 文件中写好必要的 id, 然后回到 Activity 界面,将鼠标放到 layout 布局文件上,如图所示

\"\"

鼠标右键 > Generate… > Generate Butterknife Injections 

\"\"

这时,在 Activity 上,就会生成该布局相关的 id 注解,这样就完成了布局上的所有 id 实例!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

收藏 打印