Appcompat
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 5 月 29 日 | 1.7.0 | - | - | - |
宣告依附元件
如果要為 Appcompat 新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增您需要的構件依附元件:
Groovy
dependencies { def appcompat_version = "1.7.0" implementation "androidx.appcompat:appcompat:$appcompat_version" // For loading and tinting drawables on older versions of the platform implementation "androidx.appcompat:appcompat-resources:$appcompat_version" }
Kotlin
dependencies { val appcompat_version = "1.7.0" implementation("androidx.appcompat:appcompat:$appcompat_version") // For loading and tinting drawables on older versions of the platform implementation("androidx.appcompat:appcompat-resources:$appcompat_version") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋:
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
1.7 版
1.7.0 版
2024 年 5 月 29 日
發布 androidx.appcompat:appcompat:1.7.0
和 androidx.appcompat:appcompat-resources:1.7.0
。1.7.0 版包含這些修訂版本。
自 1.6.0 版以來的重要變更
AppCompatDialog
現在可透過ViewTree
API 在對話方塊裝飾檢視畫面上正確設定LifecycleOwner
、SavedStateRegistryOwner
和OnBackPressedDispatcherOwner
,修正在AppCompatDialog
中代管ComposeView
的問題。AppCompatActivity
現在會設定ViewTreeOnBackPressedDispatcherOwner
,以便從檢視畫面中擷取調度工具- 已大幅提升
SupportMenuInflater
的效能。 Locale.getDefault()
現在會在冷啟動後傳回系統語言代碼。LinearLayoutCompat
現在會保留邊界版面配置參數。
依附元件更新
AppCompat
現在依附於活動 1.7.0。AppCompat
現在依附於 Fragment 1.5.4 版本。
1.7.0-rc01 版
2024 年 5 月 14 日
發布 androidx.appcompat:appcompat:1.7.0-rc01
和 androidx.appcompat:appcompat-resources:1.7.0-rc01
。1.7.0-rc01 版包含這些修訂版本。
1.7.0-beta01 版
2024 年 5 月 1 日
發布 androidx.appcompat:appcompat:1.7.0-beta01
和 androidx.appcompat:appcompat-resources:1.7.0-beta01
。1.7.0-beta01 版包含這些修訂版本。
1.7.0-alpha03 版
2023 年 7 月 26 日
發布 androidx.appcompat:appcompat:1.7.0-alpha03
和 androidx.appcompat:appcompat-resources:1.7.0-alpha03
。1.7.0-alpha03 版包含此連結所列的修訂項目。
新功能
支援在非活動結構定義中取得個別應用程式語言代碼 (I58e753)。已新增四種 API 來使用這項功能:
LocaleManagerCompat.getApplicationLocales()
:適合開發人員將每個應用程式的語言代碼超出活動範圍。ContextCompat.getString()
:根據個別應用程式的語言代碼傳回本地化字串。ContextCompat.getContextForLanguage()
:這個方法傳回的結構定義會採用個別應用程式的語言代碼。ConfigurationCompat.setLocales()
:適用於上述 API,以便設定設定的語言代碼。
其他 API 變更
- 將
setLineHeight(unit, lineHeight)
新增至TextView
Compat 類別 (Ia9fa9) - 將
setLineHeight(unit, lineHeight)
新增至TextView
Compat 類別 (Ib2ee1) - 將
setLineHeight(unit, lineHeight)
新增至TextView
Compat 類別 (I15716)
修正錯誤
AppCompatDialog
現在可透過ViewTree
API 在對話方塊裝飾檢視畫面上正確設定LifecycleOwner
、SavedStateRegistryOwner
和OnBackPressedDispatcherOwner
,修正在AppCompatDialog
中代管ComposeView
的問題。AppCompat
現在依附於活動 1.7.0。(Ib28ab、b/261314581)- 大幅改善
SupportMenuInflater
的效能 (I0b087)
1.7.0-alpha02 版
2023 年 2 月 8 日
發布 androidx.appcompat:appcompat:1.7.0-alpha02
和 androidx.appcompat:appcompat-resources:1.7.0-alpha02
。1.7.0-alpha02 版包含此連結所列的修訂項目。
修正錯誤
- 修正
AppCompatDelegate.getLocaleManagerForApplication()
中的記憶體流失問題 (44b57fd) AppCompat
現在依附於 Fragment 1.5.4 版本 (I54dcd)
1.7.0-alpha01 版
2022 年 10 月 5 日
發布 androidx.appcompat:appcompat:1.7.0-alpha01
和 androidx.appcompat:appcompat-resources:1.7.0-alpha01
。1.7.0-alpha01 版包含此連結所列的修訂項目。
修正錯誤
AppCompatActivity
現在會設定ViewTreeOnBackPressedDispatcherOwner
,以便從檢視畫面中擷取調度工具(I1a115、b/235416503)Locale.getDefault()
現在會在冷啟動後傳回系統語言代碼 (I6a94b)LinearLayoutCompat
現在會保留邊界版面配置參數 (Id2af4)
1.6.1 版
1.6.1 版
2023 年 2 月 8 日
發布 androidx.appcompat:appcompat:1.6.1
和 androidx.appcompat:appcompat-resources:1.6.1
。1.6.1 版包含此連結所列的修訂項目。
修正錯誤
- 修正
AppCompatDelegate.getLocaleManagerForApplication()
中的記憶體流失問題 (44b57fd)
1.6.0 版
1.6.0 版
2023 年 1 月 11 日
發布 androidx.appcompat:appcompat:1.6.0
和 androidx.appcompat:appcompat-resources:1.6.0
。1.6.0 版包含此連結所列的修訂項目。
自 1.5.0 版之後的重要變更
- 開始支援自訂應用程式語言代碼。詳情請參閱
AppCompatDelegate.setApplicationLocales(LocaleListCompat)
。針對 Android 13 中新推出的每種語言偏好設定 API,提供回溯相容性。 - 更新可空值性,以便配合 Android 13 (Tiramisu,API 級別 33) SDK。
- 將
DrawableWrapper
、DrawableContainer
和StateListDrawable
Compat 類別新增至公用 API 介面。
1.6.0-rc01 版
2022 年 9 月 7 日
發布 androidx.appcompat:appcompat:1.6.0-rc01
和 androidx.appcompat:appcompat-resources:1.6.0-rc01
。1.6.0-rc01 版包含以下修訂項目。
修正錯誤
AppCompatActivity
現在會設定ViewTreeOnBackPressedDispatcherOwner
,以便從檢視畫面中擷取調度工具(I1a115、b/235416503)- 還原錯誤修正內容,這覆寫了傳遞至
onConfigurationChanged
的設定,導致透過onConfigurationChanged
插入本身自訂設定的測試發生問題。
1.6.0-beta01 版
2022 年 8 月 10 日
發布 androidx.appcompat:appcompat:1.6.0-beta01
和 androidx.appcompat:appcompat-resources:1.6.0-beta01
。1.6.0-beta01 版包含此連結所列的修訂項目。
API 變更
- 將
DrawableWrapper
、DrawableContainer
及StateListDrawable
Compat 類別移到公用 API(I37f3e、b/227789566) - 新增可進行非同步版面配置 inflater 的新工廠(Ia657b)。
修正錯誤
Toolbar
現在會在顯示選單之前呼叫onPrepareMenu()
,不會在建立選單時無條件呼叫了(I2a58d、b/232206677)AppCompat
現在明確依附於Lifecycle
2.5.1
和SavedState
1.2.0
。(I7e3e2)。- 開始支援向
AppCompatDelegate
發出的返回叫用回呼,以及由AppCompat
提供的工具列實作(I24062)。 - 完成 1.5.0-beta01 的
AppCompat
API (I2a43d、b/236866227) - 完成 1.5.0-beta01 的
AppCompat
API (I2a43d、b/236866227)
1.6.0-alpha05 版
2022 年 6 月 15 日
發布 androidx.appcompat:appcompat:1.6.0-alpha05
和 androidx.appcompat:appcompat-resources:1.6.0-alpha05
。1.6.0-alpha05 版以私人的預先發布分支版本開發,並無公開修訂項目。
API 變更
- 配合 Tiramisu Beta 3 SDK 最終定案的 API 介面,更新是否可為空值
minCompileSdk
目前為 33,以便配合 Tiramisu Beta 3 SDK
1.6.0-alpha04 版
2022 年 5 月 18 日
發布 androidx.appcompat:appcompat:1.6.0-alpha04
和 androidx.appcompat:appcompat-resources:1.6.0-alpha04
。這個程式庫先前是根據私人預先發布分支版本所開發,因此並無修訂記錄。
API 變更
- 新增 API 以覆寫 SwitchCompat 寬度限制,供 MDC-Android 使用
修正錯誤
- 當 AttachBaseConfig 外的設定變更時,避免設定受到管理
1.6.0-alpha03 版
2022 年 4 月 27 日
發布 androidx.appcompat:appcompat:1.6.0-alpha03
和 androidx.appcompat:appcompat-resources:1.6.0-alpha03
。
這個版必須使用 Android 13 Beta 1 進行編譯,而且不保證未來的開發人員預覽版可與執行階段相容。
新功能
- 透過
AppCompatDelegate.setApplicationLocales()
支援全應用程式自訂語言選擇。在 API 33 以上版本中委派平台實作。
1.6.0-alpha01 版
2022 年 2 月 23 日
發布 androidx.appcompat:appcompat:1.6.0-alpha01
和 androidx.appcompat:appcompat-resources:1.6.0-alpha01
。1.6.0-alpha01 版本以內部分支版本為基礎,且沒有可公開查看的修訂版本。
這個版必須使用 Android Tiramisu DP1 進行編譯,而且不保證未來的開發人員預覽版可與執行階段相容。
新功能
- 開始支援自訂應用程式語言代碼。詳情請參閱
AppCompatDelegate.setApplicationLocales(LocaleListCompat)
。針對 Android 13 中新推出的每種語言偏好設定 API,提供回溯相容性。
1.5.1 版
1.5.1 版
2022 年 9 月 7 日
發布 androidx.appcompat:appcompat:1.5.1
和 androidx.appcompat:appcompat-resources:1.5.1
。1.5.1 版包含此連結所列的修訂項目。
依附元件更新
AppCompat
現在明確依附於 Lifecycle2.5.1
及 SavedState1.2.0
。(I7e3e2)。
1.5.0 版
1.5.0 版
2022 年 8 月 10 日
發布 androidx.appcompat:appcompat:1.5.0
和 androidx.appcompat:appcompat-resources:1.5.0
。1.5.0 版包含此連結所列的修訂項目。
自 1.4.0 版以來的重要異動
- 本穩定版本內含改善夜間模式穩定性的內容、修正錯誤,並為 AppCompat 支援的文字小工具提供複合可繪項目色調的支援功能,另外也改善了 API 的可用性。所有詳細的變更內容請參閱之前的 1.5.0 系列版本資訊。
1.5.0-rc01 版
2022 年 7 月 27 日
發布 androidx.appcompat:appcompat:1.5.0-rc01
和 androidx.appcompat:appcompat-resources:1.5.0-rc01
。1.5.0-rc01 版包含以下修訂項目。
修正錯誤
- 修正問題:AppCompat 的結構定義包裝函式重複使用應用程式結構定義的幕後資源實作,導致覆寫應用程式結構定義上的
uiMode
(Idf9d5)。
1.5.0-beta01 版
2022 年 7 月 13 日
發布 androidx.appcompat:appcompat:1.5.0-beta01
和 androidx.appcompat:appcompat-resources:1.5.0-beta01
。1.5.0-beta01 版本包含這些修訂版本。
API 變更
- 新增可覆寫的標記,以停用預設的切換寬度調整項。(I37cb7)。
- 將
@FloatRange
註解新增至 thumb position getter API (If524c) - 將缺少空值註解加入
AnimatedStateListDrawableCompat
(Ieb4ec)
修正錯誤
- 完成 1.5.0-beta01 的
AppCompat
API (I2a43d、b/236866227) - 變更
ActionMenuItemView
的className
值,將其視為Button
(I5ee1c)
1.5.0-alpha01 版
2022 年 4 月 6 日
發布 androidx.appcompat:appcompat:1.5.0-alpha01
和 androidx.appcompat:appcompat-resources:1.5.0-alpha01
。1.5.0-alpha01 版包含此連結所列的修訂項目。
API 變更
- 新增一個 API,以便向子類別公開切換按鈕的拇指的位置 (I9bfb4)
- 更新是否可為空值,與 Tiramisu DP2 保持一致 (I0cbb7)
- 將複合可繪色調向後移植到 TextView 衍生小工具 (Idf98c、b/165822337)
AppCompatDialog
現將ComponentDialog
擴充至與OnBackPressedDispatcher
相容 (Id9b91、b/217620781)SearchView.onQueryRefine()
現在擁有受保護的瀏覽權限,允許進行覆寫 (I6cce0、b/212882845)
修正錯誤
- AppCompat
Toolbar
現在可以呼叫MenuHostHelper
的onPrepareMenu()
API。(I9b9b5、b/227376894) - 在 XML 中設定時,
AppCompatEditText
、AppCompatAutoCompleteEditText
、AppCompatMultiAutoCompleteEditText
不會再重設建構函式中的可點選或 longClickable (Ic5066、b/221094907) AppCompatEditText
、AppCompatAutoCompleteTextView
和AppCompatMultiAutoCompleteTextView
不會呼叫建構函式中被覆寫的setKeyListener
(I5c13a、b/208480173)- Appcompat 不會包裝已傳遞至
setKeyListener
的NumberKeyListener
執行個體,允許TextView
正確設定NumberKeyListeners
的語言代碼 (Ibf113、b/207119921) - 修正在 AppCompat 1.4.0 中引入且允許輸入非預期字元 (例如標點符號) 的所有
NumberKeyListener
子類別發生的問題 (Iede7a、b/207119921)
1.4.2 版
1.4.2 版
2022 年 6 月 1 日
發布 androidx.appcompat:appcompat:1.4.2
和 androidx.appcompat:appcompat-resources:1.4.2
。1.4.2 版包含此連結所列的修訂項目。
修正錯誤
- 修正
AppCompatDelegateImpl
在建立動作列之前對ensureSubDecor
進行內部呼叫時發生的當機問題 (aosp/2048349、b/226648941)
1.4.1 版
2022 年 1 月 12 日
發布 androidx.appcompat:appcompat:1.4.1
和 androidx.appcompat:appcompat-resources:1.4.1
。1.4.1 版包含此連結所列的修訂項目。
修正錯誤
AppCompatEditText
、AppCompatAutoCompleteTextView
和AppCompatMultiAutoCompleteTextView
在建構函式運作期間不會呼叫覆寫的setKeyListener
。(I5c13a、b/208480173)Emoji2
不會包含NumberKeyListener
的執行個體,並可透過 textview 設定語言代碼。- Appcompat 不會包含
NumberKeyListener
的執行個體以傳遞至setKeyListener
中,這可以保證TextView
正確設定NumberKeyListeners
的語言代碼。(Ibf113、b/207119921)
- Appcompat 不會包含
- 修正 appcompat 1.4.0 中導入且允許非預期字元 (如輸入標點符號) 的所有
NumberKeyListener
子類別發生的問題 (b/207119921) (Iede7a、b/207119921)
1.4.0 版
1.4.0 版
2021 年 11 月 17 日
發布 androidx.appcompat:appcompat:1.4.0
和 androidx.appcompat:appcompat-resources:1.4.0
。1.4.0 版本包含這些修訂版本。
自 1.3.0 版以來的重要異動
- 程式庫現已指定 Java 8 語言層級
- 根據預設,系統會透過 androidx.emoji2 程式庫啟用可更新的表情符號支援
- 改善 Android Studio 版面配置檢查器中的屬性檢查功能 (I02d55)
- 開始支援 AppCompat 資源載入向後移植中的巢狀著色資源和向量可繪項目。不過請注意,這表示啟用向後移植後,應用程式就無法覆寫自訂資源物件的 getDrawable()。(Ia6b03、b/176129022)
- 已向後移植 CheckedTextView 的可著色背景及勾號 (I8575c)
1.4.0-rc01 版
2021 年 10 月 27 日
發布 androidx.appcompat:appcompat:1.4.0-rc01
和 androidx.appcompat:appcompat-resources:1.4.0-rc01
。1.4.0-rc01 版包含此連結所列的修訂項目。
1.4.0-beta01 版
2021 年 9 月 29 日
發布 androidx.appcompat:appcompat:1.4.0-beta01
和 androidx.appcompat:appcompat-resources:1.4.0-beta01
。1.4.0-beta01 版包含此連結所列的修訂項目。
API 變更
- AndroidX AppCompat
Toolbar
現在是MenuHost
,可以管理MenuProvider
。(I5cd95)
修正錯誤
- 修正 AppCompatProgressBar 對圖層清單進度列的處理方式 (I6ece3、b/142004509)
- 正確保留
AppCompatEditText
中的android:digits
,這修正了 AppCompat 1.4.0-alpha03 導入的錯誤 193047889(I4b4fc、b/193047889) - 整合 OnReceiveContentListener SDK 與支援程式庫 API(Ic6914、b/173814913)
1.4.0-alpha03 版
2021 年 6 月 30 日
發布 androidx.appcompat:appcompat:1.4.0-alpha03
和 androidx.appcompat:appcompat-resources:1.4.0-alpha03
。查看 1.4.0-alpha03 版的修訂項。
新功能
- 程式庫現已指定 Java 8 語言層級
- 新增 emoji2 支援,提供更多 TextView 子類別使用 (
AppCompatMultiAutoCompleteTextView
、AppCompatAutoCompleteTextView
、AppCompatRadioButton
、AppCompatCheckBox
)。
API 變更
- 新增了用於設定 InputConnection 的 API,以便使用 View.performanceReceiveContent 處理向 InputConnection.commitContent 發出的輸入法編輯器呼叫(I3a2ad)。
- 在
AppCompatMultiAutoCompleteTextView
中新增 EmojiCompat 支援功能 (Ifece0) - 在
AppCompatAutoCompleteTextView
中新增 EmojiCompat 支援功能 (Ia1f4b) - 在
AppCompatRadioButton
中新增 EmojiCompat 支援功能 (If08af) - 在
AppCompatCheckBox
中新增 EmojiCompat 支援功能 (I2b3bc) - 允許在
AppCompatEditText
中使用空值KeyListener
。這項操作會還原在 1.4-alpha01 中新增至 AppCompatEditText 的非空值註解,並在傳遞空值時還原先前的行為。(I21482、b/189559345)。 - 新增
PopupMenu.setForceShowIcon
,與平台 API 保持一致 (I43bb3、b/182789798)
修正錯誤
- 修正 AppCompatEditText 中的錯誤,這會重設 XML 中指定的 inputType 來移除變化版本。這項錯誤是在 AppCompat 1.4.0-alpha01 中推出。(I9df36、b/191061070)
1.4.0-alpha02 版
2021 年 6 月 2 日
發布 androidx.appcompat:appcompat:1.4.0-alpha02
和 androidx.appcompat:appcompat-resources:1.4.0-alpha02
。1.4.0-alpha02 版本包含以下修訂項目。
API 變更
- 新增了採用版面配置 ID 的
AppCompatDialogFragment
建構函式 (Icbf22、b/188119987) - 改善版面配置檢查器支援 (I02d55)
- 已將
emoji2-views-helper
中的套件重新命名為androidx.emoji2.viewsintegration
。這是 AppCompat1.4.0-alpha01
的破壞性變更,應用程式必須更新 AppCompat 依附元件,才能使用新的 emoji2 版本。(Ie8397)
修正錯誤
- 修正問題:停止的活動不會因為 AppCompat 檢測的夜間模式變更,而收到設定變更(I8fa8f、b/188681415)
- 在
AppCompatEditText
中,即使 XML 中已指定android:focusable="false"
(AppCompat1.4.0-alpha01
中引入的錯誤),檢視畫面仍可聚焦,這個問題已獲得修正 (Ib9412)
1.4.0-alpha01 版
2021 年 5 月 18 日
發布 androidx.appcompat:appcompat:1.4.0-alpha01
和 androidx.appcompat:appcompat-resources:1.4.0-alpha01
。1.4.0-alpha01 版本包含這些修訂版本。
API 變更
- 將 EmojiCompat 支援功能整合至各種 AppCompat 小工具 (Id409b、If7a1a、Ic262d、Ib5f4a、I4fb3c)
- 開始支援 AppCompat 資源載入向後移植中的巢狀著色資源和向量可繪項目。不過請注意,這表示啟用向後移植後,應用程式就無法覆寫自訂資源物件的
getDrawable()
(Ia6b03、b/176129022) - 改善版面配置檢查器支援 (I6d771)
修正錯誤
- 修正在設定視窗回呼後,呼叫 setSupportActionBar 會覆寫回呼的狀況(Ie43ee、b/186791590)
- 新增 SDK 29 和 30 中以下問題的解決方法:從可繪項目快取中複製的 ColorStateListDrawable 資源在收到狀態變更前,無法載入預設顏色(Iedb4b)。
- 在 AppCompat 支援的檢視畫面上處理空值自訂選取動作模式回呼時,避免 NPE(I033c7、b/173435375)
依附元件更新
- 在 AppCompat
1.5.0
中:AppCompat 現在依附於 Fragment1.3.4
(I13089)。 - 在 AppCompat
1.5.0
中:AppCompat 現在依附於 Activity1.2.3
(I815b7)。 - 在 AppCompat
1.5.0
中:AppCompat 現在依附於生命週期2.3.1
。(Ia75a1)
外部貢獻
- 向後移植
CheckedTextView
的可著色背景和勾號 (I8575c)
1.3.1 版
1.3.1 版
2021 年 7 月 21 日
發布 androidx.appcompat:appcompat:1.3.1
和 androidx.appcompat:appcompat-resources:1.3.1
。1.3.1 版包含此連結所列的修訂項目。
依附元件更新
- AppCompat 目前依附於 Activity
1.2.4
和 Fragment1.3.6
,預設會在使用 AppCompat1.3.1
時納入這些版本中的修正內容(I8fbec)。
1.3.0 版
1.3.0 版
2021 年 5 月 18 日
發布 androidx.appcompat:appcompat:1.3.0
和 androidx.appcompat:appcompat-resources:1.3.0
。1.3.0 版本包含以下修訂項目。
自 1.2.0 版以來的重要變更
- 修正在版本低於 Lollipop 的裝置上,
android:theme
屬性跨<include>
版面配置的傳播問題 - 將許多 PNG 資源轉換為 VectorDrawables,藉此縮減程式庫大小
- 使用
OnReceiveContentListener
,在AppCompatEditText
中新增拖曳事件支援功能 - 完成更新,支援 Android 11 視窗插邊處理功能的變更
- 在含有圖示的選單項目中新增 RTL 支援
已新增在
AppCompatEditText
中插入多媒體內容 (例如貼上圖片) 的支援已更新依附元件:
appcompat
已更新許多轉換依附元件,以支援新功能和修正內容:- 已從片段
1.1.0
更新為片段1.3.4
- 已從活動 1.0.0 更新為活動
1.2.3
- 已從生命週期
2.0.0
更新為生命週期2.3.1
- 已從核心 1.3.0 更新為核心
1.5.0
- 已從片段
1.3.0-rc01 版
2021 年 3 月 24 日
發布 androidx.appcompat:appcompat:1.3.0-rc01
和 androidx.appcompat:appcompat-resources:1.3.0-rc01
。1.3.0-rc01 版包含此連結所列的修訂項目。
修正錯誤
- 避免在處理輸入法編輯器內容插入時,提前撤銷權限
依附元件更新
外部貢獻
- 修正在版本低於 Lollipop 的裝置上,
android:theme
屬性跨<include>
版面配置的傳播問題 (Opera 的 Simon Bergner)
1.3.0-beta01 版
2021 年 1 月 13 日
發布 androidx.appcompat:appcompat:1.3.0-beta01
和 androidx.appcompat:appcompat-resources:1.3.0-beta01
。1.3.0-beta01 版本包含以下修訂項目。
新功能
- 主題層級動作模式可繪項目已用向量來源取代。 這可能會導致個別圖示的視覺外觀有些許變動(I741a6)。
API 變更
- 將 AppCompatEditText 中的拖曳-放置 (放置事件) 和 OnReceiveContentListener 整合。(Ib26c9、b/175343405)
- 已更新
OnReceiveContentListener
和相關 API,詳情請參閱 androidx.core 程式庫異動。(Ib4616、b/173814913) - 將 widget.RichContentReceiverCompat 移至 view.OnReceiveContentListener(Ifdab7、b/173814913)
- 提供及擷取初始周圍文字的 API 已向後移植至
EditorInfoCompat
。可讓 IME 應用程式避免額外的 IPC 延遲。(Ie3809)
1.3.0-alpha02 版
2020 年 8 月 19 日
發布 androidx.appcompat:appcompat:1.3.0-alpha02
和 androidx.appcompat:appcompat-resources:1.3.0-alpha02
。1.3.0-alpha02 版包含此連結所列的修訂項目。
修正錯誤
- AppCompatRatingbar PNG 可繪項目已替換為向量來源。 這可能會導致個別星號的視覺外觀有些許變動(I6b99d)。
- 將 WindowInsetsCompat 更新為 Android 11 API。(I3df9e)
- 透過圖示支援選單項目中的 RTL (I2f5c5)
依附元件更新
- AppCompat 已將依附元件從片段
1.1.0
更新為片段1.3.0-alpha08
。強烈建議您詳閱 Fragment1.2.0
版本資訊,瞭解先前的 Fragment 版本引入哪些重大異動。 - AppCompat 已將依附元件從活動
1.0.0
更新為活動1.2.0-alpha08
。強烈建議您詳閱 Activity1.1.0
版本資訊,瞭解先前的 Activity 版本引入哪些重大異動。AppCompatActivity
現在使用 Activity1.2.0-alpha08
中引入的OnContextAvailableListener
API,以設定AppCompatDelegate
。任何新增至AppCompatActivity
子類別的事件監聽器,都會在此事件監聽器之後執行。(I513da)
1.3.0-alpha01 版
2020 年 5 月 20 日
發布 androidx.appcompat:appcompat:1.3.0-alpha01
和 androidx.appcompat:appcompat-resources:1.3.0-alpha01
。1.3.0-alpha01 版本包含以下修訂項目。
新功能
- 新增 Lint 規則,標記在延伸 AppCompatActivity 的活動中進行的 setActionBar 呼叫
- 在
AppCompatActivity
中使用View
時,新增來自 Lifecycle2.3.0-alpha01
的ViewTreeLifecycleOwner
支援、來自 Lifecycle2.3.0-alpha03
的ViewTreeViewModelStoreOwner
支援,以及來自 SavedState1.1.0-alpha01
的ViewTreeSavedStateRegistryOwner
支援(b/151603528、aosp/1300264)。 - 新增用於插入多媒體內容 (例如貼上圖片) 的通用 API。新回呼提供單一 API,應用程式可透過實作這個 API 支援以各種方式插入多媒體內容。目前這個 API 只會新增至
AppCompatEditText
,並會針對下列程式碼路徑叫用:- 從剪貼簿貼上
- 從輸入法編輯器插入內容 (
InputConnection.commitContent
) (I22bf7)
修正錯誤
- 自 AppCompat
1.2.0-rc01
起:AppCompat 不再使用null
選單呼叫onMenuOpened()
。(b/142843126) - 呼叫 TextViewCompat.setTextAppearance 時使用的文字狀態樣式包含參照主題色彩屬性的清單時,可在舊版裝置上正確解析文字連結和提示顏色 (b/154702995)
1.2.0 版
1.2.0 版
2020 年 8 月 5 日
發布 androidx.appcompat:appcompat:1.2.0
和 androidx.appcompat:appcompat-resources:1.2.0
。1.2.0 版包含此連結所列的修訂項目。
自 1.1.0 版以來的重大異動
- 修正設定覆寫用途的支援功能,包括自訂語言代碼和字型調整。請參閱這篇文章,瞭解如何使用
appcompat:1.2.0
正確導入覆寫值。 - 已淘汰
AppCompatDelegate.attachBaseContext()
。如果您要呼叫或覆寫這個方法,請改用AppCompatDelegate.attachBaseContext2()
。 - 已淘汰
CollapsibleActionView
。不再需要這個介面,請使用平台提供的android.view.CollapsibleActionView
介面。
1.2.0-rc02 版
2020 年 7 月 22 日
發布 androidx.appcompat:appcompat:1.2.0-rc02
和 androidx.appcompat:appcompat-resources:1.2.0-rc02
。1.2.0-rc02 版本包含以下修訂項目。
修正錯誤
- 修正夜間模式相關問題,其中有時從對話方塊呼叫
AppCompatDelegate.setDefaultNightMode
可能無法重新建立活動並套用新模式。(aosp/1348308、b/158923881)。
1.2.0-rc01 版
2020 年 5 月 14 日
發布 androidx.appcompat:appcompat:1.2.0-rc01
和 androidx.appcompat:appcompat-resources:1.2.0-rc01
。1.2.0-rc01 版本包含以下修訂項目。
API 變更
AppCompatDelegate.setLocalNightMode
已被標示為必須使用 SDK 17 以上版本,因為平台設定在舊版 SDK 的活動之間有變更問題漏出
修正錯誤
- 現在可以在
Activity.attachBaseContext
之前呼叫AppCompatDelegate.setLocalNightMode
- 已修正不正確使用快取插邊的
ActionBarOverlayLayout
插邊消耗 - AppCompat 已不再使用
null
選單呼叫onMenuOpened()
。(b/142843126)
1.2.0-beta01 版
2020 年 4 月 1 日
發布 androidx.appcompat:appcompat:1.2.0-beta01
和 androidx.appcompat:appcompat-resources:1.2.0-beta01
。1.2.0-beta01 版本包含以下修訂項目。
新功能
- 已新增下列 Lint 規則,以便在下列情境中標記 AppCompat 的不正確使用:
- 載入顏色狀態清單:建議使用
ContextCompat
和AppCompatResources
API 確保回溯相容性 - 載入可繪項目:建議使用
ContextCompat
和ResourcesCompat
API 確保回溯相容性 - 使用具備 Alpha 版屬性的色彩狀態清單:旗標缺少
android:alpha
屬性,會導致某些平台版本的外觀不正確 - 著色圖片檢視畫面:未使用
app:tint
的旗標會導致舊版平台的外觀不正確 - 在文字檢視區塊上使用複合可繪項目和著色功能:建議使用 compat 屬性和 API 確保回溯相容性
- 載入顏色狀態清單:建議使用
修正錯誤
- 已修正
ActionBarOverlayLayout
(視窗裝飾動作) 無法正確調度 WindowInsets 的問題。 - 修正舊版平台上可繪項目著色和文字外觀的問題
- 修正問題:長按 WebView 時,
androidx.appcompat:appcompat:1.1.0
會造成 WebView 異常終止 (b/141351441) - 針對基本結構定義操控及活動啟動期間擷取服務的問題導入修正方式
1.2.0-alpha03 版
2020 年 3 月 4 日
發布 androidx.appcompat:appcompat:1.2.0-alpha03
和 androidx.appcompat:appcompat-resources:1.2.0-alpha03
。1.2.0-alpha03 版包含此連結所列的修訂項目。
修正錯誤
1.2.0-alpha02 版
2020 年 1 月 29 日
發布 androidx.appcompat:appcompat:1.2.0-alpha02
和 androidx.appcompat:appcompat-resources:1.2.0-alpha02
。1.2.0-alpha02 版包含此連結所列的修訂項目。
修正錯誤
- 修正問題:長按時,appcompat 1.1.0 會造成 WebView 異常終止 (b/141351441)
- 修正了 API 級別 23 中 TextView 相對於複合可繪項目的可繪項目著色問題 (aosp/1172194)
- 確保基礎結構定義一律為包裝函式 (aosp/1194355)
- 已新增一些改善項目,在修改基本結構定義設定時更聰明。(aosp/1204543)
- 已為 Robolectric 停用
createConfigurationContext()
。(aosp/1186218)
1.2.0-alpha01 版
2019 年 12 月 4 日
發布 androidx.appcompat:appcompat:1.2.0-alpha01
和 androidx.appcompat:appcompat-resources:1.2.0-alpha01
。1.2.0-alpha01 版包含這些修訂版本。
修正錯誤
- 啟用啟動感知檢查時,在嚴格模式下呼叫 PackageManager.getActivityInfo 不會再造成異常終止
- 修正 AppCompatButton 上的可繪項目著色問題
- 修正舊版平台中著色和文字外觀的問題
1.1.0 版本
1.1.0 版本
2019 年 9 月 5 日
發布 androidx.appcompat:appcompat:1.1.0
和 androidx.appcompat:appcompat-resources:1.1.0
。您可以前往這裡查看這個版本包含的修訂版本。
自 1.0.0 版以來的重要異動
- 改善深色模式:現已淘汰
MODE_NIGHT_AUTO
,以及根據目前時間切換深色/淺色模式的功能。請考慮使用明確設定,或是MODE_NIGHT_AUTO_BATTERY
。 - Activity 1.0:
AppCompatActivity
現在以轉換方式,透過 Fragment1.1.0
從 Activity1.0.0
的ComponentActivity
延伸。請參閱相關的版本資訊,瞭解各程式庫的異動項目。 - AppCompatActivity LayoutId 建構函式:
AppCompatActivity
的子類別現在可選擇呼叫AppCompatActivity
上接受R.layout
ID 的建構函式,指出應設為內容檢視畫面的版面配置,做為在onCreate()
中呼叫setContentView()
的替代方案。這個動作不會改變子類別採用無引數建構函式的要求。
1.1.0-rc01 版本
2019 年 7 月 2 日
發布 androidx.appcompat:appcompat:1.1.0-rc01
和 androidx.appcompat:appcompat-resources:1.1.0-rc01
。您可以前往這裡查看這個版本包含的修訂版本。
修正錯誤
- DayNight 現在可以正確遵守
configChanges
。(aosp/981105) - 僅在已啟動的 Activity 上呼叫
onConfigurationChanged
(aosp/987483)
1.1.0-beta01 版本
2019 年 6 月 5 日
發布 androidx.appcompat:appcompat:1.1.0-beta01
和 androidx.appcompat:appcompat-resources:1.1.0-beta01
。您可以前往這裡查看這個版本包含的修訂版本。
修正錯誤
- 請務必清除 AppCompatDialogs 中的接收器 (aosp/959376)
- 新增工具列上的
buttonGravity=center_vertical
支援。(b/130361721) - 修正旋轉圖示水平偏移 (b/79477181)
1.1.0-alpha05 版
2019 年 5 月 7 日
發布 androidx.appcompat:appcompat:1.1.0-alpha05
和 androidx.appcompat:appcompat-resources:1.1.0-alpha05
。您可以前往這裡查看這個版本包含的修訂項目。
新功能
- setDefaultNightMode() 現在會自動重新建立任何已開始的活動。
修正錯誤
- DayNight 模式的多項修正
- 讓 ActionBar 所有背景變更的大綱失效
- 修正旋轉圖示小工具的捲動
- 修正 AlertDialog 中要覆寫的自訂設定視窗背景
1.1.0-alpha04 版
2019 年 4 月 3 日
發布了 androidx.appcompat:appcompat:1.1.0-alpha04
和 androidx.appcompat:appcompat-resources:1.1.0-alpha04
。您可以前往這裡查看這個版本包含的修訂版本。
新功能
- 新增
ThemeOverlay.AppCompat.DayNight
系列的主題。使用 DayNight 功能時才應使用。
API 相關異動
- AppCompatActivity 現在包含第二種建構函式;該函式採用
@LayoutRes int
,將先前為 AppCompatActivity 類別加上註解的行為替換成@ContentView
。這個方法適用於應用程式和程式庫模組。(b/128352521)
修正錯誤
- 盡可能於穩定版釘選內部依附元件
- 修正下拉式選單模式中的
AppCompatSpinner
捲動問題 (b/124274573) - 只在 DayNight 需要時才呼叫
applyOverrideConfiguration()
1.1.0-alpha03 版
2019 年 3 月 13 日
發布 androidx.appcompat:appcompat:1.1.0-alpha03
和 androidx.appcompat:appcompat-resources:1.1.0-alpha03
。這是 appcompat-resources
的第一個版本。
您可以前往這裡查看這個版本包含的修訂項目完整清單。
新功能
- 新的 appcompat-resources 程式庫包含多個 API,可讓應用程式在舊版平台上載入可繪項目 (包括向量可繪項目),並為其著色。這與先前的 appcompat 模組部分提供的功能相同,但現在可在不產生質感設計完整 appcompat 向後移植 (包括小工具、對話方塊、夜間模式等) 負載的情況下提供。
- 支援 DayNight 模式的重要修正
- DayNight 模式的
MODE_NIGHT_AUTO_BATTERY
新選項 AppCompatTextView
中的可繪項目著色功能- 工具列溢位現在可以使用主題顏色狀態清單確立樣式
- 選單圖示現在可以使用參照主題屬性的顏色
- 可以在工具列上設定新的 app:menu 屬性,以便在加載時間提供選單內容
修正錯誤
- 修正版本 21 中 ImageView 的預設著色模式
- 修正問題:裝置旋轉時,旋轉圖示彈出式視窗無法正確關閉
- 修正問題:DayNight 未遵循資訊清單中的
configChanges
- 修正問題:無法切換至
MODE_NIGHT_FOLLOW_SYSTEM
(b/111345020) - 已修正 WebView 重設 DayNight 資源的問題 (b/37124582)
1.1.0-alpha02 版
2019 年 2 月 7 日
androidx.appcompat:appcompat 1.1.0-alpha02
發布。
新功能
- 將資源專屬的可繪項目處理擷取至掛鉤 (aosp/870976)
- 允許工具列
titleTextColor
和subtitleTextColor
使用ColorStateList
,並新增setTitleTextColor
和setSubtitleTextColor
方法的ColorStateList
超載 (aosp/867489)
修正錯誤
- 修正
fontFamily
在 API 24 之前版本中無法運作的問題 (aosp/807054) - 修正錯誤:當活動從
AppCompatActivity
延伸時,textFontWeight
無法正常運作 (aosp/847640) - 修正會導致旋轉圖示小工具彈出式視窗中的標題文字 (使用對話方塊模式) 不使用
fontFamily
中指定字型的錯誤 (aosp/789994) - 修正導致小工具
AppCompatCheckBox
和AppCompatRadioButton
無法變更背景著色的錯誤。(aosp/825160) - 修正錯誤:AppCompat 未覆寫
android: list styles
(aosp/862350)
1.1.0-alpha01 版
2018 年 12 月 3 日
新功能
AppCompatTextView 現已支援
app:drawableLeftCompat
、app:drawableTopCompat
、app:drawableRightCompat
、app:drawableBottomCompat
、app:drawableStartCompat
和app:drawableEndCompat
複合可繪項目,進而支援向後移植的可繪項目類型,例如VectorDrawableCompat
。AppCompatCheckBox
和AppCompatRadioButton
的預設可繪項目現在會為檢查狀態變更建立動畫。
API 相關異動
- aosp/740385:ActionBarOverlayLayout 現已導入 NestedScrollingParent2 和 NestedScrollingParent3,使其具備巢狀捲動 3 的最新功能。如果開發人員程式碼目前覆寫了
ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int)
,則可能無法再將其呼叫,且應改為覆寫ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[])
。
1.0.2 版
1.0.2 版
2018 年 11 月 7 日
修正 core-1.0.1
和 appcompat-1.0.2
的錯誤。
修正錯誤
- 修正錯誤:
PrecomputedTextCompat
與 RTLAppCompatTextView
搭配使用時會異常終止。b/113070424
1.0.0 版本
1.0.0 版本
2018 年 11 月 7 日
新功能
AnimatedStateListDrawableCompat
提供可繪項目狀態之間的動畫轉換。