项目github地址:https://github.com/JakeWharton/butterknife
ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。
1、强大的View绑定和Click事件处理功能,简化代码,提升开发效率
2、方便的处理Adapter里的ViewHolder绑定问题
3、运行时不会影响APP效率,使用配置方便
4、代码清晰,可读性强
在项目的project 的build.gredle 文件中的dependencies标签下添加。
dependencies { compile 'com.jakewharton:butterknife:8.7.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0' }buildscript { repositories { mavenCentral() } dependencies { classpath 'com.jakewharton:butterknife-gradle-plugin:8.7.0' } }
apply plugin: 'com.android.library' apply plugin: 'com.jakewharton.butterknife'
- 控件id 注解: @BindView()
- ( R.id.button1 )
-
- 多个控件id 注解: @BindViews()
({ R.id.button1 , R.id.button2 , R.id.button3 }) public List<Button> buttonList ;
- fragment 使用
- ButterKnife.bind( this , view ) ;
- @BindString() :绑定string 字符串
- ( R.string.app_name ) //绑定string 字符串
- String meg;
- @BindArray() : 绑定string里面array数组
<resources>
<string name="app_name">WiFi管家</string>
<string-array name="city">
<item>厦门市</item>
<item>福州市</item>
<item>泉州市</item>
<item>漳州市</item>
<item>龙岩市</item>
</string-array>
</resources>
(R.array.city ) //绑定string里面array数组 String [] citys ;
//绑定activity ButterKnife.bind( this ) ;
- @BindBitmap( ) : 绑定Bitmap 资源public Bitmap wifi_bitmap ;
- ( R.color.colorAccent ) int black ; //绑定一个颜色值
- @OnClick( ) : 绑定控件点击事件
- @OnLongClick( ) : 绑定控件长按事件
public void showToast(){
Toast.makeText(this, "is a click", Toast.LENGTH_SHORT).show();
}
zelezny : Butterknife插件的使用