原作者介紹 Anko與Kotlin 怎樣使提示框和對話框編寫變得更加簡單。 ...
時間:Mar 9, 2017
原文鏈接:https://antonioleiva.com/dialogs-android-anko-kotlin/
藉助Builder,在Android創建警告提示和對話框相對來說是件簡單的事,但是由於語言繁雜,有些提示通常就變得十分含糊。
在Kotlin中,僅Lambda表達式,可以幫助我們理解一點代碼是怎樣處理的。
但是,有了Anko,我們能夠這一切都更加簡單,在這篇文章中我們看到是怎麼回事。
在Kotlin用Anko做警告提示
通過Anko編寫警告提示是非常容易的。只需要創建一個alert代碼塊:
1 alert("Testing alerts") { 2 ... 3 }.show()
在這個代碼塊中,你能夠規定一些事情,如提示的標題,或你要顯示的按鈕:
1 alert("Testing alerts") { 2 title("Alert") 3 yesButton { toast("Yess!!!") } 4 noButton { } 5 }.show()
這塊代碼的結果是這樣的:
你還可以用positiveButton
、negativeButton
和neutralButton
方法定製一些動作:
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()
其結果如下:
結論
由於有了Anko和Kotlin,如你所見創建小的DSL是件簡單的事。理想情況下,你可以在框架的任何一個部分創建DSL,所以它使得交互非常容易。
在稍後的文章中,我們說明怎樣通過SQLite處理資料庫。
現在,是否該閱讀免費使用指南,來學習如何構建你的第一個項目?或是讀本書,學習如何從頭開始創建一個完整的應用程式?