ButterKnife在Android项目中是一个很好的插件,不需要繁琐的去实例化每个控件,直接通过此插件实例化,还简洁代码。但是每次引入后做完这个项目开启下一个时,晕,又忘记怎么配置了,所以写下来。
一、 首先AndroidStudio下载安装此插件:
File>>Settings>>找到Plugins选项>>右侧输入框中搜索ButterKnife>>Install安装 其实流程和使用其他插件一样,安装完还需要重启一下AS。
二、配置Gradle
在当前.gradle文件中添加:
apply plugin: 'android-apt'
在根目录的build.gradle的dependencies(依赖)下添加一句:
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
全部代码如下(不要忘记重新编译哦):
apply plugin: 'com.android.application' apply plugin: 'android-apt' android { compileSdkVersion 25 buildToolsVersion "24.0.3" defaultConfig { applicationId "com.greenvehiclegoods.eagle.greenvehiclegoods" minSdkVersion 14 targetSdkVersion 25 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:25.0.1' compile project(':androidlib') compile 'com.google.zxing:core:3.3.0' compile 'com.jakewharton:butterknife:8.4.0' apt 'com.jakewharton:butterknife-compiler:8.4.0' compile 'com.android.support:design:25.0.1' compile files('F:/LiuH/WorkSpace/WorkDemo/greenvehicleGoods/libs/classes.jar') }
另一个gradle文件
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.2' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }主要是红色的配置,最后别忘记rebuild一下。
三、有的时候需要手动引入一下
右击项目>>Open Moudle Setting>>Dependencies 然后点加号,找到ButterKnife的相关包导入就成,会自动rebuild。
四、使用
package com.greenvehiclegoods.eagle.greenvehiclegoods.ui; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import com.greenvehiclegoods.eagle.greenvehiclegoods.R; public class ResultSearch extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_search); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); } }右击我们的布局文件名称也就是红色部分,选择 》Generate,弹出框中选择Generate ButterKnife ,或弹出一个框,里面包含所有我们已声明ID的控件,还可以给他们自动添加Onclick哦。
再补充一点其他的,有的时候我们这个项目需要引入其他的Module,还得在gradle 里配上 compile project(‘:要引入module的名字’)