前言:
这篇文章就介绍一下,如何在kotlin 中怎么去使用 ButerKnife , 想必在java代码中去使用 ButterKnife 大家都玩的风生水起了,那么在kotlin中怎么去配置呢,怎么去使用KuterKnife呢,可能还有些小伙伴不是很熟悉,那么这里我就在这里介绍一下,如果在Kotlin 中怎么去使用。
正文:
前面鄙人发表过的文章已经介绍过,如果在java 代码中去使用 ButterKnife了
Android Studio 结合 ButterKnife Zelezny 高效使用 Butterknife(黄油刀)
同样也介绍过如果在Android Studio 中配置使用 Kontlin
Android Studio 配置使用 Kotlin
如果大家不是很熟的话,可以观看一下以上两篇文章。
好,接下来就直接开始介绍在Kotlin 中去使用ButterKnife 吧。
大家可以根据 这篇文章Android Studio 配置使用 Kotlin 配置好Kotlin 语言的环境。
buildscript {
ext.kotlin_version = '1.3.11'
ext.butterknife_version='8.6.0'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.jakewharton:butterknife-gradle-plugin:$butterknife_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
第二步:在 app module 下的 gradle 中配置加入 ButterKnife 并且引用Kotlin 应用插件
(这里要注意的是这里引用进入的 ButterKnife-comiler 前面不是 apt 现在是 kapt)
apply plugin: 'com.android.application'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android'
implementation 'com.jakewharton:butterknife:8.8.1'
kapt "com.jakewharton:butterknife-compiler:8.8.1"
第三步:开始使用 (布局文件中随便写了几个控件,主要是演示一下)
接下来我就直接贴代码了
class MainActivity : AppCompatActivity() {
//使用ButterKnife查找控件
@BindView(R.id.text_view) lateinit var textView :TextView
@BindView(R.id.one) lateinit var one :Button;
var unbinder : Unbinder? = null;
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//注册ButterKnife
unbinder = ButterKnife.bind(this)
}
/**
* Kotlin 支持,高阶函数和Lambda表达式
* 这里如果不熟悉的话,也可以进行百度一下,这里就不做太多是解释了
*/
@OnClick(R.id.one,R.id.two,R.id.three)
fun onClick(view : View){
when(view.id){
R.id.one ->{
Toast.makeText(this,"one",Toast.LENGTH_SHORT).show()
}
R.id.two ->{
Toast.makeText(this,"two",Toast.LENGTH_SHORT).show()
}
R.id.three ->{
Toast.makeText(this,"three",Toast.LENGTH_SHORT).show()
}
}
}
override fun onDestroy() {
super.onDestroy()
unbinder!!.unbind()
}
}
好了,接下来运行一下看效果吧
总结:
好了,到这里也就介绍完了,但是不是感觉少点什么呢,那么就是快捷插件了。在java 代码中我们可以只有快捷插件来快速生成,查找控件,以及添加点击事件的方式
也就是 ButterKnife Zelezny (使用方式欢迎查看 Android Studio 结合 ButterKnife Zelezny 高效使用 Butterknife(黄油刀)) 。
那么在Kotlin 中有没有类似的插件呢,可以减少我们手打代码的时间,.....额......这里有点可惜,笔者还没找到类似的插件工具。如果你知道 欢迎评论给大家提醒哦~