Compartir a través de


Notificaciones emergentes

Importante

En este artículo se describen la funcionalidad y las instrucciones que se encuentran en versión preliminar pública, por lo que pueden modificarse de forma sustancial antes de que estén disponibles con carácter general. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información que se ofrece aquí.

Información general

SnackbarContainer es un objeto FrameLayout personalizado con un elemento CoordinatorLayout como elemento secundario que se puede usar como contenedor para las notificaciones emergentes. Este contenedor es compatible con los dispositivos plegables y se puede usar en ellos, pero también en dispositivos normales. El mensaje se mostrará siempre en la parte inferior de la pantalla a una distancia fija de 25 píxeles desde los bordes de la pantalla.

Con la información de WindowManager, este contenedor mueve su elemento secundario CoordinatorLayout a donde el desarrollador necesite: en la primera pantalla, en la segunda pantalla o en toda la pantalla. En otros escenarios, puede usar la clase Snackbar directamente.

Importación de la biblioteca en el proyecto

  1. Asegúrese de que el repositorio mavenCentral() está en el archivo build.gradle de nivel superior:

     allprojects {
         repositories {
             google()
             mavenCentral()
          }
     }
    
  2. Agregue esta dependencia al archivo build.gradle del nivel del módulo:

    dependencies {
         implementation "com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2"
    }
    

  1. Si el proyecto se crea mediante Java, tendrá que agregar una dependencia kotlin-stdlib al archivo build.gradle del nivel del módulo (debido a que la biblioteca de notificaciones emergentes se creó mediante Kotlin).

    dependencies {
       implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    }
    

Procedimiento para mostrar notificaciones emergentes de doble pantalla

Una vez agregado el paquete, siga estos pasos para implementar las notificaciones emergentes de doble pantalla:

  1. Agregue el objeto SnackbarContainer en la parte inferior de la vista raíz Activity o Fragment:

    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:app="http://schemas.android.com/apk/res-auto" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
    
        <com.microsoft.device.dualscreen.snackbar.SnackbarContainer 
            android:id="@+id/snackbar_container" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            app:layout_constraintBottom_toBottomOf="parent" 
            app:layout_constraintEnd_toEndOf="parent" 
            app:layout_constraintStart_toStartOf="parent" /> 
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    
  2. Con una instancia de SnackbarContainer, puede mostrar la clase Snackbar mediante este fragmento de código. El parámetro snackbarContainer es una instancia de SnackbarContainer, el parámetro message es el texto que se va a mostrar y LENGTH_LONG es la duración de la visualización. La función show es una función de extensión que se usa para mostrar la clase Snackbar dentro del objeto SnackbarContainer indicado en la posición especificada.

    Snackbar
        .make(snackbarContainer.coordinatorLayout, message, LENGTH_LONG)
        .show(snackbarContainer, position) 
    

SnackbarPosition

Los valores posibles para el parámetro position son los siguientes:

  • SnackbarPosition.START
  • SnackbarPosition.END
  • SnackbarPosition.BOTH

Estos valores se explican detalladamente a continuación.

SnackbarPosition.START

Las notificaciones emergentes se mostrarán en la parte inferior de la primera área de visualización:

START: snackbar on the first screen, portrait orientation

START: snackbar on the first screen, landscape orientation

SnackbarPosition.END

Las notificaciones emergentes se mostrarán en la segunda área de visualización:

END: snackbar on the second screen, portrait orientation

END: snackbar on the second screen, landscape orientation

SnackbarPosition.BOTH

Las notificaciones emergentes se mostrarán en la parte inferior del área de visualización completa:

BOTH: snackbar on both screens, portrait orientation

BOTH: snackbar on both screens, landscape orientation

Muestra

Puede echar un vistazo al código de la aplicación de ejemplo de notificaciones emergentes para ver todos estos comportamientos.