用Anko和Kotlin實現Android上的對話方塊和警告提示(KAD 24),ankokotlin

來源:互聯網
上載者:User

用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()

 

這塊代碼的結果是這樣的:

 

你還可以用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()

 

 

其結果如下:

 

 

 

結論

 

由於有了Anko和Kotlin,如你所見建立小的DSL是件簡單的事。理想情況下,你可以在架構的任何一個部分建立DSL,所以它使得互動非常容易。

 

在稍後的文章中,我們說明怎樣通過SQLite處理資料庫。

 

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

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.