Appcompat

允許在舊版的 API 平台 (通常使用材質設計) 上存取新版 API。
最近更新時間 穩定版 候選版 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.0androidx.appcompat:appcompat-resources:1.7.0。1.7.0 版包含這些修訂版本

自 1.6.0 版以來的重要變更

  • AppCompatDialog 現在可透過 ViewTree API 在對話方塊裝飾檢視畫面上正確設定 LifecycleOwnerSavedStateRegistryOwnerOnBackPressedDispatcherOwner,修正在 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-rc01androidx.appcompat:appcompat-resources:1.7.0-rc01。1.7.0-rc01 版包含這些修訂版本

1.7.0-beta01 版

2024 年 5 月 1 日

發布 androidx.appcompat:appcompat:1.7.0-beta01androidx.appcompat:appcompat-resources:1.7.0-beta01。1.7.0-beta01 版包含這些修訂版本

1.7.0-alpha03 版

2023 年 7 月 26 日

發布 androidx.appcompat:appcompat:1.7.0-alpha03androidx.appcompat:appcompat-resources:1.7.0-alpha031.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 在對話方塊裝飾檢視畫面上正確設定 LifecycleOwnerSavedStateRegistryOwnerOnBackPressedDispatcherOwner,修正在 AppCompatDialog 中代管 ComposeView 的問題。AppCompat 現在依附於活動 1.7.0。(Ib28abb/261314581)
  • 大幅改善 SupportMenuInflater 的效能 (I0b087)

1.7.0-alpha02 版

2023 年 2 月 8 日

發布 androidx.appcompat:appcompat:1.7.0-alpha02androidx.appcompat:appcompat-resources:1.7.0-alpha021.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-alpha01androidx.appcompat:appcompat-resources:1.7.0-alpha011.7.0-alpha01 版包含此連結所列的修訂項目。

修正錯誤

  • AppCompatActivity 現在會設定 ViewTreeOnBackPressedDispatcherOwner,以便從檢視畫面中擷取調度工具(I1a115b/235416503)
  • Locale.getDefault() 現在會在冷啟動後傳回系統語言代碼 (I6a94b)
  • LinearLayoutCompat 現在會保留邊界版面配置參數 (Id2af4)

1.6.1 版

1.6.1 版

2023 年 2 月 8 日

發布 androidx.appcompat:appcompat:1.6.1androidx.appcompat:appcompat-resources:1.6.11.6.1 版包含此連結所列的修訂項目。

修正錯誤

  • 修正 AppCompatDelegate.getLocaleManagerForApplication() 中的記憶體流失問題 (44b57fd)

1.6.0 版

1.6.0 版

2023 年 1 月 11 日

發布 androidx.appcompat:appcompat:1.6.0androidx.appcompat:appcompat-resources:1.6.01.6.0 版包含此連結所列的修訂項目。

自 1.5.0 版之後的重要變更

1.6.0-rc01 版

2022 年 9 月 7 日

發布 androidx.appcompat:appcompat:1.6.0-rc01androidx.appcompat:appcompat-resources:1.6.0-rc011.6.0-rc01 版包含以下修訂項目。

修正錯誤

  • AppCompatActivity 現在會設定 ViewTreeOnBackPressedDispatcherOwner,以便從檢視畫面中擷取調度工具(I1a115b/235416503)
  • 還原錯誤修正內容,這覆寫了傳遞至 onConfigurationChanged 的設定,導致透過 onConfigurationChanged 插入本身自訂設定的測試發生問題。

1.6.0-beta01 版

2022 年 8 月 10 日

發布 androidx.appcompat:appcompat:1.6.0-beta01androidx.appcompat:appcompat-resources:1.6.0-beta011.6.0-beta01 版包含此連結所列的修訂項目。

API 變更

  • DrawableWrapperDrawableContainerStateListDrawable Compat 類別移到公用 API(I37f3eb/227789566)
  • 新增可進行非同步版面配置 inflater 的新工廠(Ia657b)。

修正錯誤

  • Toolbar 現在會在顯示選單之前呼叫 onPrepareMenu(),不會在建立選單時無條件呼叫了(I2a58db/232206677)
  • AppCompat 現在明確依附於 Lifecycle 2.5.1SavedState 1.2.0。(I7e3e2)。
  • 開始支援向 AppCompatDelegate 發出的返回叫用回呼,以及由 AppCompat 提供的工具列實作(I24062)。
  • 完成 1.5.0-beta01 的 AppCompat API (I2a43db/236866227)
  • 完成 1.5.0-beta01 的 AppCompat API (I2a43db/236866227)

