1. 程式人生 > >用Anko和Kotlin實現Android上的對話框和警告提示(KAD 24)

用Anko和Kotlin實現Android上的對話框和警告提示(KAD 24)

posit eve linear 免費 clas testing size uil 如何

作者: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處理數據庫。

現在,是否該閱讀免費使用指南,來學習如何構建你的第一個項目?或是讀,學習如何從頭開始創建一個完整的應用程序?

用Anko和Kotlin實現Android上的對話框和警告提示(KAD 24)