• 用Anko和Kotlin实现Android上的对话框和警告提示(KAD 24)


    作者:Antonio Leiva

    时间:Mar 9, 2017

    原文链接:https://antonioleiva.com/dialogs-android-anko-kotlin/

    借助Builder,在Android创建警告提示和对话框相对来说是件简单的事,但是由于语言繁杂,有些提示通常就变得十分含糊。

    Kotlin中,仅Lambda表达式,可以帮助我们理解一点代码是怎样处理的。

    但是,有了Anko,我们能够这一切都更加简单,在这篇文章中我们看到是怎么回事。

    KotlinAnko做警告提示

    通过Anko编写警告提示是非常容易的。只需要创建一个alert代码块:

    1 alert("Testing alerts") {
    2     ...
    3 }.show()

    在这个代码块中,你能够规定一些事情,如提示的标题,或你要显示的按钮:

    1 alert("Testing alerts") {
    2     title("Alert")
    3     yesButton { toast("Yess!!!") }
    4     noButton { }
    5 }.show()

    这块代码的结果是这样的:

    你还可以用positiveButtonnegativeButtonneutralButton方法定制一些动作:

    1 alert("Testing alerts") {
    2     title("Alert")
    3     positiveButton("Cool") { toast("Yess!!!") }
    4     negativeButton("Never Ever") { }
    5     neutralButton("I'll think about it")
    6 }.show()

    当然,你甚至还能通过Anko加定制的视图:

     1 alert {
     2     title("Alert")
     3     positiveButton("Cool") { toast("Yess!!!") }
     4     customView {
     5         linearLayout {
     6             textView("I'm a text")
     7             button("I'm a button")
     8             padding = dip(16)
     9         }
    10     }
    11 }.show()

    进度对话框

    Anko还有另一特性,可以创建进度对话框,和不确定进度。

    这里给出第二例子,你能够用这样一个简单的方法,创建进度对话框:

    1 indeterminateProgressDialog("This a progress dialog").show()

    其结果如下:

    结论

    由于有了AnkoKotlin,如你所见创建小的DSL是件简单的事。理想情况下,你可以在框架的任何一个部分创建DSL,所以它使得交互非常容易。

    稍后的文章中,我们说明怎样通过SQLite处理数据库。

    现在,是否该阅读免费使用指南,来学习如何构建你的第一个项目?或是读,学习如何从头开始创建一个完整的应用程序?

  • 相关阅读:
    C# 计算结果四舍五入
    同时执行多条SQL语句
    将一个datatable的值赋给另一个dt的三种方法转
    Oracle中增加、删除、修改字段
    Oracle 某列转为行
    DataList中链接跳转页面传参数
    修改数据库中多个表中的同一个字段的长度(可参照修改成同一字段的列名、注释等)
    克隆表结构
    博客专题
    Rational Rose2003 安装教程
  • 原文地址:https://www.cnblogs.com/figozhg/p/6854179.html
Copyright © 2020-2023  润新知