支援資料庫修訂版本封存檔

本頁提供舊版支援資料庫套件版本的詳細資料。適用對象 最新的支援資料庫版本。詳情請參閱近期更新 支援資料庫修訂版本

修訂版本 26.0.0 Beta 2

(2017 年 6 月)

請注意,26.0.0-beta2 是預先發布版。其 API 介面是 不一定包含功能或錯誤修正 最新穩定版本的支援資料庫

重要事項:支援資料庫現已推出 建立自己的關聯不需要下載支援服務 從 SDK Manager 載入存放區若需更多資訊,請參閲 支援資料庫設定

全新的 API

API 差異

修正錯誤

  • Android O SDK 遭捨棄會導致 TextView 中呈現斜體文字
  • 連線至 MediaBrowserServiceCompat 時出現空值指標例外狀況
  • TextInputLayout 必須在 onProvideAutofillStructure() 上設定提示
  • 在 O 上使用 TextView 自動調整大小時的堆疊溢位

修訂版本 26.0.0 Beta 1

(2017 年 5 月)

請注意,26.0.0-beta1 是預先發布版。其 API 介面是 不一定包含功能或錯誤修正 最新穩定版本的支援資料庫

重要事項:支援資料庫現已推出 建立自己的關聯不需要下載支援服務 從 SDK Manager 載入存放區若需更多資訊,請參閲 支援資料庫設定

重要變更

  • FragmentActivity.setSupportMediaController()」和 FragmentActivity.getSupportMediaController() 已移除。請使用新的靜態 MediaControllerCompat.setMediaController()MediaControllerCompat.getMediaController() 方法。
  • BottomNavigationView的電話 onNavigationItemReselected() (已選取已選取的項目時), 而不是撥打電話 onNavigationItemSelected()
  • findViewById() 方法的所有執行個體現在都會傳回 <T extends View> T,而不是 View。這項異動 會產生下列影響:
    • 這可能會導致現有程式碼現在含有無法識別的傳回類型 舉例來說,如果有 someMethod(View)someMethod(TextView),該呼叫會將呼叫的結果傳送至 findViewById()
    • 使用 Java 8 來源語言時,需要明確轉換為 View:如果傳回類型未受限 (例如 assertNotNull(findViewById(...)).someViewMethod())
    • 覆寫非最終的 findViewById() 方法 (適用於 例如:Activity.findViewById()) 需要退貨 已更新類型。

全新的 API

  • FragmentManagerFragmentisStateSaved() 方法,以便查詢 交易就會允許而不會遺失狀態這在顯示專案時 要在執行任何 onClick() 事件前,檢查處理時的狀態 交易。
  • AnimatedVectorDrawableCompat 支援路徑動作。 透過路徑動態功能,單一物件的動畫器就能在同一處變更兩個相同的屬性 處理多個路徑路徑會指定為 android:pathData)。
  • 物理導向 動畫
    • 新的 FlingAnimation,可支援含有 然後順暢地減慢速度
    • DynamicAnimation 的子類別支援自訂屬性的動畫 屬性。
    • SpringAnimationFlingAnimation 都可以 現在不必使用 ViewObject 以連結此金鑰。

    詳情請參閱 彈簧效果Fling 動畫 預覽頁面。

  • 字型 XML 中的支援
    • ResourcesCompat.getFont 允許載入字型 包括字型系列 XML 等 TextView.setTypeface()
    • 使用 AppCompat 時,TextView 支援指定字型資源 透過 android:fontFamily XML 屬性建立字型系列 XML。
    • 使用 XML 字型系列建立具有樣式和粗細的字型系列 變化版本。(如要使用支援資料庫類別進行這項操作,請使用 app: 屬性和 android: 屬性)。
  • 可下載 字型:
    • 新的 FontsContractCompat,可讓您要求字型 ,而不是在應用程式中混搭檔案。
    • 您也可以在 XML 中要求字型,並用於版面配置。
  • 表情符號相容性 程式庫
    • EmojiCompat 可以處理指定的 CharSequence 並新增 EmojiSpans
    • EmojiTextView 和其他小工具可顯示表情符號。
    • FontRequestEmojiCompatConfig 可要求來自 以及字型提供者
  • 自動調整大小 TextView
    • TextViewCompat 中的新方法以及 XML 屬性 調整 TextView 中的自動調整大小
  • 支援跳轉播放功能的 Leanback 播放控制項:
    • 用於算繪播放的新 PlaybackTransportRowPresenter 使用 SeekBar 進行控制。
    • PlaybackTransportControlGlue 可與 PlaybackTransportRowPresenter 搭配運作,並支援跳轉功能。
    • 針對應用程式的新基礎類別 PlaybackSeekDataProviderPlaybackTransportControlGlue 提供跳轉縮圖。
  • Preferences Data Store:
    • PreferenceDataStore 現在可讓您導入自己的 偏好設定儲存空間,已在「Preference」中設定新方法 和 PreferenceManager

已知問題

  • 與 Google Play 整合的可下載字型和表情符號相容性 服務僅適用於 Google Play 服務 11 以上版本。 可透過 Google Play 服務 Beta 版計畫

修正錯誤

  • MediaBrowserCompat.search() API 無法運作 (Android 開放原始碼計畫問題) 262170)。
  • ViewCompat.postInvalidateOnAnimation() 會擲回例外狀況 (Android 開放原始碼計畫) 問題 80146)。
  • 針對已刪除的活動中的片段呼叫 onActivityCreated()
  • RecyclerView.isComputingLayout() 應於以下期間傳回 true: 預先擷取
  • Fade 轉換中斷並還原時, View 會從頭開始播放動畫。(固定遷移來源 Android 架構)。
  • Transition.Fade 會忽略 View 的初始 Alpha 值 (Android 開放原始碼計畫問題 221820)

修訂版本 26.0.0 Alpha 1

(2017 年 3 月)

請注意,26.0.0-alpha1 是預先發布版本。其 API 介面是 不一定包含功能或錯誤修正 最新穩定版本的支援資料庫

重要變更

