前言
文章插图
最近Kotlin的呼声又是日益高涨,前几天9012年Google IO正式将Kotlin从first _class提升为kotlin_first 。我也是接触了一段时间的Kotlin,给我的感觉就是简约,快速 。无需繁琐的findId,高阶函数的应用,再加上Kotlin的null 安全,更是将代码的崩溃率降到更低 。
今天我们就来介绍一下今天的主角—Anko
1.Anko
Anko是JetBrains开发的一个强大的库,说起JetBrains,那就牛逼了,Kotlin语言是他们开发的,最流行的的开发工具intellij idea都是他们开发的,AS也是基于IDEA的 。好了,言归正传,Anko是Kotlin官方开发的一个让开发Android应用更快速更简单的Kotlin库,并且能让我们书写的代码更简单清楚更容易阅读 。它包括多个部分
Anko Commons: a lightweight library full of helpers for intents, dialogs, logging and so on;Anko Layouts: a fast and type-safe way to write dynamic Android layouts;Anko SQLite: a query DSL and parser collection for Android SQLite;Anko Coroutines: utilities based on the kotlinx.coroutines library.1.1 如何使用
添加依赖
dependencies {implementation \\”org.jetbrains.anko:anko:$anko_version\\”}
这里面包括上面四个部分,当然你也可以只依赖一个部分,如下:
dependencies {// Anko Commonsimplementation \\”org.jetbrains.anko:anko-commons:$anko_version\\”
// Anko Layoutsimplementation \\”org.jetbrains.anko:anko-sdk25:$anko_version\\” // sdk15, sdk19, sdk21, sdk23 are also availableimplementation \\”org.jetbrains.anko:anko-appcompat-v7:$anko_version\\”
// Coroutine listeners for Anko Layoutsimplementation \\”org.jetbrains.anko:anko-sdk25-coroutines:$anko_version\\”implementation \\”org.jetbrains.anko:anko-appcompat-v7-coroutines:$anko_version\\”
// Anko SQLiteimplementation \\”org.jetbrains.anko:anko-sqlite:$anko_version\\”}
下面我们分别介绍这几个功能 。
2 AnkoCommons
AnkoCommons对Android开发者来说是一个工具集,包括但不限于下面这几个
IntentsDialogs and toastsLoggingResources and dimensions2.1 Intents
前面已经提到,Commons 库是一个工具集,那Intents主要是帮助简化Activity之间的跳转 。
传统的 Kotlin 启动新的 Activity 的方式是创建一个 Intent,同时可能传递一些参数,最后将创建的 Intent 通过 Context 的 startActivity() 方法传递,就像这样:
val intent = Intent(this, SomeOtherActivity::class.java)intent.putExtra(\\”id\\”, 5)intent.setFlag(Intent.FLAG_ACTIVITY_SINGLE_TOP)startActivity(intent)
然鹅你用Anko只需要这样:
startActivity(intentFor(“id” to 5).singleTop())
如果想要传递多个参数,你也可以这样
startActivity<SomeOtherActivity>(\\”id\\” to 5,\\”city\\” to \\”Denpasar\\”)
当然还有一些关于Intent的其它操作,如:拨打电话等:如下
2.2 Dialogs and toasts
这个库主要是用来快速搭建Dialog和toast,具体包含以下几个
ToastSnackBarAlert (Dialog)SelectorsProgress dialogs2.2.1 Toast
Anko为我们提供了更加简单的Toast使用,只需要一行代码即可实现
toast(\\”Hi there!\\”)toast(R.string.message)longToast(\\”Wow, such duration\\”)2.2.2 SnackBars
SnackBar是 Android Support Library 22.2.0 里面新增提供的一个控件,我们可以简单的把它理解成一个加强版的Toast,或者是一个轻量级的Dialog 。我们可以用下面代码快速创建snackbar 。
view.snackbar(\\”Hi there!\\”)view.snackbar(R.string.message)view.longSnackbar(\\”Wow, such duration\\”)view.snackbar(\\”Action, reaction\\”, \\”Click me!\\”) { doStuff() }
- 富安娜家纺四件套颜色特点 富安娜家纺床上用品
- 情人节颜色代表什么
- 彩虹的七种颜色是什么 彩虹的七种颜色分别是
- 草莓的花是什么颜色 草莓的花有哪些颜色
- 学士服颜色分类是什么 学士服颜色分类的区别
- 什么颜色可以调成粉红色 哪两种颜色混合变粉红色
- 黄颜色的水果有哪些 有哪些黄颜色的水果
- 金丝楠木颜色 金丝楠木颜色是什么
- 颜色种类 颜色有哪些种类
- 浅蓝色和什么颜色最搭 浅蓝色衣服配什么颜色裤子