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 的介绍就完毕了!相信大家已经有所了解了!(本人水平有限,有错误的地方,欢迎大家指出)







0 0
原创粉丝点击