注意:最低 SDK 版本已提高為 14。 因此,許多僅供 API 開發人員以及 14 的相容性 這些 API 的用戶端應遷移至架構 。

  • support-percent 模組已淘汰。本單元的用戶端 應遷移至新的 ConstraintLayout 小工具, SDK Manager 中的獨立構件
  • support-Fragment 模組不再具備 support-media-compat 模組。

全新的 API

新增許多新類別、方法和常數 O Preview 中新增的平台 API 回溯相容。

  • IME_FLAG_NO_PERSONALIZED_LEARNING:輸入法編輯器可以監聽 「不學習」為具有私人模式的應用程式 (例如瀏覽器) 加上標記。這個 功能可協助 IME 判斷應用程式是否處於私人模式 在這些情況下停用學習或自動調整功能 模式。

如需 25.2.0 至 26.0.0-alpha1 之間的完整 API 變更清單,請參閱 支援資料庫 API 差異報表

修正錯誤

  • 在某些情況下,簡單的 AutoTransition 可因「跳轉」檢視中斷。 (Android 開放原始碼計畫問題 221816)。

修訂版本 25.4.0

(2017 年 6 月)

重要事項:支援資料庫現已推出 建立自己的關聯不需要下載支援服務 從 SDK Manager 載入存放區若需更多資訊,請參閲 支援資料庫設定

重要變更

  • 在以下期間禁止使用 executePendingTransactions()commitNow()popBackStackImmediate() 和類似的交易呼叫 FragmentManager 狀態變更。重新報名 交易執行作業不安全,而 FragmentManager 現在會在狀態中強制執行這項作業 並輸入變更內容
  • 配合這個支援資料庫版本,我們也會發布 Multidex 1.0.2 版。這個版本包含下列重要異動:
    • 允許對檢測 APK 執行 Multidex。
    • 淘汰 MultiDexTestRunner (應使用 AndroidJUnitRunner )。
    • 針對部分無效的封存內容擷取提供更完善的防護 管理應用程式
    • 修正可能導致暫存檔案遺失的錯誤。
    • 可在並行程序完成時加快安裝速度。
    • 修正 API 19 和 20 的安裝錯誤。

全新和已修改的 API

AnimatedVectorDrawableCompat 支援路徑變形和路徑內插。路徑變形 允許讓形狀從一個路徑改為 android:valueFrom) 至其他路徑 (指定為 android:valueTo),才能提供複雜且具吸引力的影像內容 效果。路徑內插類型可讓您指定 AnimatedVectorDrawableCompat 的內插器 做為路徑 (在內插器的android:pathData XML)。

API 差異

已修正問題

  • 連線至 MediaBrowserServiceCompat 時出現空值指標例外狀況
  • MediaBrowserCompat.search() API 無法運作 (開放原始碼計畫問題 262170)
  • BrowseFragment onItemClicked 回呼在 25.3.0 中損毀
  • 在 VerticalGridView 中上下捲動時出現 NullPointerException 25.3.1
  • SimpleArrayMap.allocArrays() 中的 ClassCastException

修訂版本 25.3.1

(2017 年 3 月)

已修正問題

  • SwitchCompat」需要 SDK 版本下限 14 以上版本。(Android 開放原始碼計畫問題 251302)
  • 物理動畫 updateListener 會略過第一個影格。
  • BottomNavigationView」標籤動畫 故障。

修訂版本 25.3.0

(2017 年 3 月)

重要變更

支援資料庫版本中繼資料將自動新增至 透過 Gradle 建構時,AndroidManifest.xml (可簡化) 追蹤版本的 Google Analytics 4例如:

<meta-data android:name="android.support.VERSION" android:value="25.3.0" />

淘汰項目

這個版本已淘汰許多方法和類別。 這些已淘汰的 API 將在日後推出的版本中移除,因此開發人員應 如要進一步瞭解如何從 請參閱該 API 的說明文件

ExifInterface
布林方法getLatLong(float[]) 已淘汰請改用新方法 getLatLong()。 這個函式不採用引數,而是傳回 double[]
mediacompat
PlaybackStateCompat.Builder.setErrorMessage(CharSequence) 已淘汰, 而是改用新的方法 setErrorMessage(int, CharSequence), 這個代碼會傳送錯誤代碼和說明 (選填)
,瞭解如何調查及移除這項存取權。
EXTRA_SUGGESTION_KEYWORDS 已淘汰,請改用 MediaBrowserCompat 搜尋功能。
v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount() 已重新命名為 LinearLayoutManager.getInitialPrefetchItemCount()。 系統仍支援舊名稱,但日後推出的版本將會移除。

全新和已修改的 API

appcompat-v7
新方法 ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean) 簡化導覽匣切換圖示的動畫。
customtabs
新增訊息管道的支援。詳情請參閱 CustomTabsService.requestPostMessageChannel()CustomTabsService.postMessage() 參考資料。
dynamic-animation
全新的物理式動畫程式庫,為 建立可動態回應使用者輸入內容的動畫。
leanback-v17
新增視差背景支援功能。詳情請參閱 Parallax 參考資料。
,瞭解如何調查及移除這項存取權。
已新增 TimePicker 小工具,用於在電視介面上挑選時間。
mediacompat
新增搜尋功能,詳情請參閱 MediaBrowserCompat.search()MediaBrowserServiceCompat.onSearch() 參考資料。
,瞭解如何調查及移除這項存取權。
新增重組和重複模式的支援。詳情請參閱 MediaSessionCompat.setRepeatMode()setShuffleModeEnabled() 參考資料。

已修正問題

修訂版本 25.2.0

(2017 年 2 月)

重要變更

已修正問題

已修正問題

  • 如果顯示具有螢幕鏡像的投影片簡報,會導致裝置 中斷 Wi-Fi 連線。
  • 媒體按鈕未妥善處理未註冊的媒體應用程式 自己和setMediaButtonReceiver()
  • 字串資源發生 VectorDrawable 錯誤 (Android 開放原始碼計畫問題 232407)
  • TextInputLayout 疊加層提示和 文字由 XML 設定時的文字 (Android 開放原始碼計畫問題 230171)
  • MediaControllerCompat 中的記憶體流失情形 (Android 開放原始碼計畫問題) 231441)。
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() 異常終止。
  • RecyclerView會在回收時當機 查看持有者 (Android 開放原始碼計畫問題 225762)
  • getAllowGeneratedReplies() 會針對內的動作錯誤傳回 false WearableExtender