1.6.0-alpha05 版

2022 年 6 月 15 日

發布 androidx.appcompat:appcompat:1.6.0-alpha05androidx.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-alpha04androidx.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-alpha03androidx.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-alpha01androidx.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.1androidx.appcompat:appcompat-resources:1.5.11.5.1 版包含此連結所列的修訂項目。

依附元件更新

1.5.0 版

1.5.0 版

2022 年 8 月 10 日

發布 androidx.appcompat:appcompat:1.5.0androidx.appcompat:appcompat-resources:1.5.01.5.0 版包含此連結所列的修訂項目。

自 1.4.0 版以來的重要異動

  • 本穩定版本內含改善夜間模式穩定性的內容、修正錯誤,並為 AppCompat 支援的文字小工具提供複合可繪項目色調的支援功能,另外也改善了 API 的可用性。所有詳細的變更內容請參閱之前的 1.5.0 系列版本資訊。

1.5.0-rc01 版

2022 年 7 月 27 日

發布 androidx.appcompat:appcompat:1.5.0-rc01androidx.appcompat:appcompat-resources:1.5.0-rc011.5.0-rc01 版包含以下修訂項目。

修正錯誤

  • 修正問題:AppCompat 的結構定義包裝函式重複使用應用程式結構定義的幕後資源實作,導致覆寫應用程式結構定義上的 uiMode(Idf9d5)。

1.5.0-beta01 版

2022 年 7 月 13 日

發布 androidx.appcompat:appcompat:1.5.0-beta01androidx.appcompat:appcompat-resources:1.5.0-beta011.5.0-beta01 版本包含這些修訂版本。

API 變更

  • 新增可覆寫的標記,以停用預設的切換寬度調整項。(I37cb7)。
  • @FloatRange 註解新增至 thumb position getter API (If524c)
  • 將缺少空值註解加入 AnimatedStateListDrawableCompat (Ieb4ec)

修正錯誤

  • 完成 1.5.0-beta01 的 AppCompat API (I2a43db/236866227)
  • 變更 ActionMenuItemViewclassName 值,將其視為 Button (I5ee1c)

1.5.0-alpha01 版

2022 年 4 月 6 日

發布 androidx.appcompat:appcompat:1.5.0-alpha01androidx.appcompat:appcompat-resources:1.5.0-alpha011.5.0-alpha01 版包含此連結所列的修訂項目。

API 變更

  • 新增一個 API,以便向子類別公開切換按鈕的拇指的位置 (I9bfb4)
  • 更新是否可為空值,與 Tiramisu DP2 保持一致 (I0cbb7)
  • 將複合可繪色調向後移植到 TextView 衍生小工具 (Idf98cb/165822337)
  • AppCompatDialog 現將 ComponentDialog 擴充至與 OnBackPressedDispatcher 相容 (Id9b91b/217620781)
  • SearchView.onQueryRefine() 現在擁有受保護的瀏覽權限,允許進行覆寫 (I6cce0b/212882845)

修正錯誤

  • AppCompat Toolbar 現在可以呼叫 MenuHostHelperonPrepareMenu() API。(I9b9b5b/227376894)
  • 在 XML 中設定時,AppCompatEditTextAppCompatAutoCompleteEditTextAppCompatMultiAutoCompleteEditText 不會再重設建構函式中的可點選或 longClickable (Ic5066b/221094907)
  • AppCompatEditTextAppCompatAutoCompleteTextViewAppCompatMultiAutoCompleteTextView 不會呼叫建構函式中被覆寫的 setKeyListener (I5c13ab/208480173)
  • Appcompat 不會包裝已傳遞至 setKeyListenerNumberKeyListener 執行個體,允許 TextView 正確設定 NumberKeyListeners 的語言代碼 (Ibf113b/207119921)
  • 修正在 AppCompat 1.4.0 中引入且允許輸入非預期字元 (例如標點符號) 的所有 NumberKeyListener 子類別發生的問題 (Iede7ab/207119921)

1.4.2 版

1.4.2 版

2022 年 6 月 1 日

