用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處理數據庫。

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM