直接前往內容

最常造訪的網頁

最近瀏覽的網頁

navigation

維持相容性

某些材料設計功能如材料設計風格和自訂操作行為轉換等,只能在 Android 5.0 (API 級別 21) 及以上版本中使用。 然而,您還是可以將應用程式設計為在支援材料設計的裝置上執行時才使用這些功能,並仍然與執行舊版 Android 的裝置相容。

定義替代樣式

您可以設定應用程式在支援材料設計風格的裝置上執行時才予以使用,在執行舊版 Android 的裝置上執行時則轉換成舊版的設計風格:

  1. res/values/styles.xml 中定義繼承自舊版設計風格 (例如 Holo) 的設計風格。
  2. res/values-v21/styles.xml 中定義與材料設計風格相同名稱的設計風格。
  3. 在宣示說明檔案中將此設計風格設定為應用程式的設計風格。

注意:若您的應用程式使用材料設計風格,但卻未以此方式提供替代設計風格,您的應用程式將無法在 Android 5.0 之前的版本上執行。

提供替代版面配置

若您根據材料設計指南所設計的版面配置並未使用任何 Android 5.0 (API 級別 21) 中推出的全新 XML 屬性,則這些版面配置就可以在舊版 Android 上運作。 或者,您也可以提供替代的版面配置。您也可提供替代的版面配置以自訂應用程式在舊版 Android 上如何顯示。

res/layout-v21/ 內建立 Android 5.0 (API 級別 21) 的版面配置檔案,並在 res/layout/ 內建立舊版 Android 的替代版面配置檔案。例如,res/layout/my_activity.xmlres/layout-v21/my_activity.xml 的替代版面配置。

為了避免程式碼重複,請在 res/values/ 內定義您的樣式,在 res/values-v21/ 中針對新的 API 修改樣式,再使用樣式繼承,在 res/values/ 中定義基礎樣式,然後從 res/values-v21/ 中的樣式繼承。

使用支援程式庫

v7 支援程式庫 r21 以及更新版本包含下列材料設計功能:

系統小工具

Theme.AppCompat 設計風格提供下列小工具的材料設計樣式:

色板

如果要取得材料設計樣式並使用 Android v7 支援程式庫自訂色板,請套用其中一個 Theme.AppCompat 設計風格:

<!-- extend one of the Theme.AppCompat themes -->
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
    <!-- customize the color palette -->
    <item name="colorPrimary">@color/material_blue_500</item>
    <item name="colorPrimaryDark">@color/material_blue_700</item>
    <item name="colorAccent">@color/material_green_A200</item>
</style>

清單和卡片

在舊版 Android 中,透過 Android v7 支援程式庫可以使用 RecyclerViewCardView 小工具,但有下列限制:

相依性

如果要在 Android 5.0 (API 級別 21) 以前的版本中使用這些功能,請在您的專案中包含 Android v7 支援程式庫做為 Gradle 相依性

dependencies {
    compile 'com.android.support:appcompat-v7:21.0.+'
    compile 'com.android.support:cardview-v7:21.0.+'
    compile 'com.android.support:recyclerview-v7:21.0.+'
}

檢查系統版本

下列功能只能在 Android 5.0 (API 級別 21) 以及更新版本中使用:

如要維持與舊版 Android 的相容性,在呼叫這些功能的 API 之前,請先在執行期間檢查系統 version

// Check if we're running on Android 5.0 or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    // Call some material design APIs here
} else {
    // Implement this feature without material design
}

注意:如果要指定應用程式支援的 Android 版本,請在您的宣示說明檔案中使用 android:minSdkVersionandroid:targetSdkVersion 屬性。 如果要在 Android 5.0 中使用材料設計功能,請將 android:targetSdkVersion 屬性設定為 21。 如需詳細資訊,請參閱 <uses-sdk> API 指南

本網站使用 Cookie 儲存你在此指定的語言和顯示選項偏好設定。

掌握有關 Android 開發人員的最新消息和實用訣竅,協助你製作最受歡迎的 Google Play 內容。

* 必填欄位

訂閱成功!

在 WeChat 上追蹤 Google Developers

你要以瀏覽這個網站嗎?

你要求以顯示這個網頁,但你為此網站指定的語言偏好設定為

是否要變更語言偏好設定並改用瀏覽網站?稍後如要變更語言偏好設定,請利用位在每個網頁最下方的語言選單來調整設定。

你的 API 層級必須達 以上才能存取這個級別

本說明文件已隱藏,因為你為該文件選取的 API 層級為 。使用左側導覽列上方的選取工具即可變更說明文件的 API 層級。

如需進一步瞭解如何為應用程式指定 API 層級的相關資訊,請參閱 Supporting Different Platform Versions (支援不同的平台版本) (英文)。

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)