發布 androidx.appcompat:appcompat:1.4.2androidx.appcompat:appcompat-resources:1.4.21.4.2 版包含此連結所列的修訂項目。

修正錯誤

  • 修正 AppCompatDelegateImpl 在建立動作列之前對 ensureSubDecor 進行內部呼叫時發生的當機問題 (aosp/2048349b/226648941)

1.4.1 版

2022 年 1 月 12 日

發布 androidx.appcompat:appcompat:1.4.1androidx.appcompat:appcompat-resources:1.4.11.4.1 版包含此連結所列的修訂項目。

修正錯誤

  • AppCompatEditTextAppCompatAutoCompleteTextViewAppCompatMultiAutoCompleteTextView 在建構函式運作期間不會呼叫覆寫的 setKeyListener。(I5c13ab/208480173)
  • Emoji2 不會包含 NumberKeyListener 的執行個體,並可透過 textview 設定語言代碼。
    • Appcompat 不會包含 NumberKeyListener 的執行個體以傳遞至 setKeyListener 中,這可以保證 TextView 正確設定 NumberKeyListeners 的語言代碼。(Ibf113b/207119921)
  • 修正 appcompat 1.4.0 中導入且允許非預期字元 (如輸入標點符號) 的所有 NumberKeyListener 子類別發生的問題 (b/207119921) (Iede7ab/207119921)

1.4.0 版

1.4.0 版

2021 年 11 月 17 日

發布 androidx.appcompat:appcompat:1.4.0androidx.appcompat:appcompat-resources:1.4.01.4.0 版本包含這些修訂版本。

自 1.3.0 版以來的重要異動

  • 程式庫現已指定 Java 8 語言層級
  • 根據預設,系統會透過 androidx.emoji2 程式庫啟用可更新的表情符號支援
  • 改善 Android Studio 版面配置檢查器中的屬性檢查功能 (I02d55)
  • 開始支援 AppCompat 資源載入向後移植中的巢狀著色資源和向量可繪項目。不過請注意,這表示啟用向後移植後,應用程式就無法覆寫自訂資源物件的 getDrawable()。(Ia6b03b/176129022)
  • 已向後移植 CheckedTextView 的可著色背景及勾號 (I8575c)

1.4.0-rc01 版

2021 年 10 月 27 日

發布 androidx.appcompat:appcompat:1.4.0-rc01androidx.appcompat:appcompat-resources:1.4.0-rc011.4.0-rc01 版包含此連結所列的修訂項目。

1.4.0-beta01 版

2021 年 9 月 29 日

發布 androidx.appcompat:appcompat:1.4.0-beta01androidx.appcompat:appcompat-resources:1.4.0-beta011.4.0-beta01 版包含此連結所列的修訂項目

API 變更

  • AndroidX AppCompat Toolbar 現在是 MenuHost,可以管理 MenuProvider。(I5cd95)

修正錯誤

  • 修正 AppCompatProgressBar 對圖層清單進度列的處理方式 (I6ece3b/142004509)
  • 正確保留 AppCompatEditText 中的 android:digits,這修正了 AppCompat 1.4.0-alpha03 導入的錯誤 193047889(I4b4fcb/193047889)
  • 整合 OnReceiveContentListener SDK 與支援程式庫 API(Ic6914b/173814913)

1.4.0-alpha03 版

2021 年 6 月 30 日

發布 androidx.appcompat:appcompat:1.4.0-alpha03androidx.appcompat:appcompat-resources:1.4.0-alpha03查看 1.4.0-alpha03 版的修訂項

新功能

  • 程式庫現已指定 Java 8 語言層級
  • 新增 emoji2 支援,提供更多 TextView 子類別使用 (AppCompatMultiAutoCompleteTextViewAppCompatAutoCompleteTextViewAppCompatRadioButtonAppCompatCheckBox)。

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 的非空值註解,並在傳遞空值時還原先前的行為。(I21482b/189559345)。
  • 新增 PopupMenu.setForceShowIcon,與平台 API 保持一致 (I43bb3b/182789798)

修正錯誤

  • 修正 AppCompatEditText 中的錯誤,這會重設 XML 中指定的 inputType 來移除變化版本。這項錯誤是在 AppCompat 1.4.0-alpha01 中推出。(I9df36b/191061070)

1.4.0-alpha02 版

