Diseño de pestañas

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í.

TabLayout es una clase TabLayout personalizada. Cuando la aplicación se extiende entre las pantallas de un dispositivo con una característica de plegado vertical, se puede usar el parámetro displayPosition para que el widget se represente a la izquierda, a la derecha o encima de la característica de plegado.

displayPosition

Devuelve o establece un valor que especifica en qué pantalla se representará la vista. Puede ser uno de tres valores:

  • DisplayPosition.START
  • DisplayPosition.END
  • DisplayPosition.DUAL

Estos valores se explican detalladamente a continuación.

DisplayPosition.START

Las pestañas se agrupan en la primera pantalla. START: tabs on the first screen

DisplayPosition.END

Las pestañas se agrupan en la segunda pantalla. END: tabs on the first screen

DisplayPosition.DUAL

Las pestañas se distribuyen entre ambas pantallas. Las pestañas pueden aparecer debajo de la característica de plegado, y este suele ser un comportamiento no deseado. Use la función arrangeButtons para evitarlo. DUAL: tabs on both

tabLayout.displayPosition = DisplayPosition.START

Se puede obtener lo mismo con el atributo app:display_position:

<com.microsoft.device.dualscreen.tabs.TabLayout
    android:id="@+id/tab_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tool:tools_application_mode="dual_screen"
    ...
    app:display_position="start"
     />

arrangeButtons

Cuando la aplicación se extiende sobre la característica de plegado y el componente tiene un número impar de botones, la bisagra o pliegue podrían obstruir el botón central. Una manera de evitarlo es organizar los botones de manera diferente a cada lado de la característica de plegado:

The buttons can be arranged in different ways on the two screens

Para ello, puede usar la función arrangeButtons.

tabLayout.arrangeButtons(2, 4)

useTransparentBackground

Si la aplicación está distribuida y no hay botones en una pantalla, el fondo de esa pantalla se puede hacer transparente:

DUAL: tabs on the second screen

tabLayout.useTransparentBackground = true

allowFlingGesture

Si se establece en "true", displayPosition se puede establecer en DisplayPosition.START o DisplayPosition.END con un gesto de deslizamiento en el componente.

tabLayout.allowFlingGesture = true

Se puede obtener lo mismo con el atributo "app:allowFlingGesture".

<com.microsoft.device.dualscreen.tabs.TabLayout
   app:allowFlingGesture="true"/>