Android Butter Knife使用说明
来源:互联网 发布:淘宝网注册账号手机 编辑:程序博客网 时间:2024/05/21 06:12
Butter Knife已经出现好久了,最近在项目开发中,为了方便就开始使用这个注解框架,感觉还是不错的!是时候了解这个框架了!是JakeWharton大牛的出品!
官网: http://jakewharton.github.io/butterknife/
GitHub地址:https://github.com/JakeWharton/butterknife
JavaDocs地址: http://jakewharton.github.io/butterknife/javadoc/
最新的版本已经更新到了V7.0.1。首先去下载最新的jar包吧!提供一个下载连接
一. 使用配置
如果你还是eclipse平台上开发,那么就需要先在eclipse中配置一下,具体操作如下:
(1).将下载的jar包复制到libs目录下;
(2).项目右键-->Properties-->Java Compiler-->Annotation Processing,在右侧区域勾选Enable project specific settings.如下图所示:
(3).选择Annotation Processing下面的Factory Path,在右侧选择Add JARs。找出项目libs下的butterknife.jar点击Apply,OK。如图所示:
经过上面3补, Butter Knife已经在Eclipse中配置完毕,就可以正常使用了!
如果你使用的是Android Studio,那么配置就很简单,导入了butterknife的jar(或者在build.gradle中已经加入:compile 'com.jakewharton:butterknife:7.0.1 ' )。
二. 使用
接下来,我们就看看在代码里面具体是怎么使用的。
1.在Activity中,我们需要在onCreate()中调用ButterKnife.bind(this);就可以使用了,
绑定id就可以这么写
@Bind(R.id.tv1) TextView tv1; @Bind(R.id.btn1) Button btn1;事件监听,例如OnClickListener,就可以这么写
@OnClick(R.id.btn1) public void btnOnclick(){Toast.makeText(this, "你点击了按钮", Toast.LENGTH_LONG).show();}2.在Fragment中onCreateView()方法中,调用ButterKnife.bind(this, view);就可以了,
其他的和在Activity中一样,没有区别。
3.在 ViewHolder 模式中注入
static class ViewHolder { @Bind(R.id.tv1) TextView tv1; @Bind(R.id.tv2) TextView tv2; public ViewHolder(View view) { ButterKnife.bind(this, view); } }4.事件注入
//不带参数@OnClick(R.id.btn1) public void btnOnclick(){}//带参数@OnClick(R.id.btn1)public void btnOnclick(View view){}//多个view注入同一事件@OnClick({R.id.btn1,R.id.btn2,R.id.btn3})public void onclick(){}三.混淆
如果你代码混淆,那么就需要添加如下代码
-keep class butterknife.** { *; } -dontwarn butterknife.internal.** -keep class **$$ViewBinder { *; } -keepclasseswithmembernames class * { @butterknife.* <fields>; } -keepclasseswithmembernames class * { @butterknife.* <methods>; }至此,Butter Knife 的介绍就完毕了!相信大家已经有所了解了!(本人水平有限,有错误的地方,欢迎大家指出)
- Android Butter Knife使用说明
- Butter Knife 使用说明
- Android--Butter Knife
- Android Butter Knife使用
- Android Butter Knife 安装
- Android 注解框架----Butter knife
- Android Studio涉猎:Butter Knife
- Android注解框架Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- C++类管理锁资源
- java.lang.IllegalStateException: attempt to re-open an already-closed object:
- ACM之2264
- WM_NCCALCSIZE消息处理详解
- NSClassFromString()与NSStringFromClass()的用法及应用场景
- Android Butter Knife使用说明
- 提高数据易用性(12)-色阶
- Archive出现错误 Your build settings specify a provisioning profile with the UUID,however, no such
- Apache 映射到 Tomcat
- 线程池的介绍及简单实现
- EditText输入状态监听
- 面试题19:合并两个排序的链表(offer)
- 例题5 UVA 10881 蚂蚁(Piotr's Ants)
- 二进制、八进制、十进制、十六进制之间的转换