修訂版本 25.1.1

(2017 年 1 月)。

重要事項:android.support.v7.media.MediaRouter 中有已知錯誤 類別。如果應用程式使用 v7 MediaRouter、 您應更新至支援資料庫修訂版本 25.2.0, 修正這項錯誤

重要變更

  • 片段交易現在可在內部和不同環境中最佳化 交易最佳化片段交易作業可以消除 作業。舉例來說,假設有兩筆交易 第二個可新增片段 A,第二個則新增片段 A 將片段 A 替換為片段 B。在這種情況下 且只會新增片段 B也就是說 可能不會經歷建立/刪除生命週期。

    這項最佳化的副作用是,片段可能會有狀態 變更不符合預期順序例如,假設一筆交易 加入片段 A,第二個加入片段 B,然後第三個移除片段 答:如未最佳化,片段 B 處於執行狀態時 片段 A 也存在,因為片段 A 會遭到移除 加入片段 B 後進行最佳化時,無法確定片段 B 因為片段 A 的 建立和刪除最佳化作業可能會移除這些參數。

    這項最佳化功能預設為停用。如要啟用最佳化功能 呼叫 FragmentTransaction.setAllowOptimization(true)

  • 片段現在可以將轉場和動畫延後到 現已可使用 Fragment.postponeEnterTransition()Fragment.startPostponedEnterTransition()。這個 API 類似於用於活動轉換的 Activity.postponeEnterTransition()Activity.startPostponedEnterTransition()

已修正問題

修訂版本 25.1.0

(2016 年 12 月)

重要事項:android.support.v7.media.MediaRouter 中有已知錯誤 類別。如果應用程式使用 v7 MediaRouter、 您應更新至支援資料庫修訂版本 25.2.0, 修正這項錯誤

重要變更

  • 巢狀 RecyclerView 小工具的用戶端 (例如水平捲動清單的垂直捲動清單) 可取得 設定內部 RecyclerView 小工具的版面配置管理工具,即可大幅提高效能 項目。致電 LinearLayoutManager.setInitialPrefetchItemCount(N), 其中 N 是每個內部項目可見的檢視畫面數量。例如: 內部橫向清單顯示 至少有三個半項目的檢視畫面 一次,您可撥打 LinearLayoutManager.setInitialPrefetchItemCount(4)。建議做法 讓「RecyclerView」可以建立所有相關項 觀看次數和外部觀看次數RecyclerView 大幅減少畫面的延遲情形 較具彈性的元件
  • FragmentActivity.setSupportMediaController()」和 FragmentActivity.getSupportMediaController() 請使用新的靜態 MediaControllerCompat.setMediaController()MediaControllerCompat.getMediaController() 方法。
  • 當用戶端透過 appcompat 色調指定小工具色調時 (例如 appcompat:buttonTint),用戶端負責提供 所有必要的狀態 (例如「已停用」、「已按下」等)。這是 與使用架構色調時,Google 會指定小工具色調的方式一致。

全新和已修改的 API

已修正問題

  • 密碼顯示設定切換鈕無法通過無障礙功能測試。
  • Appcompat 並未遵循 L 之前版本裝置上的 state_enabled
  • RecyclerView 新增焦點復原機制。這也修正了支援偏好設定 使用方向鍵導覽時 (例如在 Android TV 上) 時,片段會失去焦點 裝置。
  • Leanback:當標頭停用和空白轉接程式時,BrowseFragment 會異常終止。
  • Appcompat:AlertDialog 太大。
  • InputContentInfoCompat 次通話 requestPermission() 時,應呼叫 releasePermission()
  • MediaBrowserCompat當機。
  • 當顯示設定設定為 時,CoordinatorLayout 會測量/版面配置 GONE
  • 無法在 API 級別上為 AnimatedVectorDrawableCompat 著色 低於 24
  • Leanback 程式庫觸發了錯誤的 Lint 錯誤
  • 區塊面板造成每個 API 級別的測試失敗
  • RecyclerView 未通過 Leanback 的測試
  • RecyclerView會在回收時當機 查看持有者 (Android 開放原始碼計畫問題 225762)
  • Fragment.onDestroy() 未針對返回堆疊中的片段呼叫
  • CollapsingToolbarLayout 剪裁為 收合時未繪製
  • 擲回 CoordinatorLayout.offsetChildByInset()IllegalArgumentException
  • 正在為 RecyclerView 個項目卸離動畫 內部 RecyclerView, 防止未來 預先擷取
  • 無法附加 RecyclerView 個項目 巢狀預先擷取
  • 預先擷取巢狀 RecyclerView 的資料 系統會在第一個版面配置中捨棄項目
  • 如果兩次拖曳,RecyclerView 預先擷取失敗 事件抵達相同位置
  • RecyclerView 應根據推測結果 RenderThread 正在算繪時的版面配置
  • 夜間設定的顏色資源不一定能轉換成可繪項目 已從資源快取中正確清除
  • FloatingActionButton: 以程式輔助方式設定 BackgroundTintList 無法正常運作 (Android 開放原始碼計畫) 問題 227428)。
  • TextInputLayout:字體不是 設定 ErrorView (AOSP 問題 227803)
  • TextInputLayout一律會改回使用 API 23 以下的淺色錯誤顏色 (Android 開放原始碼計畫問題 221992)
  • FloatingActionButton顯示為 指標離開時按下

如需完整的公開錯誤修正清單,請前往 Android 開放原始碼計畫 Issue Tracker

淘汰項目

這個版本已淘汰許多方法和類別。這些 已淘汰的 API 將在日後推出的版本中移除,因此開發人員應 如要進一步瞭解如何從 請參閱該 API 的說明文件

修訂版本 25.0.1

(2016 年 11 月)。

已修正問題

如需完整的公開錯誤修正清單,請前往 Android 開放原始碼計畫 Issue Tracker

