本頁提供舊版支援資料庫套件版本的詳細資訊。如需最新的支援資料庫版本,請參閱近期支援資料庫修訂版本。
修訂版本 26.0.0 Beta 2
(2017 年 6 月)
請注意,26.0.0-beta2 是預先發布版。而且 API 介面隨時可能變更,而且不一定包含最新支援資料庫穩定版本的功能或錯誤修正。
重要事項:您現在可以透過 Google 的 Maven 存放區取得支援資料庫。您不需要從 SDK Manager 下載支援存放區。詳情請參閱支援程式庫設定。
全新的 API
- 新增
JobIntentService
類別,協助開發人員按照新的 Android O 背景執行限制排定工作時程。
API 差異
修正錯誤
- Android O SDK 推送會導致 TextView 中的斜體消失
- 連線至 MediaBrowserServiceCompat 時出現空值指標例外狀況
- TextInputLayout 必須在 onProvideAutofillStructure() 設定提示
- 在 O 上使用 TextView 自動調整大小時,堆疊溢位
修訂版本 26.0.0 Beta 1
(2017 年 5 月)
請注意,26.0.0-beta1 是預先發布版。而且 API 介面隨時可能變更,而且不一定包含最新支援資料庫穩定版本的功能或錯誤修正。
重要事項:您現在可以透過 Google 的 Maven 存放區取得支援資料庫。您不需要從 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 原文語言時,如果傳回類型未受限 (例如
assertNotNull(findViewById(...)).someViewMethod())
),就必須明確將層級轉換為View
。 - 非最終
findViewById()
方法 (例如Activity.findViewById()
) 的覆寫需要更新其傳回類型。
- 這可能會導致現有程式碼現在具有不明確的傳回類型,例如,如果
全新的 API
-
FragmentManager
和Fragment
提供isStateSaved()
方法,允許查詢在沒有狀態遺失的情況下,系統是否允許交易。這種做法特別適合在執行任何交易前處理onClick()
事件時進行檢查。 AnimatedVectorDrawableCompat
支援路徑動態。路徑動作可讓物件動畫工具根據一個路徑同時變更兩個屬性;路徑在動畫器的 XML 中會指定為android:pathData
。- 以物理學為基礎的動畫:
- 新增
FlingAnimation
,支援以初始速度製作動畫,並順暢執行速度。 DynamicAnimation
的子類別支援任何物件的自訂屬性。SpringAnimation
和FlingAnimation
現在可以以浮點值建立動畫效果,而不必與View
或Object
建立關聯。
- 新增
-
XML 格式的字型支援:
-
ResourcesCompat.getFont
允許載入可與TextView.setTypeface()
搭配使用的字型資源 (包括字型系列 XML)。 - 使用 AppCompat 時,TextView 支援透過
android:fontFamily
XML 屬性指定字型資源或字型系列 XML。 - 使用 XML 字型系列建立具有樣式和粗細變化的字型系列。(如果您使用支援資料庫類別執行此動作,請使用
app:
屬性和android:
屬性)。
-
- 可下載的字型:
- 新增的
FontsContractCompat
可讓您向字型供應程式要求字型,而不是在應用程式中隨附字型。 - 您也可以在 XML 中要求字型並用於版面配置。
- 新增的
-
表情符號相容性資料庫:
-
EmojiCompat
可以處理指定的CharSequence
,並新增EmojiSpans
。 -
EmojiTextView
和其他小工具以顯示表情符號。 -
FontRequestEmojiCompatConfig
可要求字型提供者提供的表情符號字型。
-
-
「Autosizing TextView」:
TextViewCompat
中的新方法以及 XML 屬性,用於控制TextView
中的自動調整大小。
- 支援跳轉功能並可使用 Leanback 播放控制項:
-
- 新增
PlaybackTransportRowPresenter
,可透過 SeekBar 算繪播放控制項。 - 新增可與
PlaybackTransportRowPresenter
搭配使用且支援跳轉功能的新PlaybackTransportControlGlue
。 - 新的應用程式基礎類別
PlaybackSeekDataProvider
,可為PlaybackTransportControlGlue
提供搜尋縮圖。
- 新增
- Preferences Data Store:
-
PreferenceDataStore
現在可讓您實作自己的偏好設定儲存空間,並在Preference
和PreferenceManager
中使用新方法進行設定。
-
已知問題
- 與 Google Play 服務整合的可下載字型和表情符號相容性僅適用於 Google Play 服務 11 以上版本。目前可透過 Google Play 服務 Beta 版計畫推出。
修正錯誤
-
MediaBrowserCompat.search()
API 無法運作 (Android 開放原始碼計畫問題 262170) -
ViewCompat.postInvalidateOnAnimation()
會擲回例外狀況 (Android 開放原始碼計畫問題 80146) -
針對已刪除 Activity 中的片段呼叫
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 已淘汰。這些 API 的用戶端應依據各個已淘汰 API 的參考資料頁面所述,改用對應的架構。
- 已淘汰支援百分比模組。這個模組的用戶端應遷移至新的 ConstraintLayout 小工具,該小工具會在 SDK Manager 中做為獨立構件提供。
- 支援片段模組不再是 support-media-compat 模組的依附元件。
全新的 API
新增許多類別、方法和常數,為 O 預覽版中新增的平台 API 提供回溯相容性。
IME_FLAG_NO_PERSONALIZED_LEARNING
:針對具有私人模式的應用程式 (例如瀏覽器),IME 可以監聽「沒有學習」標記。這項功能可協助 IME 瞭解應用程式是否處於私人模式,因此當應用程式處於該模式時,就能停用學習或自動調整功能。
如需 25.2.0 至 26.0.0-alpha1 版本的完整 API 變更清單,請參閱支援資料庫 API 差異報告。
修正錯誤
- 在某些情況下,簡易
AutoTransition
動畫可能會被檢視區塊「跳躍」中斷。(AOSP 問題 221816)。
修訂版本 25.4.0
(2017 年 6 月)
重要事項:您現在可以透過 Google 的 Maven 存放區取得支援資料庫。您不需要從 SDK Manager 下載支援存放區。詳情請參閱支援程式庫設定。
重要變更
-
FragmentManager
狀態變更期間,不允許使用executePendingTransactions()
、commitNow()
、popBackStackImmediate()
和類似的交易呼叫。交易的註冊執行不安全,現在FragmentManager
會在狀態變更期間強制執行此操作。 - 與這個支援資料庫版本並行,我們也將發布 Multidex 1.0.2 版。這個版本包含下列重要變更:
- 允許檢測 APK 的多重查詢。
- 淘汰 MultiDexTestRunner (應改用 AndroidJUnitRunner)。
- 針對應用程式的某些封存擷取管理作業提供更完善的防護。
- 修正可能導致暫存檔案捨棄的錯誤。
- 在並行程序進行時加快安裝速度。
- 修正 API 19 和 20 的安裝錯誤。
全新和經過修改的 API
AnimatedVectorDrawableCompat
支援路徑變形和路徑內插。路徑變形可讓形狀從一個路徑 (指定為 android:valueFrom
) 變更為其他路徑 (指定為 android:valueTo
),以提供複雜且吸引人的視覺效果。路徑內插器可將 AnimatedVectorDrawableCompat
的內插器指定為路徑 (在內插器 XML 中指定為 android:pathData
)。
API 差異
已修正問題
- 連線至 MediaBrowserServiceCompat 時出現空值指標例外狀況
- MediaBrowserCompat.search() API 無法運作 (Android 開放原始碼計畫問題 262170)
- 瀏覽 Fragment onItemClicked 回呼在 25.3.0 中無效
- 在 25.3.1 版中上下捲動 VerticalGridView 時出現 NullPointerException
- SimpleArrayMap.allocArrays() 中的 ClassCastException
修訂版本 25.3.1
(2017 年 3 月)
已修正問題
SwitchCompat
需要 SDK 14 以上版本。(Android 開放原始碼計畫問題 251302)- 以物理為基礎的動畫
updateListener
會略過第一個影格。 BottomNavigationView
標籤動畫損毀。
修訂版本 25.3.0
(2017 年 3 月)
重要變更
透過 Gradle 建構時,支援資料庫版本中繼資料會自動新增至 AndroidManifest.xml
,可簡化公開建構作業中的追蹤版本。例如:
<meta-data android:name="android.support.VERSION" android:value="25.3.0" />
淘汰項目
這個版本淘汰了多種方法和類別。這些已淘汰的 API 將在日後推出的版本中移除,且開發人員應進行遷移。如要進一步瞭解如何從特定 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
- 新的物理動畫程式庫提供一組 API,用於建構能動態回應使用者輸入內容的動畫。
leanback-v17
- 新增對視差背景的支援詳情請參閱
Parallax
參考資料。 - 新增
TimePicker
小工具,以便選取電視介面時間。 mediacompat
- 新增搜尋功能。詳情請參閱
MediaBrowserCompat.search()
和MediaBrowserServiceCompat.onSearch()
參考資料。 - 新增對隨機播放和重複模式的支援。詳情請參閱
MediaSessionCompat.setRepeatMode()
和setShuffleModeEnabled()
參考資料。
已修正問題
StaggeredGridLayoutManager
會擲回IllegalArgumentException
(Android 開放原始碼計畫問題 230295)RecyclerView
預先擷取功能無法正確處理附加但未在畫面上的RecyclerView
- Robolectric 無法辨識
LinearLayout
- 刪除
Activity
時,系統會錯誤地為其片段呼叫onActivityCreated()
AppCompatImageView
建構函式導致ArrayIndexOutOfBoundsException
Call.Details
活動轉換作業的 UI 效能不佳
修訂版本 25.2.0
(2017 年 2 月)
重要異動
已修正問題
- 此版本修正了嚴重的中介路由器問題:使用 A2DP 裝置和媒體轉送 API 可能會導致裝置無法回應,且必須重新啟動。
FragmentManager.FragmentLifecycleCallbacks
類別現在是靜態類別。
已修正問題
- 顯示具有畫面鏡像的投影片簡報,造成裝置中斷 Wi-Fi 連線
- 媒體按鈕未妥善處理未透過
setMediaButtonReceiver()
註冊的媒體應用程式 -
字串資源發生
VectorDrawable
錯誤 (Android 開放原始碼計畫問題 232407) - 如果文字是透過 XML 設定,
TextInputLayout
重疊提示和文字 (Android 開放原始碼計畫問題 230171) MediaControllerCompat
中的記憶體流失 (Android 開放原始碼計畫問題 231441)-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
(異常終止) - 回收檢視容器時
RecyclerView
會當機 (Android 開放原始碼計畫問題 225762) getAllowGeneratedReplies()
會針對WearableExtender
內的動作錯誤傳回 false
修訂版本 25.1.1
(2017 年 1 月)
重要事項:支援資料庫 25.1.1 和 25.1.0 修訂版本的 android.support.v7.media.MediaRouter
類別中有一個已知錯誤。如果您的應用程式使用 7 版 MediaRouter
,建議您更新至支援資料庫修訂版本 25.2.0,藉此修正這項錯誤。
重要異動
-
您現在可以在交易內和跨交易間最佳化片段交易。最佳化片段交易作業可以消除取消的作業。舉例來說,假設同時執行兩項交易,一項會新增片段 A,第二項則將片段 A 替換為片段 B。在這種情況下,系統可能會取消第一項作業,只新增片段 B。這表示片段 A 可能無法執行建立/刪除生命週期。
這項最佳化的缺點是,片段的狀態變更可能與預期順序不符。舉例來說,假設某項交易新增了 A 片段,第二個交易則新增 B 片段,而第三個交易則移除片段 A。如果沒有最佳化,片段 B 可以預期在建立片段時也會存在,因為新增片段 B 後,系統就會移除片段 A。透過最佳化作業,由於最佳化可能會移除片段 A 的建立和刪除作業,因此片段 B 無法確保建立 B 片段時確實存在。
這項最佳化功能預設為停用。如要啟用最佳化功能,請呼叫
FragmentTransaction.setAllowOptimization(true)
。 - 片段現在可以延遲轉換和動畫,直到可以使用
Fragment.postponeEnterTransition()
和Fragment.startPostponedEnterTransition()
為止。這個 API 類似於在活動轉換中使用的Activity.postponeEnterTransition()
和Activity.startPostponedEnterTransition()
。
已修正問題
-
MediaSessionCompatTest
執行失敗,並顯示IllegalArgumentException
-
25.1.0 版不會呼叫
DetailsFragment.installTitleView()
- 片段交易在結束時持續顯示 Ghost 檢視畫面 (Android 開放原始碼計畫問題 230679)
-
BottomNavigationView
需在項目圖示和文字之間留間距 (Android 開放原始碼計畫問題 230653) - 新的
PlaybackFragment
和PlaybackSupportFragment
缺少所選事件監聽器 -
從支援資料庫 25.1.0 版 (Android 開放原始碼計畫問題 230461) 開始,模擬器中的
TextInputLayout
焦點無法正確變更 - 無法取代
BottomNavigationView
(Android 開放原始碼計畫問題 230343) -
RecyclerView
出現StaggeredGridLayoutManager
時當機,並顯示完整時距項目 (Android 開放原始碼計畫問題 230295) - 使用
setCallback(null)
時,MediaSessionCompat
異常終止 -
當播放列變更時,
PlaybackGlueHostOld
和PlaybackSupportGlueHostOld
不會通知回呼 -
PlaybackOverlayFragment
範例/test
無法開始播放 -
RecyclerViewFocusRecoveryTest
在 API 15 上發生錯誤 - 「螢幕截圖」列會聚焦在畫面頂端
-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
在 API 15 上停止運作 -
onSubactionClicked()
中的setActions()
損毀 -
在回收部分檢視容器時,
RecyclerView
會異常終止
修訂版本 25.1.0
(2016 年 12 月)
重要事項:支援資料庫 25.1.1 和 25.1.0 修訂版本的 android.support.v7.media.MediaRouter
類別中有一個已知錯誤。如果您的應用程式使用 7 版 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
) 時,用戶端必須負責提供所有必要狀態 (例如「已停用」、「已按下」等)。這與使用架構色調時指定小工具色調的方式一致。
全新和經過修改的 API
- 新增 ExifInterface 支援資料庫。這個程式庫取消了從 JPEG 和原始格式化檔案中的 Exif 資訊讀取,以及設定 JPEG 圖片檔的 Exif 資訊的功能。
- 已重構
Snackbar
,允許應用程式顯示自訂內容。BaseTransientBottomBar
是新的基礎類別,會顯示一般滑動和動畫行為。 - 新增 leanback.media 套件,其中包含輔助類別,以將媒體播放器整合至 Android TV 應用程式。
- 已將
SeekBarPreference
加入可自訂的版面配置和屬性,新增至 v7 偏好設定支援資料庫。 - 已將
ArraySet
類別新增至 v4 支援資料庫。此類別對應於 API 級別 23 導入的架構ArraySet
類別。 RecyclerView
改善 RecyclerView 項目預先擷取功能:- 巢狀
RecyclerView
預先擷取功能可讓您透過 APIRecyclerView
在其他捲動時預先擷取內容,RecyclerView
也能控制預先擷取作業的完成程度: - 為自訂
LayoutManager
物件新增用於實作的 API,以便在捲動和快速滑動時啟用預先擷取功能 - 改善預先擷取功能,可在影格之間的時間範圍內盡可能執行建立/繫結工作
- 巢狀
已修正問題
- 密碼瀏覽權限切換按鈕導致無障礙測試失敗。
- Appcompat 在 L 之前版本的裝置上不會遵循
state_enabled
。 - 在
RecyclerView
中新增聚焦復原機制。此外,這也修正了使用 Android TV 裝置等 DPAD 導覽時,對前片段焦點失焦的支援功能。 - Leanback:BrowseFragment 在停用標頭和空白轉接器時異常終止。
- Appcompat:
AlertDialog
太寬。 InputContentInfoCompat
會在應呼叫releasePermission()
時呼叫requestPermission()
。MediaBrowserCompat
當機。- 當瀏覽權限設為
GONE
時,CoordinatorLayout 會測量/配置檢視畫面。 - 無法在 API 級別 24 以下的層級上調整
AnimatedVectorDrawableCompat
- 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 的 Typeface (Android 開放原始碼計畫問題 227803)TextInputLayout
一律會改回 API 23 以下的淺色錯誤顏色 (Android 開放原始碼計畫問題 221992)- 當指標離開時,
FloatingActionButton
會顯示為按下
Android 開放原始碼計畫 Issue Tracker 提供了完整的公開錯誤修正清單。
淘汰項目
這個版本淘汰了多種方法和類別。這些已淘汰的 API 會在日後推出的版本中移除,且開發人員應進行遷移。如要進一步瞭解如何從特定 API 遷出,請參閱該 API 的說明文件。
-
android.support.design.widget
-
android.support.v17.leanback.app
BackgroundManager.getDefaultDimLayer()
BackgroundManager.getDimLayer()
BackgroundManager.setDimLayer()
MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[])
MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[],int[])
PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[])
PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[],int[])
PlaybackControlGlue.getFragment()
PlaybackControlGlue.getOnItemViewClickedListener()
PlaybackControlGlue.onRowChanged()
PlaybackControlGlue.pausePlayback()
PlaybackControlGlue.skipToNext()
PlaybackControlGlue.skipToPrevious()
PlaybackControlGlue.startPlayback()
PlaybackControlSupportGlue
PlaybackOverlayFragment
PlaybackOverlaySupportFragment
-
android.support.v17.leanback.widget
-
android.support.v4.app
FragmentActivity.getSupportMediaController()
FragmentActivity.setSupportMediaController()
修訂版本 25.0.1
(2016 年 11 月)
已修正問題
TextInputLayout
密碼切換按鈕現在預設為停用,以免在非必要的情況下覆寫開發人員指定的結束可繪項目。可以透過passwordToggleEnabled
XML 屬性手動啟用。- 為符合 Material 規格,
BottomNavigationView
項目現在是單行。 - 如果版面配置管理員為空值,
RecyclerView
會在預先擷取期間異常終止。 BottomNavigationView
高度已正確設定。(AOSP 問題 226182)。- 透過程式輔助方式新增選單項目時,
BottomNavigationView
會異常終止。(AOSP 問題 225731)。 - 修正
TextInputLayout
左/右複合可繪項目。(AOSP 問題 225836)。 - 在回收檢視容器時,
RecyclerView
會異常終止。(AOSP 問題 225762)。 - Leanback:在分割畫面檢視畫面中,TalkBack 通常會說「空值」。
RecyclerView
:Android Studio 中的轉譯問題。(AOSP 問題 225753)。- 當
onNavigationItemSelected()
傳回 false 後,BottomNavigationView
仍會顯示已選取的選單項目。(Android 開放原始碼計畫問題 225898)。 - RelayListener 會擲回
NoSuchMethodError
。(Android 開放原始碼計畫問題 225647) TextInputEditText
不會在 IME 擷取模式中顯示提示。(AOSP 問題 221880)。
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.support.design.widget.BottomNavigationView
類別會實作 Material Design 規格的底部導覽模式。 - 新的
android.support.v13.view.inputmethod
套件包含用於存取 API 級別 13 之後推出的android.view.inputmethod.InputConnection
功能的類別。 -
android.v7.widget.RecyclerView.DividerItemDecoration
類別可為項目之間提供垂直或水平分隔線的基本實作。 android.support.v7.app.NotificationCompat
、DecoratedCustomViewStyle
和DecoratedMediaCustomViewStyle
中的裝飾新樣式,對應了平台 API 24 中新增的類別。
已修正問題
Android 開放原始碼計畫 Issue Tracker 提供了完整的公開錯誤修正清單。
修訂版本 24.2.1
2016 年 9 月
修正問題:
FloatingActionButton
無法再錨定至CoordinatorLayout
的間接子項。(Android 開放原始碼計畫問題 220250)。CollapsingToolbarLayout
內的圖片並未以fitsSystemWindows=true
正確縮放。(Android 開放原始碼計畫問題 220389)。- 當顯示及關閉
Snackbar
時,CoordinatorLayout
會擲回IndexOutOfBoundsException
。(Android 開放原始碼計畫問題 220762) TextInputLayout
無法解析錯誤文字顏色。(Android 開放原始碼計畫問題 220305)。BatchedCallback.onMoved()
呼叫BatchedCallback.onInserted()
。(Android 開放原始碼計畫問題 220309)。TextInputLayout
會覆寫右側複合可繪項目。(AOSP 問題 220728)。
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
- 提供多種公用程式類別,例如
AsyncTaskLoader
和PermissionChecker
。 -
support-core-ui
-
實作各種 UI 相關元件,例如
ViewPager
、NestedScrollView
和ExploreByTouchHelper
。 -
support-media-compat
- 向後移植「媒體」架構的部分,包括
MediaBrowser
和MediaSession
。 -
support-fragment
-
向後移植片段架構。這個模組具有
support-compat
、support-core-utils
、support-core-ui
和support-media-compat
的依附元件。
為回溯相容性,如果在 Gradle 指令碼中列出 support-v4
,APK 會包含這些模組。不過,為減少 APK 大小,建議您直接列出應用程式所需的特定模組。
API 更新
- 使用自訂分頁的用戶端可以控制是否應開啟免安裝應用程式。(請注意,免安裝應用程式尚未全面開放使用)。如要啟用或停用免安裝應用程式,請呼叫
CustomTabsIntent.Builder.setInstantAppsEnabled()
或指定EXTRA_ENABLE_INSTANT_APPS
。這項功能推出後,「自訂分頁」預設為啟用。 TextInputLayout
開始支援質感設計規格中的 密碼瀏覽權限切換鈕。- 新的
android.support.transition
套件會將「Transitions」架構向後移植至 API 級別 14 以上。詳情請參閱android.support.transition
參考資料。 - 自訂分頁支援資料庫開始支援在次要工具列中使用
RemoteViews
。現有的setToolbarItem()
方法現已淘汰。 AppCompatResources
新增了透過新的getDrawable()
方法,從資源 ID 載入<vector>
(API 級別 9 以上) 或<animated-vector>
(API 級別 11 以上) 的功能。CoordinatorLayout
現在支援定義插邊檢視畫面,並指定其他檢視畫面應執行插邊檢視畫面。這可讓應用程式複製行為模式,類似於FloatingActionButton
移出Snackbar
的方式,但適用於所有任意檢視畫面子項。詳情請參閱LayoutParams.insetEdge
和LayoutParams.dodgeInsetEdges
參考說明文件。- 新的
DiffUtil
類別可以計算兩個集合之間的差異,並可分派適合由RecyclerView.Adapter
使用的更新作業清單。 -
新增
RecyclerView.OnFlingListener
,以支援快速滑過動作的自訂行為。SnapHelper
類別提供專門用於貼齊子項檢視畫面的實作,而LinearSnapHelper
類別會擴充此實作,提供類似ViewPager
的置中對齊貼齊行為。 - 自訂分頁程式庫現在允許用戶端透過呼叫
CustomTabsIntent.setAlwaysUseBrowserUI()
要求標準瀏覽器 UI,而非自訂分頁 UI。如果瀏覽器預設為自訂分頁 UI,但使用者俱有標準瀏覽器 UI 的偏好設定,這項行為就能派上用場。
行為異動
- 如果使用 appcompat 程式庫的「日/夜」功能,系統現在會在白天/夜間模式變更 (無論是因為時段,或呼叫
AppCompatDelegate.setLocalNightMode()
) 時自動重新建立活動。 - 如果狀態列是半透明,
Snackbar
現在會在導覽列後方繪製。
MediaRouter 程式庫
藍牙裝置不再列為媒體路徑。將音訊轉送至藍牙裝置的功能現在只能在 Android 系統層級控管。
淘汰項目
日後推出的版本可能會移除已淘汰的類別和方法。建議您盡快停用這些 API。
- 下列類別的幾個方法僅適用於 API 8 以下級別,因此不應再使用。請改用架構實作。
android.support.v4.view.KeyEventCompat
:替換為KeyEvent
android.support.v4.view.MotionEventCompat
:使用MotionEvent
android.support.v4.view.ViewCompat
:使用View
android.support.v4.view.ViewConfigurationCompat
:使用ViewConfiguration
-
AccessibilityServiceInfoCompat.getDescription()
已淘汰,並改用AccessibilityServiceInfoCompat.loadDescription()
,後者會傳回正確本地化的說明。 - 請勿直接對
ActivityCompat
類別執行個體化。在即將發布的版本中,非靜態的getReferrer(Activity)
方法會設為靜態方法。 CoordinatorLayout.Behavior.isDirty()
已淘汰,CoordinatorLayout
不會再呼叫。所有實作方式與對這個方法的呼叫都應移除。MediaSessionCompat.obtain()
已淘汰,並替換為更適當的名稱方法fromMediaSession()
。MediaSessionCompat.QueueItem.obtain()
已淘汰,並替換為更適當的名稱方法fromQueueItem()
。- 部分抽象類別已淘汰,並替換為能更忠實地反映架構對等項目的介面。
AccessibilityStateChangeListenerCompat
已由AccessibilityManagerCompat.AccessibilityStateChangeListener
介面取代。OnCloseListenerCompat
已由SearchViewCompat.OnCloseListener
介面取代。OnQueryTextListenerCompat
已由SearchViewCompat.OnQueryTextListener
介面取代。
CustomTabsSession.setToolbarItem()
已淘汰,並替換為以 RemoteViews 為基礎的setSecondaryToolbarViews()
。
修正錯誤
下列已知問題已在 24.2.0 版中修正:
- 確保在第一次測量通過之前,系統呼叫
setRefreshing(true)
時會顯示SwipeRefreshLayout
指標 (Android 開放原始碼計畫問題 77712) - 避免
TabLayout
在變更頁面時閃爍 (Android 開放原始碼計畫問題 180454) - 在 API 級別 11 及以下級別解除
SavedState
時,請避免使用ClassNotFoundException
(Android 開放原始碼計畫問題 196430)
Android 開放原始碼計畫 Issue Tracker 提供了完整的公開錯誤修正清單。
修訂版本 24.1.1
2016 年 7 月
修正問題:
- 修正 24.1.0 版中影響支援資料庫共用資源 ID 的問題。這個問題會導致依附於支援資料庫 (例如設計和 appcompat) 的應用程式遇到資源 ID 不符所造成的問題。
修訂版本 24.1.0
2016 年 7 月
- v4 支援資料庫異動:
-
NotificationCompat.Action.WearableExtender
提供新的getHintDisplayActionInline()
和setHintDisplayActionInline()
方法,以便與 Android Wear 2.0 預先發布版相容。這些方法可讓應用程式指定動作應以內嵌方式顯示。- 如果將提示新增至尚未修訂的
FragmentTransaction
,呼叫Fragment.setUserVisbileHint()
不會再導致片段啟動。這會影響FragmentPagerAdapter
的使用者覆寫setUserVisbileHint()
,並在呼叫super.setUserVisibleHint()
後假設片段的特定生命週期狀態。詳情請參閱Fragment.setUserVisbileHint()
的文件參考資料頁面。
修正問題:
- TabLayout.setCustomView(null) 會導致 NullPointerException (Android 開放原始碼計畫問題 214753)
- TabLayout 錯誤地醒目顯示自訂分頁 (Android 開放原始碼計畫問題 214316)
- AppCompatTextHelper 使用錯誤排序的屬性陣列 (Android 開放原始碼計畫問題 214366)
- 使用自訂 ContextWrapper 時,無法從可繪項目容器 XML 參照 VectorDrawable (Android 開放原始碼計畫問題 214055)
- ViewDragHelper.saveLastMotion() 會擲回 ArrayIndexOutOfBoundsException (Android 開放原始碼計畫問題 212945)
- 使用 setState(STATE_EXPANDED) 時,BottomSheetBehavior 會展開為舊的內容高度 (Android 開放原始碼計畫問題 213660)
- CollapsingToolbarLayout 不會處理具有頂端或底部邊界的可固定子項 (Android 開放原始碼計畫問題 213001)
- Leanback 瀏覽標題不支援 RTL 對齊功能 (Android 開放原始碼計畫問題 213461)
- 由於缺少繼承註解,PagerTabStrip 會消失 (Android 開放原始碼計畫問題 213359)
- 使用布林值設定條件標記時,資料繫結會擲回 NullPointerException (Android 開放原始碼計畫問題 191841)
- CoordinatorLayout 未回應 setFitsSystemWindows() (Android 開放原始碼計畫問題 212720)
- 設定初始狀態時,BottomSheetBehavior 會異常終止 (Android 開放原始碼計畫問題 203114)
- 如果頁面索引為較大值,ViewPager 會略過網頁 (Android 開放原始碼計畫問題 211734)
- BottomSheetBehavior 無法搭配動態版面配置 (Android 開放原始碼計畫問題 205226)
修訂版本 24.0.0
2016 年 6 月
- v4 支援資料庫異動:
-
- 已為同步修訂版本新增
Fragment.commitNow()
- 已為多方對話新增
NotificationCompat.MessagingStyle
- 已新增
NotificationManagerCompat.areNotificationsEnabled()
和getImportance()
MediaSessionCompat
現已具備MediaSession
的功能鏡像,不會再自動呼叫setMediaButtonReceiver()
注意:只有 24.0.0 版中的
MediaBrowserServiceCompat
與 API 24 之後的未來 Android 版本具有前瞻相容性。如果您使用的是舊版,為確保相容性,請更新至這個版本。 - 已為同步修訂版本新增
- 第 7 版 appcompat 程式庫的變更:
-
- 開始支援從 XML 參照主題
ColorStateList
物件
- 開始支援從 XML 參照主題
- 設計支援資料庫相關變更:
-
- 改善使用
StateListAnimator
處理高度的AppBarLayout
作業
- 改善使用
- 17 Leanback 程式庫變更:
-
- 新增了
OnboardingFragment
,以提供首次執行的歡迎和設定流程
- 新增了
- 自訂分頁相關異動:
-
- 開始支援為次要工具列提供
RemoteViews
階層 - 已新增
CustomTabsClient.connectAndInitialize()
用於單行暖機
- 開始支援為次要工具列提供
修訂版本 23.4.0
2016 年 5 月
- v4 支援資料庫異動:
- 第 7 版 appcompat 程式庫的變更:
-
- 新增了
AppCompatDelegate.setCompatVectorFromResourcesEnabled()
方法,以便在搭載 Android 4.4 (API 級別 19) 以下版本的裝置上重新啟用DrawableContainer
物件中的向量可繪項目。詳情請參閱「AppCompat v23.2 - 向量時代」。 - 已修正 API 23 中的
AppCompatDelegate.setDefaultNightMode()
無法在 API 級別 23 中載入正確資源的問題。(問題 206573)。 - 修正可能導致
NullPointerException
的問題。(問題 207638)。
- 新增了
- 設計支援資料庫相關變更:
-
- 已修正在 API 級別 21 至 22 的
setErrorEnabled(false)
之後,TextInputLayout
無法清除錯誤色調的問題 (問題 202829) - 修正
FloatingActionButton
不會在動畫停用時傳回的問題。(問題 206416)。 - 修正與
捲動標記搭配使用時的scroll
|enterAlways
|enterAlwaysCollapsed
|snap
AppBarLayout
貼齊功能問題(問題 207398)。
- 已修正在 API 級別 21 至 22 的
- 向量可繪項目程式庫的變更:
-
- 已修正在 API 級別 23 的
TextView
中無法正確轉譯VectorDrawableCompat
的錯誤。(問題 206227)。
- 已修正在 API 級別 23 的
修訂版本 23.3.0
2016 年 4 月
- v4 支援資料庫異動:
-
- 新增了
AppLaunchChecker
,協助您追蹤使用者過去如何啟動應用程式。hasStartedFromLauncher()
可讓您知道使用者是否從主畫面啟動應用程式,或只透過其他方式啟動應用程式 (例如查看特定網址)。 - 修正
MediaBrowserServiceCompat.mConnections
中的記憶體流失問題。(問題 205220)。 - 修正問題:切換頁面時,
ViewPager
不會考量頁面邊界。(問題 203816)。 Fragment.onRequestPermissionsResult()
現已傳送至子項片段。
- 新增了
- 第 7 版 appcompat 程式庫的變更:
-
- 修正
AppCompatSpinner
中可能導致多個彈出式視窗出現的問題。(問題 205052)。 - 修正無邊框按鈕的色彩問題。(問題 202967)。
- 修正
AppCompatDialogFragment
和AlertDialog
之間的相容性問題。(問題 204805)。 - 還原對
TintResources
所做的變更,這會造成記憶體和設定問題。(問題 205236)。
- 修正
- v7 Mediarouter 程式庫的變更:
-
- 修正
MediaRouteControllerDialog
音量滑桿的行為。(問題 202299)。
- 修正
- v7 Preference 程式庫變更:
-
- 修正了指定
dividerHeight
時PreferenceFragmentCompat
會異常終止的問題。(問題 204778)。
- 修正了指定
- v7 recyclerview 程式庫變更:
-
- 修正錯誤:當可見項目的範圍設為晃動時,
RecyclerView
不會叫用捲動回呼(問題 200987)。 - 修正
RecyclerView
處於線性版面配置、加權處理且包含圖片時卡住的錯誤。(問題 203276)。 - 修正了
OrientationHelper.getStartAfterPadding()
中的異常終止問題 (問題 180521)。 - 修正使用
android:nestedScrollingEnabled
時發生的異常終止問題(問題 197932)。
- 修正錯誤:當可見項目的範圍設為晃動時,
- 設計支援資料庫相關變更:
修訂版本 23.2.1
2016 年 3 月
- v4 支援資料庫異動:
-
- 已修正 API 級別 17 至 19 中
DrawableCompat.wrap()
和LayerDrawable
的例外狀況。(問題 201817)。 - 修正了
ViewDragHelper.shouldInterceptTouchEvent()
中的ArrayIndexOutOfBoundsException
。(問題 182262)。 - 修正
ViewPager
中與大小變更的捲動計算相關的錯誤。 - 修正了在沒有設定
DrawerLayout.DrawerListener
的情況下呼叫DrawerLayout.removeDrawerListener()
時發生的NullPointerException
(問題 202478)。 - 修正
ViewPager
在捲動時無法正確設定AccessibilityEvent
參數的錯誤。 - 修正使用
Drawable.wrap()
時,造成裝置旋轉時延遲的問題。(問題 201924)。
- 已修正 API 級別 17 至 19 中
- 第 7 版 appcompat 程式庫的變更:
-
- 還原向量資產的依附元件,避免使用 appcompat 程式庫的開發人員強制使用
VectorDrawable
及其相關聯的建構旗標。 - 修正夜間模式和 API 級別 23 的相容性問題。(問題 201910)。
- 修正了
SwitchCompat
和 API 級別 7 的相容性問題。(問題 201942)。 - 修正了以下問題:資源物件中的設定值傳播問題 問題 201928
- 已修正 API 級別 21 以下版本的
android.support.v7.app.NotificationCompat.MediaStyle
取消按鈕不會顯示的相容性問題。(問題 202156)。 - 已修正 API 級別 21 及以下級別中與
AppCompatSpinner
的相容性異常終止問題(問題 202246)。 - 修正
app:textAllCaps = "false"
樣式無法運作的問題。(問題 202117)。 - 修正還原
SearchView
時發生的異常終止問題(問題 201836)。 - 修正使用 AppCompat 上繪製可繪製資源時發生的記憶體流失問題。(問題 202379)。
- 已修正 API 級別 11 及以下級別的
KeyEvent
問題。(問題 202939)。
- 還原向量資產的依附元件,避免使用 appcompat 程式庫的開發人員強制使用
- v7 Cardview 程式庫相關變更:
- v7 recyclerview 程式庫變更:
-
- 修正與各種測量規格方法相關的錯誤。(問題 201856)。
- 縮短
RecyclerView
不允許在計算版面配置或捲動時變更轉接程式的鎖定期。(問題 202046)。 - 修正了對不在可視區域之項目呼叫
notifyItemChanged()
時發生的異常終止問題。(問題 202136)。 - 修正了
RecyclerView.LayoutManager
在同一測量傳遞中新增及移除檢視畫面時發生的當機問題。(問題 193958)。
- v7 Mediarouter 程式庫的變更:
-
- 修正在 API 級別 17 呼叫
MediaRouter.getInstance()
時發生的當機問題。(問題 180654)。
- 修正在 API 級別 17 呼叫
- 17 版 Leanback 程式庫變更:
-
- 修正
GridLayout.onAddFocusables()
會導致選取錯誤項目的問題 - 修正
GuidedStepFragment
動作在收合後消失的問題
- 修正
- 設計支援資料庫相關變更:
-
- 修正分頁集區造成的
TabLayout
當機問題。(問題 201827)。 - 修正
NavigationView
中導致選取錯誤顏色的錯誤。(問題 201951)。 - 修正
setBackgroundTintList()
無法再變更背景顏色的錯誤。(問題 201873)。 - 修正
AppBarLayout
與android:fitsSystemWindows = “true”
搭配使用時,無法完全捲動至檢視畫面的問題(問題 201822)。 - 修正
BottomSheetDialog
無法正確顯示簡短內容檢視畫面的問題。(問題 201793)。 - 修正
BottomSheetDialogFragment
內部內容變更時不自然移動的問題。(問題 202125)。 - 修正 TextInputLayout 計數器中的當機問題連結
- 修正了
TextInputLayout.getCounterMaxLength()
還原儲存狀態時發生的當機問題(問題 202375)。 - 修正問題:使用非
CoordinatorLayout
的檢視畫面儲存狀態還原CoordinatorLayout
時發生的ClassCastException
- 修正分頁集區造成的
- VectorDrawableCompat 的變更:
-
- 修正
android:tintMode
讀取了錯誤變數的錯誤。(問題 201907)。
- 修正
修訂版本 23.2.0
2016 年 2 月
- v4 支援資料庫相關異動:
-
- 新增了
MediaBrowser
支援的MediaBrowserCompat
,並為MediaBrowserService
支援新增MediaBrowserServiceCompat
。如要連結媒體應用程式的背景服務與使用者介面元件,而且不需要 API 級別 21 以上即可整合 Android Auto 和 Android Wear,這項功能就能派上用場。 - 現在,系統會為巢狀
FragmentActivity
呼叫onActivityResult()
。
- 新增了
- 第 7 版 AppCompat 程式庫的變更:
-
- 在 API 級別 14 及以上級別新增夜間模式功能。根據時間或應用程式專屬設定,在 Material Light 和 Material 深色主題之間切換。
-
- 可在這裡查看白天和夜晚的主題:
<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 程式庫異動:
-
MediaRouteControllerDialog
現在可正確套用自訂應用程式主題顏色。
- 設計支援資料庫相關變更:
-
- 開始支援底部功能表。互動外掛程式
BottomSheetBehavior
可讓CoordinatorLayout
的子項檢視畫面做為底部功能表使用。基礎類別BottomSheetCallback
提供回呼,用來監控底部功能表事件。
- 開始支援底部功能表。互動外掛程式
- CustomTabs 支援資料庫的變更:
-
- 除了現有的頂端動作按鈕以外,Chrome 自訂分頁現在也允許應用程式加入含有動作按鈕的底部列。
CustomTabsIntent.Builder.addToolBarItem()
:在自訂分頁中新增動作按鈕。可用來新增多個按鈕。CustomTabsSession.setToolBarItem()
:更新工具列項目的視覺效果。唯有具備有效的 ID,且瀏覽器工作階段位於前景時,這個方法才能成功執行。
- 新增了 VectorDrawable 支援資料庫:
-
- 新增類別:
-
VectorDrawableCompat
AnimatedVectorDrawableCompat
- 對在 API 級別 7 或以上版本執行的應用程式新增
VectorDrawable
資產的支援。API 級別 11 以上也支援AnimatedVectorDrawable
素材資源。向量素材資源可能比圖片素材資源小許多,有助於縮減應用程式大小,進而支援多種裝置螢幕所需的素材資源量。 - 這個程式庫現在是 v7 AppCompat 程式庫的依附元件,可讓開發人員和 AppCompat 輕鬆使用向量可繪項目。如要在
ImageButton
或ImageView
中使用VectorDrawableCompat
,請使用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 } }
- 如要使用 Gradle 適用的 Android 外掛程式 1.5.0 以下版本進行建構,請在
- 17 Leanback 程式庫變更:
-
- 為
GuidedStepFragment
新增功能,該元件可引導使用者做出一項決策或一系列的決策: -
- 在
GuidedAction
中新增按鈕動作: GuidedStepFragment.setButtonActions()
:設定使用者可從「動作」檢視畫面中選取的GuidedAction
按鈕清單。- 說明欄位現在開放編輯:
-
GuidedAction.Builder.descriptionEditable()
:傳遞true
時,將動作說明設為可供編輯。GuidedAction.getEditDescription()
:會以CharSequence
的形式傳回可編輯的說明。
- 新增子動作的下拉式清單:
-
GuidedAction.setSubActions()
:將GuidedAction
清單設為子動作的下拉式選單。
- 在
- 已新增
DatePicker
功能的GuidedDatePickerAction
小工具: -
- 您可以使用「年」、「月」和「日」資料欄選取日期,而且可以自訂範圍。
GuidedDatePickerAction.Builder
:GuidedDatePickerAction
物件的建構工具類別。GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat)
:傳遞適當的三字元String
(例如“YMD”
或“MDY”
),藉此設定所需的日期格式。或者,您也可以使用datePickerFormat
XML 屬性。
- 為
- v7 RecyclerView 程式庫變更:
-
RecyclerView
現在提供名為 AutoMeasure 的選擇加入功能,可讓RecyclerView.LayoutManager
輕鬆納入內容,或處理RecyclerView
父項提供的各種評估規格。支援RecyclerView
的所有現有動畫功能。-
- 如果您有自訂
RecyclerView.LayoutManager
,請呼叫setAutoMeasureEnabled(true)
並開始使用新的 AutoMeasure API。所有內建的RecyclerView.LayoutManager
物件都會預設啟用自動測量功能。 RecyclerView.LayoutManager
不會再忽略部分RecyclerView.LayoutParams
設定,例如捲動方向的MATCH_PARENT
。注意:這些解除的限制可能會導致版面配置中出現非預期的行為。請務必指定正確的版面配置參數。
- 如果您有自訂
- 現在使用酬載資訊更新
RecyclerView.ViewHolder
時,DefaultItemAnimator
會停用變更動畫。 - 您現在可以修改
ItemTouchHelper
逸出速率,藉此控制滑動靈敏度。如要更輕鬆或難以滑動,請覆寫getSwipeEscapeVelocity(float defaultValue)
並修改defaultValue
。
修訂版本 23.1.1
2015 年 11 月
- v7 recyclerview 程式庫變更:
-
- 修正以下問題:執行
ItemTouchHelper
公用程式類別提供的滑動關閉動作,然後新增項目時會發生當機的情形。(問題 190500)。
- 修正以下問題:執行
- v7 偏好設定資料庫變更:
-
- 修正 ProGuard 使用問題(問題 183261)。
- 17 版 Leanback 支援資料庫變更:
-
- 修正這個程式庫中的一些內部問題。
- 設計支援資料庫相關變更:
-
- 已將
getHeaderView
方法新增至NavigationView
類別。 - 修正在搭載 Android 4.0 (API 級別 15) 以下版本的裝置上,
FloatingActionButton
物件的透明背景問題。(問題 183315)。
- 已將
修訂版本 23.1.0
2015 年 10 月
- v4 支援資料庫異動:
-
- 為
NestedScrollView
小工具新增OnScrollChangedListener
介面支援。讓您在捲動 X 或 Y 位置變更時接收回呼。 - 已新增
MediaButtonReceiver
類別,以便將收到的播放控制項轉送至管理MediaSessionCompat
類別的服務。MediaSessionCompat
類別的建構函式可自動在資訊清單中尋找媒體按鈕接收器。媒體按鈕接收器是處理硬體或藍牙控制項的播放控制項的關鍵部分。
- 為
- v7 appcompat 程式庫的變更:
-
- 新增質感設計
Seekbar
和ImageButton
小工具。 - 已更新
ImageView
小工具以支援色調功能。 - 已更新
SwitchCompat
小工具的外觀和風格。
- 新增質感設計
- v7 mediarouter 程式庫異動:
-
- 已將下列功能新增至
MediaRouteChooserDialog
類別: - 在探索媒體路徑供應商時顯示載入頁面。
- 加入裝置類型圖示,方便系統識別裝置。
- 根據目前應用程式的使用頻率排序路線。
- 支援橫向模式。
- 已將下列功能新增至
MediaRouteControllerDialog
類別: - 識別螢幕投放功能,並提供適當的說明。
- 支援各種專輯封面大小和顯示比例,並以非同步方式載入圖片。
- 根據應用程式的主要顏色,自動選取內容顏色。
- 根據裝置可用的螢幕空間調整對話方塊版面配置。
- 支援橫向模式。
- 已將下列功能新增至
- v7 調色盤程式庫的變更:
-
- 新增了
setRegion()
方法,支援從Bitmap
物件的特定區域擷取顏色。
- 新增了
- v7 recyclerview 程式庫變更:
-
- 在
ItemAnimator
類別中加入改善的動畫 API,提供更佳的自訂功能: - 變更動畫不會再強制執行兩個
ViewHolder
物件副本,該物件會啟用項目內容動畫。此外,ItemAnimator
物件可決定是否重複使用相同的ViewHolder
物件,或是建立新物件。 - 新的資訊記錄 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); }
- 在
- v7、v14 和 v17 Preference 支援資料庫的變更:
-
- 移除了用於控制
EditText
對話方塊的 API。
- 移除了用於控制
- 17 版 Leanback 支援資料庫變更:
-
- 為支援資料庫新增
GuidedStepFragment
類別的版本 (擴充android.support.v4.app.Fragment
),並改善動畫和轉場效果。 - 已更新
GuidedStepFragment
類別,使其可置於現有內容上方。 - 新增在
SearchFragment
類別為不同類型的搜尋完成數加上註解的功能。 - 在
VerticalGridFragment
類別中新增交錯投影片轉場支援功能。
- 為支援資料庫新增
- 設計支援資料庫相關變更:
-
- 為
TextInputLayout
小工具新增 字元計數支援功能。 - 透過新增
SCROLL_FLAG_SNAP
常數,為AppBarLayout
類別新增邊緣貼齊支援。捲動結束時,如果檢視畫面只有部分顯示,系統會貼齊檢視畫面,並捲動至最接近的邊緣。 - 使用
app:actionLayout
屬性或MenuItemCompat.setActionView()
方法,在NavigationView
類別中新增自訂檢視畫面的支援。
- 為
- 自訂分頁支援資料庫相關異動:
-
- 已將
enableUrlBarHiding()
方法新增至CustomTabsIntent
類別。可讓用戶端自訂是否要在向下捲動時自動隱藏網址列。 - 已將
setActionButton()
方法新增至CustomTabsSession
類別。可讓用戶端在已啟用的自訂分頁中變更自訂動作按鈕的圖示。 - 將
TAB_SHOWN
和TAB_HIDDEN
常數新增為CustomTabsCallback
類別的onNavigationEvent
方法的新事件。
- 已將
修訂版本 23.0.1
2015 年 9 月
- v7 和 v14 偏好設定支援資料庫的變更:
-
- 新增了質感設計版面配置和樣式檔案。(問題 183376)。
- v7 appcompat 程式庫的變更:
- 設計支援資料庫相關變更:
-
- 已修正
AppBarLayout
類別,使其可在旋轉後正確繪製(問題 183109)。 - 修正
TabLayout
類別,現在當使用者滑動畫面後,該類別可正常運作(問題 183123)。
- 已修正
- 自訂分頁支援資料庫相關異動:
-
- 將
minSdkVersion
值從 16 降低至 15,以便取得版本支援。 - 已新增從意圖產生
CustomTabsSessionToken
的方法。
- 將
修訂版本 23
2015 年 8 月
- 新增支援資料庫:
如需支援資料庫異動的完整清單,請參閱支援資料庫 API 差異報表。
修訂版本 22.2.1
2015 年 7 月
- 設計支援資料庫相關變更:
-
- 在
FloatingActionButton
類別中加入hide()
和show()
方法,以便透過程式輔助方式觸發動畫。 - 已將
LENGTH_INDEFINITE
常數新增至Snackbar
類別,以便在關閉或顯示其他 Snackbar 前顯示 Snackbar。此外,已新增setActionTextColor(int)
和setActionTextColor(ColorStateList)
方法。 - 已將
getSelectedTabPosition()
方法新增至TabLayout
類別,以擷取目前選取的分頁。 - 為方法鏈的
android.support.v7.app.NotificationCompat.MediaStyle
類別提供功能完善的 API。 - 在
RecyclerView
中新增便利方法,用於批次插入項目。
- 在
如需支援資料庫異動的完整清單,請參閱支援資料庫 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 支援資料庫異動:
-
- 已將
getContentChangeTypes()
和setContentChangeTypes()
方法和相關變更類型欄位新增至AccessibilityEventCompat
類別,以便處理無障礙功能事件。 - 將含有相關狀態欄位的
getActiveQueueItemId()
、getCustomActions()
和getExtras()
方法新增至PlaybackStateCompat
類別,以便從佇列取得自訂動作。 - 已將
addCustomAction()
、setActiveQueueItemId()
和setExtras()
方法新增至PlaybackStateCompat.Builder
類別,以將自訂動作新增至播放狀態。 - 已將
fromCustomAction()
和getCustomAction()
方法新增至PlaybackStateCompat.CustomAction
類別,以便從佇列取得自訂動作。 - 已將
isAttachedToWindow()
、offsetLeftAndRight()
和offsetTopAndBottom()
方法新增至ViewCompat
類別,以便使用檢視畫面。 - 已將
addOnPageChangeListener()
、clearOnPageChangeListeners()
和removeOnPageChangeListener()
方法新增至ViewPager
類別,以回應頁面變更。淘汰了
ViewPager.setOnPageChangeListener()
方法。 - 已將
notifySubtreeAccessibilityStateChanged()
方法新增至ViewParentCompat
類別,以通知檢視區塊父項,說明其子系的無障礙狀態已變更。 - 已將
translationZ()
、translationZBy()
、z()
和zBy()
方法新增至ViewPropertyAnimatorCompat
類別,以便新增動畫。
- 已將
- v7 appcompat 程式庫的變更:
-
- 已將
onWindowStartingSupportActionMode()
方法新增至AppCompatActivity
、AppCompatCallback
和AppCompatDialog
類別,以處理從目前視窗啟動的動作模式。 - 已將
isHandleNativeActionModesEnabled()
和setHandleNativeActionModesEnabled()
方法新增至AppCompatDelegate
類別,以便處理原生動作模式。
- 已將
如需支援資料庫異動的完整清單,請參閱支援資料庫 API 差異報表。
修訂版本 22.1.0
2015 年 4 月
- 註解程式庫的變更:
-
- 新增了註解程式庫,支援進階程式碼檢查功能。系統會將註解新增為中繼資料標記,您可以附加至變數、參數和回傳值,以檢查方法回傳值、傳遞的參數以及本機變數和欄位。
- v4 支援資料庫異動:
-
- 新增了
ColorUtils
類別,提供一組顏色相關的公用程式方法。 - 已將
unwrap()
和wrap()
方法新增至DrawableCompat
類別,方便您在所有 API 級別 4 以上的裝置上使用setTint()
、setTintList()
和setTintMode()
。 - 新增了
TraceCompat
類別,以將追蹤事件寫入系統追蹤緩衝區。之後,您可以使用 Systrace 工具收集該緩衝區並以視覺化方式呈現。 - 新增了
CircularIntArray
類別,以建立圓形整數陣列資料結構。 - 已將
clear()
、removeFromStart()
和removeFromEnd()
方法新增至CircularArray
類別。此外,已將這個類別中的現有方法變更為非最終方法。 - 已將
InputDeviceCompat
新增為輔助類別,以便存取InputDeviceCompat
類別中的資料。 - 已將
LayoutInflaterCompat
類別新增為輔助類別,以便存取LayoutInflaterCompat
類別中的資料並已新增LayoutInflaterFactory
介面。 - 新增了類別、方法和介面,以支援巢狀捲動。
- 新增
NestedScrollingChildHelper
和NestedScrollingParentHelper
輔助類別,以實作巢狀捲動父項和子項檢視畫面。 - 新增了由
View
子類別實作的NestedScrollingChild
介面。 - 新增了
NestedScrollingParent
和ScrollingView
介面,以便支援捲動作業並提供捲動相關的 API。 - 已將
getNestedScrollAxes()
方法新增至ViewGroupCompat
類別。 - 將方法新增至
ViewParentCompat
類別,以支援巢狀捲動。 - 新增了
NestedScrollView
類別,以在新版和舊版 Android 上支援巢狀捲動父項和子項。
- 新增
- 在
MotionEventCompat
類別中新增方法和常數,用於取得軸值和事件來源。 - 已更新
AccessibilityNodeInfoCompat
類別,以新增錯誤、內容撤銷和標籤的方法。 - 已新增下列動畫內插類別:
FastOutLinearInInterpolator
、FastOutSlowInInterpolator
、LinearOutSlowInInterpolator
、LinearOutSlowInInterpolator
和PathInterpolatorCompat
。 - 新增了
Space
類別,可在一般用途的版面配置中,建立元件之間的落差。此類別已在格線版面配置程式庫中淘汰。 - 新增了
TextViewCompat
類別以存取TextView
中的功能。 - 在
EdgeEffectCompat
類別的onPull()
方法中加入位移參數。
- 新增了
- v7 appcompat 程式庫的變更:
-
- 為 appcompat 小工具新增色調支援,包括
AppCompatAutoCompleteTextView
、AppCompatButton
、AppCompatCheckBox
、AppCompatCheckedTextView
、AppCompatEditText
、AppCompatMultiAutoCompleteTextView
、AppCompatRadioButton
、AppCompatRatingBar
、AppCompatSpinner
和AppCompatTextView
。 - 已更新
AppCompatActivity
做為使用支援資料庫動作列功能的活動的基礎類別。這個類別會取代已淘汰的ActionBarActivity
。 - 新增了供 AppCompat 實作的
AppCompatCallback
介面,以便執行回呼。 - 已新增
AppCompatDelegate
抽象類別做為委派項目,方便您將 AppCompat 的支援範圍延伸至任何活動。 - 已將
AppCompatDialog
類別新增為 AppCompat 主題對話方塊的基礎類別。 - 新增了旋轉圖示樣式
AlertDialog
和AlertDialog.Builder
類別,以提供 AppCompat 主題的AlertDialog
。 - 新增用於產生
Palette
例項的Palette.Builder
類別。- 已將
from(Bitmap)
方法新增至Palette
類別,以便開始使用傳回的Palette.Builder
執行個體產生調色盤。 - 淘汰
Palette.generate()
和Palette.generateAsync()
方法。
- 已將
- 已將
getAbsoluteAlignment()
方法新增至GridLayout.Spec
類別。 - 淘汰在樣式
Toolbar
中使用app:theme
的功能。您現在可以使用android:theme
處理所有 API 級別 7 以上裝置的工具列,以及android:theme
支援 API 級別 11 以上裝置中的所有小工具。
- 為 appcompat 小工具新增色調支援,包括
- 17 leanback 程式庫異動:
-
- 新增
GuidedStepFragment
、GuidanceStylist
和GuidedActionsStylist
,以支援建立多步驟決策流程。
- 新增
- v7 recyclerview 程式庫變更:
-
- 新增了
SortedList
類別,以按照清單順序顯示項目,並提供清單變更通知。 - 新增了
SortedListAdapterCallback
類別,可將排序後的清單繫結至RecyclerView.Adapter
類別。
- 新增了
- v8Renderscript 程式庫的變更:
-
- 新增要做為直方圖篩選器的
ScriptIntrinsicHistogram
類別。 - 新增了
ScriptIntrinsicResize
類別,用於執行 2D 分配的調整大小。
- 新增要做為直方圖篩選器的
- v4 支援資料庫異動:
-
- 更新
getDrawable()
方法,以傳回指定資源 ID、螢幕密度和主題的可繪項目物件。 - 新增了
setImportantForAccessibility()
方法,以便指出檢視畫面是否應觸發無障礙功能事件。 - 新增了
getStatusBarBackgroundDrawable()
方法,以便取得狀態列背景可繪項目。 - 已將方法新增至
NotificationCompat.CarExtender.UnreadConversation
類別,以便 Android Auto 訊息應用程式擷取其他通知資料。 - 新增了
getProgressCircleDiameter()
方法,會傳回圓形版面配置的直徑。 - 已將預設
DrawerLayout
狀態列顏色變更為colorPrimaryDark
。
- 更新
- v7 appcompat 程式庫的變更:
- 17 leanback 程式庫異動:
-
- 新增
getRecycledPoolSize()
和setRecycledPoolSize()
方法,允許自訂回收集區大小。 - 在版面配置寬度設定中加入
WRAP_CONTENT
屬性,以支援標題圖示的納入內容。 - 在 XML 中定義
R.transition
,以改善轉換更新。 - 啟用從右至左的版面配置。
- 在
PlaybackOverlayFragment
類別新增支援播放和暫停媒體按鍵事件。 - 新增了
BrowseFragment
類別和DetailsFragment
類別的進入和傳回轉換效果。 - 新增
replace()
方法,以取代物件轉接器陣列中的項目。
- 新增
- v7 mediarouter 程式庫異動:
-
- 更新 Google Cast 圖示,以便使用質感設計樣式。
- 更新
MediaRouter
對話方塊內使用的所有圖示,以使用 Material Design 樣式。
- v7 recyclerview 程式庫變更:
-
- 已將
getlayoutPosition()
和getadapterPosition()
方法新增至RecyclerView
類別。 - 淘汰
RecyclerView
類別的classgetChildPosition()
和findViewHolderForPosition()
方法。 - 淘汰
RecyclerView.ViewHolder
類別中的getPosition()
方法。 - 淘汰
RecyclerView.LayoutParams
類別中的getViewPosition()
方法。
- 已將
- v4 支援資料庫異動:
- v4 支援資料庫異動:
-
- 新增了
NotificationCompat.CarExtender
類別,以支援 Android Auto 擴充功能至通知。
- 新增了
- v7 appcompat 程式庫的變更:
-
- 新增了
PopupMenu
建構函式,以支援新的彈出式選單。 - 新增對
Toolbar
類別中的「收合」圖示說明的支援。 - 更新
SearchView
小工具以支援顯示commitIcon
。 - 已從
Toolbar
類別中移除buttonGravity
屬性。
- 新增了
- v7 Cardview 程式庫變更:
-
- 新增了
setCardBackgroundColor(ColorStateList)
API,以支援變更CardView
的背景顏色。 - 已變更
CardView
,以便更準確地回報為TRANSLUCENT
的不透明度值。
- 新增了
- v7 recyclerview 程式庫變更:
-
- 在
RecyclerView
類別中加入TOUCH_SLOP_DEFAULT
和TOUCH_SLOP_PAGING
常數,以支援分頁的觸控間距設定。
- 在
- 17 leanback 程式庫異動:
-
- 新增產生 v4 程式碼片段的支援功能。
- 已變更
CardView
的次要文字顏色。
- 新增 Multidex 支援資料庫,以便在 Android 5.0 以下版本中支援多個 Dalvik 執行檔 (DEX) 檔案,以便支援多 dex 檔案。
- v4 支援資料庫異動:
-
- 針對搭載 Android 5.0 (API 級別 21) 的裝置新增
Fragment
轉換的支援。請注意,轉場效果不會影響搭載 Android 4.4 以下版本的裝置。 - 新增了
DocumentFile
,以便在處理文件樹狀結構時輕鬆從File
轉場。不過,相較於 Android 4.4 (API 級別 19) 中新增的平台DocumentsContract
API,這個類別需要的處理負擔會更多。因此,在 Android 4.4 以上版本中執行時,應改用DocumentsContract
。
- 針對搭載 Android 5.0 (API 級別 21) 的裝置新增
- v7 appcompat 程式庫的變更:
-
- 開始支援質感設計使用者介面。
- 新增
Toolbar
,可將ActionBar
的功能一般化,以便用於應用程式版面配置中。 - 更新了
ActionBarDrawerToggle
,其中包含選單箭頭動畫 - 更新常見的使用者介面小工具,以便在 Android 5.0 之前的裝置中執行時,透過主題屬性進行色調
- 新增
SwitchCompat
,這是在 Android 4.0 (API 級別 14) 中新增的Switch
小工具向後移植。
- 新增 v7 Cardview 程式庫:
-
- 新增
CardView
小工具,其提供與 Material Design 相容的實作,以便顯示資料項目。
- 新增
- 新增 v7 recyclerview 程式庫:
-
- 新增
RecyclerView
小工具,提供彈性的清單檢視,以便為大型資料集提供有限的視窗。
- 新增
- 新增 v7 調色盤程式庫:
-
- 新增了
Palette
類別,可讓您擷取圖片中的醒目顏色。
- 新增了
- 新增 v17 leanback 程式庫:
-
- 新增建構電視使用者介面的支援功能,包括
BrowseFragment
、DetailsFragment
和PlaybackOverlayFragment
。如要進一步瞭解如何使用這些使用者介面小工具,請參閱建構電視播放應用程式。
- 新增建構電視使用者介面的支援功能,包括
- v4 支援資料庫異動:
-
- 已在
NotificationCompat.WearableExtender
中新增 Android Wear 的擴充通知支援,讓您在通知中指定穿戴式裝置特有的功能。 - 已新增
NotificationCompat.Action.WearableExtender
,以便在穿戴式裝置通知中新增動作。 - 新增了
NotificationManagerCompat
,可讓您發出適當支援穿戴式裝置功能的通知。 - 新增
RemoteInput
,可讓手持裝置透過穿戴式裝置上顯示的通知接收語音輸入內容。 - 改善
SwipeRefreshLayout
中的觸控回饋處理方式。
- 已在
- v4 支援資料庫異動:
-
- 新增
SwipeRefreshLayout
類別,讓使用者可透過垂直滑動手勢重新整理檢視畫面的內容。 - 修正導覽匣的無障礙功能問題。
- 新增
- v7 appcompat 程式庫變更:
-
- 修正動作列的背景問題。
- v4 支援資料庫異動:
-
- 透過加入非同步列印處理功能改善
PrintHelper
。 - 已修正
addChildrenForAccessibility()
方法的DrawerLayout
類別近似值。 - 修正了
ActionBarDrawerToggle
中的投影片可繪項目鏡像。 - 修正從集合疊代器移除項目的個別問題。
- 透過加入非同步列印處理功能改善
- v7 mediarouter 程式庫的變更:
-
- 在
MediaRouteProvider.ProviderMetadata
中使用完整元件名稱,改善路徑識別功能。 - 已更新
MediaRouteChooserDialog
以隱藏停用的路徑。
- 在
- v8Renderscript 程式庫的變更
-
- 新增了 RenderScript 特許層的錯誤傳播。
- v4 支援資料庫異動:
-
- 新增透過
getObbDirs()
、getExternalFilesDirs()
、getExternalCacheDirs()
和getStorageState()
對外部 Storage API 的支援。這些輔助方法一律會在搭載 Android 4.3 (API 級別 18) 以下版本的裝置上傳回單一檔案物件。在 Android 4.4 (API 級別 19) 以上版本中執行時,這些方法可能會傳回多個檔案物件。 - 新增
PrintHelper
類別,可與 Print API 搭配使用,以至少使用程式碼列印圖片。 - 針對彈出式選單新增拖曳開啟的使用者介面支援。詳情請參閱
PopupMenuCompat
和ListPopupWindowCompat
。 - 改善無障礙功能支援,納入
AccessibilityNodeProviderCompat
中的findFocus()
方法和AccessibilityNodeInfoCompat
中的getLiveRegion()
方法。 - 新增了輔助類別
ScaleGestureDetectorCompat
,用於存取新的縮放手勢方法。 - 已修正由右至左語言顯示畫面中的
ActionBarDrawerToggle
問題。 - 已修改
AutoScrollHelper
選項,以便使用觸控事件,或允許這些事件傳遞至其他檢視畫面。
- 新增透過
- v7 mediarouter 程式庫的變更:
-
- 新增對媒體播放待播清單的支援功能,並設定 HTTP 標頭值和媒體播放時間長度。
- 新增明確的啟動、取得和結束工作階段動作,透過媒體路由器明確管理媒體播放工作階段。
- v4 支援資料庫異動:
-
- 使用者介面
- 新增了
BidiFormatter
,用於處理從右到左至右格式文字的字串。 - 修改
ViewPager
,以便更妥善地處理 Pager 在初始版面配置處理期間測量的寬度為 0 的情況。 - 已修改
DrawerLayout
和SlidingPaneLayout
,以便在專案程式碼編輯時擲回評估例外狀況。
- 新增了
- 無障礙功能
- 新增了
ExploreByTouchHelper
,簡化自訂檢視區塊的無障礙功能實作。 - 修正
ViewPager
錯誤填入TYPE_VIEW_SCROLLED
無障礙功能事件的問題。 - 修正填入無障礙功能事件時,
ViewPager
中會顯示空值指標例外狀況的問題 - 如要簡化
AccessibilityNodeInfoCompat
,請將CharSequence
輸入變更為String
物件。 - 淘汰使用
Object
做為輸入的AccessibilityRecordCompat
建構函式。
- 新增了
- 媒體
- 新增了
TransportMediator
輔助類別,以便管理媒體傳輸控制項,例如播放、暫停、略過和其他媒體動作。 - 新增了
DisplayManagerCompat
,用於管理一或多個裝置的螢幕輸出。
- 新增了
- 其他變更
- 新增了
WakefulBroadcastReceiver
輔助類別,可實作用於偵測裝置喚醒事件的常見模式,並將工作傳送至Service
,同時確保裝置不會在交車完成前恢復休眠。 - 已將兩個新的 API (
commitContentChanged()
和rollbackContentChanged()
) 新增至AsyncTaskLoader
,以協助處理後續已取消的資料變更的背景更新作業。
- 新增了
- 使用者介面
- 新的 v7 appcompat 程式庫:
- 新的 v7 mediarouter 程式庫:
-
新增支援 Google Cast 開發人員預覽版的 mediarouter 程式庫。 v7 mediarouter 程式庫 API 提供一種方式,可控制從目前裝置將媒體管道和串流到外部螢幕、喇叭和其他目的地裝置的路徑,且可回溯相容於 Android 2.1 (API 級別 7)。詳情請參閱 V7 mediarouter 程式庫。
支援資料庫 r18 中導入的 v7 mediarouter 程式庫 API 隨時可能會變更支援資料庫的修訂版本。目前,建議您只使用與 Google Cast 開發人員預覽版相關的程式庫。
- v4 支援資料庫異動:
-
- 新增
DrawerLayout
,用於建立可從視窗邊緣提取的導覽導覽匣。 - 新增
SlidingPaneLayout
小工具,用於建立能根據各種螢幕大小適度調整的摘要和詳細資料檢視畫面。 - 新增了
ActionBarDrawerToggle
,以便結合DrawerLayout
和ActionBar
的函式。 - 新增了
ViewDragHelper
,做為在父項檢視區塊中拖曳檢視區塊的通用元件。 - 新增了
ScrollerCompat
,以便提供Scroller
和OverScroller
相容性。 - 已新增
FileProvider
,以允許在應用程式之間共用私人檔案。 - 更新
ViewPager
,以在沒有呼叫notifyDataSetChanged()
的情況下修改相關聯的PagerAdapter
類別時擲回例外狀況。 - 已修正
ViewPager
子項繪製排序順序的問題。 - 已修正
GestureDetectorCompat
,以便在輕觸逾時與長按事件之間調派缺少的onSingleTapConfirmed(MotionEvent)
呼叫。
- 新增
- 新的 v7 格線版面配置程式庫:
-
- 新增了
GridLayout
,以支援GridLayout
版面配置物件。 - 新增了
android.support.v7.widget.Space
,可用於在GridLayout
版面配置物件內建立空白區域。
- 新增了
- v4 支援資料庫異動:
-
- 改善
ViewPager
的互動行為。 - 修正可能導致
ViewPager
選取錯誤頁面的錯誤。 - 已修正
ViewPager
版面配置期間使用removeView()
方法的問題。 - 已修正
SearchViewCompat
的問題:使用返回按鈕關閉無法清除搜尋文字的問題。這項修正僅適用於主機 API 級別 14 以上級別。
- 改善
- v4 支援資料庫異動:
-
- 使用者介面
- 新增了對巢狀
Fragment
類別的支援。 - 改善
FragmentManager
偵錯功能。 - 已修正
FragmentTabHost
中的片段和分頁互動可能會導致ListView
狀態遺失的問題 - 已修正在
FragmentStatePagerAdapter
中向使用者顯示的提示問題 - 在
ViewPager
中新增PageTransformer
介面,讓應用程式可以為捲動提供自訂轉場行為。 - 從目前版本為
TaskStackBuilder
新增功能和修正項目。 - 已修正
PagerTitleStrip
,以便正確追蹤目前使用中的PagerAdapter
。 - 修正了
PagerTitleStrip
的顯示畫面閃爍、定位和文字裁剪問題。 - 已修正
PagerTabStrip
,以便在繪製底線時正確遵循邊框間距。
- 新增了對巢狀
- 無障礙功能
- 新增對
AccessibilityEventCompat
中全新的無障礙手勢和觸控事件類型的支援。 - 開始支援
ViewCompat
中的新無障礙 API。 - 在
ViewCompat
中新增了的performAccessibilityAction()
方法支援。
- 新增對
- 新增對
GestureDetectorCompat
手勢的支援。 - 開始支援使用新的
AtomicFile
類別,對檔案執行不可部分完成的作業。 - 新增對
IntentCompat
中全套make
方法的支援。 - 在
LruCache
公用程式類別中新增trimToSize()
方法。 - 已更新
ConnectivityManagerCompat
,以便從CONNECTIVITY_ACTION
廣播取得 NetworkInfo。
- 使用者介面
- v4 支援資料庫異動:
-
- 已新增 Android 4.1 (API 級別 16) 中導入的通知功能支援,並加入
NotificationCompat
。
- 已新增 Android 4.1 (API 級別 16) 中導入的通知功能支援,並加入
- v4 支援資料庫異動:
-
- 使用者介面支援
- 新增了
PagerTabStrip
支援,提供PagerTitleStrip
以外的進階功能。 - 修正
PagerTitleStrip
和PagerTabStrip
的各種錯誤,包括setAllCaps
選項、標題對齊方式、外觀改善、最小寬度限制和觸控導覽問題。 - 新增對
ViewPager
網頁溝槽的支援,協助ViewPager
類別為具有大水平捲動範圍的內容 (例如地圖) 提供分頁支援。 - 修正
ViewPager
的多項錯誤,包括大小和資料集變更問題、頁面位置、使用者互動、捲動追蹤和鍵盤瀏覽問題。 - 修正許多
Fragment
錯誤,包括在目標片段不存在時正確處理onActivityResult()
、將選取事件分派至隱藏的片段、改善FragmentTransaction.replace()
行為,並針對移開檢視畫面的片段新增更完善的狀態處理。 - 已在
ViewCompat
中新增對postOnAnimation()
方法的支援。 - 更新
NavUtils
,在可用的情況下使用 Android 4.1 (API 級別 16)「向上」導覽功能。
- 新增了
- 無障礙功能
- 更新了無障礙支援類別 (包括
AccessibilityNodeInfoCompat
),以遵循 Android 4.1 (API 級別 16) 中做出的修正。 - 已在
ViewPager
中新增對無障礙功能捲動操作的支援。
- 更新了無障礙支援類別 (包括
- 一般改善項目
- 已更新
TaskStackBuilder
,以反映 Android 4.1 (API 級別 16) 中的 API 變更。 - 已增強
TaskStackBuilder
,允許透過服務使用它。 - 為
ShareCompat
新增對EXTRA_HTML_TEXT
的支援。 - 已更新
NotificationCompat.Builder
,以便支援setNumber()
方法。 - 已在
ConnectivityManagerCompat
中新增對isActiveNetworkMetered()
方法的支援。
- 已更新
- 使用者介面支援
- v4 支援資料庫異動:
-
- 已修正
TaskStackBuilder
產生的PendingIntent
物件的意圖旗標。 - 從格線版面配置程式庫專案中移除未使用的屬性,確保可以使用 API 級別 7 及以上版本建構程式庫。
- 為格線版面配置程式庫專案新增
.classpath
和.project
檔案。
- 已修正
- v4 支援資料庫異動:
-
- 新增了
ShareCompat
,提供用於傳送和接收社群媒體分享應用程式內容的輔助類別,包括將共用資料歸因至來源應用程式的新中繼資料。這個類別也提供與 Android 4.0 版中新ShareActionProvider
的相容整合。 - 新增了
NavUtils
和TaskStackBuilder
,以支援針對導覽實作 Android 設計指南。這些新增項目包括在不同版本之間實作動作列「Up」按鈕的方法。如需這個模式的範例實作,請參閱 (<em><sdk></em>/samples/<em><platform></em>/AppNavigation
) 中的 AppNavigation 範例。 - 新增了
NotificationCompat.Builder
,以提供 Android 3.0Notification.Builder
輔助類別的相容性實作,用來建立標準化系統通知。
- 新增了
- v4 支援資料庫異動:
-
- ViewPager 異動:
- 已新增對
ViewPager
的額外裝飾檢視支援。裝飾性檢視畫面可以做為 XML 版面配置中 Pager 的子項檢視畫面。 - 新增了
PagerAdapter.getPageTitle()
,提供網頁的標題字串,但預設為沒有每個網頁的標題。 - 新增
PagerTitleStrip
,這是非互動式的標題列,可新增為 ViewPager 的子項。開發人員可以提供文字外觀和顏色,以及版面配置大小和重力資訊。 - 更新了
PagerAdapter
方法,以接受 ViewGroup 物件 (而非 View),避免在轉接程式實作過程中進行類別轉換。 - 已更新
ViewPager
,以便使用啟動器樣式的快速滑過行為。 - 修正使用者介面互動和測試自動化的錯誤。
- 已新增對
- 支援片段:
- 已將
setStartDeferred()
方法變更為setUserVisibleHint(boolean)
。 - 針對畫面外頁面新增延遲啟動功能,以改善效能。
- 已將
- 支援 Accessibility API:
- 更新了
AccessibilityDelegateCompat
方法,以傳回空白清單而非空值。 - 新增了 v4 範例所需的新 API。
- 更新了
- ViewPager 異動:
- v4 支援資料庫異動:
-
- 支援 Accessibility API:
- 新增了
AccessibilityDelegateCompat
以支援View.AccessibilityDelegate
。 - 新增了
AccessibilityEventCompat
以支援AccessibilityEvent
。 - 新增了
AccessibilityManagerCompat
以支援AccessibilityManager
。 - 新增了
AccessibilityNodeInfoCompat
以支援AccessibilityNodeInfo
。 - 新增了
AccessibilityRecordCompat
以支援AccessibilityRecord
。 - 新增了
AccessibilityServiceInfoCompat
以支援AccessibilityServiceInfo
。 - 新增了
ViewGroupCompat
,以支援ViewGroup
中的無障礙功能。 - 已修改
ViewCompat
,以支援View
中的無障礙功能。
- 新增了
- ViewPager 異動:
- 新增頁面間邊界的支援功能。您可以提供選用的
Drawable
來填滿邊界。 - 新增了對
EdgeEffect
的支援。 - 新增鍵盤導覽支援功能
- 新增控制在目前頁面任一側保留頁面數量的支援功能。
- 改善觸控物理功能。
- 修正使用者介面行為的錯誤。
- 新增頁面間邊界的支援功能。您可以提供選用的
- 支援 Accessibility API:
- v4 支援資料庫異動:
-
- 新增了
EdgeEffectCompat
以支援EdgeEffect
。 - 新增了
LocalBroadcastManager
,可讓應用程式輕鬆在單一應用程式中註冊及接收意圖,而不必在全域播送意圖。 - 已在
ViewCompat
中新增支援功能,用於在 Android 2.3 以上版本中檢查及設定View
的過度捲動模式。 - Fragment API 的變更:
- 新增了可控制新選單顯示設定的 API。
- 新增了自訂動畫 API。
- 在
FragmentActivity
中新增 API,以便保留非設定的自訂執行個體資料。 - 修正多項錯誤。
- 修正
Loader
錯誤,該錯誤在 Froyo 和舊版平台中執行時,導致取消AsyncTask
時發生問題。支援程式碼現在會使用自有版本的AsyncTask
,以便在所有平台版本上保留相同的行為。
- 新增了
- v4 支援資料庫異動:
-
- 新增對
Fragment.SavedState
的支援 - 新增
MotionEventCompat
以支援較新的MotionEvent
API - 新增
VelocityTrackerCompat
以支援較新的VelocityTracker
API - 新增
ViewConfigurationCompat
以支援較新的ViewConfiguration
API - 所有新的 API (僅適用於支援資料庫) 可讓您建立具有水平分頁的 UI,讓使用者能在內容檢視畫面之間左右滑動。支援的類別包括:
ViewPager
:管理子檢視畫面版面配置的ViewGroup
,使用者可在其中滑動。PagerAdapter
:在ViewPager
中填入代表各頁面的檢視畫面的轉接程式。FragmentPagerAdapter
:PagerAdapter
的擴充功能,用於切換片段。FragmentStatePagerAdapter
:PagerAdapter
的擴充功能,用於在使用程式庫支援的Fragment.SavedState
片段之間切換。
- 新增對
- 新的 v13 支援資料庫:
-
- 包含支援橫向分頁的
FragmentPagerAdapter
和FragmentStatePagerAdapter
。這些 API 與新增至 v4 支援資料庫的 API 完全相同,但需依賴 Android 3.2 中的其他平台元件。如果您開發的是 Android 3.2 及以上版本,請使用這個程式庫,而非 v4 (API 級別 13 均提供 v4 程式庫中的所有其他 API)。
- 包含支援橫向分頁的
- 第 4 版程式庫變更:
-
- 支援片段動畫
- 修正
Fragment.onActivityResult()
錯誤
修訂版本 22
2015 年 3 月
修訂版本 21.0.3
2014 年 12 月
修訂版本 21.0.2
2014 年 11 月
修訂版本 21.0.1
2014 年 11 月
修訂版本 21
2014 年 10 月
修訂版本 20
2014 年 7 月
修訂版本 19.1.0
2014 年 3 月
修訂版本 19.0.1
2013 年 12 月
修訂版本 19
2013 年 10 月
修訂版本 18
2013 年 7 月
修訂版本 13
2013 年 5 月
修訂版本 12
2013 年 2 月
修訂版本 11
2012 年 11 月
修訂版本 10
2012 年 8 月
修訂版本 9
2012 年 6 月
修訂版本 8
2012 年 4 月
修訂版本 7
2012 年 3 月
修訂版本 6
2011 年 12 月
注意:現在提供支援資料庫 API 的參考資料並附上架構參考資料,例如:android.support.v4.app
。
修訂版本 5
2011 年 12 月
修訂版本 4
2011 年 10 月
修訂版本 3
2011 年 7 月
修訂版本 2
2011 年 5 月
修訂版本 1
2011 年 3 月
包含 v4 程式庫的初始版本。