Dialogs and alerts on Android using Anko and Kotlin (KAD 24)

Creating alerts and dialogs on Android is a relatively simple task thanks to the builder, but due to the verbosity of the language it usually becomes something quite illegible.

In Kotlin, by the mere fact of the lambdas, it simplifies us a little to understand what is happening in that code.

But thanks to Anko, we can make all this even easier, and in this article we’ll see how.

If you want to start today, I recommend you take a look at my free training, where you will have an hour and a half of content to know what are your next steps to become an expert in Kotlin.

Alerts in Kotlin with Anko

Writing alerts with Anko is pretty easy. Just create an alert block:

alert("Testing alerts") {

Within the block, you can specify some things like the title of the alert, or the buttons that you want to appear

alert("Testing alerts") {
    title = "Alert"
    yesButton { toast("Yess!!!") }
    noButton { }

This results in an alert like this:


You can customize the actions by using the positiveButton, negativeButton and neutralButton methods:

alert("Testing alerts") {
    title = "Alert"
    positiveButton("Cool") { toast("Yess!!!") }
    negativeButton("Never Ever") { }
    neutralButton("I'll think about it")


And even add a custom view that, of course, you can create also with Anko:

alert {
    title = "Alert"
    positiveButton("Cool") { toast("Yess!!!") }
    customView {
        linearLayout {
            textView("I'm a text")
            button("I'm a button")
            padding = dip(16)


Progress Dialogs

Another interesting feature that includes Anko is to create progress dialogs, and indeterminate progress.

To give an example of the second ones, you can create a progress dialog in this simple way:

indeterminateProgressDialog("This a progress dialog").show()

The result of the previous line will be this:



You see that thanks to Anko and the power of Kotlin, you can create small DSLs to simplify tasks. Ideally you could create DSLs on any part of the framework so that it makes interaction with it much easier.

In a later article we’ll see how to deal with SQLite databases.

Cheer up and come to my free training. I will tell you everything you need to learn about how to create your own Android Apps in Kotlin from scratch. Discover everything about the language of the future.

12 thoughts on “Dialogs and alerts on Android using Anko and Kotlin (KAD 24)”

  1. How do you avoid leaking when using the DSL? Does it take care of all lifecycle issues?

  2. How can I implement OnDismissListener of the progress dialog?
    Thank you for your articles and your book.

  3. Ernesto Gálvez

    If I want to connect a xml file with the custom view, how can I do it in kotlin code… Greetings

  4. Some time I don’t want the alert show immediately, Can I show the “alert” after certain seconds ? let say after .show(0.3s) or .show()after(0.4s)

Comments are closed.