修訂版本 25.0.0

(2016 年 10 月)

重要變更

  • ContextCompat 建構函式 並受到保護這個類別不應公開例項,但可能會 由指定較新 API 級別的支援資料庫擴充。
  • 已建立 ActivityCompat 建構函式 並受到妥善保護這個類別不應公開例項,但可能會 由指定較新 API 級別的支援資料庫擴充。
  • 已建立「getReferrer(Activity)」 靜態。
  • 已移除 android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V)。此方法的所有用戶端實作 。
  • 已移除 android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object)。您應該以更多 適當命名的方法 fromMediaSession()
  • android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object) 已移除 。應視情況替換用途 命名方法 MediaSessionCompat.QueueItem#fromQueueItem
  • 已移除 android.support.v7.widget.Space。用量 應替換為 android.support.v4.widget.Space

全新的 API

已修正問題

如需完整的公開錯誤修正清單,請前往 Android 開放原始碼計畫 Issue Tracker

修訂版本 24.2.1

2016 年 9 月

修正問題:

如需完整的公開錯誤修正清單,請前往 Android 開放原始碼計畫 Issue Tracker

修訂版本 24.2.0

2016 年 8 月

24.2.0 版包含下列變更:

注意:版本 24.2.0 停止支援 Android 2.2 (API 級別 8) 以下版本。僅適用於 提供這些系統版本現已標示為已淘汰 。這些已淘汰的類別和方法日後可能會移除 版本。

v4 支援資料庫分割功能

在這個版本中,v4 支援資料庫 分成幾個較小的模組

support-compat
為新的架構 API 提供相容性包裝函式,例如 「Context.getDrawable()」和 View.performAccessibilityAction()
support-core-utils
提供許多公用程式類別,例如 AsyncTaskLoaderPermissionChecker
support-core-ui
實作各種 UI 相關元件,例如 ViewPagerNestedScrollViewExploreByTouchHelper
support-media-compat
向後移植媒體架構中的某些部分 包括 MediaBrowserMediaSession
support-fragment
向後移植片段 這個架構的重點在於此模組具有 support-compat 的依附元件。 support-core-utilssupport-core-uisupport-media-compat

為了顧及回溯相容性,如果您將 support-v4 Gradle 指令碼,您的 APK 會包含所有這些模組。但為了減少 APK 大小,建議您只列出應用程式所需的特定模組。

API 更新

行為變更

  • 如果您使用 appcompat 程式庫的日間/夜間功能,系統會 現在會在日間/夜間模式變更時自動重新建立活動 (原因可能是時段,或因呼叫 AppCompatDelegate.setLocalNightMode() 所致)。
  • Snackbar現在會在 導覽列選取「半透明」狀態列

MediaRouter 程式庫

藍牙裝置不再列為媒體路徑。正在將音訊轉送至 藍牙裝置現在僅限 Android 系統層級控管。

淘汰項目

已淘汰的類別和方法將在日後推出的版本中遭到移除。您應盡快從這些 API 遷出。

修正錯誤

下列已知問題在 24.2.0 版中已修正:

如需完整的公開錯誤修正清單,請前往 Android 開放原始碼計畫 Issue Tracker

修訂版本 24.1.1

2016 年 7 月

修正問題:

  • 修正 24.1.0 版本中受影響的資源 ID 問題 所有支援資料庫之間共用的資料導致應用程式必須依賴 支援程式庫,其中包含設計和 appcompat 等資源 您能解決因資源 ID 不符而發生問題

修訂版本 24.1.0

2016 年 7 月

v4 支援服務變更 程式庫

修正問題:

修訂版本 24.0.0

2016 年 6 月

v4 支援服務變更 程式庫
  • 新增日期:Fragment.commitNow() 適用於同步修訂
  • 新增日期:NotificationCompat.MessagingStyle 多方對話
  • 新增日期:NotificationManagerCompat.areNotificationsEnabled()getImportance()
  • MediaSessionCompat 現在可反映 MediaSession 的功能,且不會再自動呼叫 setMediaButtonReceiver()

注意:24.0.0 版中只有 MediaBrowserServiceCompat 是 與 API 24 及之後推出的 Android 版本之間的前瞻相容。 如果您使用的是舊版,請更新為 確保相容性。

v7 的變更 appcompat 程式庫
設計支援變更 程式庫
v17 Leanback 程式庫的變更:
  • 新增了 OnboardingFragment,提供首次執行的歡迎應用程式 並進行設定流程
自訂分頁異動:
  • 新增提供 RemoteViews 的支援功能 次要工具列的階層
  • 新增日期:CustomTabsClient.connectAndInitialize() 一行暖身

修訂版本 23.4.0

2016 年 5 月

v4 支援服務變更 程式庫
  • 修正片段的新增順序錯誤。 (問題 206901 年)。
  • 修正問題:捲動頁面後無法繪製應用程式列 畫面外。(問題 178037)。
v7 的變更 appcompat 程式庫
設計支援變更 程式庫
向量可繪項目程式庫的變更:

修訂版本 23.3.0

4 月 2016 年

v4 支援服務變更 程式庫
  • 新增 AppLaunchChecker 以協助追蹤應用程式 已由使用者啟動 hasStartedFromLauncher() 會顯示使用者是否 從主畫面啟動應用程式,或 是以其他方式啟動 (例如 網址)。
  • 修正 MediaBrowserServiceCompat.mConnections。(問題 205220 年)。
  • 已修正以下問題:ViewPager 並未計入網頁邊界。(問題 203816 年)。
  • Fragment.onRequestPermissionsResult()」已傳送給子發布商 片段。
v7 的變更 appcompat 程式庫
v7 的變更 mediarouter 程式庫
v7 偏好設定的變更 程式庫:
v7 的變更 recyclerview 程式庫
設計支援變更 程式庫

修訂版本 23.2.1

三月 2016 年

v4 支援服務變更 程式庫
v7 的變更 appcompat 程式庫
v7 卡檢視畫面的變更 程式庫
v7 的變更 recyclerview 程式庫
v7 的變更 mediarouter 程式庫
v17 版的變更 Leanback 程式庫
  • 修正 GridLayout.onAddFocusables() 的問題: 導致獲選的項目有誤
  • 已修正 GuidedStepFragment 個動作的問題 也就是在動作收合後消失
