Bibliotecas de diseño de doble pantalla
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í.
Estas bibliotecas contienen un conjunto de vistas, diseños, funciones auxiliares, etc. para ayudar a los desarrolladores de Android a crear aplicaciones para dispositivos plegables.
Si deja la responsabilidad de crear y controlar todos los modos de pantalla a nuestros componentes, se podrá concentrar en la creación de una aplicación impresionante.
Módulos
Navegación inferior: contiene una clase BottomNavigationView personalizada con un comportamiento de doble pantalla.
BottomNavigationView
proporciona la capacidad de mover la clase BottomNavigationView en la pantalla izquierda o derecha.
FragmentsHandler: contiene código para controlar fragmentos en modos de pantalla diferentes.
FragmentManagerStateHandler
tiene la capacidad de restaurar fragmentos específicos del modo de pantalla cuando una actividad está realizando la transición a una pantalla doble o única.
Diseños: contiene los diseños para ayudarle a crear la interfaz de usuario para dispositivos de doble pantalla.
FoldableLayout
creará contenedoresSingleScreen
oDualScreen
que contengan la interfaz de usuario.FoldableFrameLayout
ofrece la capacidad de distribuir vistas secundarias o moverlas en la pantalla izquierda o derecha.
RecyclerView: contiene un elemento RecyclerView.ItemDecoration personalizado y una clase LayoutManager con comportamiento de doble pantalla.
FoldableItemDecoration
agrega espaciado para las celdas a fin de cubrir la bisagra del dispositivo cuando la aplicación está en modo distribuido. Esto se debe usar junto conFoldableLayoutManager
.FoldableLayoutManager
proporcionaLinearLayoutManager
cuando el dispositivo está en modo de pantalla única yGridLayoutManager
cuando el dispositivo está en modo distribuido.FoldableStaggeredItemDecoration
agrega espaciado para las celdas a fin de cubrir la bisagra del dispositivo cuando la aplicación está en modo distribuido. Esto se debe usar junto conFoldableStaggeredLayoutManager
.FoldableStaggeredLayoutManager
proporcionaLinearLayoutManager
cuando el dispositivo está en modo de pantalla única yStaggeredGridLayoutManager
cuando el dispositivo está en modo distribuido.
Pestañas: contiene una clase TabLayout personalizada con comportamiento de doble pantalla.
TabLayout
puede detectar una característica plegable y da la opción de organizar las pestañas a su izquierda o derecha.
Componente de navegación plegable: basado en el componente de navegación de Google, este componente contiene un conjunto de bibliotecas que implementa el patrón de navegación de doble pantalla.
Notificaciones emergentes: objeto
FrameLayout
personalizado que se puede usar como contenedor para el objetoSnackbar
a fin de colocarlo en dispositivos plegables.
Declaración de dependencias
Asegúrese de que tiene el repositorio mavenCentral() en el archivo build.gradle de nivel superior:
allprojects { repositories { google() mavenCentral() } }
Agregue las dependencias que necesite al archivo build.gradle de nivel de módulo (la versión actual puede ser diferente de la que se muestra aquí):
Navegación inferior
implementation "com.microsoft.device.dualscreen:bottomnavigation:1.0.0-beta4"
Controlador de fragmentos
implementation "com.microsoft.device.dualscreen:fragmentshandler:1.0.0-beta5"
Diseños
implementation "com.microsoft.device.dualscreen:layouts:1.0.0-beta8"
Pestañas
implementation "com.microsoft.device.dualscreen:tabs:1.0.0-beta4"
RecyclerView
implementation "com.microsoft.device.dualscreen:recyclerview:1.0.0-beta6"
SnackbarContainer
implementation "com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2"
Componente de navegación plegable
def nav_version = "1.0.0-alpha3" // Java language implementation implementation "com.microsoft.device.dualscreen:navigation-fragment:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui:$nav_version" // Kotlin implementation "com.microsoft.device.dualscreen:navigation-fragment-ktx:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui-ktx:$nav_version"
Módulos en desuso
Importante
Nuestra versión inicial de estos diseños estaba empaquetada en una sola biblioteca com.microsoft.device:dualscreen-layout
.
Esta biblioteca está en desuso. Se recomienda usar las bibliotecas individuales que se han indicado para los controles que necesite.
ScreenManager (en desuso): contiene las clases principales que necesitan nuestros componentes para el desarrollo para dispositivos de doble pantalla. También se pueden usar directamente en el código.
- Use
ScreenManagerProvider
para obtener la instancia única deSurfaceDuoScreenManager
. - Utilice
SurfaceDuoScreenManager
para registrar agentes de escucha a fin de recibir una notificación cuando el modo de pantalla cambie. - Use
ScreenInfoProvider
para obtener una instancia deScreenInfo
. - Use
ScreenInfo
para obtener información de pantalla diferente según el modo de pantalla.
Si desea elegir la versión que usa Display Mask API, agregue la siguiente línea al archivo de Gradle.
implementation "com.microsoft.device.dualscreen:screenmanager-displaymask:1.0.0-beta4"
Si desea elegir la versión que usa Window Manager API, agregue la línea siguiente.
implementation "com.microsoft.device.dualscreen:screenmanager-windowmanager:1.0.0-beta4"
- Use