2021 年 6 月 2 日

發布 androidx.appcompat:appcompat:1.4.0-alpha02androidx.appcompat:appcompat-resources:1.4.0-alpha021.4.0-alpha02 版本包含以下修訂項目。

API 變更

  • 新增了採用版面配置 ID 的 AppCompatDialogFragment 建構函式 (Icbf22b/188119987)
  • 改善版面配置檢查器支援 (I02d55)
  • 已將 emoji2-views-helper 中的套件重新命名為 androidx.emoji2.viewsintegration。這是 AppCompat 1.4.0-alpha01 的破壞性變更,應用程式必須更新 AppCompat 依附元件,才能使用新的 emoji2 版本。(Ie8397)

修正錯誤

  • 修正問題:停止的活動不會因為 AppCompat 檢測的夜間模式變更,而收到設定變更(I8fa8fb/188681415)
  • AppCompatEditText 中,即使 XML 中已指定 android:focusable="false" (AppCompat 1.4.0-alpha01 中引入的錯誤),檢視畫面仍可聚焦,這個問題已獲得修正 (Ib9412)

1.4.0-alpha01 版

2021 年 5 月 18 日

發布 androidx.appcompat:appcompat:1.4.0-alpha01androidx.appcompat:appcompat-resources:1.4.0-alpha011.4.0-alpha01 版本包含這些修訂版本。

API 變更

  • 將 EmojiCompat 支援功能整合至各種 AppCompat 小工具 (Id409bIf7a1aIc262dIb5f4aI4fb3c)
  • 開始支援 AppCompat 資源載入向後移植中的巢狀著色資源和向量可繪項目。不過請注意,這表示啟用向後移植後,應用程式就無法覆寫自訂資源物件的 getDrawable()(Ia6b03b/176129022)
  • 改善版面配置檢查器支援 (I6d771)

修正錯誤

  • 修正在設定視窗回呼後,呼叫 setSupportActionBar 會覆寫回呼的狀況(Ie43eeb/186791590)
  • 新增 SDK 29 和 30 中以下問題的解決方法:從可繪項目快取中複製的 ColorStateListDrawable 資源在收到狀態變更前,無法載入預設顏色(Iedb4b)。
  • 在 AppCompat 支援的檢視畫面上處理空值自訂選取動作模式回呼時,避免 NPE(I033c7b/173435375)

依附元件更新

外部貢獻

  • 向後移植 CheckedTextView 的可著色背景和勾號 (I8575c)

1.3.1 版

1.3.1 版

2021 年 7 月 21 日

發布 androidx.appcompat:appcompat:1.3.1androidx.appcompat:appcompat-resources:1.3.11.3.1 版包含此連結所列的修訂項目。

依附元件更新

1.3.0 版

1.3.0 版

2021 年 5 月 18 日

發布 androidx.appcompat:appcompat:1.3.0androidx.appcompat:appcompat-resources:1.3.01.3.0 版本包含以下修訂項目。

自 1.2.0 版以來的重要變更

  • 修正在版本低於 Lollipop 的裝置上,android:theme 屬性跨 <include> 版面配置的傳播問題
  • 將許多 PNG 資源轉換為 VectorDrawables,藉此縮減程式庫大小
  • 使用 OnReceiveContentListener,在 AppCompatEditText 中新增拖曳事件支援功能
  • 完成更新,支援 Android 11 視窗插邊處理功能的變更
  • 在含有圖示的選單項目中新增 RTL 支援
  • 已新增在 AppCompatEditText 中插入多媒體內容 (例如貼上圖片) 的支援

  • 已更新依附元件appcompat已更新許多轉換依附元件,以支援新功能和修正內容:

1.3.0-rc01 版

2021 年 3 月 24 日

發布 androidx.appcompat:appcompat:1.3.0-rc01androidx.appcompat:appcompat-resources:1.3.0-rc011.3.0-rc01 版包含此連結所列的修訂項目

修正錯誤

  • 避免在處理輸入法編輯器內容插入時,提前撤銷權限

依附元件更新

外部貢獻

  • 修正在版本低於 Lollipop 的裝置上,android:theme 屬性跨 <include> 版面配置的傳播問題 (Opera 的 Simon Bergner)

1.3.0-beta01 版

2021 年 1 月 13 日