設計支援變更 程式庫
VectorDrawableCompat 的變更:

修訂版本 23.2.0

2 月 2016 年

v4 支援資料庫變更:
  • 新增了 MediaBrowserCompat 用於 MediaBrowser 支援,新增 MediaBrowserServiceCompat 用於 MediaBrowserService 支援。這很實用 將媒體應用程式的背景服務與 UI 元件連結後 並可整合 Android Auto 和 Android Wear API 級別 21 以上。
  • 系統現在呼叫 onActivityResult() 以取得 巢狀 FragmentActivity
v7 AppCompat 的變更 程式庫
  • 為 API 級別 14 及以上級別新增夜間模式功能。開關 介於 Material 淺色和 Material Design 深色主題 應用程式專屬設定
    • 您可以在下列位置找到白天和夜間主題:<sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml
    • AppCompatDelegate.setDefaultNightMode():設定 傳遞下列其中一個常數:
      • MODE_NIGHT_AUTO
      • MODE_NIGHT_NO
      • MODE_NIGHT_YES
      • MODE_NIGHT_FOLLOW_SYSTEM
    • AppCompatDelegate.setLocalNightMode():覆寫 本機應用程式元件的夜間模式設定。
    • AppCompatDelegate.getDefaultNightMode():退貨 預設夜間模式。
v7 Mediarouter 的變更 程式庫
設計支援資料庫變更:
  • 支援底部 試算表。互動外掛程式 BottomSheetBehavior 可讓 CoordinatorLayout 的子檢視畫面執行以下動作: 底部功能表基礎類別 BottomSheetCallback 提供 用於監控底部功能表事件的回呼。
CustomTabs 支援相關異動 程式庫
  • Chrome 自訂分頁現在允許應用程式加入底部列和動作 除了現有的頂端動作按鈕以外,還會顯示其他按鈕。
  • CustomTabsIntent.Builder.addToolBarItem():新增動作 按鈕加入「自訂」分頁您可以新增多個按鈕。
  • CustomTabsSession.setToolBarItem():更新影像內容 工具列項目此方法只有在 有效 ID,且瀏覽器工作階段位於前景。
已新增 VectorDrawable 支援程式庫:
  • 新增的類別:
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • 在應用程式中新增VectorDrawable素材資源的支援功能 在 API 級別 7 或以上級別中執行AnimatedVectorDrawable 項資產 也能在 API 級別 11 或以上版本中支援向量素材資源的選項 明顯小於圖片素材資源,應該有助於減少 降低支援多個參數所需的素材資源數量 裝置螢幕畫面
  • 這個程式庫現在是 v7 AppCompat 程式庫的依附元件,可讓您 開發人員和 AppCompat 向量可繪項目如何在 ImageButton 內使用 VectorDrawableCompatImageView,請使用 app:srcCompat XML 屬性或 setImageResource() 方法。
  • 如要繼續在 API 級別 20 中參照屬性 ID, 請在 build,gradle 檔案中新增以下 appt 標記:
    • 如果要使用 Gradle 適用的 Android 外掛程式 1.5.0 版或 請將以下內容加入 build.gradle 檔案:
    • android {
        defaultConfig {
          // Stops the Gradle’s automatic rasterization of vectors
          generatedDensities = []
        }
         // Flag that tells aapt to keep the attribute ids
        aaptOptions {
          additionalParameters "--no-version-vectors"
        }
      }
      
    • 如果要使用 Gradle 適用的 Android 外掛程式 2.0.0 版或 請將以下內容新增到 build.gradle 檔案中:
    • android {
        defaultConfig {
          vectorDrawables.useSupportLibrary = true
        }
      }
      
v17 Leanback 的變更 程式庫
  • GuidedStepFragment 新增了功能, 一個構成要素,用來引導使用者做出決定或一系列的決策:
    • GuidedAction 中新增按鈕動作:
      • GuidedStepFragment.setButtonActions():設定清單 GuidedAction 個按鈕, 使用者可以在「動作」檢視畫面中選取
    • 說明欄位現在可供編輯:
      • GuidedAction.Builder.descriptionEditable():傳遞時 true,將動作說明設為可編輯。
      • GuidedAction.getEditDescription():傳回可編輯的 描述為 CharSequence
    • 新增的子動作下拉式清單:
      • GuidedAction.setSubActions():將 GuidedAction 清單設為下拉式選單 子動作選單
  • DatePicker 功能新增 GuidedDatePickerAction 小工具:
    • 選取日期時使用的是年、月、日欄,且有一個 可以自訂範圍
    • GuidedDatePickerAction.BuilderGuidedDatePickerAction 物件的建構工具類別。
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat):透過傳送 適當的三字元 String,例如“YMD”“MDY”。或者,您也可以使用 datePickerFormat XML 屬性。
v7 RecyclerView 的變更 程式庫

修訂版本 23.1.1

2015 年 11 月

v7 recyclerview 程式庫的變更:
  • 修正當您執行滑動關閉動作時, ItemTouchHelper 公用程式類別會提供,然後新增項目。 (問題 190500)。
v7 偏好設定資料庫的變更:
v17 Leanback 支援資料庫的變更:
  • 修正這個程式庫中的幾個內部問題。
設計支援資料庫變更:
  • 已將 getHeaderView 方法新增至 NavigationView 類別。
  • 修正了以下項目中 FloatingActionButton 物件的透明背景問題: 搭載 Android 4.0 (API 級別 15) 以下版本的裝置。 (問題 183315)。

修訂版本 23.1.0

2015 年 10 月

v4 支援資料庫變更:
  • 新增OnScrollChangedListener介面支援 NestedScrollView小工具。這項服務 可讓您在捲動的 X 或 Y 位置變更時接收回呼。
  • 新增 MediaButtonReceiver 類別,以便快轉接收的播放控制項 移至管理 MediaSessionCompat 類別的服務 MediaSessionCompat 類別有 建構函式,可自動在資訊清單中尋找媒體按鈕接收器。A 罩杯 媒體按鈕接收器是處理 透過硬體或藍牙控制項控製播放控制項
