Kotlin + Android KTX让开发更简单

写在前面

最近Google新推出了一套扩展插件 Android KTX,可以结合Kotlin写出更自然更简洁的代码,趁热来学习一下

Github地址
https:/github.com/android/android-ktx/

开始

首先进行依赖

implementation 'androidx.core:core-ktx:0.1'

官方案例对比

Kotlin创建一个Uri对象
 var s = "https://www.google.com"
 var uri = Uri.parse(s)

使用Android KTX + Kotlin之后

 var s = "https://www.google.com".toUri()
SharedPreferences

Koltin

sharedPreferences.edit().putBoolean(key, value).apply()

Kotlin + Android KTX

sharedPreferences.edit { 
    putBoolean(key, value) 
}
Canvas

Kotlin

val pathDiffer = Path(mPath1).apply {
   op(mPath2, Path.Op.DIFFERENCE)
}

val mPaint = Paint()

canvas.apply {
     val checkpoint = save()
     translate(0F, 100F)
     drawPath(pathDiffer, mPaint)
     restoreToCount(checkpoint)
}

Kotlin + Android KTX

val pathDiffer = mPath1 - mPath2

canvas.withTranslation(y = 100F) {
   drawPath(pathDiffer, mPaint)
}
在 onPreDraw 回调中执行其他任务

Kotlin

view.viewTreeObserver.addOnPreDrawListener(
       object : ViewTreeObserver.OnPreDrawListener {
           override fun onPreDraw(): Boolean {
               viewTreeObserver.removeOnPreDrawListener(this)
               actionToBeTriggered()
               return true
           }
       })

Kotlin + Android KTX

view.doOnPreDraw { actionToBeTriggered() }

简直流畅的不要不要的,感觉有兴趣可以去看看API文档:https://android.github.io/android-ktx/core-ktx/

结尾

只有一首歌来表达现在的心情了


Kotlin + Android KTX让开发更简单_第1张图片
song.png

你可能感兴趣的:(Kotlin + Android KTX让开发更简单)