今天学习了一下Butterknife,据说这个开源项目不用自己写findViewById()并且减少多余的代码。所以就尝试着,配置这个安装开源环境,在这里总结一下。
首先附上开源项目github地址:https://github.com/JakeWharton/butterknife
Project中的build.gradle配置
增加这一句。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.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
}
}
module中的配置
增加这一句
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'//增加这一句
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.example.butterknifedemo"
minSdkVersion 15
targetSdkVersion 23
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:23.4.0'
compile 'com.jakewharton:butterknife:8.1.0' //增加这一句
apt 'com.jakewharton:butterknife-compiler:8.1.0'//增加这一句
}
使用Butterknife
1、在layout中进行布局,设置id的name。
例如:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.butterknifedemo.MainActivity">
<TextView
android:id="@+id/mName_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</LinearLayout>
2、在Activity界面进行如下操作。
选中R.layout.activity_main,点击右键–>General–>选中Generate Butter Knife选项。
选择要实例化的id。然后就可以自动生成实例化代码。