AppCompat
| 最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
|---|---|---|---|---|
| 2025 年 6 月 4 日 | 1.7.1 | - | - | - |
依存関係の宣言
AppCompat への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { def appcompat_version = "1.7.1" 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.1" 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.1
2025 年 6 月 4 日
androidx.appcompat:appcompat:1.7.1 と androidx.appcompat:appcompat-resources:1.7.1 がリリースされました。バージョン 1.7.1 には、これらの commit が含まれています。
バグの修正
AppCompatは、Activity 1.8.0 を使用するように更新され、ComponentActivityのinitializeViewTreeOwners()API を使用して、常に正しいViewTreeOwnersが設定されるようになりました。これにより、AppCompatActivityと NavigationEvent と、その上に構築されたライブラリ(Navigation 3 など)の非互換性が修正されます。(I96919、b/419208471)
バージョン 1.7.0
2024 年 5 月 29 日
androidx.appcompat:appcompat:1.7.0 と androidx.appcompat:appcompat-resources:1.7.0 がリリースされました。バージョン 1.7.0 に含まれる commit は次のとおりです。
1.6.0 以降の重要な変更
AppCompatDialogがViewTreeAPI を介してダイアログの Decor ビューにLifecycleOwner、SavedStateRegistryOwner、OnBackPressedDispatcherOwnerを正しく設定するようになり、AppCompatDialog内にComposeViewをホストする際の問題が修正されました。- ビューからディスパッチャを取得できるように、
AppCompatActivityがViewTreeOnBackPressedDispatcherOwnerを設定するようになりました。 SupportMenuInflaterのパフォーマンスが大幅に改善されました。Locale.getDefault()がコールド スタート後にシステム ロケールを返すようになりました。LinearLayoutCompatがマージン レイアウト パラメータを保持するようになりました。
依存関係の更新
AppCompatが Activity 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 に含まれる commit については、こちらをご覧ください。
バージョン 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 には、これらの commit が含まれています。
バージョン 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 に含まれる commit については、こちらをご覧ください。
新機能
アクティビティ以外のコンテキストでアプリごとのロケールの取得をサポートしました。(I58e753)この機能用に 4 つの新しい API が追加されました。
LocaleManagerCompat.getApplicationLocales(): デベロッパーがアプリごとのロケールをアクティビティ スコープから取得できるようにします。ContextCompat.getString(): アプリごとのロケールに基づいてローカライズされた文字列を返します。ContextCompat.getContextForLanguage(): このメソッドによって返されるコンテキストは、アプリごとの言語 / 地域を尊重します。ConfigurationCompat.setLocales(): 上記の API で、構成の言語 / 地域を設定します。
その他の API の変更
TextView互換クラスにsetLineHeight(unit, lineHeight)を追加しました。(Ia9fa9)TextViewの compat クラスにsetLineHeight(unit, lineHeight)を追加しました。(Ib2ee1)TextViewの compat クラスにsetLineHeight(unit, lineHeight)を追加しました。(I15716)
バグの修正
AppCompatDialogがViewTreeAPI を介してダイアログの Decor ビューにLifecycleOwner、SavedStateRegistryOwner、OnBackPressedDispatcherOwnerを正しく設定するようになり、AppCompatDialog内にComposeViewをホストする際の問題が修正されました。AppCompatが Activity 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 に含まれる commit については、こちらをご覧ください。
バグの修正
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 に含まれる commit については、こちらをご覧ください。
バグの修正
- ビューからディスパッチャを取得できるように、
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 に含まれる commit については、こちらをご覧ください。
バグの修正
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 に含まれる commit については、こちらをご覧ください。
1.5.0 以降の重要な変更
- アプリケーションのロケールをカスタマイズするためのサポートを追加しました。詳しくは、
AppCompatDelegate.setApplicationLocales(LocaleListCompat)をご覧ください。Android 13 で利用可能な新しい言語ごとの設定 API の下位互換性を提供します。 - Android 13(Tiramisu、API レベル 33)SDK に合わせて null 可能性を更新しました。
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 に含まれる commit については、こちらをご覧ください。
バグの修正
- ビューからディスパッチャを取得できるように、
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 に含まれる commit については、こちらをご覧ください。
API の変更
DrawableWrapper、DrawableContainer、StateListDrawableの compat クラスを公開 API に移動しました。(I37f3e、b/227789566)- 非同期レイアウト インフレータ用の新しいファクトリを導入しました。(Ia657b)
バグの修正
ToolbarはonPrepareMenu()の呼び出しを、メニューの作成時に無条件に行うのではなく、メニューの表示前に行うようになりました。(I2a58d、b/232206677)AppCompatが、Lifecycle2.5.1およびSavedState1.2.0に明示的に依存するようになりました。(I7e3e2)AppCompatDelegateの後方呼び出しコールバックのサポートとAppCompat提供のツールバー実装を追加しました。(I24062)- 1.5.0-beta01 の
AppCompatAPI を確定しました。(I2a43d、b/236866227) - 1.5.0-beta01 の
AppCompatAPI を確定しました。(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 は非公開のプレリリース ブランチで開発されており、公開版の commit はありません。
API の変更
- Tiramisu Beta 3 SDK の確定版 API サーフェスに合わせて null 可能性を更新しました
- Tiramisu Beta 3 SDK に合わせて、
minCompileSdkが 33 になりました
バージョン 1.6.0-alpha04
2022 年 5 月 18 日
androidx.appcompat:appcompat:1.6.0-alpha04 と androidx.appcompat:appcompat-resources:1.6.0-alpha04 がリリースされました。このライブラリは非公開のプレリリース ブランチを対象に開発されたため、commit ログはありません。
API の変更
- MDC-Android で使用する SwitchCompat の幅制限をオーバーライドする API を追加
バグの修正
- 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 ベータ版 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 は内部ブランチからビルドされており、一般公開されている commit はありません。
このバージョンでは、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 に含まれる commit については、こちらをご覧ください。
依存関係の更新
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 に含まれる commit については、こちらをご覧ください。
1.4.0 以降の重要な変更
- この安定版には、夜間モードの安定性の改善、バグの修正と AppCompat-backed テキスト ウィジェットの複合ドローアブルの色合い調整のサポート、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 に含まれる commit については、こちらをご覧ください。
バグの修正
- 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 に含まれる commit については、こちらをご覧ください。
API の変更
- デフォルトのスイッチ幅調整を無効にするためのオーバーライド可能なフラグを追加しました。(I37cb7)
@FloatRangeアノテーションをつまみ位置取得 API に追加しました(If524c)- 不足していた null 可能性アノテーションを
AnimatedStateListDrawableCompatに追加しました(Ieb4ec)
バグの修正
- 1.5.0-beta01 の
AppCompatAPI を確定しました。(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 に含まれる commit については、こちらをご覧ください。
API の変更
- スイッチのつまみの位置をサブクラスに公開する新しい API を追加しました。(I9bfb4)
- Tiramisu DP2 と一致するよう null 可能性を更新しました。(I0cbb7)
- TextView から導出されるウィジェットに複合ドローアブルの色合い調整をバックポートしました。(Idf98c、b/165822337)
OnBackPressedDispatcherとの互換性を確保するために、AppCompatDialogがComponentDialogを拡張できるようになりました。(Id9b91、b/217620781)SearchView.onQueryRefine()が保護された公開設定になり、オーバーライドできるようになりました。(I6cce0、b/212882845)
バグの修正
- AppCompat
ToolbarがMenuHostHelperのonPrepareMenu()API を呼び出すようになりました。(I9b9b5、b/227376894) AppCompatEditText、AppCompatAutoCompleteEditText、AppCompatMultiAutoCompleteEditTextは、XML で設定されている場合にコンストラクタ内の clickable または 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 に含まれる commit については、こちらをご覧ください。
バグの修正
- アクションバーが作成される前に
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 に含まれる commit については、こちらをご覧ください。
バグの修正
AppCompatEditText、AppCompatAutoCompleteTextView、AppCompatMultiAutoCompleteTextViewは、コンストラクタ中にオーバーライドされたsetKeyListenerを呼び出さなくなります。(I5c13a、b/208480173)Emoji2はNumberKeyListenerのインスタンスをラップしなくなります。これにより、textview でロケールを設定できます。- Appcompat は、
setKeyListenerに渡されるNumberKeyListenerのインスタンスをラップしなくなります。これにより、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 に含まれる commit については、こちらをご覧ください。
1.3.0 以降の重要な変更
- ライブラリは Java 8 言語レベルをターゲットとしています
- 更新可能な絵文字のサポートは、androidx.emoji2 ライブラリを介してデフォルトで有効になっています
- Android Studio の Layout Inspector における属性検査を改善しました。(I02d55)
- AppCompat リソース読み込みバックポートに、ネストされた色合い調整済みリソースとベクター型ドローアブルのサポートを追加しました。ただし、バックポートが有効になっている場合、アプリはカスタム Resources オブジェクトで 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 に含まれる commit については、こちらをご覧ください。
バージョン 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 に含まれる commit については、こちらをご覧ください。
API の変更
- AndroidX AppCompat の
ToolbarがMenuHostになり、MenuProviderを管理できるようになりました。(I5cd95)
バグの修正
- AppCompatProgressBar による layer-list 進行状況バーの処理を修正しました。(I6ece3、b/142004509)
AppCompatEditTextでandroid:digitsを正しく保持するようになりました。これにより、AppCompat 1.4.0-alpha03 で発生したバグ 193047889 が解決されます。(I4b4fc、b/193047889)- OnReceiveContentListener SDK を統合し、lib 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 に含まれる commit については、こちらをご覧ください。
新機能
- ライブラリは Java 8 言語レベルをターゲットとしています
- さらに多くの TextView サブクラスに対する emoji2 のサポートを追加します(
AppCompatMultiAutoCompleteTextView、AppCompatAutoCompleteTextView、AppCompatRadioButton、AppCompatCheckBox)。
API の変更
- View.performReceiveContent を使用して InputConnection.commitContent への IME 呼び出しを処理するように InputConnection を設定する API を追加しました。(I3a2ad)
AppCompatMultiAutoCompleteTextViewに EmojiCompat のサポートを追加します(Ifece0)AppCompatAutoCompleteTextViewに EmojiCompat のサポートを追加します(Ia1f4b)AppCompatRadioButtonに EmojiCompat のサポートを追加します(If08af)AppCompatCheckBoxに EmojiCompat のサポートを追加します(I2b3bc)AppCompatEditTextで null のKeyListenerを許可します。これにより、1.4-alpha01 で AppCompatEditText に追加された null 以外のアノテーションが取り消され、null が渡されたときに以前の動作が復元されます。(I21482、b/189559345)- プラットフォーム API と同等の
PopupMenu.setForceShowIconを追加します(I43bb3、b/182789798)
バグの修正
- XML で指定された inputType をリセットしてバリエーションを削除する AppCompatEditText のバグを修正します。このバグは 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 に含まれる commit については、こちらをご覧ください。
API の変更
- レイアウト ID を受け取る
AppCompatDialogFragmentコンストラクタを追加しました。(Icbf22、b/188119987) - Layout Inspector のサポートを改善しました。(I02d55)
emoji2-views-helper内のパッケージの名前をandroidx.emoji2.viewsintegrationに変更しました。これは AppCompat1.4.0-alpha01の互換性を破る変更であり、アプリでは、AppCompat の依存関係が新しい Emoji2 バージョンを使用するように更新されていることを確認する必要があります。(Ie8397)
バグの修正
- 停止されたアクティビティが、AppCompat で計測可能にされた夜間モードの変更から、構成変更を受信しない問題を修正しました。(I8fa8f、b/188681415)
- XML で
android:focusable="false"が指定されていてもビューにフォーカスできるというAppCompatEditTextのバグを修正しました(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 に含まれる commit については、こちらをご覧ください。
API の変更
- さまざまな AppCompat ウィジェットに EmojiCompat のサポートを統合しました。(Id409b、If7a1a、Ic262d、Ib5f4a、I4fb3c)
- AppCompat リソース読み込みバックポートに、ネストされた色合い調整済みリソースとベクター型ドローアブルのサポートを追加しました。ただし、バックポートが有効になっている場合、アプリはカスタム Resources オブジェクトで
getDrawable()をオーバーライドできないことにご注意ください。(Ia6b03、b/176129022) - Layout Inspector のサポートを改善しました。(I6d771)
バグの修正
- ウィンドウ コールバックを設定した後で setSupportActionBar を呼び出すと、コールバックが上書きされる問題を修正しました。(Ie43ee、b/186791590)
- SDK 29 および 30 で、ドローアブル キャッシュからクローン作成された ColorStateListDrawable リソースが状態の変更を受信するまでデフォルトの色を読み込まない問題の回避策を追加しました。(Iedb4b)
- AppCompat がサポートするビューで、null のカスタム選択アクション モードのコールバックを処理する際に、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 は Lifecycle2.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 に含まれる commit については、こちらをご覧ください。
依存関係の更新
- 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 に含まれる commit については、こちらをご覧ください。
1.2.0 以降の重要な変更
- Lollipop より前のデバイスで
<include>されたレイアウト全体にわたってandroid:theme属性が伝搬される問題を修正しました。 - 多数の PNG リソースを VectorDrawable に変換することにより、ライブラリのサイズを縮小しました。
OnReceiveContentListenerでのAppCompatEditTextにドラッグ&ドロップ イベントのサポートを追加しました。- Android 11 のウィンドウ インセット処理の変更をサポートするための更新を行いました。
- アイコン付きのメニュー項目に RTL のサポートを追加しました。
AppCompatEditTextにリッチ コンテンツ(画像の貼り付けなど)を挿入する機能のサポートを追加しました。依存関係の更新: 新機能と修正をサポートするために、
appcompatの推移的な依存関係の多くを更新しました。- Fragment
1.1.0を Fragment1.3.4にアップデートしました。 - Activity 1.0.0 を Activity
1.2.3にアップデートしました。 - Lifecycle
2.0.0を Lifecycle2.3.1にアップデートしました。 - Core 1.3.0 を Core
1.5.0にアップデートしました。
- Fragment
バージョン 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 に含まれる commit については、こちらをご覧ください。
バグの修正
- IME コンテンツの挿入を処理する際、早期に権限を取り消されることを防ぎます。
依存関係の更新
- AppCompat は Activity
1.2.2、Fragment1.3.2、Lifecycle2.3.1に依存するようになりました。(Ia75a1)
外部からの協力
- Lollipop より前のデバイスで
<include>レイアウト全体にわたってandroid:theme属性が伝搬される問題を修正しました(Opera 社 Simon Bernerner 氏)
バージョン 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 に含まれる commit については、こちらをご覧ください。
新機能
- テーマレベルのアクション モードのドローアブルをベクターソースに置き換えました。 これにより、個々のアイコンのデザインが若干変化する場合があります。(I741a6)
API の変更
- AppCompatEditText のドラッグ&ドロップ(ドロップ イベント)と OnReceiveContentListener を統合しました。(Ib26c9、b/175343405)
OnReceiveContentListenerと関連 API を更新しました。詳しくは、androidx.core ライブラリの変更点をご覧ください。(Ib4616、b/173814913)- widget.RichContentReceiverCompat を view.OnReceiveContentListener に移動しました。(Ifdab7、b/173814913)
- 初期の周囲のテキストを提供、取得する API を
EditorInfoCompatにバックポートしました。この API により、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 に含まれる commit については、こちらをご覧ください。
バグの修正
- AppCompatRatingBar PNG ドローアブルをベクターソースに置き換えました。これにより、個々のスターのデザインが若干変化する場合があります。(I6b99d)
- WindowInsetsCompat を Android 11 の API に更新しました。(I3df9e)
- アイコン付きのメニュー項目で RTL をサポートしました。(I2f5c5)
依存関係の更新
- AppCompat の依存関係が Fragment
1.1.0から Fragment1.3.0-alpha08に更新されました。Fragment1.2.0のリリースノートを読んで、以前の Fragment リリースでの主な変更点を確認することを強くおすすめします。 - AppCompat の依存関係が Activity
1.0.0から Activity1.2.0-alpha08に更新されました。Activity1.1.0のリリースノートを読んで、以前の Activity リリースでの主な変更点を確認することを強くおすすめします。AppCompatActivityは、Activity1.2.0-alpha08で導入されたOnContextAvailableListenerAPI を使用して、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 に含まれる commit については、こちらをご覧ください。
新機能
- AppCompatActivity を拡張するアクティビティでの setActionBar の呼び出しにフラグを付ける新しい lint ルールを追加しました。
AppCompatActivity内でViewを使用する際の、Lifecycle2.3.0-alpha01のViewTreeLifecycleOwner、Lifecycle2.3.0-alpha03のViewTreeViewModelStoreOwner、SavedState1.1.0-alpha01のViewTreeSavedStateRegistryOwnerのサポートを追加しました。(b/151603528、aosp/1300264)- リッチ コンテンツを挿入する(画像の貼り付けなど)ための共通 API を追加しました。新しいコールバックは、アプリがリッチ コンテンツを挿入するさまざまな方法をサポートするために実装できる単一の API を提供します。現時点では、API は
AppCompatEditTextにのみ追加され、次のコードパスに対して呼び出されます。- クリップボードからの貼り付け
- IME からのコンテンツ挿入(
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 に含まれる commit については、こちらをご覧ください。
1.1.0 以降の主な変更
- カスタム ロケールやフォント スケーリングなど、Configuration オーバーライドのユースケースのサポートを修正しました。
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 に含まれる commit については、こちらをご覧ください。
バグの修正
- ダイアログから
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 に含まれる commit については、こちらをご覧ください。
API の変更
- 以前の SDK のアクティビティ間で構成変更のリークが発生するプラットフォームの問題のため、SDK バージョン 17 以上が必要であることを示すマークが
AppCompatDelegate.setLocalNightModeに付けられました。
バグの修正
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 に含まれる commit については、こちらをご覧ください。
新機能
- 以下のシナリオで AppCompat の誤った使用について警告を生成する次の新しい lint ルールを追加しました。
- 色の状態リストの読み込み: 下位互換性を確保するため
ContextCompatAPI とAppCompatResourcesAPI の使用を提案します - ドローアブルの読み込み: 下位互換性を確保するため
ContextCompatAPI とResourcesCompatAPI の使用を提案します - アルファ属性を持つ色の状態リストの使用: 一部のプラットフォーム バージョンで外観が正しく表示されない原因となる
android:alpha属性の欠落に対して警告を生成します - 画像ビューの色合い調整:
app:tintを使用しておらず、それが古いプラットフォーム バージョンで外観が正しく表示されない原因となる場合に警告を生成します - 複合ドローアブルの使用とテキストビューの色合い調整: 下位互換性を確保するために互換性を有する属性と API を使用することを提案します
- 色の状態リストの読み込み: 下位互換性を確保するため
バグの修正
ActionBarOverlayLayout(ウィンドウの装飾に関する操作)によって、WindowInset が正常にディスパッチされない問題を修正しました。- 古いバージョンのプラットフォームでのドローアブルとテキストの外観の色合い調整に関する問題を修正しました
- 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 に含まれる commit については、こちらをご覧ください。
バグの修正
- アクション モードのステータス保護が誤ってナビゲーション バーに拡張され、誤った色が表示される問題を修正しました(Ia4a09)
- 停止したアクティビティが API レベル 23 以下で再開されない問題を修正しました(I45201)
バージョン 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 に含まれる commit については、こちらをご覧ください。
バグの修正
- 長押しした場合に、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 に含まれる commit については、こちらをご覧ください。
バグの修正
- 厳格モードでブート対応チェックを有効にしている場合に 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 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
1.0.0 以降の重要な変更
- ダークモードの改善:
MODE_NIGHT_AUTOと、現在時刻に基づくダークとライトの切り替えは、非推奨になりました。明示的な設定(MODE_NIGHT_AUTO_BATTERY)を使用することを検討してください。 - Activity 1.0:
AppCompatActivityが Fragment1.1.0を介して、Activity1.0.0のComponentActivityから推移的に拡張されるようになりました。各ライブラリの変更点については、関連するリリースノートをご覧ください。 - AppCompatActivity LayoutId コンストラクタ:
AppCompatActivityのサブクラスで、R.layoutID を受け取るAppCompatActivityを必要に応じて呼び出せるようになりました。これにより、onCreate()内でsetContentView()を呼び出す代わりに、コンテンツ ビューとして設定するレイアウトを指定できるようになりました。これは、サブクラスに引数なしのコンストラクタを含めるという要件を変更するものではありません。
バージョン 1.1.0-rc01
2019 年 7 月 2 日
androidx.appcompat:appcompat:1.1.0-rc01 と androidx.appcompat:appcompat-resources:1.1.0-rc01 がリリースされました。このバージョンに含まれる commit ついては、こちらをご覧ください。
バグの修正
- DayNight が
configChangesを正しく使用するようになりました(aosp/981105)。 - 開始されているアクティビティでのみ
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 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
バグの修正
- AppCompatDialog でレシーバをクリーンアップします(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 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
新機能
- 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 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
新機能
- 新しい
ThemeOverlay.AppCompat.DayNightテーマ ファミリーを追加しました。DayNight 機能を使用する場合はこれらを使用する必要があります。
API の変更
- AppCompatActivity に、
@LayoutRes intを受け取る 2 つ目のコンストラクタが追加されました。このコンストラクタは、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 の最初のリリースです。このバージョンに含まれる commit の完全なリストについては、こちらをご覧ください。
新機能
- 新しい 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を RTL のAppCompatTextViewで使用するとクラッシュするバグを修正しました。b/113070424
バージョン 1.0.0
バージョン 1.0.0
2018 年 11 月 7 日
新機能
AnimatedStateListDrawableCompatにより、ドローアブルの状態の遷移がアニメーション表示されるようになりました。