瀏覽器支援

Patrick Kettner
Patrick Kettner

自訂分頁是直接在應用程式中建立自訂瀏覽器體驗的絕佳選擇,但這並非唯一的做法。自訂分頁是建立在意圖系統之上的集合,可將可設定的選項要求傳送至使用者偏好的瀏覽器。每個瀏覽器都會實作各種選項。由於實作方式不同,不同 Android 瀏覽器提供的自訂分頁功能可能有所差異。

以下是 Android 生態系統中部分瀏覽器的比較。絕大多數 Android 瀏覽器都提供某種程度的支援。這些表格並非詳盡無遺,而是說明你可能會看到的支援程度。您應研究使用您的應用程式時,使用者的預設瀏覽器為何,並確保程式碼具有防禦性。

CustomTabsIntent.Builder

CustomTabsIntent.Builder 會建立自訂分頁。您可以透過下列內建方法,以多種方式設定自訂分頁,讓分頁與應用程式盡可能完美融合。

addDefaultShareMenuItem()

addDefaultShareMenuItem() 會在自訂分頁工具列中新增預設分享按鈕,讓使用者透過裝置上的各種應用程式分享目前的網頁。

addMenuItem()

新增選單項目。

左側手機顯示使用 addMenuItem() 的應用程式,右側手機則未使用該 API

addToolbarItem()

在自訂分頁中新增動作按鈕。您可以透過這個方法新增多個按鈕。

enableUrlBarHiding()

在使用者向下捲動網頁時,可讓網址列隱藏。

setActionButton()

設定工具列中顯示的動作按鈕,並套用預設的色調行為。

左圖:手機顯示使用 setActionButton()() 的應用程式,右圖:另一部手機未安裝 API

setCloseButtonIcon()

設定工具列中顯示的自訂關閉按鈕。

左圖:手機顯示使用 setCloseButtonIcon() 的應用程式,右圖:另一部手機未使用 API

setCloseButtonPosition()

設定自訂分頁的「關閉」按鈕圖示。

左圖:手機顯示使用 setCloseButtonPosition() 的應用程式,右圖:另一部手機未使用 API

setColorScheme()

設定自訂分頁中應套用的色彩配置。

左側手機顯示使用 setColorScheme() 的應用程式,右側手機則未使用該 API

setColorSchemeParams()

在自訂分頁中設定應套用至使用者介面的色彩配置。

左圖:手機顯示使用 setColorSchemeParams() 的應用程式,右圖:另一部手機未使用 API

setDefaultColorSchemeParams()

為指定的色彩配置設定 CustomTabColorSchemeParams()。這樣一來,您就能為淺色和深色配置指定兩種不同的工具列顏色。

左圖:手機顯示使用 setDefaultColorSchemeParams() 的應用程式,右圖:另一部手機不含 API

setDefaultShareMenuItemEnabled()

設定是否在選單中加入預設分享項目。

setExitAnimations()

設定任何退出動畫。

setInitialActivityHeightPx()

使用預設的調整大小行為,設定自訂分頁活動的初始高度 (以像素為單位)。自訂分頁會以底部功能表的形式顯示。這通常稱為部分自訂分頁。

左圖:手機顯示使用 setInitialActivityHeightPx() 的應用程式,右圖:另一部未安裝 API 的手機

setNavigationBarColor()

設定導覽列顏色。對 L 以下的 API 版本沒有影響。

setNavigationBarDividerColor()

setSecondaryToolbarColor()

設定次要工具列的顏色。

setShareState()

設定應套用至自訂分頁的分享狀態。

左圖:手機顯示使用 setShareState() 的應用程式,右圖:另一部手機未使用 API

setShowTitle()

設定標題是否應顯示在自訂分頁中。

左圖:手機顯示使用 setShowTitle() 的應用程式,右圖:另一部手機未使用 API

setStartAnimations()

設定啟動動畫。

setToolbarColor()

設定工具列顏色。在 Android L 以上版本中,這項顏色也會套用至狀態列。

setToolbarCornerRadiusDp()

以 dp 為單位設定工具列的上圓角半徑。

setUrlBarHidingEnabled()

設定是否應在使用者向下捲動網頁時隱藏網址列。

CustomTabsClient

CustomTabsClient 是選用類別,可與 CustomTabsService 通訊,並從中建立 CustomTabsSession

warmup()

暖機瀏覽器程序。

CustomTabsSession

CustomTabsSession 是您可提供給 CustomTabsIntent.Builder() 例項的選用類別。使用時,您可以使用這個類別處理與自訂分頁的任何通訊。

setEngagementSignalsCallback()

設定 EngagementSignalsCallback,以便接收與使用者在分頁中與網頁互動相關的事件回呼。

isEngagementSignalsApiAvailable()

傳回 Engagement Signals API 是否可用。參與度信號 API 的供應情形可能會在執行階段變更。

mayLaunchUrl()

告知瀏覽器未來可能會導向的網址。您必須先指定最可能的網址。您也可以選擇提供其他可能的網址。系統會將這些值視為比第一個值的可能性低,且必須以遞減的優先順序排序。系統可能會忽略這些額外的網址。先前對此方法的所有呼叫都會降低優先順序。