Android Studio中ButterKnife安装使用

ButterKnife 简介

Github:https://github.com/JakeWharton/butterknife

ButterKnife 优势:

  • 1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率
  • 2.方便的处理Adapter里的ViewHolder绑定问题
  • 3.运行时不会影响APP效率,使用配置方便
  • 4.代码清晰,可读性强

使用心得:

  • 1.Activity ButterKnife.bind(this);必须在setContentView();之后,且父类bind绑定后,子类不需要再bind
  • 2.Fragment ButterKnife.bind(this, mRootView);
  • 3.属性布局不能用private or static 修饰,否则会报错
  • 4.setContentView()不能通过注解实现。(其他的有些注解框架可以)

修改配置文件 build.gradle

Android Studio 版本 2.1及以下

在project层级的build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
buildscript {
repositories {
jcenter()
//支持java 依赖库管理(maven/ivy),用于项目的依赖
mavenCentral()
}
//依赖包的定义。支持maven/ivy、远程、本地库
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

在app层级的build.gradle

1
2
3
4
5
6
7
8
9
10
11
apply plugin: 'com.neenbedankt.android-apt'

android {
//...
}

dependencies{
//...
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
}

Android Studio 版本 2.2+

在project层级的build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
buildscript {
repositories {
jcenter()
//支持java 依赖库管理(maven/ivy),用于项目的依赖
mavenCentral()
}
//依赖包的定义。支持maven/ivy、远程、本地库
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

在app层级的build.gradle

1
2
3
4
5
6
7
8
9
10
11
apply plugin: 'com.jakewharton.butterknife'

android {
//...
}

dependencies{
//...
compile 'com.jakewharton:butterknife:8.4.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
}

注意:如果不配置apt或者annotationProcessor,@BindView 可能报空指针异常,@OnClick也不起作用

安装插件Android ButterKnife Zelezny

同步配置文件,然后在上述配置的基础上安装插件Android ButterKnife Zelezny,安装完成重启Android Studio。

至此,ButterKnife插件就已安装成功。在activity或者fragment的R.layout.*处就可以使用右键Generate ButterKnife Injections

如何使用 ButterKnife

  • 1、有所使用的布局 ID 上点击右键 (例如 R.layout.activity_mian ), 然后选择 Generate -> Generate ButterKnife Injections

在R.layout处右键Generate

![Generate ButterKnife Injections](http://www.yezhou.me/AppBlog/images/Android/Generate ButterKnife Injections.png)

  • 2、在对话框中选择需要注入的 View,还有个选项可以给 Adapter 创建一个 ViewHolder。

配置注入控件

  • 3、点击 Confirm, 代码自动生成!

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :