一.ButterKnife作用
Butterknif属于注解框架,可以避免繁多的findViewByid,setOnClickListener和ViewHolder。
二.安装
设置要分别在工程(包含多个项目)中和项目中设置。
(一) 工程设置
在工程的build.gradle中添加本地仓
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'com.android.tools.build:gradle:2.2.0'
}
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
结果如图所示:
最后同步
(二) Module设置
1.在头上添加
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
2.依赖库中添加
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
最后同步
三.使用
使用前要注解一个注释才能使用!
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutRes());
//注册小刀注解
ButterKnife.bind(this);
initView();
}
在任意布局中,右键点击代码中的布局文件(R.layout.activity_main),选中Generate,然
后选中Butter.或者将光标移动到布局文件后,按alt+insert(Eclipse快捷键),在选中Butter打开的界面选中需要注解的View或者OnClick,也可以生成ViewHolder.
使用步骤1:
使用步骤2:
结果1,生成字符串变量:
结果2,生成点击事件:
还可以创建ViewHolder类
这里提供一个GitHub中原创ButterKnife工具的源码文件地址:
https://github.com/JakeWharton/butterknife
在这个地址中可以了解最新的依赖数据。但是里面使用方法的介绍不是非常详细.
使用ButterKnife要在被操作的控件或组件设置id值,才能生成注解。生成的对象值可以直接使用,不需要实例化,这个在非常多组件的页面是非常使用的。