AndroidStudio中ButterKnife 的配置和使用

1、 配置ButterKnife

    在项目目录下找到build.gradle配置文件,添加内容如下

compile 'com.jakewharton:butterknife:8.6.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'

    然后Sync Now同步一下就配置好了。

2、添加ButterKnife插件

    找到 File -> Setting -> Plugins,在搜索框中输入“Android ButterKnife Zelezny”,安装该插件后重启Android studio。

3、代码中使用ButterKnife

在onCreate中初始化ButterKnife,然后在需要绑定的成员变量上通过BindView注解就可以绑定控件的ID,之后就可以直接使用该变量操作对应的控件了。(注意:这里在定义变量是不要定义成private或static类型,否则会报错)

public class 
SplashActivity extends AppCompatActivity {

    @BindView(R.id.tv_splash_title)
    TextView tvSplashTitle;
    @BindView(R.id.btn_splash_click)
    Button btnSplashClick;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        
        ButterKnife.bind(this);  //这里一定要在SetContentView后添加
        tvSplashTitle.setText("该控件已经绑定");
    }
}

除了可以以View的形式绑定对应的控件,也可以通过其他标签绑定。</p>

4、各种标签

       绑定View

@BindView(R.id.tv_splash_title)
TextView tvSplashTitle;

      绑定事件(各种事件类型,这里只列举了三个)

@OnClick(R.id.btn_splash_click)
public void BtnClick()
{
    Toast.makeText(this, "点击事件", Toast.LENGTH_SHORT).show();
}
@OnLongClick(R.id.btn_splash_click)
public boolean BtnLongClick()
{
    Toast.makeText(this, "长按事件", Toast.LENGTH_SHORT).show();
    return true;
}    @BindArray(R.array.str1)

    String[] strings;
@OnClick({R.id.btn1, R.id.btn2, R.id.btn3})     //绑定多个控件的事件
public void onViewClicked(View view) {
    switch (view.getId()) {
        case R.id.btn1:
            Toast.makeText(this, "我是点击事件1", Toast.LENGTH_SHORT).show();
            break;
        case R.id.btn2:
            Toast.makeText(this, "我是点击事件2", Toast.LENGTH_SHORT).show();
            break;
        case R.id.btn3:
            Toast.makeText(this, "我是点击事件3", Toast.LENGTH_SHORT).show();
            break;
    }
}

        绑定资源(各种资源类型等)

@BindString(R.string.app_name)
String app_name;
@BindArray(R.array.str1)
String[] strings;
@BindBitmap(R.mipmap.ic_launcher)
Bitmap bitmap;
@BindColor(R.color.colorAccent)
int color;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android StudioButterKnife是一个用于简化Android开发视图绑定的开源库。它可以帮助开发者通过注解方式快速地绑定视图资源,减少findViewById的使用,提高开发效率。 使用ButterKnife,首先需要在项目的build.gradle文件添加依赖: ```groovy dependencies { implementation 'com.jakewharton:butterknife:10.2.1' annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1' } ``` 然后,在需要使用ButterKnife的Activity或Fragment使用`@BindView`注解来绑定视图资源。 例如,在Activity绑定一个TextView: ```java public class MainActivity extends AppCompatActivity { @BindView(R.id.textView) TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); // 视图绑定 // 使用textView textView.setText("Hello ButterKnife!"); } } ``` 在Fragment使用类似的方式绑定视图资源。 需要注意的是,使用ButterKnife进行视图绑定时,必须在`setContentView()`之后调用`ButterKnife.bind(this)`来完成绑定。 除了`@BindView`注解外,ButterKnife还提供了其他注解,如`@OnClick`用于点击事件的绑定、`@Nullable`用于可为空的注解等。 值得一提的是,自从Android Studio 3.6版本起,Google推出了ViewBinding功能,它提供了类似ButterKnife的视图绑定功能,并且是官方支持的。如果使用最新版本的Android Studio,建议使用ViewBinding来代替ButterKnife

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值