时间:Mar 9, 2017
原文链接:https://antonioleiva.com/dialogs-android-anko-kotlin/
借助Builder,在Android创建警告提示和对话框相对来说是件简单的事,但是由于语言繁杂,有些提示通常就变得十分含糊。
在Kotlin中,仅Lambda表达式,可以帮助我们理解一点代码是怎样处理的。
但是,有了Anko,我们能够这一切都更加简单,在这篇文章中我们看到是怎么回事。
在Kotlin用Anko做警告提示
通过Anko编写警告提示是非常容易的。只需要创建一个alert代码块:
alert("Testing alerts") {
...
}.show()
在这个代码块中,你能够规定一些事情,如提示的标题,或你要显示的按钮:
alert("Testing alerts") {
title("Alert")
yesButton { toast("Yess!!!") }
noButton { }
}.show()
这块代码的结果是这样的:
你还可以用positiveButton
、negativeButton
和neutralButton
方法定制一些动作:
alert("Testing alerts") {
title("Alert")
positiveButton("Cool") { toast("Yess!!!") }
negativeButton("Never Ever") { }
neutralButton("I'll think about it")
}.show()
当然,你甚至还能通过Anko加定制的视图:
alert {
title("Alert")
positiveButton("Cool") { toast("Yess!!!") }
customView {
linearLayout {
textView("I'm a text")
button("I'm a button")
padding = dip(16)
}
}
}.show()
进度对话框
Anko还有另一特性,可以创建进度对话框,和不确定进度。
这里给出第二例子,你能够用这样一个简单的方法,创建进度对话框:
indeterminateProgressDialog("This a progress dialog").show()
其结果如下:
结论
由于有了Anko和Kotlin,如你所见创建小的DSL是件简单的事。理想情况下,你可以在框架的任何一个部分创建DSL,所以它使得交互非常容易。
在稍后的文章中,我们说明怎样通过SQLite处理数据库。