ButterKnife是一个注解框架,从此以后可以不用再写findviewById()方法来初始化控件了,接下来直接硬核告诉大家怎么搭配环境和简单使用就行了,具体教程会在接下来的博客中放出
一.添加依赖
在app的Gradle.Project文件中添加
apply plugin: 'com.jakewharton.butterknife'
以及添加依赖
implementation 'com.jakewharton:butterknife:10.1.0' //butterKnife框架
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
在项目的Gradle.Project文件中添加
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
classpath 'com.jakewharton:butterknife-gradle-plugin:10.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
二.处理报错
因为我的本地SDK环境是28,也就是基于Android9.0,所以在配置时处理一点错
从上面的提示可以看出,需要在AndroidManifest.xml文件中添加appComponentFactory
tools:replace="android:appComponentFactory"
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:appComponentFactory">
但是添加完成之后又出现了一个错误,
原来上面我们是更换了appComponentFactory,所以要添加一个appComponentFactory,加入以下代码:
android:appComponentFactory="androidx.core.app.CoreComponentFactory"
Build完毕,没有任何错误!
3.简单使用
在activity的serContentView()方法之后初始化ButterKnife
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
如果太多控件,可以使用 ButterKnife Injections一键生成
在AndroidStudio->File->Settings->Plugins->搜索Zelezny下载添加就行 ,可以快速生成对应组件的实例对象,不用手动写。使用时,在要导入注解的Activity 或 Fragment 或 ViewHolder的layout资源代码上,右键——>Generate——Generate ButterKnife Injections