Android Butterknife 8.5.1 最新使用详解

版权声明:本文为wildma原创文章,转载请注明出处! https://blog.csdn.net/Alpha58/article/details/66473277

转载请注明出处:http://blog.csdn.net/Alpha58/article/details/66473277

前言

以前我们会在代码中写很多findViewById以及setOnClickListener等代码,不仅写起来麻烦,看起来也不整洁。现在我们用View注入框架ButterKnife就能解决这些问题。

ButterKnife的github地址:https://github.com/JakeWharton/butterknife

添加依赖

1,在项目的的build.gredle 文件中的dependencies标签内添加如下:

classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1'

如图所示:
这里写图片描述

2,在Module的的build.gredle 文件中的最上面添加如下:

apply plugin: 'com.jakewharton.butterknife'

3,在Module的的build.gredle 文件中的dependencies标签内添加如下:

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

如图所示:
这里写图片描述

使用

例如在布局文件中我们有个控件tv_text需要绑定

<TextView
        android:id="@+id/tv_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"/>

则我们需要在代码中添加如下代码

1,绑定activity

ButterKnife.bind(this);

2,绑定控件id

@BindView(R.id.tv_text)
    TextView mTvText;

3,使用该控件,如下图所示

这里写图片描述

如果是绑定fragment,则添加如下代码

ButterKnife.bind(this, view);

如果是绑定RecyclerView的item,则在ViewHolder中添加如下代码

public class ViewHolder extends RecyclerView.ViewHolder {

        @BindView(R.id.tv_day)
        TextView     mTvDay;

        public ViewHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }
    }

配合Butterknife插件使用更简单

让我们写上面的代码还是比较麻烦的,高手都是用插件的。使用步骤如下:

插件的安装

1,在settings中搜索插件Zelezny

这里写图片描述

2,点击安装,安装后需要重启android studio

这里写图片描述

插件的使用

1,选中布局文件,点击右键,选择Generate->Generate Butterknife Injections->Confirm,如图:

这里写图片描述

这里写图片描述

这里写图片描述

2,点击Confirm后,会自动生成BindView等代码:

这里写图片描述

OK,Butterknife使用就到这里结束。

猜你喜欢

转载自blog.csdn.net/Alpha58/article/details/66473277
今日推荐