butterknife 使用(笔记)

butterknife
官网地址:https://github.com/JakeWharton/butterknife/tree/8.8.1

使用注释处理为您生成样板代码的Android视图的字段和方法绑定。
findViewById通过使用@BindView字段消除呼叫。
在列表或数组中组合多个视图。一次使用操作,设置器或属性操作它们。
通过@OnClick与其他人注释方法来消除匿名内部类的侦听器。
通过在字段上使用资源注释来消除资源查找。

注意事项:
1.com.android.tools.build:gradle:2.2.2 以下的版本使用配置方式:
Project 级gradle中配置

buildscript {
    repositories {
        jcenter()

        //butterKnife
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

        //butterKnife
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

App Module gradle配置:

apply plugin: 'com.android.application'

// butterKnife
apply plugin: 'android-apt'


android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"

    defaultConfig {
        applicationId "come.lixby.buttferknife"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:26.0.0-alpha1'

    // butterKnife 不能高于8.4.0,高于请参考2配置方式
    compile 'com.jakewharton:butterknife:8.4.0'
    apt 'com.jakewharton:butterknife-compiler:8.4.0'
}

2.com.android.tools.build:gradle:2.2.2 以上的版本使用配置方式:
Project 级gradle中配置

dependencies {
  compile 'com.jakewharton:butterknife:8.8.1'
  annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

Demo 例子:

package come.lixby.buttferknife;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class MainActivity extends Activity {

    @BindView(R.id.textView1)
    TextView textView;
    @BindView(R.id.button1)
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);

        initView();
    }

    private void initView() {
        textView.setText("ButterKnife First");
        button.setText("ButterKnife");

    }

    @OnClick({R.id.textView1, R.id.button1})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.textView1:
                break;
            case R.id.button1:
                break;
        }
    }



    static class ViewHolder {
        @BindView(R.id.textView1)
        TextView textView1;
        @BindView(R.id.button1)
        Button button1;

        ViewHolder(View view) {
            ButterKnife.bind(this, view);
        }
    }
}

自动生成快捷方式: Alt+Insert,前提请安装ButterKnife 插件。

ButterKnife 插件安装:

这里写图片描述

ButterKnife 快捷生成:
这里写图片描述

it’s over.
想进一步了解其他使用,请前往官网学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值