v7 appcompat 程式庫的變更:
  • 新增了 Material Design SeekbarImageButton 小工具。
  • 更新 ImageView 小工具以支援著色功能。
  • 更新 SwitchCompat 小工具的外觀和風格。
v7 mediarouter 程式庫的變更:
  • 已將下列功能新增至 MediaRouteChooserDialog 類別:
    • 探索媒體路線供應商時顯示載入頁面。
    • 包含裝置類型圖示,方便您辨識裝置。
    • 按照目前應用程式的使用頻率排序路徑。
    • 支援橫向模式。
  • 已將下列功能新增至 MediaRouteControllerDialog 類別:
    • 可識別螢幕投放,並提供適當的說明。
    • 支援各種專輯封面大小和顯示比例,並以非同步方式載入圖片。
    • 根據應用程式的主要顏色自動選取內容顏色。
    • 根據裝置的可用螢幕空間調整對話方塊版面配置。
    • 支援橫向模式。
v7 調色盤程式庫的變更:
  • 新增了 setRegion() 方法,支援從特定物件中擷取顏色 Bitmap 物件的單一區域。
v7 recyclerview 程式庫的變更:
  • ItemAnimator 類別中新增了改善的動畫 API 自訂項目:
    • 變更動畫不會再強制執行 ViewHolder 物件的兩個副本。 啟用項目內容動畫此外,ItemAnimator 物件 決定要重複使用相同的 ViewHolder 物件,還是要 新的 Pod
    • 新的 Information 記錄 API 為 ItemAnimator 類別提供彈性 在版面配置生命週期中的正確時間點收集資料。此為後續資訊 並傳入動畫回呼。
  • 針對這項回溯不相容的 API 變更提供簡單的轉換計畫:
    • 如果您先前已擴充 ItemAnimator 類別,您可以變更 將基礎類別設為 SimpleItemAnimator,程式碼應可照常運作。 SimpleItemAnimator 類別會納入新的 API 來提供舊版 API。
    • 部分方法已從 ItemAnimator 類別中移除。下列 系統將不再編譯程式碼:
    • Kotlin

      recyclerView.itemAnimator.supportsChangeAnimations = false
      

      Java

      recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
      

      就可以替換為:

      Kotlin

      val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator
      animator?.supportsChangeAnimations = false
      

      Java

      ItemAnimator animator = recyclerView.getItemAnimator();
      if (animator instanceof SimpleItemAnimator) {
         ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
      }
      
v7v14,以及 v17 Preference 支援資料庫:
  • 移除了控制 EditText 對話方塊的 API。
v17 Leanback 支援資料庫的變更:
  • 為支援資料庫新增 GuidedStepFragment 類別版本 (擴充 android.support.v4.app.Fragment) 以及經過改良的動畫和 轉場效果
  • 已更新 GuidedStepFragment 類別,以便將其放置在頂端 。
  • 新增功能為不同類型的搜尋完成字詞加上註解, SearchFragment 類別。
  • VerticalGridFragment 新增交錯的投影片轉場支援 類別
設計支援資料庫變更:
  • 新增日期: 字元計數支援 TextInputLayout 小工具。
  • 透過新增AppBarLayout SCROLL_FLAG_SNAP 常數。捲動結束時,如果檢視區塊 部分顯示時,系統會對齊檢視畫面,並捲動至最接近的邊緣。
  • 使用NavigationView app:actionLayout 屬性或 MenuItemCompat.setActionView() 方法。
自訂分頁支援資料庫異動:
  • 已將 enableUrlBarHiding() 方法新增至 CustomTabsIntent 類別可讓用戶端自訂是否要自動隱藏網址列 向下捲動
  • 已將 setActionButton() 方法新增至 CustomTabsSession 類別這可以 在啟用的自訂分頁中變更自訂動作按鈕的圖示。
  • TAB_SHOWNTAB_HIDDEN 常數新增為新事件 針對 CustomTabsCallbackonNavigationEvent 方法 類別

修訂版本 23.0.1

2015 年 9 月

v7v14 Preference 支援資料庫:
  • 新增 Material Design 版面配置和樣式檔案。 (問題 183376)。
v7 appcompat 程式庫的變更:
設計支援資料庫變更:
自訂分頁支援資料庫異動:

修訂版本 23

2015 年 8 月

新增支援資料庫:

如需支援資料庫異動的完整清單,請參閱 支援 Library API 差異報表

修訂版本 22.2.1

2015 年 7 月

設計支援資料庫變更:
  • 已將 hide()show() 方法新增至 適用於程式輔助的 FloatingActionButton 類別 觸發動畫的方式
  • 已將 LENGTH_INDEFINITE 常數新增至 用於顯示 Snackbar 的 Snackbar 類別 直到關閉或顯示其他 Snackbar 為止。此外, 「setActionTextColor(int)」和 setActionTextColor(ColorStateList) 方法。
  • 已將 getSelectedTabPosition() 方法新增至 用於擷取目前資料的 TabLayout 類別 就會進入所選分頁
  • 為 方法的 android.support.v7.app.NotificationCompat.MediaStyle 類別 鏈結。
  • 新增便利的方法 RecyclerView:用於批次插入項目。

如需支援資料庫異動的完整清單,請參閱 支援 Library API 差異報表

修訂版本 22.2.0

2015 年 5 月

