1. 程式人生 > >Android Studio 如何在 Kotlin 中使用 ButterKnife

Android Studio 如何在 Kotlin 中使用 ButterKnife

前言:

         這篇文章就介紹一下,如何在kotlin 中怎麼去使用 ButerKnife , 想必在java程式碼中去使用 ButterKnife 大家都玩的風生水起了,那麼在kotlin中怎麼去配置呢,怎麼去使用KuterKnife呢,可能還有些小夥伴不是很熟悉,那麼這裡我就在這裡介紹一下,如果在Kotlin 中怎麼去使用。

正文:

         前面鄙人發表過的文章已經介紹過,如果在java 程式碼中去使用 ButterKnife了

        同樣也介紹過如果在Android Studio 中配置使用 Kontlin 

如果大家不是很熟的話,可以觀看一下以上兩篇文章。

好,接下來就直接開始介紹在Kotlin 中去使用ButterKnife 吧。

第一步 :在專案中的 gradle 中去配置 一下程式碼

buildscript {
    ext.kotlin_version = '1.2.10'
    ext.kotlin_version = '1.1.51'
    ext.butterknife_version='8.6.0'
    
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

    }
}

第二步在 app module 下的 gradle 中配置加入 ButterKnife 並且引用Kotlin 應用外掛

(這裡要注意的是這裡引用進入的 ButterKnife-comiler 前面不是 apt  現在是 kapt)

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'


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 程式碼中我們可以只有快捷外掛來快速生成,查詢控制元件,以及新增點選事件的方式

        那麼在Kotlin 中有沒有類似的外掛呢,可以減少我們手打程式碼的時間,.....額......這裡有點可惜,筆者還沒找到類似的外掛工具。如果你知道 歡迎評論給大家提醒哦~