前言
Android开发中,每个Activity必不可少的是初始化View,findViewById(),onClick(),等,太繁琐,后来网上大牛出了一个ButterKnife Zelezny的插件,利用注解的方式,可以一键初始化View和onClick方法。这个插件是基于ButterKnife框架,现在ButterKnife已经是8.8版本可,Zelezny不支持8.8版本。囧,囧,囧,这里只好自己用ButterKnife框架实现了。
实现
具体步骤:
1:在project的build.gradle中的dependencies 中加入gradle插件android-apt的支持。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.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
}
2:在modle的build.gradle中的dependencies 中加入ButterKnife的引入。
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.1.1'
compile 'com.android.support:support-v4:25.1.1'
//(添加这个)
compile 'com.jakewharton:butterknife:8.8.1'
apt 'com.jakewharton:butterknife-compiler:8.8.1'
}
3:在modle的build.gradle中的添加apt支持。
apply plugin: 'com.android.application'
apply plugin: 'android-apt'(在顶部application下添加这个)
ok,现在butterknife已经添加完成、。
4:具体使用
在Activity中选中layout的布局,Alt+Insert。选择generate ButterKnife Injections.
选择需要的View。
点击confirm完成。
在Activity中就会用注解的方式添加view和方法。
注:@BindView是利用注解的方式实现,BindView绑定View和Id来实现。注解其实是一种反射的方式来实现。具体详看下一章:自定义注解框架。
除此之外,ButterKnife还有其他更多的方法
需要的可以自行研究,这里就不一一说明了。如果这样嫌麻烦,可以试试ButterKnife Zelezny plugins
在File-Setting-piugins中搜索ButterKnife Zelezny,然后选择install。这是安装好的:
注:ButterKnife Zelezny不支持ButterKnife 8.8版本的。