新增設計支援資料庫:
  • 新增了用於展示的TextInputLayout 以浮動標籤表示 EditText 提示和錯誤文字。
  • 新增了 FloatingActionButton 以實作 追蹤介面中的主要動作 懸浮動作按鈕,支援預設或最小大小。
  • 新增了 Snackbar 以提供輕量級 在 Snackbar 加上選擇性動作的意見回饋。
  • 新增了 TabLayout 來實作已修正和 可捲動 分頁也很簡單 整合 ViewPager
  • 新增了用於實作的 NavigationView 導覽匣 包括透過 「選單資源」
  • 新增了 CoordinatorLayout (一般用途) 用於在兩個平台之間建構依附元件 同層級檢視畫面並可透過以下功能輕鬆捲動回應 CoordinatorLayout.Behavior。許多設計 資料庫元件都必須是 CoordinatorLayout
  • 新增了 AppBarLayout,這是一個 Toolbar 和其他資料檢視 (例如 TabLayout) 回應捲動事件時,將畫面捲動離開螢幕,讓回應中出現 捲動瀏覽,或是在捲動關閉/在畫面上之前收合/取消收合。
  • 新增了用於控制的CollapsingToolbarLayout Toolbar 的收合方式。工具列可透過以下方式收合: 元件收合時將元件固定在畫面頂端, 元件 (例如 ImageView) 的視差捲動 或在檢視畫面部分收合時加入內容剪裁顏色。
v4 支援資料庫的變更:
v7 appcompat 程式庫的變更:

如需支援資料庫異動的完整清單,請參閱 支援 Library API 差異報表

修訂版本 22.1.0

2015 年 4 月

註解程式庫的變更:
  • 新增 Annotations 程式庫,支援增強程式碼檢查。 註解會以中繼資料標記的形式,附加在變數、參數 並回傳值以便檢查方法的回傳值、傳遞的參數 變數和欄位
v4 支援資料庫的變更:
v7 appcompat 程式庫的變更:
v17 leanback 程式庫的變更:
v7 recyclerview 程式庫的變更:
v8 Renscript 程式庫的變更:

修訂版本 22

2015 年 3 月

v4 支援資料庫的變更:
v7 appcompat 程式庫的變更:
v17 leanback 程式庫的變更:
v7 mediarouter 程式庫的變更:
v7 recyclerview 程式庫的變更:

修訂版本 21.0.3

2014 年 12 月

v4 支援資料庫的變更:

修訂版本 21.0.2

2014 年 11 月

v4 支援資料庫的變更:
v7 appcompat 程式庫的變更:
  • 新增 PopupMenu 建構函式以支援新的彈出式視窗 選單。
  • 新增對 Toolbar 中收合圖示說明的支援 類別
  • 更新 SearchView 小工具,支援顯示功能 commitIcon
  • buttonGravity Toolbar 類別。
v7 cardview 程式庫的變更:
v7 recyclerview 的變更 程式庫
v17 leanback 程式庫的變更:
  • 新增產生 v4 程式碼片段的支援功能。
  • 已變更 CardView 上的次要文字顏色。

修訂版本 21.0.1

2014 年 11 月

已新增 Multidex 支援資料庫,支援多個 Dalvik 執行檔 (DEX) 檔案 適用於 Android 5.0 之前的 Multi-dex 檔案支援。

修訂版本 21

2014 年 10 月

v4 支援資料庫的變更:
  • 已新增對 Fragment 的支援 搭載 Android 5.0 (API 級別 21) 的裝置。 請注意,轉場效果對執行中的裝置沒有任何影響 Android 4.4 以下版本。
  • 新增了「DocumentFile」以便輕鬆使用 從File出發的轉場效果 但在處理文件樹狀結構時不過,這個類別需要 相較於這個平台的 已在以下位置新增 DocumentsContract 個 API: Android 4.4 (API 級別 19)。因此,在 Android 4.4 上執行時,應改用 DocumentsContract 以及更高版本
v7 appcompat 變更 程式庫
  • 新增對材質的支援 設計使用者介面。
  • 新增了 Toolbar,可用於一般化 「ActionBar」的功能 會在應用程式版面配置中使用
  • 更新時間:ActionBarDrawerToggle, 包含選單展開動畫
  • 更新常見的使用者介面小工具,以便透過主題著色 屬性
  • 已新增向後移植的 SwitchCompat (為新增的 Switch 小工具) Android 4.0 (API 級別 14)。
v7 cardview 程式庫
  • 已新增 CardView 小工具 提供與 Material Design 相容的實作內容 資料項目。
全新 v7 recyclerview 程式庫
  • 已新增 RecyclerView 小工具 它具有彈性的清單檢視,能夠提供有限的視窗 轉換為大型資料集
新的第 7 版調色盤程式庫
  • 已新增 Palette 類別, 能讓您從圖片中擷取顯著色彩
全新 v17 leanback 程式庫

修訂版本 20

2014 年 7 月

v4 支援資料庫的變更:

修訂版本 19.1.0

2014 年 3 月

v4 支援資料庫的變更:
  • 新增了 SwipeRefreshLayout 類別 可讓使用者重新整理檢視畫面的內容 或滑動手勢
  • 修正導覽匣的無障礙功能問題。
v7 appcompat 程式庫變更:
  • 修正動作列的背景問題。

修訂版本 19.0.1

2013 年 12 月

v4 支援資料庫的變更:
v7 mediarouter 程式庫的變更:
v8 Renscript 程式庫的變更
  • 已新增 RenderScript 通道層的錯誤傳播。

修訂版本 19

2013 年 10 月

v4 支援資料庫的變更:
v7 mediarouter 程式庫的變更:
  • 新增對媒體播放佇列、設定 HTTP 標頭值和媒體的支援功能 播放長度。
  • 新增明確的啟動、取得和結束工作階段動作,以便明確管理媒體 播放工作階段。

修訂版本 18

2013 年 7 月

v4 支援資料庫的變更:
新的 v7 appcompat 程式庫:
  • 新增了 ActionBar,以便實作 動作列使用者介面設計 模式,還原為 Android 2.1 (API 級別 7) 以上版本。使用此課程需要 擴充新的 ActionBarActivity 類別。
新的 v7 mediarouter 程式庫:

新增 Mediarouter 程式庫,提供對 Google Cast 開發人員預覽版的支援。 v7 mediarouter 程式庫 API 可讓您控制 將媒體頻道和從目前裝置串流播放到外部螢幕 和其他目標裝置,而且相容於 Android 2.1 (API 級別 7)。詳情請參閱 V7 mediarouter 程式庫

支援中導入的 v7 mediarouter 程式庫 API 程式庫 r18 日後可能會修訂支援服務版本 媒體庫。目前,建議您只在連線時使用程式庫 內建 Google Cast 開發人員預覽版

