android 视图自动注入的第三方库-ButterKnife插件用法介绍
2016-07-11 10:49
399 查看
写一个新的界面时,总是避免不了写大量的findViewById()来将视图里的空间与代码中的绑定起来。用了这个插件后,通过添加注解的方式,代码在编译的时候会自动生成绑定代码,从而省去了我们写findView()的工作量。下面就来看看这个神奇的ButterKnife怎么用。
在gradle里添加compile'com.jakewharton:butterknife:6.1.0'
在Fragment中使用Butterknife还有一点很重要,要在OnDestroyView()执行butterknife的reset操作
一、添加jar包引用
dependencies{ compilefileTree(dir:'libs',include:['*.jar']) compileproject(path:':PullToRefresh') compile'com.jakewharton:butterknife:6.1.0' }
二、在onCreate()里声明
在onCreate()方法里的setContentView()之后声明使用ButterKnife注解,ButterKnife.inject(this);setContentView(R.layout.activity_resource_detial); ButterKnife.inject(this);
三、在代码添加注解
在代码中定义控件时,添加@InjectView()注解,注解括号中是该控件在界面中定义的IDpublicclassResourceDetialActivityextendsBasicActivityimplementsView.OnClickListener{ @InjectView(R.id.img_left) ImageViewtitleBack; @InjectView(R.id.lable_title) TextViewtitleText; @InjectView(R.id.resource_detial_name) TextViewresourceName;
四、在代码中直接调用控件
完成上述操作后,添加注解的控件会在编译时自动完成与视图中对应控件的绑定。五、在Fragment中使用ButterKnife
ButterKnife除了支持Activity,还可以在Fragment中使用,只需要在fragment的OnCreateView中的inflate后声明使用butterknife,声明时要多加一个view参数。Viewview=inflater.inflate(R.layout.fancy_fragment,container,false);
ButterKnife.inject(this,view);
在Fragment中使用Butterknife还有一点很重要,要在OnDestroyView()执行butterknife的reset操作
@OverridevoidonDestroyView(){
super.onDestroyView();
ButterKnife.reset(this);
}
相关文章推荐
- (4.6.14)android 插桩基本概念plugging or Swap
- Android自定义View——自由定制优惠券背景
- 给自定义控件添加自定义属性--declare-styleable
- java虚拟机jvm和android虚拟机dalvik区别
- 常用的第三方视频播放工程
- 弄明白Android 接口回调机制
- Android 动画--使用Path来规划动画的轨迹
- Android学习笔记(二)—— Toast
- 【Android】切换Activity时使用Bundle封装Map对象
- android ndk之常用命令
- Android查询扫描SD卡里指定后缀名称的文件
- 【Android基础知识】FragmentPagerAdapter和FragmentStatePagerAdapter
- Android图片上传(看了别人的博客,图片无法上传,文章解决办法)
- android笔记之自定义组件
- android 多线程断点续传下载 一
- Android中SurfaceView的使用详解
- win android环境
- Android开发之WebService介绍
- Android Studio 快捷键
- Android Studio 单独编译一个 Module