Butter Knife 配置和使用及插件

原创 2016年10月29日 10:36:30

目前最新的版本是8.4.0的

官网:http://jakewharton.github.io/butterknife/

GitHub:https://github.com/JakeWharton/butterknife

配置:

1.在app下的build.gradle中添加apply和compile

apply plugin: 'com.android.application'
<strong>apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'com.jakewharton.butterknife'</strong>

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"

    aaptOptions {
        cruncherEnabled = false
        useNewCruncher = false
    }
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
    
    <strong>compile 'com.jakewharton:butterknife:8.4.0'
    apt 'com.jakewharton:butterknife-compiler:8.4.0'</strong>

}
2.在project下的build.gradle中添加classpath

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
        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
}
3.在Activity中配置并使用

class ExampleActivity extends Activity {
 @BindView(R.id.title) TextView title
  @BindView(R.id.subtitle) TextView subtitle;
  @BindView(R.id.footer) TextView footer;

  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    ButterKnife.bind(this);
    // TODO Use fields...
  }
}

4.绑定Button,参数可选

<span style="font-size:12px;">@OnClick(R.id.submit)
public void submit(View view) {
  // TODO submit data to server...
}</span>
@OnClick(R.id.submit)
public void submit() {
  // TODO submit data to server...


5.绑定ViewHolder
static class ViewHolder {
    @BindView(R.id.title) TextView name;
    @BindView(R.id.job_title) TextView jobTitle;

    public ViewHolder(View view) {
      ButterKnife.bind(this, view);
    }
  }
6.绑定资源

class ExampleActivity extends Activity {
@BindString(R.string.title) String title;
@BindDrawable(R.drawable.graphic) Drawable graphic;
@BindColor(R.color.red) int red; // int or ColorStateList field
@BindDimen(R.dimen.spacer) Float spacer; // int (for pixel size) or float (for exact value) field
  // ...
}
7.代码混淆

-keep class butterknife.** { *; }  
-dontwarn butterknife.internal.**  
-keep class **$$ViewBinder { *; }  
  
-keepclasseswithmembernames class * {  
    @butterknife.* <fields>;  
}  
  
-keepclasseswithmembernames class * {  
    @butterknife.* <methods>;  
}
8.插件Zelezny

可视化快速生产view

安装Preferences → Plugins → Browse repositories and search for ButterKnife Zelezny

或Preferences → Plugins → Install plugin from disk

GitHub地址:https://github.com/avast/android-butterknife-zelezny

使用(图是官网的):

鼠标放在布局上右键——>Generate——Generate ButterKnife Injections





版权声明:本文为博主原创文章,未经博主允许不得转载。

Android访问WCF服务(使用json实现参数传递)

经过多日努力, 终于勉强弄明白了Android访问WCF服务的方法. 服务端实现 一, 实现服务. 操作契约 [ServiceContract] public ...

父类如何获取子类传递的泛型

package com.reflect.other;import java.io.Serializable;/** * 简单pojo类(测试用,无具体意义) * * @author edgew...

Butter Knife的配置和使用

butterknife which uses annotation processing to generate boilerplate code for you. Jar包下载。   一、...

android stduio 中 butter knife的配置和使用

本文介绍butter knife的作用和在android studio的配置使用 在 butter knife 的 github上 第一句话就是: Field and method binding...

Butter Knife 配置及使用入门详解

Butter Knife 配置及使用入门详解简介 Butter Knife 是一个工具, 可以通过注解(Annotation)的形式绑定Android中的各种资源, 例如: 控件, string,...

Butter Knife简单使用教程

1.Activity中使用例子class ExampleActivity extends Activity { @Bind(R.id.title) TextView title; @Bind(...

使用Butter Knife

关于Butter Knife这个插件我第一次见到还是在上个月公司同事写的一部分代码中,第一次见到它后,内心直呼:这尼玛是什么鬼。但新手也没在怕的,不会就马上去百度了,原来这是用在我们初始化绑定控件的时...

Butter Knife 7.0.1 使用方法

Butter Knife , Android 视图中field和方法的绑定 带有“@Bind(R.id.xxx)” Butter Knife注解的域(或者叫字段),Butter Knife 会自动在...

Android依赖注入类库 Butter Knife的使用

我们做移动端开发,每天写代码时几乎都会跟各种View打交道,大量的声明和findViewById()让人感到厌烦,但是又不得不写,今天给大家推荐一个第三方开源注解工具,ButterKnife,大家可自...

Butter Knife 8.8.1的安装和使用

Butterknife 8.8.1 一.Butter Knife简介…… 二.Butter Knife优点…… 三.Butterknife 的安装…… 四.Butter Knife的项目配置…… 五...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Butter Knife 配置和使用及插件
举报原因:
原因补充:

(最多只允许输入30个字)