Notificaciones Personalizadas dentro del Layout con Android-AppMsg

La biblioteca Android-AppMsg permite implementar un sistema de notificaciones "in-layout" que mejora la experiencia de usuario en comparación con los Toasts tradicionales de Android. Este proyecto se basa en los cnoceptos de diseño presentados por Cyril Mottier, ofreciendo mensajes informativos que se integran visualmente dentro de la jerarquía de vistas de la aplicación.

Organización del Proyecto

Al explorar el repositorio de Android-AppMsg, encontramos una estructura modular diseñada para facilitar tanto la integración como el aprendizaje mediante ejemplos:

Android-AppMsg/
├── library/          # Código fuente del motor de notificaciones
├── sample/           # Aplicación de ejemplo con implementaciones prácticas
├── build.gradle      # Configuración de construcción global
├── settings.gradle   # Definición de módulos del proyecto
└── CHANGELOG.md      # Historial de cambios y versiones
  • library/: Este es el núcleo del proyecto. Contiene las clases necesarias para generar las vistas de mensaje y gestionar las animaciones de entrada y salida.
  • sample/: Un módulo ejecutable que permite a los desarrolladores probar los diferentes estilos de notificaciones (Info, Confirm, Alert).
  • build.gradle: Define las versiones de las herramientas de compilación y las dependencias compartidas.

Implementación en la Actividad Principal

Para mostrar una notificación utilizando esta librería, se requiere instanciar el objeto AppMsg. A continuación, se presenta un ejemplo de cómo integrar esta funcionalidad en un Activity estándar de Android:

package com.ejemplo.app;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import com.devspark.appmsg.AppMsg;

public class PantallaInicio extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_inicio);

        // Referencia al botón de acción
        Button btnAccion = findViewById(R.id.btn_mostrar_alerta);
        
        btnAccion.setOnClickListener(vista -> {
            // Configuración y despliegue del mensaje
            AppMsg mensaje = AppMsg.makeText(
                PantallaInicio.this, 
                "Operación realizada con éxito", 
                AppMsg.STYLE_CONFIRM
            );
            mensaje.show();
        });
    }
}

En este ejemplo, el método AppMsg.makeText() recibe tres parámetros: el contexto de la actividad, la cadena de texto a mostrar y el estilo predefinido (en este caso, STYLE_CONFIRM).

Configuración del Sistema de Construcción

Para asegurar la compatibilidad y el correcto funcionamiento de la librería, el archivo build.gradle del módulo de la biblioteca debe estar configurado con los parámetros de SDK adecuados. Una configuración típica se vería de la siguiente manera:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 30
    
    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.3.1'
}

El archivo settings.gradle es fundamental para que el IDE reconozca tanto la lógica de la librería como el ejemplo de uso, vinculándolos en el mismo espacio de trabajo:

include ':library', ':sample'

Esta estructura modular permite que cualquier desarrollader pueda importar el módulo library en su propio proyecto y comenzar a emitir notificaciones personalizadas que respetan el diseño de la interfaz de usuario sin bloquear la interacción general.

Etiquetas: Android SDK java UI Design Android UI Toast Notifications

Publicado el 10-14 00:13