支援資料庫功能指南

注意:隨著 Android 9.0 (API 級別 28) 推出,我們已推出名為 AndroidX 的新版支援資料庫 Jetpack。AndroidX 程式庫包含現有的支援資料庫,以及最新的 Jetpack 元件。

您可以繼續使用支援資料庫。您還是可以在 Google Maven 存取過往構件 (版本 27 以下版本,且封裝為 android.support.*)。不過,所有新的程式庫開發作業都會在 AndroidX 程式庫中進行。

建議您在所有新專案中使用 AndroidX 程式庫。您也應考慮將現有專案遷移至 AndroidX。

支援資料庫提供各種類別,可用於建構應用程式,包括基礎應用程式元件、使用者介面小工具、媒體處理和 TV 應用程式元件。許多類別具有回溯相容的實作,但其中一些類別本身就是新功能。

本文件概略說明支援資料庫中的重要功能類別,以及建構應用程式時須瞭解的特定類別。

如要瞭解如何在應用程式開發專案中新增支援資料庫程式碼,請參閱「支援資料庫設定」。如要瞭解如何在專案中納入特定的支援資料庫套件,請參閱「 支援資料庫套件」。

應用程式元件

這些支援資料庫類別提供可回溯相容的重要核心平台功能實作項目。這些實作通常會擴充類別先前的版本,以處理平台較新版本新增的方法和功能。其中有些是架構 API 的完整靜態實作。

使用者介面

這些支援資料庫類別提供重要的使用者介面小工具和行為的實作,並協助您在舊版裝置上建立更現代化的應用程式介面。其中幾個小工具只能透過支援資料庫取得。

一般用途版面配置容器

這些支援類別提供使用者介面容器,可針對不同的設計用途進行調整。

  • RecyclerView:建立顯示長清單的版面配置,採取策略避免高記憶體消耗。這個類別可讓您為較大的資料集建立有限的視窗檢視,避免在顯示清單時耗用大量記憶體。如要進一步瞭解如何使用 RecyclerView,請參閱「回收器檢視畫面」指南。
  • ViewPager - 提供版面配置,讓使用者可以左右翻閱資料頁面。
  • GridLayout - 在矩形格線中提供版面配置,可支援連續儲存格的跨距並彈性分配空間。這個類別提供 GridLayout 類別的回溯相容性版本,於 Android 4.0 (API 級別 14) 中推出。
  • PercentFrameLayoutPercentRelativeLayout - 為子項檢視畫面和內容提供支援百分比式尺寸與邊界的版面配置。

注意:ViewPagerRecyclerViewPercentFrameLayoutPercentRelativeLayout 類別僅適用於支援資料庫。

特殊用途版面配置容器

這些支援類別提供與特定版面配置模式相容的實作,例如可從螢幕邊緣提取的導覽匣檢視畫面、滑動面板,以及在清單中以巢狀方式建立清單。

  • DrawerLayout - 建立能從檢視視窗邊緣提取互動式 導覽匣檢視畫面的版面配置。
  • SlidingPaneLayout - 提供水平的多窗格版面配置,可在應用程式使用者介面的頂層使用,以便建立可順利配合多種螢幕大小調整的版面配置,在較大的螢幕上可展開及收合,以符合較小的螢幕。
  • NestedScrollView - 支援以巢狀結構建立其他捲動檢視畫面的捲動版面配置,可讓您建立清單,其中包含額外的子清單。這些巢狀清單可包含可水平或垂直捲動的項目,而非父項清單。
  • SwipeRefreshLayout - 提供版面配置,支援以手指滑動手勢重新整理清單或其他版面配置的資料。

檢視畫面、對話方塊和小工具

支援資料庫提供多種類別,用於在版面配置中顯示內容及提供使用者互動元素。

  • CardView - 用於建立質感設計樣式顯示資訊卡的支援資料庫自訂類別。此類別以具有圓角和投射陰影的 FrameLayout 為基礎。
  • AppCompatDialogFragment - 擴充 DialogFragment 並使用 AppCompatDialog,提供風格一致的對話方塊。
  • NotificationCompat - 以回溯相容的方式支援新版通知樣式。
  • SearchView - 提供類別,讓使用者輸入搜尋查詢並向搜尋引擎提交要求。搜尋引擎主要用於應用程式列。

質感設計

支援資料庫提供多種類別,可用於實作質感設計使用者介面建議。

  • CoordinatorLayout - 提供採用質感設計元件和行為的版面配置頂層容器。這個類別也可做為與一或多個子項檢視畫面特定互動的容器使用。
  • AppBarLayout - 提供質感設計 應用程式列概念中許多捲動功能的實作。
  • FloatingActionButton - 建立浮動按鈕,用於顯示特殊類型的宣傳動作。這個 Material Design 使用者介面元素會以圓形圖示顯示在應用程式使用者介面上方。詳情請參閱「新增懸浮動作按鈕」。
  • DrawerLayout - 建立導覽匣,也就是顯示應用程式主要導覽選單的 UI 面板。當使用者從螢幕左側邊緣滑動手指,或輕觸應用程式列中的導覽匣圖示時,系統就會顯示這則通知。詳情請參閱「建立導覽導覽匣」。
  • TabLayout - 提供顯示分頁式頁面的版面配置。這個小工具是專為與 ViewPager 類別搭配使用而設計。
  • Snackbar - 提供小工具,以便透過 Snackbar 彈出式視窗顯示有關某項作業的輕微意見回饋。

圖像

android.support.graphics.drawable 套件支援向量可繪項目。透過使用向量可繪項目,您可以將多個 PNG 素材資源替換成 XML 中定義的單一向量圖形。

VectorDrawableCompat 支援 API 級別 9 以上的向量可繪項目。AnimatedVectorDrawableCompat 支援 API 級別 11 以上的動畫向量可繪項目。

無障礙功能

android.support.v4.view.accessibility 套件提供相容性類別,可用於實作 API 級別 14 及以上級別中推出的無障礙功能,讓無障礙服務能觀察及識別使用者與螢幕上顯示項目的互動情形。

  • ExploreByTouchHelper - 在自訂 View 中提供無障礙功能支援,代表一組類似檢視畫面的邏輯項目。

媒體播放

Android 支援資料庫為搭載 Android 4.1 (API 級別 16) 以下版本的裝置提供媒體路由器功能,並提供向後移植內容。這些類別可讓您控制已連結 Android 裝置上的媒體播放:

  • MediaRouter - 讓應用程式能控制媒體頻道和串流從目前裝置到外部喇叭和目標裝置之間的路徑。
  • MediaControllerCompat - 允許應用程式與進行中的媒體工作階段互動。應用程式可透過此機制提供媒體控制按鈕,並將其他播放指令傳送至工作階段。
  • MediaSessionCompat - 提供用於媒體播放的遠端控制介面,讓使用者能在其他應用程式或不同裝置上與媒體控制器、音量鍵、媒體按鈕及傳輸控制項進行互動。

TV 應用程式

Android SDK 提供程式庫可支援板型規格,例如大螢幕及其相關控制器。應用程式可以依賴合適的支援資料庫來提供各種平台版本的功能,並在外部螢幕、喇叭和其他目標裝置上提供內容。

Wear 應用程式

Android SDK 提供支援手錶的程式庫。這些程式庫可為應用程式提供功能,讓使用者在戴著手錶時都能使用。

公用程式

Android 支援資料庫提供許多未內建於架構中的功能。這些程式庫提供各種公用程式,供應用程式使用。