自訂分頁是直接在應用程式中建立自訂瀏覽器體驗的絕佳選擇,但這並非唯一的做法。自訂分頁是建立在意圖系統之上的集合,可將可設定的選項要求傳送至使用者偏好的瀏覽器。每個瀏覽器都會實作各種選項。由於實作方式不同,不同 Android 瀏覽器提供的自訂分頁功能可能有所差異。
以下是 Android 生態系統中部分瀏覽器的比較。絕大多數 Android 瀏覽器都提供某種程度的支援。這些表格並非詳盡無遺,而是說明你可能會看到的支援程度。您應研究使用您的應用程式時,使用者的預設瀏覽器為何,並確保程式碼具有防禦性。
CustomTabsIntent.Builder
CustomTabsIntent.Builder
會建立自訂分頁。您可以透過下列內建方法,以多種方式設定自訂分頁,讓分頁與應用程式盡可能完美融合。
addDefaultShareMenuItem()
addDefaultShareMenuItem() 會在自訂分頁工具列中新增預設分享按鈕,讓使用者透過裝置上的各種應用程式分享目前的網頁。
addMenuItem()
新增選單項目。
addToolbarItem()
在自訂分頁中新增動作按鈕。您可以透過這個方法新增多個按鈕。
enableUrlBarHiding()
在使用者向下捲動網頁時,可讓網址列隱藏。
setActionButton()
設定工具列中顯示的動作按鈕,並套用預設的色調行為。
setCloseButtonIcon()
設定工具列中顯示的自訂關閉按鈕。
setCloseButtonPosition()
設定自訂分頁的「關閉」按鈕圖示。
setColorScheme()
設定自訂分頁中應套用的色彩配置。
setColorSchemeParams()
在自訂分頁中設定應套用至使用者介面的色彩配置。
setDefaultColorSchemeParams()
為指定的色彩配置設定 CustomTabColorSchemeParams()
。這樣一來,您就能為淺色和深色配置指定兩種不同的工具列顏色。
setDefaultShareMenuItemEnabled()
設定是否在選單中加入預設分享項目。
setExitAnimations()
設定任何退出動畫。
setInitialActivityHeightPx()
使用預設的調整大小行為,設定自訂分頁活動的初始高度 (以像素為單位)。自訂分頁會以底部功能表的形式顯示。這通常稱為部分自訂分頁。
setNavigationBarColor()
設定導覽列顏色。對 L 以下的 API 版本沒有影響。
setNavigationBarDividerColor()
setSecondaryToolbarColor()
設定次要工具列的顏色。
setShareState()
設定應套用至自訂分頁的分享狀態。
setShowTitle()
設定標題是否應顯示在自訂分頁中。
setStartAnimations()
設定啟動動畫。
setToolbarColor()
設定工具列顏色。在 Android L 以上版本中,這項顏色也會套用至狀態列。
setToolbarCornerRadiusDp()
以 dp 為單位設定工具列的上圓角半徑。
setUrlBarHidingEnabled()
設定是否應在使用者向下捲動網頁時隱藏網址列。
CustomTabsClient
CustomTabsClient
是選用類別,可與 CustomTabsService
通訊,並從中建立 CustomTabsSession
。
warmup()
暖機瀏覽器程序。
CustomTabsSession
CustomTabsSession
是您可提供給 CustomTabsIntent.Builder()
例項的選用類別。使用時,您可以使用這個類別處理與自訂分頁的任何通訊。
setEngagementSignalsCallback()
設定 EngagementSignalsCallback
,以便接收與使用者在分頁中與網頁互動相關的事件回呼。
isEngagementSignalsApiAvailable()
傳回 Engagement Signals API 是否可用。參與度信號 API 的供應情形可能會在執行階段變更。
mayLaunchUrl()
告知瀏覽器未來可能會導向的網址。您必須先指定最可能的網址。您也可以選擇提供其他可能的網址。系統會將這些值視為比第一個值的可能性低,且必須以遞減的優先順序排序。系統可能會忽略這些額外的網址。先前對此方法的所有呼叫都會降低優先順序。