Android Studio中ButterKnife插件的安装与使用

最近用到Android Butterknife Zelezny插件,感觉特别棒!在Android开发过程中,我们会写大量的初始化控件和设置控件点击事件的操作,这样简单而重复的工作让人觉得麻烦而且没意思,可以采用注解的方式去实现,而ButterKnife是注解中相对简单易懂的开源框架。

一、Android Studio中安装ButterKnife插件:
(1)和安装其他插件一样,首先,打开:settings->plugins界面
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

(2)重新启动了Android Studio之后,此时我们已经安装了ButterKnife插件了,接下来在项目的bulid.gradle中添加依赖,如下图所示:

compile 'com.jakewharton:butterknife:7.0.0'

这里写图片描述

(3)重新编译一下该项目,就可以在代码中使用注解的方式了,在这里我们先写一个简单的布局文件来举例:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tv1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="TextView1" />

    <Button
        android:id="@+id/btn1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button1" />

    <Button
        android:id="@+id/btn2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button2" />

    <ImageView
        android:id="@+id/iv1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@mipmap/ic_launcher" />

</LinearLayout>

如果不使用ButterKnife插件,我们需要在 重写的onCreate()方法中通过findViewById()对控件进行实例化并对控件添加事件监听,如下如所示:
这里写图片描述

代码还是比较简洁,这也是因为我们的布局相对而言比较简单,可是如果布局比较复杂的话,这样的操作就显得比较繁琐。现在我们只需要简单点击几下鼠标就可以完成这些操作了。

(4)鼠标双击选择布局文件名,右键(或者直接快捷键:Alt+Insert)
这里写图片描述

这里写图片描述

这里写图片描述

已标记关键词 清除标记
Module gradle apply plugin: 'com.android.library' apply plugin: 'com.jakewharton.butterknife' android { compileSdkVersion 26 buildToolsVersion "26.0.2" defaultConfig { minSdkVersion 15 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } 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:26.0.0-alpha1' testCompile 'junit:junit:4.12' compile project(':latte-annotations') //字体图标 compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.2.2' compile 'com.joanzapata.iconify:android-iconify-ionicons:2.2.2' //Fragmenttation第三方库 compile 'me.yokeyword:fragmentation:1.3.5' compile 'me.yokeyword:fragmentation-swipeback:1.3.5' //butterknife compile 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' } App gradle buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1' } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } gradle wrapper.properties #Mon Dec 28 10:00:20 PST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip ![图片说明](https://img-ask.csdn.net/upload/201808/10/1533871469_384842.png) 配置后给出错误提示 Error:(1, 0) Minimum supported Gradle version is 3.3. Current version is 2.14.1. If using the gradle wrapper, try editing the distributionUrl in E:\AndroidCode\TaoJB\gradle\wrapper\gradle-wrapper.properties to gradle-3.3-all.zip <a href="openFile:E:\AndroidCode\TaoJB\example\build.gradle">Open File</a>
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页