AppCompat
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
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 に含まれる commit については、こちらをご覧ください。
1.6.0 以降の重要な変更
AppCompatDialog
がViewTree
API を介してダイアログのデコレーション ビューに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 の変更
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
が 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
が、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 は非公開のプレリリース ブランチで開発されており、公開版の 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 の
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 に含まれる 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
で導入された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 に含まれる 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 ルールを追加しました。
- 色の状態リストの読み込み: 下位互換性を確保するため
ContextCompat
API とAppCompatResources
API の使用を提案します - ドローアブルの読み込み: 下位互換性を確保するため
ContextCompat
API とResourcesCompat
API の使用を提案します - アルファ属性を持つ色の状態リストの使用: 一部のプラットフォーム バージョンで外観が正しく表示されない原因となる
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.layout
ID を受け取る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
により、ドローアブルの状態の遷移がアニメーション表示されるようになりました。