發布 androidx.appcompat:appcompat:1.3.0-beta01androidx.appcompat:appcompat-resources:1.3.0-beta011.3.0-beta01 版本包含以下修訂項目。

新功能

  • 主題層級動作模式可繪項目已用向量來源取代。 這可能會導致個別圖示的視覺外觀有些許變動(I741a6)。

API 變更

  • 將 AppCompatEditText 中的拖曳-放置 (放置事件) 和 OnReceiveContentListener 整合。(Ib26c9b/175343405)
  • 已更新 OnReceiveContentListener 和相關 API,詳情請參閱 androidx.core 程式庫異動。(Ib4616b/173814913)
  • 將 widget.RichContentReceiverCompat 移至 view.OnReceiveContentListener(Ifdab7b/173814913)
  • 提供及擷取初始周圍文字的 API 已向後移植至 EditorInfoCompat。可讓 IME 應用程式避免額外的 IPC 延遲。(Ie3809)

1.3.0-alpha02 版

2020 年 8 月 19 日

發布 androidx.appcompat:appcompat:1.3.0-alpha02androidx.appcompat:appcompat-resources:1.3.0-alpha021.3.0-alpha02 版包含此連結所列的修訂項目。

修正錯誤

  • AppCompatRatingbar PNG 可繪項目已替換為向量來源。 這可能會導致個別星號的視覺外觀有些許變動(I6b99d)。
  • 將 WindowInsetsCompat 更新為 Android 11 API。(I3df9e)
  • 透過圖示支援選單項目中的 RTL (I2f5c5)

依附元件更新

  • AppCompat 已將依附元件從片段 1.1.0 更新為片段 1.3.0-alpha08。強烈建議您詳閱 Fragment 1.2.0 版本資訊,瞭解先前的 Fragment 版本引入哪些重大異動。
  • AppCompat 已將依附元件從活動 1.0.0 更新為活動 1.2.0-alpha08。強烈建議您詳閱 Activity 1.1.0 版本資訊,瞭解先前的 Activity 版本引入哪些重大異動。
    • AppCompatActivity 現在使用 Activity 1.2.0-alpha08 中引入的 OnContextAvailableListener API,以設定 AppCompatDelegate。任何新增至 AppCompatActivity 子類別的事件監聽器,都會在此事件監聽器之後執行。(I513da)

1.3.0-alpha01 版

2020 年 5 月 20 日

發布 androidx.appcompat:appcompat:1.3.0-alpha01androidx.appcompat:appcompat-resources:1.3.0-alpha011.3.0-alpha01 版本包含以下修訂項目。

