android 视图自动注入的第三方库-ButterKnife插件用法介绍

       写一个新的界面时,总是避免不了写大量的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);
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值