Les onglets personnalisés sont une excellente option pour créer une expérience de navigateur personnalisée directement dans votre application, mais ils ne sont pas uniques. Basés sur le système d'intents, les onglets personnalisés regroupent des demandes d'options configurables qui sont envoyées au navigateur préféré de l'utilisateur final. Il revient à chaque navigateur de mettre en œuvre les différentes options. La disponibilité des fonctionnalités des onglets personnalisés peut varier d'un navigateur Android à l'autre en raison des différences d'implémentation.
Vous trouverez ci-dessous un comparatif de certains navigateurs de l'écosystème Android. La plupart des navigateurs sur Android sont compatibles. Les tableaux n'ont pas vocation à être exhaustifs, mais ils illustrent le niveau d'assistance que vous êtes susceptible d'obtenir. Renseignez-vous sur les navigateurs par défaut des personnes qui utilisent votre application et assurez-vous de coder de manière défensive.
CustomTabsIntent.Builder
CustomTabsIntent.Builder
crée des onglets personnalisés. Vous pouvez configurer votre onglet personnalisé de plusieurs façons pour qu'il s'intègre le mieux possible à votre application, par le biais d'un ensemble de méthodes intégrées, répertoriées ci-dessous.
addDefaultShareMenuItem()
addDefaultShareMenuItem() ajoute un bouton de partage par défaut à la barre d'outils des onglets personnalisés, ce qui permet à l'utilisateur de partager la page Web actuelle via différentes applications sur son appareil.
addMenuItem()
Ajoute un élément de menu.
addToolbarItem()
Ajoute un bouton d'action à l'onglet personnalisé. Cette méthode permet d'ajouter plusieurs boutons.
enableUrlBarHiding()
Permet de masquer la barre d'URL lorsque l'utilisateur fait défiler la page vers le bas.
setActionButton()
Définit le bouton d'action qui s'affiche dans la barre d'outils en appliquant le comportement de teinte par défaut.
setCloseButtonIcon()
Définit un bouton de fermeture personnalisé qui s'affiche dans la barre d'outils.
setCloseButtonPosition()
Définit l'icône du bouton de fermeture de l'onglet personnalisé.
setColorScheme()
Définit le jeu de couleurs à appliquer à l'interface utilisateur dans l'onglet "Personnalisé".
setColorSchemeParams()
Définit le jeu de couleurs à appliquer à l'interface utilisateur dans l'onglet "Personnalisé".
setDefaultColorSchemeParams()
Définit CustomTabColorSchemeParams()
pour le jeu de couleurs donné. Cela permet de spécifier deux couleurs différentes dans la barre d'outils, pour un jeu clair et sombre.
setDefaultShareMenuItemEnabled()
Indiquez si un élément de partage par défaut doit être ajouté au menu.
setExitAnimations()
Définit les animations de sortie.
setInitialActivityHeightPx()
Définit la hauteur initiale en pixels de l'activité de l'onglet personnalisé avec le comportement de redimensionnement par défaut. L'onglet personnalisé se comporte comme une bottom sheet. Il s'agit souvent d'un onglet personnalisé partiel.
setNavigationBarColor()
Définit la couleur de la barre de navigation. N'a aucun effet sur les versions d'API antérieures à la version L.
setNavigationBarDividerColor()
setSecondaryToolbarColor()
Définit la couleur de la barre d'outils secondaire.
setShareState()
Définit l'état de partage à appliquer à l'onglet personnalisé.
setShowTitle()
Détermine si le titre doit être affiché dans l'onglet "Personnalisé".
setStartAnimations()
Définit les animations de début.
setToolbarColor()
Définit la couleur de la barre d'outils. Sur Android L et versions ultérieures, cette couleur est également appliquée à la barre d'état.
setToolbarCornerRadiusDp()
Définit les rayons du coin supérieur de la barre d'outils en dp.
setUrlBarHidingEnabled()
Indiquez si la barre d'URL doit être masquée lorsque l'utilisateur fait défiler la page vers le bas.
CustomTabsClient
CustomTabsClient
est une classe facultative permettant de communiquer avec un CustomTabsService
et de créer CustomTabsSession
à partir de celui-ci.
échauffement()
Préparez le processus du navigateur.
CustomTabsSession
CustomTabsSession
est une classe facultative que vous pouvez fournir à une instance de CustomTabsIntent.Builder()
. Lorsqu'elle est utilisée, vous pouvez l'utiliser pour gérer toutes les communications avec l'onglet personnalisé.
setEngagementSignalsCallback()
Définit un EngagementSignalsCallback
afin de recevoir des rappels pour les événements liés à l'engagement de l'utilisateur avec la page Web de l'onglet.
isEngagementSignalsApiAvailable()
Indique si l'API Engagement Signals est disponible. La disponibilité de l'API Engagement Signals peut changer au moment de l'exécution.
mayLaunchUrl()
Indique au navigateur une future navigation probable vers une URL. L'URL la plus probable doit être spécifiée en premier. Vous pouvez éventuellement fournir une liste d'autres URL probables. Elles sont traitées comme moins susceptibles que la première et doivent être triées par ordre de priorité décroissante. Ces URL supplémentaires peuvent être ignorées. Une priorité inférieure sera appliquée à tous les appels précédents à cette méthode.