寫在前面
最近Google新推出了一套擴(kuò)展插件 Android KTX,可以結(jié)合Kotlin寫出更自然更簡(jiǎn)潔的代碼,趁熱來學(xué)習(xí)一下
Github地址
https:/github.com/android/android-ktx/
開始
首先進(jìn)行依賴
implementation 'androidx.core:core-ktx:0.1'
官方案例對(duì)比
Kotlin創(chuàng)建一個(gè)Uri對(duì)象
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 回調(diào)中執(zhí)行其他任務(wù)
Kotlin
view.viewTreeObserver.addOnPreDrawListener(
object : ViewTreeObserver.OnPreDrawListener {
override fun onPreDraw(): Boolean {
viewTreeObserver.removeOnPreDrawListener(this)
actionToBeTriggered()
return true
}
})
Kotlin + Android KTX
view.doOnPreDraw { actionToBeTriggered() }
簡(jiǎn)直流暢的不要不要的,感覺有興趣可以去看看API文檔:https://android.github.io/android-ktx/core-ktx/
結(jié)尾
只有一首歌來表達(dá)現(xiàn)在的心情了
song.png