android-ktx是谷歌刚刚开源的使用kotlin开发android的扩展包,它的目的是为了让使用kotlin开发android更简洁。目前只是发布的预览版本。可以体验一下,预览版说明以后的api可能会稍微变动变。
android-ktx 目前支持的组件有 view ,SharedPreferences ,Canvas , Animator等

首先使用android-ktx 需要在gradle中引入包

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

使用kotlin把一个字符串转换成Uri可以这么写

val uri = Uri.parse(myUriString)

使用android-ktx 可以简化为

val uri = myUriString.toUri()

使用kotlin编写偏好设置SharedPreferences

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

使用android-ktx 可以直接使用Lambda表达式简化

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

如果我们想使用绘图api将两条路径平移100像素 使用kotlin

val pathDifference = Path(myPath1).apply {    op(myPath2, Path.Op.DIFFERENCE)}canvas.apply {  val checkpoint = save()  translate(0F, 100F)  drawPath(pathDifference, myPaint)  restoreToCount(checkpoint)}

使用android-ktx简单多

val pathDifference = myPath1 - myPath2canvas.withTranslation(y = 100F) {    drawPath(pathDifference, myPaint)}

如果我们想在绘制之前做些事情使用kotlin是

//绘制前的监听view.viewTreeObserver.addOnPreDrawListener(    object : ViewTreeObserver.OnPreDrawListener {        override fun onPreDraw(): Boolean {            viewTreeObserver.removeOnPreDrawListener(this)            actionToBeTriggered()            return true        }    })

使用android-ktx只需要一句话

view.doOnPreDraw {     actionToBeTriggered()}

具体文档可以查看 https://android.github.io/android-ktx/core-ktx/

比如当我们使用android-ktx 写动画的时候 可以直接监听它的回调

animator.addListener { handleAnimation(it) }

也可以监听动画的各种周期函数

animator.addListener(        onEnd = {},         onStart = {},         onCancel = {},         onRepeat = {})

在比如让一个文本加粗

val builder = SpannableStringBuilder(urlString)            .bold { append("hi there") }

让一个bitmap对象转换成drawable 对象更加容易

 var birmap = BitmapFactory.decodeResource(resources,R.drawable.ic_launcher_background) val toDrawable = birmap.toDrawable(resources)

还有很多,都可以在文档中看到。不过现在是预览版,以后稳定版的api可能有所变动。
Android KTX 的扩展包名称都以 androidx 开头,同时,今后 Android Support Library 包也将采用该新前缀。谷歌希望通过区分命名 android.* 和 androidx.*,能帮助开发者更清楚地辨识哪些 API 是和平台绑定的,哪些又是为稳定版支持库开发的,帮助开发者为不同版本的 Android 进行 App 开发。

未来谷歌计划将 Android KTX 作为 Android Support Library 进行发布。

更多相关文章

  1. Android(安卓)-- Vold机制简要分析
  2. Android(安卓)Asynchronous Http Client-Android异步网络请求客
  3. Android百度地图Poi检索开发总结
  4. Android(安卓)dumpsys工具分析
  5. Android网络请求框架AsyncHttpClient详解(整理)
  6. Android(安卓)Hook Java
  7. Android(安卓)okHttp 实战(三):okHttp网络请求之Json解析
  8. Android开发指导文档(译)--content provider(一)
  9. Android(安卓)retrofit2+OkHttp3的初尝试

随机推荐

  1. Android横竖屏切换Activity生命周期变化
  2. android studio错误: 常量字符串过长
  3. 【Android】【配置文件】gradle和manifes
  4. Android发送邮件,并弹出邮箱类应用供选择
  5. 图片循环滑动
  6. android dialog宽度无法填满屏幕解决方案
  7. android把彩色图像变成灰度图(黑白)
  8. android获取资源文件非主流方法
  9. Android反射机制技术的使用示例
  10. android res目录下存放图片文件夹 i m h