新功能

  • 新增 Lint 規則,標記在延伸 AppCompatActivity 的活動中進行的 setActionBar 呼叫
  • AppCompatActivity 中使用 View 時,新增來自 Lifecycle 2.3.0-alpha01ViewTreeLifecycleOwner 支援、來自 Lifecycle 2.3.0-alpha03ViewTreeViewModelStoreOwner 支援,以及來自 SavedState 1.1.0-alpha01ViewTreeSavedStateRegistryOwner 支援(b/151603528aosp/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.0androidx.appcompat:appcompat-resources:1.2.01.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-rc02androidx.appcompat:appcompat-resources:1.2.0-rc021.2.0-rc02 版本包含以下修訂項目。

修正錯誤

  • 修正夜間模式相關問題,其中有時從對話方塊呼叫 AppCompatDelegate.setDefaultNightMode 可能無法重新建立活動並套用新模式。(aosp/1348308b/158923881)。

1.2.0-rc01 版

2020 年 5 月 14 日

發布 androidx.appcompat:appcompat:1.2.0-rc01androidx.appcompat:appcompat-resources:1.2.0-rc011.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-beta01androidx.appcompat:appcompat-resources:1.2.0-beta011.2.0-beta01 版本包含以下修訂項目。

新功能

  • 已新增下列 Lint 規則,以便在下列情境中標記 AppCompat 的不正確使用:
    • 載入顏色狀態清單:建議使用 ContextCompatAppCompatResources API 確保回溯相容性
    • 載入可繪項目:建議使用 ContextCompatResourcesCompat 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-alpha03androidx.appcompat:appcompat-resources:1.2.0-alpha031.2.0-alpha03 版包含此連結所列的修訂項目。

修正錯誤

  • 修正動作模式狀態 Guard 錯誤延伸至導覽列且顏色不對的問題。(Ia4a09)
  • 修正問題:停止的活動在 API 級別 23 及以下版本中無法重新啟用 (I45201)

1.2.0-alpha02 版

2020 年 1 月 29 日

發布 androidx.appcompat:appcompat:1.2.0-alpha02androidx.appcompat:appcompat-resources:1.2.0-alpha021.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-alpha01androidx.appcompat:appcompat-resources:1.2.0-alpha011.2.0-alpha01 版包含這些修訂版本

修正錯誤

  • 啟用啟動感知檢查時,在嚴格模式下呼叫 PackageManager.getActivityInfo 不會再造成異常終止
  • 修正 AppCompatButton 上的可繪項目著色問題
  • 修正舊版平台中著色和文字外觀的問題

1.1.0 版本

1.1.0 版本

2019 年 9 月 5 日

發布 androidx.appcompat:appcompat:1.1.0androidx.appcompat:appcompat-resources:1.1.0。您可以前往這裡查看這個版本包含的修訂版本。

自 1.0.0 版以來的重要異動

  • 改善深色模式:現已淘汰 MODE_NIGHT_AUTO,以及根據目前時間切換深色/淺色模式的功能。請考慮使用明確設定,或是 MODE_NIGHT_AUTO_BATTERY
  • Activity 1.0AppCompatActivity 現在以轉換方式,透過 Fragment 1.1.0Activity 1.0.0ComponentActivity 延伸。請參閱相關的版本資訊,瞭解各程式庫的異動項目。
  • AppCompatActivity LayoutId 建構函式AppCompatActivity 的子類別現在可選擇呼叫 AppCompatActivity 上接受 R.layout ID 的建構函式,指出應設為內容檢視畫面的版面配置,做為在 onCreate() 中呼叫 setContentView() 的替代方案。這個動作不會改變子類別採用無引數建構函式的要求。

1.1.0-rc01 版本

2019 年 7 月 2 日

發布 androidx.appcompat:appcompat:1.1.0-rc01androidx.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-beta01androidx.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-alpha05androidx.appcompat:appcompat-resources:1.1.0-alpha05。您可以前往這裡查看這個版本包含的修訂項目。

新功能

修正錯誤

  • DayNight 模式的多項修正
  • 讓 ActionBar 所有背景變更的大綱失效
  • 修正旋轉圖示小工具的捲動
  • 修正 AlertDialog 中要覆寫的自訂設定視窗背景

1.1.0-alpha04 版

2019 年 4 月 3 日

發布了 androidx.appcompat:appcompat:1.1.0-alpha04androidx.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-alpha03androidx.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)
  • 允許工具列 titleTextColorsubtitleTextColor 使用 ColorStateList,並新增 setTitleTextColorsetSubtitleTextColor 方法的 ColorStateList 超載 (aosp/867489)

修正錯誤

  • 修正 fontFamily 在 API 24 之前版本中無法運作的問題 (aosp/807054)
  • 修正錯誤:當活動從 AppCompatActivity 延伸時,textFontWeight 無法正常運作 (aosp/847640)
  • 修正會導致旋轉圖示小工具彈出式視窗中的標題文字 (使用對話方塊模式) 不使用 fontFamily 中指定字型的錯誤 (aosp/789994)
  • 修正導致小工具 AppCompatCheckBoxAppCompatRadioButton 無法變更背景著色的錯誤。(aosp/825160)
  • 修正錯誤:AppCompat 未覆寫 android: list styles (aosp/862350)

1.1.0-alpha01 版

2018 年 12 月 3 日

新功能

  • AppCompatTextView 現已支援 app:drawableLeftCompatapp:drawableTopCompatapp:drawableRightCompatapp:drawableBottomCompatapp:drawableStartCompatapp:drawableEndCompat 複合可繪項目,進而支援向後移植的可繪項目類型,例如 VectorDrawableCompat

  • AppCompatCheckBoxAppCompatRadioButton 的預設可繪項目現在會為檢查狀態變更建立動畫。

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.1appcompat-1.0.2 的錯誤。

修正錯誤

  • 修正錯誤:PrecomputedTextCompat 與 RTL AppCompatTextView 搭配使用時會異常終止。b/113070424

1.0.0 版本

1.0.0 版本

2018 年 11 月 7 日

新功能