AppCompat

プラットフォームの古い API バージョン(多くの API がマテリアル デザインを使用)で新しい API にアクセスできるようにします。
最新の更新 現在の安定版リリース 次のリリース候補 ベータ版リリース アルファ版リリース
2020 年 5 月 20 日 1.1.0 1.2.0-rc01 - 1.3.0-alpha01

依存関係の宣言

AppCompat への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

    dependencies {
        def appcompat_version = "1.1.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.3.0

バージョン 1.3.0-alpha01

2020 年 5 月 20 日

androidx.appcompat:appcompat:1.3.0-alpha01androidx.appcompat:appcompat-resources:1.3.0-alpha01 がリリースされました。バージョン 1.3.0-alpha01 に含まれるコミットについては、こちらをご覧ください

新機能

  • AppCompatActivity を拡張するアクティビティでの setActionBar の呼び出しにフラグを付ける新しい lint ルールを追加しました。
  • AppCompatActivity 内で View を使用する際の、Lifecycle 2.3.0-alpha01ViewTreeLifecycleOwnerLifecycle 2.3.0-alpha03ViewTreeViewModelStoreOwnerSavedState 1.1.0-alpha01ViewTreeSavedStateRegistryOwner のサポートを追加しました。(b/151603528aosp/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-rc01

2020 年 5 月 14 日

androidx.appcompat:appcompat:1.2.0-rc01androidx.appcompat:appcompat-resources:1.2.0-rc01 がリリースされました。バージョン 1.2.0-rc01 に含まれるコミットについては、こちらをご覧ください

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-beta01androidx.appcompat:appcompat-resources:1.2.0-beta01 がリリースされました。バージョン 1.2.0-beta01 に含まれるコミットについては、こちらをご覧ください

新機能

  • 以下のシナリオで 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-alpha03androidx.appcompat:appcompat-resources:1.2.0-alpha03 がリリースされました。バージョン 1.2.0-alpha03 に含まれるコミットについては、こちらをご覧ください

バグの修正

  • アクション モードのステータス保護が誤ってナビゲーション バーに拡張され、誤った色が表示される問題を修正しました(Ia4a09
  • 停止したアクティビティが API レベル 23 以下で再開されない問題を修正しました(I45201

バージョン 1.2.0-alpha02

2020 年 1 月 29 日

androidx.appcompat:appcompat:1.2.0-alpha02androidx.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-alpha01androidx.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.0androidx.appcompat:appcompat-resources:1.1.0 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

1.0.0 以降の重要な変更

  • ダークモードの改善: MODE_NIGHT_AUTO と、現在時刻に基づくダークとライトの切り替えは、サポートが終了しました。明示的な設定(MODE_NIGHT_AUTO_BATTERY)を使用することを検討してください。
  • Activity 1.0: AppCompatActivityFragment 1.1.0 を介して、Activity 1.0.0ComponentActivity から推移的に拡張されるようになりました。各ライブラリの変更点については、関連するリリースノートをご覧ください。
  • AppCompatActivity LayoutId コンストラクタ: AppCompatActivity のサブクラスで、R.layout ID を受け取る AppCompatActivity を必要に応じて呼び出せるようになりました。これにより、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)。
  • 開始されているアクティビティでのみ onConfigurationChanged を呼び出します(aosp/987483)。

バージョン 1.1.0-beta01

2019 年 6 月 5 日

androidx.appcompat:appcompat:1.1.0-beta01androidx.appcompat:appcompat-resources:1.1.0-beta01 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

バグの修正

  • AppCompatDialog でレシーバをクリーンアップします(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 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

新機能

  • setDefaultNightMode() を呼び出すと、開始されているアクティビティが自動的に再作成されるようになりました。

バグの修正

  • 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 を受け取る 2 つ目のコンストラクタが追加されました。このコンストラクタは、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
  • ツールバーの titleTextColorsubtitleTextColorColorStateList を使用できるようにし、setTitleTextColor メソッドと setSubtitleTextColor メソッドの 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 日

新機能