Le schede personalizzate sono un'ottima opzione per creare un'esperienza di navigazione personalizzata direttamente all'interno della tua app, ma non sono un'opzione unica. Basate sul sistema Intent, le schede personalizzate sono una raccolta di richieste di opzioni configurabili inviate al browser preferito dell'utente finale. Spetta a ciascun browser implementare le varie opzioni. La disponibilità delle funzionalità di Custom Tabs può variare in base ai browser Android a causa di differenze di implementazione.
Di seguito è riportato un confronto di alcuni browser nell'ecosistema Android. La maggior parte dei browser su Android ha un qualche livello di supporto. Le tabelle non sono esaustive, ma sono indicative del livello di assistenza che potresti ricevere. Devi esaminare i browser predefiniti delle persone che utilizzano la tua app e assicurarti di scrivere codice in modo sicuro.
CustomTabsIntent.Builder
CustomTabsIntent.Builder
crea schede personalizzate. Esistono diversi modi per configurare la scheda personalizzata in modo che si integri il più possibile con la tua app tramite una raccolta di metodi integrati, elencati di seguito.
addDefaultShareMenuItem()
addDefaultShareMenuItem() aggiunge un pulsante di condivisione predefinito alla barra degli strumenti di Custom Tabs, consentendo all'utente di condividere la pagina web corrente tramite varie app sul proprio dispositivo.
addMenuItem()
Aggiunge una voce di menu.
addToolbarItem()
Aggiunge un pulsante di azione alla scheda personalizzata. Con questo metodo è possibile aggiungere più pulsanti.
enableUrlBarHiding()
Consente di nascondere la barra degli URL quando l'utente scorre verso il basso nella pagina.
setActionButton()
Imposta il pulsante di azione visualizzato nella barra degli strumenti con il comportamento di colorazione predefinito.
setCloseButtonIcon()
Imposta il pulsante di chiusura personalizzato visualizzato nella barra degli strumenti.
setCloseButtonPosition()
Imposta l'icona del pulsante di chiusura per la scheda personalizzata.
setColorScheme()
Imposta la combinazione di colori da applicare all'interfaccia utente nella scheda personalizzata.
setColorSchemeParams()
Imposta la combinazione di colori da applicare all'interfaccia utente nella scheda personalizzata.
setDefaultColorSchemeParams()
Imposta CustomTabColorSchemeParams()
per la combinazione di colori specificata. In questo modo è possibile specificare due colori diversi per la barra degli strumenti per gli schemi chiaro e scuro.
setDefaultShareMenuItemEnabled()
Imposta se al menu deve essere aggiunto un elemento di condivisione predefinito.
setExitAnimations()
Imposta eventuali animazioni di uscita.
setInitialActivityHeightPx()
Imposta l'altezza iniziale dell'attività della scheda personalizzata in pixel con il comportamento di ridimensionamento predefinito. La scheda personalizzata si comporterà come un riquadro in basso. Spesso viene definita scheda personalizzata parziale.
setNavigationBarColor()
Imposta il colore della barra di navigazione. Non ha alcun effetto sulle versioni dell'API precedenti alla L.
setNavigationBarDividerColor()
setSecondaryToolbarColor()
Imposta il colore della barra degli strumenti secondaria.
setShareState()
Imposta lo stato di condivisione da applicare alla scheda personalizzata.
setShowTitle()
Imposta se il titolo deve essere visualizzato nella scheda personalizzata.
setStartAnimations()
Imposta le animazioni iniziali.
setToolbarColor()
Imposta il colore della barra degli strumenti. Su Android L e versioni successive, questo colore viene applicato anche alla barra di stato.
setToolbarCornerRadiusDp()
Imposta i raggi degli angoli superiori della barra degli strumenti in dp.
setUrlBarHidingEnabled()
Imposta se la barra degli URL deve essere nascosta quando l'utente scorre verso il basso nella pagina.
CustomTabsClient
CustomTabsClient
è un'entità facoltativa per comunicare con un CustomTabsService
e creare CustomTabsSession
.
warmup()
Esegui l'inizializzazione del processo del browser.
CustomTabsSession
CustomTabsSession
è una classe facoltativa che puoi fornire a un'istanza di CustomTabsIntent.Builder()
. Se utilizzata, questa classe può gestire qualsiasi comunicazione con la scheda personalizzata.
setEngagementSignalsCallback()
Imposta un EngagementSignalsCallback
per ricevere i callback per gli eventi relativi al coinvolgimento dell'utente con la pagina web all'interno della scheda.
isEngagementSignalsApiAvailable()
Restituisce se l'API Engagement Signals è disponibile. La disponibilità dell'API Engagement Signals potrebbe variare in fase di esecuzione.
mayLaunchUrl()
Indica al browser una probabile navigazione futura verso un URL. L'URL più probabile deve essere specificato per primo. Se vuoi, puoi fornire un elenco di altri URL probabili. Sono considerate meno probabili della prima e devono essere ordinate in ordine decrescente di priorità. Questi URL aggiuntivi potrebbero essere ignorati. Tutte le chiamate precedenti a questo metodo verranno riassegnate a una priorità inferiore.