Disposition d’onglets Surface Duo

Important

Les fonctionnalités et l’aide décrites dans cet article sont en préversion publique et peuvent faire l’objet de modifications importantes avant leur lancement en disponibilité générale. Microsoft ne donne aucune garantie, expresse ou implicite, concernant les informations fournies ici.

SurfaceDuoTabLayout est un SurfaceDuoTabLayout personnalisé. Quand l’application est en mode portrait double écran, surfaceDuoDisplayPosition peut être utilisé pour rendre le widget sur l’écran de gauche, sur l’écran de droite ou sur les deux écrans.

surfaceDuoDisplayPosition

Retourne ou définit une valeur qui spécifie sur quel écran la vue sera restituée. Il peut s’agir de l’une des trois valeurs suivantes :

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

Elles sont expliquées en détail ci-dessous.

DisplayPosition.START

Les onglets sont regroupés sur le premier écran.
START : onglets sur le premier écran

DisplayPosition.END

Les onglets sont regroupés sur le second écran. END : onglets sur le premier écran

DisplayPosition.DUAL

Les onglets sont répartis sur les deux écrans. Les onglets peuvent apparaître sous la charnière et il s’agit généralement d’un comportement indésirable. Utilisez arrangeButtons pour éviter cela. DUAL : les onglets sur les deux écrans

surfaceDuoTab.surfaceDuoDisplayPosition = DisplayPosition.START

Le même résultat peut être obtenu en utilisant l’attribut app:display_position :

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

arrangeButtons

Quand l’application est répartie et que le composant a un nombre impair de boutons, celui du milieu sera recouvert par la charnière. Pour éviter cela, vous pouvez disposer les boutons différemment sur chaque écran :

Les boutons peuvent être disposés de différentes façons sur les deux écrans

Pour ce faire, vous pouvez utiliser la fonction arrangeButtons.

tabLayout.arrangeButtons(2, 4)

useTransparentBackground

Quand l’application est répartie et qu’il n’y a aucun bouton sur un écran, l’arrière-plan de cet écran peut être rendu transparent :

DUAL : les onglets sur le deuxième écran

surfaceDuoNavView.useTransparentBackground = true

allowFlingGesture

Si la valeur est true, displayPosition peut être défini sur DisplayPosition.START ou DisplayPosition.END avec un geste de lancement sur le composant.

tabLayout.allowFlingGesture = true

Le même résultat peut être obtenu en utilisant l’attribut « app:allowFlingGesture ».

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