修訂版本 13

2013 年 5 月

v4 支援資料庫的變更:
全新 v7 格線版面配置程式庫:
  • 新增了 GridLayout,以便支援 GridLayout 版面配置物件。
  • 已新增 android.support.v7.widget.Space,可用於建立空白區域 在 GridLayout 版面配置物件內。

修訂版本 12

2013 年 2 月

v4 支援資料庫的變更:
  • 改善 ViewPager 的互動行為。
  • 修正可能導致 ViewPager 選取 錯誤的頁面
  • 已修正 removeView() 方法的使用問題 (ViewPager) 版面配置
  • 修正 SearchViewCompat 使用 用於關閉「返回」按鈕不會清除搜尋文字。這項修正僅適用於 託管 API 級別 14 以上

修訂版本 11

2012 年 11 月

v4 支援資料庫的變更:

修訂版本 10

2012 年 8 月

v4 支援資料庫的變更:
  • 新增對 Android 4.1 (API 級別 16) 中推出的通知功能的支援, 對 NotificationCompat 新增的功能。

修訂版本 9

2012 年 6 月

v4 支援資料庫的變更:

修訂版本 8

2012 年 4 月

v4 支援資料庫的變更:
  • 已修正已產生的 PendingIntent 物件的意圖旗標 製作者:TaskStackBuilder
  • 已從格狀版面配置程式庫專案中移除未使用的屬性,確保 可使用 API 級別 7 以上的建構程式庫
  • 為格線版面配置新增 .classpath.project 檔案 程式庫專案

修訂版本 7

2012 年 3 月

v4 支援資料庫的變更:
  • 新增了 ShareCompat,可提供輔助類別 傳送及接收社群媒體分享應用程式的內容,包括 將共用資料歸因於來源應用程式這個類別也提供與 Android 4.0 的新功能ShareActionProvider
  • 新增了 NavUtilsTaskStackBuilder,以支援導入 Android 設計指南。這些 另有一種可在不同版本之間實作動作列「向上」按鈕的方法。 如需此模式的實作範例,請參閱 (<em><sdk></em>/samples/<em><platform></em>/AppNavigation)。
  • 新增了 NotificationCompat.Builder,以便提供 Android 3.0 Notification.Builder 輔助類別的相容性實作 可用於建立標準化系統通知

修訂版本 6

2011 年 12 月

注意:支援資料庫 API 的參考資料現已提供: 架構參考資料,例如:android.support.v4.app

v4 支援資料庫的變更:
  • ViewPager 變更:
    • ViewPager 新增額外的裝飾檢視畫面支援。 裝飾檢視畫面可在 XML 版面配置中以頁面器子項檢視畫面的形式提供。
    • 新增 PagerAdapter.getPageTitle() 以提供頁面標題字串,預設為否 每頁的標題。
    • 已新增非互動式標題 PagerTitleStrip 資料條,您可以加入 ViewPager 的子項。開發人員可以提供文字 外觀和顏色,以及版面配置大小和重力資訊。
    • 更新了 PagerAdapter 方法,以便取得 ViewGroup 而非 View 來避免在轉接程式實作中進行類別轉換。
    • 已更新 ViewPager,以便使用啟動器樣式 快速滑過行為
    • 修正使用者介面互動和測試自動化功能的錯誤。
  • 支援 Fragment:
    • 已將 setStartDeferred() 方法變更為 setUserVisibleHint(boolean)
    • 為畫面外頁面新增延遲啟動時間,藉此提升效能。
  • 支援 Accessibility API:

修訂版本 5

2011 年 12 月

v4 支援資料庫的變更:

修訂版本 4

2011 年 10 月

v4 支援資料庫的變更:
  • 已將「EdgeEffectCompat」新增至 支援 EdgeEffect
  • 新增 LocalBroadcastManager,讓應用程式輕鬆 不必在單一應用程式中註冊及接收意圖 以及向全球播送
  • 已在 ViewCompat 中新增支援,用於檢查及設定過度捲動 適用於 Android 2.3 以上版本的 View
  • Fragment API 的變更:
    • 新增 API 以控制新選單的瀏覽權限。
    • 已新增自訂動畫 API。
    • FragmentActivity 中新增 API,以保留自訂和 非設定的執行個體資料。
    • 修正多項錯誤。
  • 修正 Loader 錯誤,此錯誤會導致 在 Froyo 以下版本執行時取消 AsyncTask 每個 Pod 都有一個專屬版本支援 程式碼現在使用自身版本的 AsyncTask,讓 所有平台版本的行為

修訂版本 3

2011 年 7 月

v4 支援資料庫的變更:
  • 新增對 Fragment.SavedState 的支援
  • 新增 MotionEventCompat,以支援較新的 MotionEvent API
  • 新增 VelocityTrackerCompat 以支援較新的 VelocityTracker API
  • 新增 ViewConfigurationCompat 以支援較新的 ViewConfiguration API
  • 所有可讓您建立 UI 的新 API (僅限支援資料庫提供) ,可讓使用者在內容檢視畫面之間左右滑動。目標類別 支援,包括:
    • ViewPager:管理 ViewGroup 的 子項檢視畫面的版面配置,可讓使用者滑動。
    • PagerAdapter:這個轉接介面會在 ViewPager 中填入 代表每個網頁的檢視
    • FragmentPagerAdapterPagerAdapter 的擴充功能,用於翻轉 片段之間
    • FragmentStatePagerAdapterPagerAdapter 的擴充功能,適用於 在使用程式庫支援的 Fragment.SavedState 片段之間進行切換。
新的 v13 版支援資料庫:
  • 包含《FragmentPagerAdapter》和《FragmentStatePagerAdapter》 支援水平分頁

    這些 API 與新增至 v4 支援資料庫的 API 完全相同,但依賴 Android 3.2 中的其他平台元件如果您要開發 Android 3.2 以上版本 (API 級別已提供 v4 程式庫中的所有其他 API) 13)。

修訂版本 2

2011 年 5 月

v4 程式庫異動:

修訂版本 1

2011 年 3 月

使用 v4 程式庫的初始版本。