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…

¿Qué es Kotlin Multiplataforma?

¿Qué es Kotlin Multiplataforma?

En el mundo actual, donde los dispositivos móviles están presentes en nuestra vida diaria, es fundamental para los desarrolladores crear aplicaciones que se adapten a diferentes sistemas operativos. Kotlin Multiplataforma es una herramienta que facilita la creación de...

5 trucos de Kotlin para escribir código más eficiente en Android

5 trucos de Kotlin para escribir código más eficiente en Android

El lenguaje de programación Kotlin se ha convertido en el más popular para el desarrollo de aplicaciones de Android en los últimos años. Su sintaxis concisa y moderna, junto con su capacidad para mejorar la eficiencia de código, lo convierten en una opción atractiva...

Cómo crear un backend en Kotlin usando Ktor

Cómo crear un backend en Kotlin usando Ktor

Ktor es un framework de servidor web ligero y rápido para Kotlin, desarrollado por JetBrains. Es ideal para crear aplicaciones web y servicios RESTful, y es muy fácil de usar y configurar. En este artículo, vamos a ver cómo crear un backend para una aplicación de...

0 comentarios

Enviar un comentario

Los datos personales que proporciones a través de este formulario quedarán registrados en un fichero de DevExpert, S.L.U., 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 *