用Anko和Kotlin實現Android上的對話方塊和警告提示(KAD 24),ankokotlin
作者:Antonio Leiva
時間: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處理資料庫。
現在,是否該閱讀免費使用指南,來學習如何構建你的第一個項目?或是讀本書,學習如何從頭開始建立一個完整的應用程式?