Diálogos y alertas en Android usando Anko y Kotlin (KDA 24)
Antonio Leiva

Crear alertas y diálogos en Android es una tarea relativamente sencilla gracias a los builder, pero que debido a la verbosidad del lenguaje se suele convertir en algo bastante ilegible.

En Kotlin, ya por el mero hecho de las lambdas, nos simplifica un poco el entender qué está pasando en ese código.

Pero gracias a Anko, podemos hacer todo esto más sencillo todavía, y en este artículo vamos a ver cómo.

Si quieres aprender cuál es la situación de Kotlin en el mercado, por qué debes aprenderlo y los primeros pasos para que veas lo fácil que es, he preparado un training gratuito de hora y media al que puedes unirte haciendo click aquí.

Alertas en Kotlin con Anko

Escribir alertas con Anko es sencillísimo. Tan sólo tienes que crea un bloque alert:

alert("Testing alerts") {
    ...
}.show()

Dentro del bloque, puedes especificar algunas cosas como el título de la alerta, o los botones que quieres que aparezcan

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

Esto tiene como resultado una alerta así:

alert-anko-kotlin

Puedes personalizar las acciones, utilizando los métodos positiveButton, negativeButton y neutralButton:

alert("Testing alerts") {
    title("Alert")
    positiveButton("Cool") { toast("Yess!!!") }
    negativeButton("Never Ever") { }
    neutralButton("I'll think about it")
}.show()
alert-anko-kotlin-2

En incluso añadirle una vista custom que, por supuesto, puedes crear con el propio Anko:

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

Diálogos de progreso

Otra función interesante que incluye Anko es la de crear diálogos de progreso, y de progreso indeterminado.

Por poner un ejemplo de los segundos, puedes crear un diálogo de progreso de esta forma tan sencilla:

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

El resultado de la línea anterior será este:

alert-anko-kotlin-4

Conclusión

Ya ves que gracias a Anko y la potencia de Kotlin, se pueden crear pequeños DSLs para simplificar tareas. Idealmente podrías crear DSLs sobre cualquier parte del framework, de tal forma que haga mucho más sencilla la interacción con ella.

En algún artículo posterior veremos cómo tratar con bases de datos SQLite.

Si te gusta lo que has visto, te animo a que te apuntes al training gratuito, donde te contaré todo lo que necesitas para aprender a crear tus Apps Android en Kotlin desde cero.

Quizá también te interese…

Kotlin 1.5.0 : Las 5 novedades que puedes empezar a usar hoy

Kotlin 1.5.0 : Las 5 novedades que puedes empezar a usar hoy

Kotlin 1.5.0 ya está aquí, y como siempre trae una serie de novedades que te van a interesar muchísimo. Cabe destacar que a partir de ahora, de acuerdo las nuevas versiones de Kotlin se lanzarán cada 6 meses, independientemente de las nuevas funcionalidades que...

¿Qué es Kotlin y para qué sirve?

¿Qué es Kotlin y para qué sirve?

Kotlin es un lenguaje de programación de código abierto creado por JetBrains que se ha popularizado gracias a que se puede utilizar para programar aplicaciones Android. Pero si has llegado hasta aquí pensando que Kotlin solo se puede usar en Android, lo que te voy a...

2 formas de recolectar Flows en la UI que SÍ funcionan

2 formas de recolectar Flows en la UI que SÍ funcionan

En la serie de artículos sobre Programación Reactiva con Flow hemos visto muchos conceptos, y hemos aprendido cómo aplicarlos al desarrollo Android. Pero hay algo que no hemos hecho del todo bien. Esto es la recolección de Flows desde la Activity (o el Fragment, en...

0 comentarios

Enviar un comentario

Los datos personales que proporciones a través de este formulario quedarán registrados en un fichero de Antonio Leiva Gordillo, con el fin de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento de la parte interesada. Si no se acepta, no podrás comentar en este blog. Los datos que proporciona solo se utilizan para evitar el correo no deseado y no se usarán para nada más. Puede ejercer los derechos de acceso, rectificación, cancelación y oposición en contacto@devexperto.com.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *