android 视图自动注入的第三方库-ButterKnife插件用法介绍
来源:互联网 发布:双系统软件不能用 编辑:程序博客网 时间:2024/05/21 00:20
写一个新的界面时,总是避免不了写大量的findViewById()来将视图里的空间与代码中的绑定起来。用了这个插件后,通过添加注解的方式,代码在编译的时候会自动生成绑定代码,从而省去了我们写findView() 的工作量。下面就来看看这个神奇的ButterKnife怎么用。
一、添加jar包引用
在gradle里添加 compile 'com.jakewharton:butterknife:6.1.0'
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(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()注解,注解括号中是该控件在界面中定义的ID
public class ResourceDetialActivity extends BasicActivity implements View.OnClickListener { @InjectView(R.id.img_left) ImageView titleBack; @InjectView(R.id.lable_title) TextView titleText; @InjectView(R.id.resource_detial_name) TextView resourceName;
四、在代码中直接调用控件
完成上述操作后,添加注解的控件会在编译时自动完成与视图中对应控件 的绑定。
五、在Fragment中使用ButterKnife
ButterKnife 除了支持Activity,还可以在Fragment中使用,只需要在fragment的OnCreateView中的inflate后声明使用butterknife,声明时要多加一个view参数。
View view = inflater.inflate(R.layout.fancy_fragment, container, false);ButterKnife.inject(this, view);
在Fragment中使用Butterknife还有一点很重要,要在OnDestroyView()执行butterknife的reset操作@Override void onDestroyView() { super.onDestroyView(); ButterKnife.reset(this);}
0 0
- android 视图自动注入的第三方库-ButterKnife插件用法介绍
- Android视图注入库:butterknife
- Android开发第三方库 -- ButterKnife
- Android Studio 生成 ButterKnife 注入的插件
- Android Studio 生成 ButterKnife 注入的插件
- Android视图注入框架butterknife
- butterknife第三方库的引用方法
- 【开源项目7】Android视图注入库:butterknife
- Butterknife注入框架插件使用介绍
- Android开发第三方库 -- ButterKnife使用详解
- Android第三方库介绍
- [iOS 第三方库介绍]自动处理键盘事件的第三方库 IQKeyboardManager
- ButterKnife第三方库源码分析
- Android 常用第三方插件
- 常用iOS第三方库以及XCode插件介绍
- 常用iOS第三方库以及XCode插件介绍
- 常用iOS第三方库以及XCode插件介绍
- 个人常用iOS第三方库以及XCode插件介绍
- location.search
- 【算法设计与分析】To the max
- 九、STL算法-排序算法(sort)
- C语言基础
- C语言---函数返回值探究
- android 视图自动注入的第三方库-ButterKnife插件用法介绍
- hud 1260 Tickets (简单dp)
- 关于app的几个核心功能的设计想法
- BZOJ 1115: [POI2009]石子游戏Kam
- oracle 12c:新特性-截断表CASCADE
- 【NOIP2016模拟赛No.1】 牛宫
- 计算时间复杂度
- hdu 5104 Primes Problem(素数判定)
- 冒泡排序的实现