• 用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语言 数组名是常量指针
    c语言 动态数组
    c语言 指针的值
    c语言 &取地址运算符的理解
    c语言 指针与地址的区别
    c语言 指针与数组
    linux cheese摄像机工具在window电脑上显示
    C#实现简单的 Ping 的功能,用于测试网络是否已经联通
    c# 扫描局域网IP列表的几种方法
    c# 遍历局域网计算机(电脑)获取IP和计算机名称
  • 原文地址:https://www.cnblogs.com/figozhg/p/6854179.html
Copyright © 2020-2023  润新知