サポート ライブラリ変更内容のアーカイブ

このページでは、以前のサポート ライブラリ パッケージのリリースについて詳しく説明します。最新のサポート ライブラリ リリースについては、最近のサポート ライブラリのリビジョンをご覧ください。

リビジョン 26.0.0 Beta 2

(2017 年 6 月)

26.0.0-beta2 はプレリリース版である点にご注意ください。プレリリース版の API サーフェスは変更される場合があり、サポート ライブラリの最新安定版の機能やバグ修正が実装されているとは限りません。

重要: サポート ライブラリは、Google Maven リポジトリから入手できるようになりました。SDK Manager からサポート リポジトリをダウンロードしていただく必要はありません。詳しくは、サポート ライブラリのセットアップをご覧ください。

新しい API

API 差分

バグの修正

  • Android O SDK の削除によって、TextViews の斜体が失われる
  • MediaBrowserServiceCompat に接続する際に null ポインタ例外が発生する
  • TextInputLayout で、onProvideAutofillStructure() にヒントを設定する必要がある
  • O で TextView の自動サイズ調整機能を使用している際にスタック オーバーフローが発生する

リビジョン 26.0.0 Beta 1

(2017 年 5 月)

26.0.0-beta1 はプレリリース版である点にご注意ください。プレリリース版の API サーフェスは変更される場合があり、サポート ライブラリの最新安定版の機能やバグ修正が実装されているとは限りません。

重要: サポート ライブラリは、Google Maven リポジトリから入手できるようになりました。SDK Manager からサポート リポジトリをダウンロードしていただく必要はありません。詳しくは、サポート ライブラリのセットアップをご覧ください。

重要な変更点

  • FragmentActivity.setSupportMediaController()FragmentActivity.getSupportMediaController() が削除されました。新しい静的な MediaControllerCompat.setMediaController()MediaControllerCompat.getMediaController() のメソッドを使用してください。
  • BottomNavigationView は、すでに選択されているアイテムが選択された場合に onNavigationItemSelected() ではなく、onNavigationItemReselected() を呼び出すようになりました。
  • findViewById() メソッドのすべてのインスタンスが、View ではなく <T extends View> T を返すようになりました。この変更によって次の影響が生じます。
    • たとえば findViewById() の呼び出しの結果を取得する someMethod(View)someMethod(TextView) の両方が存在する場合、既存のコードにあいまいな戻り値の型が含まれることがあります。
    • Java 8 ソース言語を使用する場合は、戻り値の型が制約されていない場合(assertNotNull(findViewById(...)).someViewMethod()) など)には、View に対する明示的なキャストが必要になります。
    • 非 final の findViewById() メソッド(Activity.findViewById() など)のオーバーライドには、戻り値の型を更新する必要があります。

新しい API

  • FragmentManagerFragment に、トランザクションが状態の喪失なしで許可されるかどうかを照会できるようにする isStateSaved() メソッドが用意されました。これは、トランザクションの実行前に onClick() イベントをいつ処理するのかを確認する場合に特に便利です。
  • AnimatedVectorDrawableCompat でパスモーションがサポートされました。パスモーションでは、1 つのオブジェクト アニメータが 1 つのパスに基づいて 2 つのプロパティを同時に変更できます。パスはアニメータの XML で android:pathData として指定されます。
  • 物理ベースのアニメーション:
    • 新しい FlingAnimation により、初期速度から徐々に減速するアニメーションがサポートされました。
    • DynamicAnimation のサブクラスで、任意のオブジェクトに対するカスタム プロパティのアニメーション化がサポートされました。
    • SpringAnimationFlingAnimation はともに、View または Object の関連付けを要求せずに float 値をアニメーション化できるようになりました。

    詳しくは、スプリング アニメーションフリング アニメーションのプレビュー ページをご覧ください。

  • XML でのフォントのサポート:
    • ResourcesCompat.getFont により、TextView.setTypeface() で使用できるフォント リソース(フォントファミリー XML を含む)を読み込むことができます。
    • AppCompat を使用する場合、TextView で android:fontFamily の XML 属性によるフォント リソースまたは XML フォント ファミリーの指定がサポートされました。
    • XML フォント ファミリーを使用してスタイルや太さが異なるフォント ファミリーを作成できます(サポート ライブラリのクラスを使用して作成する場合は、app: 属性と android: 属性を使用してください)。
  • ダウンロード可能なフォント:
    • 新しい FontsContractCompat を使用して、アプリ内にバンドルする代わりにフォント プロバイダにフォントをリクエストできるようになりました。
    • XML フォントをリクエストして、レイアウトで使用することもできます。
  • 絵文字互換性ライブラリ:
    • EmojiCompat で、指定された CharSequence を処理して EmojiSpans を追加できるようになりました。
    • EmojiTextView などのウィジェットで絵文字を表示できます。
    • FontRequestEmojiCompatConfig を使用して、フォント プロバイダに絵文字フォントをリクエストできます。
  • TextView の自動サイズ設定:
    • TextViewCompat の新しいメソッドと XML 属性を使用して TextView での自動サイズ調整を制御できるようになりました。
  • シークをサポートした Leanback 再生コントロール:
    • 新しい PlaybackTransportRowPresenter により、SeekBar を使用して再生コントロールをレンダリングできるようになりました。
    • PlaybackTransportRowPresenter で機能する新しい PlaybackTransportControlGlue により、シークがサポートされました。
    • アプリ向けの新しい基本クラス PlaybackSeekDataProvider により、PlaybackTransportControlGlue でシーク サムネイルを表示できるようになりました。
  • プリファレンス データストア:
    • PreferenceDataStore で、PreferencePreferenceManager の新しいメソッドを使用して設定する独自のプリファレンス ストレージを実装できるようになりました。

既知の問題

  • Google Play サービスとのダウンロード可能なフォントと絵文字の互換性の統合に対応しているのは、Google Play 開発者サービス v11 以降のみです。このバージョンは現在、Google Play 開発者サービスベータ版プログラムから入手できます。

バグの修正

  • MediaBrowserCompat.search() API が機能しない(AOSP 問題 262170
  • ViewCompat.postInvalidateOnAnimation() が例外をスローする(AOSP 問題 80146
  • onActivityCreated() が破損したアクティビティのフラグメントを呼び出す
  • RecyclerView.isComputingLayout() がプリフェッチ中に true を返す
  • Fade の遷移が中断され元に戻された場合に、View がアニメーションを最初から開始する(Android Framework から修正を移植)
  • Transition.FadeView の初期アルファを無視する(AOSP 問題 221820

リビジョン 26.0.0 Alpha 1

(2017 年 3 月)

26.0.0-alpha1 はプレリリース版である点にご注意ください。プレリリース版の API サーフェスは変更される場合があり、サポート ライブラリの最新安定版の機能やバグ修正が実装されているとは限りません。

重要な変更点

注: SDK の最小バージョンが 14 に引き上げられました。その結果、API 14 未満との互換性のみを目的としていた API の多くがサポート終了になりました。該当する API を使用するクライアントは、サポート終了となった各 API のリファレンス ページに記載されている同等のフレームワークに移行する必要があります。

  • Support-Percent モジュールはサポートが終了になりました。このモジュールのクライアントは、SDK Manager の個別のアーティファクトとして提供される新しい ConstraintLayout ウィジェットに移行する必要があります。
  • Support-Fragment モジュールは、Support-Media-Compat モジュールに依存しなくなりました。

新しい API

O プレビューで追加されたプラットフォーム API の下位互換性をサポートするために、新しいクラス、メソッド、定数が追加されました。

  • IME_FLAG_NO_PERSONALIZED_LEARNING: IME で、ブラウザなどのプライベート モードを持つアプリの「学習なし」フラグをリッスンできるようになりました。この機能により、IME がアプリが非公開モードに設定されているかどうかを判別し、アプリが非公開モードに設定されている場合に IME の学習機能または適応機能を無効にできます。

25.2.0~26.0.0-alpha1 の API の変更点の全一覧については、サポート ライブラリ API の相違点に関するレポートをご覧ください。

バグの修正

  • 単純な AutoTransition のアニメーションが、ビュー「ジャンプ」によって中断される場合がある。(AOSP 問題 221816

リビジョン 25.4.0

(2017 年 6 月)

重要: サポート ライブラリは、Google Maven リポジトリから入手できるようになりました。SDK Manager からサポート リポジトリをダウンロードしていただく必要はありません。詳しくは、サポート ライブラリのセットアップをご覧ください。

重要な変更点

  • FragmentManager の状態の変更中は、executePendingTransactions()commitNow()popBackStackImmediate() および類似したトランザクションの呼び出しは許可されません。安全性に問題があることから、FragmentManager は状態の変更中にトランザクションのリエントラント実行を適用するようになりました。
  • このサポート ライブラリのリリースと並行して、Multidex バージョン 1.0.2 もリリースされました。このバージョンには次の重要な変更が含まれています。
    • インストルメンテーション APK の multidex を有効化できるようになりました。
    • MultiDexTestRunner のサポートが終了しました(代わりに AndroidJUnitRunner を使用してください)。
    • アプリの誤ったアーカイブ抽出管理に対する保護が強化されました。
    • 一時ファイルが破棄されるバグを修正しました。
    • 同時プロセスで行った場合のインストールが高速化されます。
    • API 19 と 20 のインストール時のバグを修正しました。

新しい API と変更された API

AnimatedVectorDrawableCompat でパスのモーフィングとパス補完がサポートされました。パスのモーフィングにより、1 つのパス(android:valueFrom として指定)から別のパス(android:valueTo として指定)にシェイプを変更できるようになり、複雑で魅力的な視覚効果をもたらします。パス補完により、AnimatedVectorDrawableCompat の補完をパスとして指定できます(補完の XML で android:pathData として指定します)。

API 差分

修正された問題

  • MediaBrowserServiceCompat に接続する際の null ポインタ例外が発生する
  • MediaBrowserCompat.search() API が機能しない(AOSP 問題 262170
  • BrowseFragment onItemClicked のコールバックが 25.3.0 でエラーになる
  • 25.3.1 の VerticalGridView で上下スクロール中に NullPointerException が発生する
  • SimpleArrayMap.allocArrays() で ClassCastException が発生する

リビジョン 25.3.1

(2017 年 3 月)

修正された問題

  • SwitchCompat の最小 SDK バージョンの要件が 14 以上である。(AOSP 問題 251302
  • 物理ベースのアニメーションの updateListener が、最初のフレームをスキップする。
  • BottomNavigationView ラベルのアニメーションが壊れる。

リビジョン 25.3.0

(2017 年 3 月)

重要な変更点

Gradle からビルドする際にサポート ライブラリのバージョン メタデータが自動的に AndroidManifest.xml に追加されます。これにより公開ビルドのバージョンが簡単に追跡できるようになります。例:

    <meta-data android:name="android.support.VERSION" android:value="25.3.0" />
    

サポートの終了

このリリースでは、いくつかのメソッドとクラスのサポートが終了しています。サポートが終了した API は、将来のバージョンでは削除されるため、デベロッパーは該当する API から移行する必要があります。特定の API から移行する方法について詳しくは、API のドキュメントをご覧ください。

ExifInterface
ブール値のメソッドの getLatLong(float[]) はサポートが終了しました。代わりに、getLatLong() の新しいメソッドを使用します。このメソッドは、引数を取らずに double[] を返します。
mediacompat
PlaybackStateCompat.Builder.setErrorMessage(CharSequence) はサポートが終了しました。代わりに、setErrorMessage(int, CharSequence) の新しいメソッドを使用します。このメソッドにエラーコードとオプションの説明が渡されます。
EXTRA_SUGGESTION_KEYWORDS はサポートが終了しました。代わりに、MediaBrowserCompat の検索機能を使用します。
v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount() の名前を LinearLayoutManager.getInitialPrefetchItemCount() に変更しました。以前の名前は引き続きサポートされますが、将来のリリースで削除される予定です。

新しい API と変更された API

appcompat-v7
ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean) の新しいメソッドにより、ナビゲーション ドロワーの切り替えアイコンのアニメーションを簡単に無効にできるようになりました。
customtabs
メッセージ チャネルのサポートを追加しました。詳しくは、CustomTabsService.requestPostMessageChannel()CustomTabsService.postMessage() のリファレンスをご覧ください。
dynamic-animation
新しい物理ベースのアニメーション ライブラリ。ユーザー入力に動的に反応するアニメーションを作成する一連の API を備えています。
leanback-v17
パララックスの背景のサポートを追加しました。詳しくは、Parallax リファレンスをご覧ください。
TV のインターフェースで時刻を選択するための TimePicker ウィジェットを追加しました。
mediacompat
検索機能を追加しました。詳しくは、MediaBrowserCompat.search()MediaBrowserServiceCompat.onSearch() のリファレンスをご覧ください。
シャッフル モードとリピートモードのサポートを追加しました。詳しくは、MediaSessionCompat.setRepeatMode()setShuffleModeEnabled() のリファレンスをご覧ください。

修正された問題

リビジョン 25.2.0

(2017 年 2 月)

重要な変更点

修正された問題

  • このリリースでは、A2DP デバイスとメディア ルーティング API を使用するとデバイスが応答しなくなり、再起動が必要になる場合がある MediaRouter の重大な問題を修正しました。
  • FragmentManager.FragmentLifecycleCallbacks クラスが静的になりました。

修正された問題

  • スクリーン ミラーリングでスライド プレゼンテーションを表示する際に、デバイスが Wi-Fi から切断される
  • setMediaButtonReceiver() に登録されていないメディアアプリがメディアボタンで正しく扱われない
  • 文字列リソースに関する VectorDrawable エラー(AOSP 問題 232407
  • テキストが XML によって設定された場合に TextInputLayout でヒントとテキストがオーバーレイされる(AOSP 問題 230171
  • MediaControllerCompat のメモリリーク(AOSP 問題 231441
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() のクラッシュ
  • ビューホルダーをリサイクルする際に RecyclerView がクラッシュする(AOSP 問題 225762
  • WearableExtender 内のアクションに対して getAllowGeneratedReplies() が誤って false を返す

リビジョン 25.1.1

(2017 年 1 月)

重要: サポート ライブラリのリビジョン 25.1.1 と 25.1.0 の android.support.v7.media.MediaRouter クラスには既知のバグが存在します。アプリで v7 MediaRouter を使用している場合は、該当するバグを修正したサポート ライブラリ リビジョン 25.2.0 に更新する必要があります。

重要な変更点

  • フラグメント トランザクションをトランザクション内で、またはトランザクション間で最適化できるようになりました。フラグメント トランザクションの演算を最適化すると、キャンセルされた演算が省略される場合があります。たとえば、2 つのトランザクションが同時に実行され、1 つ目のトランザクションがフラグメント A を追加し、2 つ目のトランザクションがフラグメント A をフラグメント B に置き換える場合を考えてみます。この場合に、1 つ目の演算がキャンセルされ、フラグメント B のみが追加される場合が考えられます。これは、フラグメント A が作成や破棄のライフサイクルを経ない可能性があるということです。

    この最適化の副作用は、予想された順序以外のところでフラグメントの状態が変更される可能性があることです。たとえば、1 つ目のトランザクションがフラグメント A を追加し、2 つ目がフラグメント B を追加、さらに 3 つ目がフラグメント A を削除したとします。最適化が行われなければ、フラグメント A はフラグメント B が追加された後に削除されることから、フラグメント B が作成されている間にフラグメント A も存在すると考えられます。最適化が行われる場合は、フラグメント A の作成と破棄は最適化によって削除される可能性があるため、フラグメント B が作成されている間にフラグメント A が確実に存在するとは想定できません。

    この最適化はデフォルトで無効になっています。最適化を有効にするには、FragmentTransaction.setAllowOptimization(true) を呼び出します。

  • フラグメントは、Fragment.postponeEnterTransition()Fragment.startPostponedEnterTransition() を使用する準備ができるまで遷移とアニメーションを延期できるようになりました。この API は、アクティビティの遷移で使用される Activity.postponeEnterTransition()Activity.startPostponedEnterTransition() に類似しています。

修正された問題

  • MediaSessionCompatTestIllegalArgumentException で失敗する
  • 25.1.0 で DetailsFragment.installTitleView() が呼び出されない
  • フラグメント トランザクションにより、終了時にゴーストビューが維持される(AOSP 問題 230679
  • BottomNavigationView がアイテムのアイコンとテキスト間にスペースを要求する(AOSP 問題 230653
  • 選択したリスナーが、新しい PlaybackFragmentPlaybackSupportFragment から見つからない
  • TextInputLayout のフォーカスが、サポート ライブラリ バージョン 25.1.0 のエミュレータで正しく変更されない(AOSP 問題 230461
  • BottomNavigationView のメニューを置き換えることができない(AOSP 問題 230343
  • RecyclerViewStaggeredGridLayoutManager と併用するとフルスパン アイテムに対しクラッシュする(AOSP 問題 230295
  • setCallback(null) を使用している場合に MediaSessionCompat でクラッシュが発生する
  • 再生行が変更された場合に PlaybackGlueHostOldPlaybackSupportGlueHostOld がコールバックを通知しない
  • PlaybackOverlayFragment/test の例が再生を開始できない
  • RecyclerViewFocusRecoveryTest が API 15 で失敗する
  • 「スクリーンショット」行が画面の上部にフォーカスされる
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() が API 15 でクラッシュする
  • onSubactionClicked()setActions() が破損している
  • 一部のビューホルダーのリサイクル時に RecyclerView がクラッシュする

リビジョン 25.1.0

(2016 年 12 月)

重要: サポート ライブラリのリビジョン 25.1.1 と 25.1.0 の android.support.v7.media.MediaRouter クラスには既知のバグが存在します。アプリで v7 MediaRouter を使用している場合は、該当するバグを修正したサポート ライブラリ リビジョン 25.2.0 に更新する必要があります。

重要な変更点

  • ネストされた RecyclerView ウィジェットのクライアント(水平スクロール リストの垂直スクロール リストなど)では、画面上でスクロールされる前に内部の ウィジェットのレイアウト マネージャーに対して、準備するアイテム数に関するヒントを提供することで、大幅なパフォーマンスの向上が得られます。LinearLayoutManager.setInitialPrefetchItemCount(N) を呼び出します。ここで N は内部アイテムあたりの表示されるビューの数です。たとえば、内側と水平方向のリストにアイテムのビューが一度に最低 3.5 個ずつ表示されている場合は、LinearLayoutManager.setInitialPrefetchItemCount(4) を呼び出すことでパフォーマンスを改善できます。これにより、外部の RecyclerView がスクロールしている間に RecyclerView は関連するすべてのビューを早い段階で作成でき、これによりスクロール中の途切れを大幅に減らすことができます。
  • FragmentActivity.setSupportMediaController()FragmentActivity.getSupportMediaController() のサポートは終了しました。新しい静的な MediaControllerCompat.setMediaController()MediaControllerCompat.getMediaController() のメソッドを使用してください。
  • クライアントが Appcompat の色合いの調整機能を使用してウィジェットの色(appcompat:buttonTint など)を指定した場合、クライアントは必要な状態(「無効」、「押下状態」など)をすべて提示する必要があります。これは、フレームワークの色合い調整機能の使用時にウィジェットの色が指定される方法と整合します。

新しい API と変更された API

修正された問題

  • パスワードの表示設定の切り替えが、ユーザー補助機能のテストに失敗する。
  • Appcompat が、L より前のデバイスで state_enabled を優先しない。
  • RecyclerView にフォーカス回復メカニズムを追加しました。これによって、Android TV デバイスなどで DPAD ナビゲーションを使用した場合のサポート設定フラグメントのフォーカスの破損も修正されました。
  • Leanback: ヘッダーを無効にし、アダプターが空の状態で BrowseFragment がクラッシュする。
  • Appcompat: AlertDialog が長すぎる。
  • releasePermission() を呼び出す必要があるときに InputContentInfoCompatrequestPermission() を呼び出す。
  • MediaBrowserCompat がクラッシュする。
  • CoordinatorLayout で、可視性が GONE に設定されているときにビューを測定または配置する。
  • API レベル 24 未満で AnimatedVectorDrawableCompat の色合いを調整できない。
  • Leanback ライブラリが偽の lint エラーをトリガーする。
  • palette ライブラリによってすべての API レベルでテストエラーが発生する。
  • RecyclerView が Leanback でテストに失敗する。
  • ビューホルダーをリサイクルするときに RecyclerView がクラッシュする(AOSP 問題 225762)。
  • バックスタックで Fragment.onDestroy() のフラグメントが呼び出されない。
  • 折りたたみ時に CollapsingToolbarLayout のスクリムが描画されない。
  • CoordinatorLayout.offsetChildByInset()IllegalArgumentException をスローする。
  • RecyclerView アイテムのアニメーション化によって内部の が切り離され、この先のプリフェッチを妨げてしまう。
  • 関連付けられた RecyclerView アイテムをネスト、プリフェッチできない。
  • プリフェッチしたネストされた RecyclerView アイテムのデータが、最初のレイアウト中に破棄される。
  • 2 つのドラッグ イベントが同じ位置に発生した場合に RecyclerView のプリフェッチが失敗する。
  • RenderThread のレンダリング中に RecyclerView が推測的にレイアウトする。
  • ドローアブルに変換されたナイトカラー リソースが、Resources キャッシュから正しくパージされない。
  • FloatingActionButton: プログラムによる BackgroundTintList の設定が正しく機能しない(AOSP 問題 227428)。
  • TextInputLayout: 書体が ErrorView に設定されていない(AOSP 問題 227803)。
  • API 23 未満で TextInputLayout が常に薄いエラー色で表示される(AOSP 問題 221992)。
  • ポインタが離れると FloatingActionButton が押された状態で表示される。

公開バグ修正の全リストは AOSP Issue Tracker にあります。

サポートの終了

このリリースでは、いくつかのメソッドとクラスのサポートが終了しています。サポートが終了した API は、将来のバージョンでは削除されるため、デベロッパーは該当する API から移行する必要があります。特定の API から移行する方法について詳しくは、API のドキュメントをご覧ください。

リビジョン 25.0.1

(2016 年 11 月)

修正された問題

  • デベロッパーが指定した end drawable を不必要に上書きしないように、TextInputLayout のパスワードの切り替えはデフォルトで無効になりました。passwordToggleEnabled XML 属性から手動で有効にできます。
  • BottomNavigationView アイテムはマテリアル仕様に合わせて 1 行になりました。
  • レイアウト マネージャーが null の場合にプリフェッチ中に RecyclerView がクラッシュする。
  • BottomNavigationView 昇格が正しく設定されるようになりました。(AOSP 問題 226182
  • メニュー項目をプログラムで追加すると BottomNavigationView がクラッシュする。(AOSP 問題 225731
  • TextInputLayout を左と右の複合ドローアブルに修正しました。(AOSP 問題 225836
  • ビューホルダーをリサイクルする際に RecyclerView がクラッシュする。(AOSP 問題 225762
  • Leanback: TalkBack が画面分割ビューで、「null」と言う。
  • RecyclerView: Android Studio でレンダリングの問題が発生する。(AOSP 問題 225753
  • onNavigationItemSelected() が false を返した後も BottomNavigationView がメニュー項目を選択状態で引き続き表示する。(AOSP 問題 225898
  • ForwardingListener が NoSuchMethodError をスローする。(AOSP 問題 225647
  • TextInputEditText が IME 抽出モードでヒントを表示しない。(AOSP 問題 221880

公開バグ修正の全リストは AOSP Issue Tracker にあります。

リビジョン 25.0.0

(2016 年 10 月)

重要な変更点

  • ContextCompat のコンストラクタが保護されるようになりました。このクラスを公開された状態でインスタンス化することは適切ではありませんが、新しい API レベルをターゲットとするサポート ライブラリで拡張できます。
  • ActivityCompat のコンストラクタが保護されるようになりました。このクラスを公開された状態でインスタンス化することは適切ではありませんが、新しい API レベルをターゲットとするサポート ライブラリで拡張できます。
  • getReferrer(Activity) は静的に変更されました。
  • android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V) を削除しました。このメソッドのクライアント実装をすべて削除する必要があります。
  • android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object) を削除しました。より適切な名前の fromMediaSession() メソッドの使用に置き換える必要があります。
  • android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object) を削除しました。より適切な名前の MediaSessionCompat.QueueItem#fromQueueItem メソッドの使用に置き換える必要があります。
  • android.support.v7.widget.Space を削除しました。android.support.v4.widget.Space の使用に置き換える必要があります。

新しい API

  • android.support.design.widget.BottomNavigationView クラスにより、マテリアル デザイン仕様の下部のナビゲーション パターンを実装できるようになります。
  • 新しい android.support.v13.view.inputmethod パッケージには、API レベル 13 以降に導入された android.view.inputmethod.InputConnection 機能にアクセスするためのクラスが含まれます。
  • android.v7.widget.RecyclerView.DividerItemDecoration クラスは、項目間の垂直または水平の仕切りの基本実装を提供します。
  • 新しい装飾スタイルを android.support.v7.app.NotificationCompatDecoratedCustomViewStyleDecoratedMediaCustomViewStyle に追加し、プラットフォーム API 24 にミラークラスを追加しました。

修正された問題

公開バグ修正の全リストは AOSP Issue Tracker にあります。

リビジョン 24.2.1

2016 年 9 月

修正された問題:

公開バグ修正の全リストは AOSP Issue Tracker にあります。

リビジョン 24.2.0

2016 年 8 月

リリース 24.2.0 には次の変更が含まれています。

注: リリース 24.2.0 では、Android 2.2(API レベル 8)以下のサポートは削除されています。これらのシステム バージョンを提供するためだけに存在するクラスとメソッドはサポート終了としてマークされ、使用できなくなっています。このようなサポート終了のクラスとメソッドは、将来のリリースで削除される可能性があります。

v4 サポート ライブラリの分割

このリリースでは、v4 サポート ライブラリが次のいくつかの小さなモジュールに分割されています。

support-compat
Context.getDrawable()View.performAccessibilityAction() などの新しいフレームワーク API の互換ラッパーを提供します。
support-core-utils
AsyncTaskLoaderPermissionChecker など、さまざまなユーティリティ クラスを提供します。
support-core-ui
ViewPagerNestedScrollViewExploreByTouchHelper など、さまざまな UI 関連のコンポーネントを実装します。
support-media-compat
MediaBrowserMediaSession を含むメディア フレームワークの一部を移植します。
support-fragment
フラグメントのフレームワークを移植します。このモジュールは、support-compatsupport-core-utilssupport-core-uisupport-media-compat に依存します。

下位互換性のため、Gradle スクリプトに support-v4 を指定すると、APK にこれらのモジュールがすべて含まれます。ただし、APK サイズを縮小するには、アプリに必要なモジュールのみを指定することをおすすめします。

API の更新

  • カスタムタブを使用するクライアントは、Instant App を開くかどうかを制御できます(Instant App はまだ一般提供されていない点にご注意ください)。Instant App を有効または無効にするには、CustomTabsIntent.Builder.setInstantAppsEnabled() を呼び出すか、EXTRA_ENABLE_INSTANT_APPS を指定します。デフォルトでは、この機能が利用可能になった場合にカスタムタブは Instant App をデフォルトで有効にします。
  • TextInputLayout で、マテリアル デザイン仕様からパスワードの表示設定の切り替えのサポートが追加されました。
  • 新しい android.support.transition パッケージによって、移行フレームワークが API レベル 14 以上に移植されます。詳しくは、android.support.transition のリファレンスをご覧ください。
  • Custom Tabs サポート ライブラリで、セカンダリ ツールバーでの RemoteViews の仕様に対するサポートが追加されました。既存の setToolbarItem() メソッドのサポートは終了しました。
  • AppCompatResources で、新しい getDrawable() メソッドを使用してリソース ID から <vector>(API レベル 9 以上の場合)または <animated-vector>(API レベル 11 以上の場合)を読み込む機能が追加されました。
  • CoordinatorLayout で、ビューのインセットの定義と、他のビューがビューのインセットを回避するように指定することをサポートするようになりました。これにより、アプリで Snackbar の方法から FloatingActionButton が動作する方法に類似した行動パターンを任意のビューの子に対して複製できるようになります。詳しくは、LayoutParams.insetEdgeLayoutParams.dodgeInsetEdges のリファレンス ドキュメントをご覧ください。
  • 新しい DiffUtil クラスで、2 つのコレクションの間の差を計算し、RecyclerView.Adapter での使用に適した更新操作の一覧をディスパッチできるようになりました。
  • Flings に対するカスタム動作をサポートするために RecyclerView.OnFlingListener が追加されました。SnapHelper クラスには、子ビューのスナップ用に特化した実装が用意されています。LinearSnapHelper クラスは、この実装を拡張して、ViewPager に類似したスナッピング動作を中央に配置することができます。
  • Custom Tabs ライブラリを使用して、クライアントは CustomTabsIntent.setAlwaysUseBrowserUI() を呼び出すことでカスタムタブの UI ではなく、標準のブラウザ UI をリクエストできるようになりました。この動作は、ブラウザがデフォルトでカスタムタブの UI に設定されているものの、ユーザーが標準ブラウザの UI を指定している場合に便利です。

動作の変更

  • appcompat ライブラリの昼夜機能を使用すると、昼夜モードが変更される(時間帯または AppCompatDelegate.setLocalNightMode() の呼び出しによる)たびにシステムによってアクティビティが自動的に再作成されるようになりました。
  • ステータスバーが半透明の場合に、Snackbar がナビゲーション バーの後ろに描画されるようになりました。

mediarouter ライブラリ

Bluetooth デバイスはメディアルートとして表示されなくなりました。Bluetooth デバイスへの音声のルーティングは、Android システムレベルでのみ制御されるようになりました。

サポートの終了

非推奨になったクラスとメソッドは、将来のリリースで削除される可能性があります。これらの API からできるだけ早く移行する必要があります。

  • 次のクラスのいくつかのメソッドは、API 8 以下でのみ必要とされたものであり、使用できなくなっています。代わりに、フレームワークの実装を使用します。
    • android.support.v4.view.KeyEventCompat: KeyEvent に置き換え
    • android.support.v4.view.MotionEventCompat: MotionEvent を使用
    • android.support.v4.view.ViewCompat: View を使用
    • android.support.v4.view.ViewConfigurationCompat: ViewConfiguration を使用
  • AccessibilityServiceInfoCompat.getDescription() はサポート終了になりました。代わりの AccessibilityServiceInfoCompat.loadDescription() は正しくローカライズされた説明を返します。
  • ActivityCompat クラスのインスタンスを直接作成しないでください。getReferrer(Activity) の非静的メソッドは、今後のリリースで静的になる予定です。
  • CoordinatorLayout.Behavior.isDirty() はサポート終了となり CoordinatorLayout によって呼び出されなくなりました。すべての実装と、このメソッドへの呼び出しをすべて削除する必要があります。
  • MediaSessionCompat.obtain() はサポート終了となり、より適切な名前の fromMediaSession() メソッドに置き換えられました。
  • MediaSessionCompat.QueueItem.obtain() はサポート終了となり、より適切な名前の fromQueueItem() メソッドに置き換えられました。
  • いくつかの抽象クラスはサポート終了となり、フレームワークの同等性をよりよく反映するインターフェースに置き換えられています。
  • CustomTabsSession.setToolbarItem() は非推奨となり、RemoteViews ベースの setSecondaryToolbarViews() に置き換えられました。

バグの修正

次の既知の問題がリリース 24.2.0 で修正されています。

  • SwipeRefreshLayout インジケーターが最初の測定パスの前に setRefreshing(true) が呼び出されたときに表示されることを確認してください(AOSP 問題 77712
  • ページを切り替えるときに TabLayout のちらつきが発生するのを防止する(AOSP 問題 180454
  • API レベル 11 以下で SavedState を非整列化した場合に ClassNotFoundException を回避する(AOSP 問題 196430

公開バグ修正の全リストは AOSP Issue Tracker にあります。

リビジョン 24.1.1

2016 年 7 月

修正された問題:

  • サポート ライブラリ間で共有されるリソース ID に影響する 24.1.0 リリースの問題を修正しました。この問題により、リソース(design や appcompat など)のサポート ライブラリに依存するアプリで、リソース ID の不一致による問題が発生していました。

リビジョン 24.1.0

2016 年 7 月

V4 サポート ライブラリの変更点:
  • NotificationCompat.Action.WearableExtender には Android Wear 2.0 Preview との互換性を確保するための新しい getHintDisplayActionInline()setHintDisplayActionInline() メソッドが用意されています。これらのメソッドを使用すると、アプリケーションは通知とともにアクションをインラインで表示するように指定できます。
  • Fragment.setUserVisbileHint() の呼び出しによって、まだコミットされていない FragmentTransaction にヒントが追加された場合にフラグメントが開始状態になることがなくなりました。これは、setUserVisbileHint() をオーバーライドし super.setUserVisibleHint() の呼び出し後にフラグメントの特定のライフサイクル状態を想定する FragmentPagerAdapter のユーザーに影響を与えます。詳しくは、Fragment.setUserVisbileHint() のドキュメントのリファレンス ページをご覧ください。

修正された問題:

  • TabLayout.setCustomView(null) の結果、NullPointerException が発生する(AOSP 問題 214753
  • TabLayout でカスタムタブが誤ってハイライト表示される(AOSP 問題 214316
  • AppCompatTextHelper が誤って並べ替えられた属性配列を使用する(AOSP 問題 214366
  • カスタムの ContextWrapper を使用している場合にドローアブル コンテナの XML から VectorDrawable を参照できない(AOSP 問題 214055
  • ViewDragHelper.saveLastMotion() が ArrayIndexOutOfBoundsException をスローする(AOSP 問題 212945
  • setState(STATE_EXPANDED)を使用している場合に、BottomSheetBehavior が古いコンテンツの高さに展開する(AOSP 問題 213660
  • CollapseingToolbarLayout が、上部または下部に余白を持つ固定可能な子を処理しない(AOSP 問題 213001
  • Leanback ブラウズ タイトルが RTL 配置に対応していない(AOSP 問題 213461
  • PagerTabStrip が継承されたアノテーションがないため表示されなくなる(AOSP 問題 213359
  • Boolean を使用して条件フラグを設定すると、データ バインディングで NullPointerException がスローされる(AOSP 問題 191841
  • CoordinatorLayout が setFitsSystemWindows() に応答しない(AOSP 問題 212720
  • 初期状態を設定すると BottomSheetBehavior がクラッシュする(AOSP 問題 203114
  • ページ インデックスが大きい値の場合に、ViewPager がページをスキップする(AOSP 問題 211734
  • BottomSheetBehavior が動的レイアウトでは機能しない(AOSP 問題 205226

リビジョン 24.0.0

2016 年 6 月

V4 サポート ライブラリの変更点:
  • 同期コミット用に Fragment.commitNow() を追加しました
  • 複数人での会話用に NotificationCompat.MessagingStyle を追加しました
  • NotificationManagerCompat.areNotificationsEnabled()getImportance() を追加しました
  • MediaSessionCompatMediaSession の機能をミラーリングし、setMediaButtonReceiver() を自動的に呼び出さなくなりました

注: バージョン 24.0.0 の MediaBrowserServiceCompat のみに、API 24 以降の Android の将来バージョンとの上位互換性があります。以前のバージョンを使用している場合は、互換性を確保するためにこのバージョンに更新してください。

v7 appcompat ライブラリの変更点:
  • テーマの ColorStateList オブジェクトを XML から参照するためのサポートを追加しました。
Design サポート ライブラリの変更点:
v17 Leanback ライブラリの変更点:
  • 初回起動時のウェルカム画面とセットアップ フローを提供するために OnboardingFragment を追加しました
カスタムタブの変更点:
  • セカンダリ ツールバーに RemoteViews の階層を提供するためのサポートを追加しました。
  • 1 行のウォームアップ用に CustomTabsClient.connectAndInitialize() を追加しました。

リビジョン 23.4.0

2016 年 5 月

v4 サポート ライブラリの変更点:
  • フラグメントが間違った順序で追加される問題を修正しました。(問題 206901
  • 画面の表示領域外へスクロールした後にアプリバーが描画されない問題を修正しました。(問題 178037
v7 appcompat ライブラリの変更点:
Design サポート ライブラリの変更点:
Vector Drawable ライブラリの変更点:

リビジョン 23.3.0

(2016 年 4 月)

v4 サポート ライブラリの変更点:
  • AppLaunchChecker を追加して、過去にユーザーがアプリをどのように起動したのかを追跡できるようにしました。hasStartedFromLauncher() によって、ユーザーが以前にアプリをホーム スクリーンから起動したことがあるか、または他の方法によってのみ起動したことがある(特定のウェブの URL を表示するためなど)かどうかを知ることができます。
  • MediaBrowserServiceCompat.mConnections でのメモリリークを修正しました。(問題 205220
  • ViewPager がページをめくるときにページの余白を考慮しない問題を修正しました。(問題 203816
  • Fragment.onRequestPermissionsResult() が子フラグメントに配信されるようになりました。
v7 appcompat ライブラリの変更点:
v7 mediarouter ライブラリの変更点:
v7 Preferenceライブラリの変更点:
v7 recyclerview ライブラリの変更点:
  • 表示されるアイテムが縮小した場合に、RecyclerView がスクロールのコールバックを呼び出さないバグを修正しました。(問題 200987
  • RecyclerView が線形レイアウト内にあり、重み付けされており、画像を含む場合にフリーズするバグを修正しました。(問題 203276
  • OrientationHelper.getStartAfterPadding() で発生するクラッシュを修正しました。(問題 180521
  • android:nestedScrollingEnabled を使用した際に発生するクラッシュを修正しました。(問題 197932
Design サポート ライブラリの変更点:
  • 非表示のボタンシートがタッチイベントを処理するバグを修正しました。(問題 203654
  • fitsSystemWindows が true の場合の BottomSheetBehavior のレイアウトに関する問題を修正しました。(問題 203057
  • Snackbar のユーザー補助に関する問題を修正しました。(問題 182145
  • Snackbar のスワイプで発生するクラッシュを修正しました。(問題 203924
  • AppBarLayoutenterAlways に関するバグを修正しました。(問題 203661
  • TextInputLayoutEditText オブジェクトの背景色フィルタを不必要にクリアするバグを修正しました。(問題 203357

リビジョン 23.2.1

2016 年 3 月

V4 サポート ライブラリの変更点:
v7 appcompat ライブラリの変更点:
  • ベクター資産への依存関係を元に戻して、appcompat ライブラリを使用するデベロッパーが VectorDrawable と関連するビルドフラグの使用を強制されないようにしました。
  • 夜間モードと API レベル 23 の互換性の問題を修正しました。(問題 201910
  • SwitchCompat と API レベル 7 の互換性に関する問題を修正しました。(問題 201942
  • リソース オブジェクトで設定値を伝播する際の問題を修正しました(問題 201928
  • API レベル 21 以下で android.support.v7.app.NotificationCompat.MediaStyle のキャンセル ボタンが非表示になる互換性の問題を修正しました。(問題 202156
  • API レベル 21 以下の AppCompatSpinner でクラッシュが発生する互換性の問題を修正しました。(問題 202246
  • app:textAllCaps = "false" のスタイルが機能しない問題を修正しました。(問題 202117
  • SearchView の復元時に発生するクラッシュを修正しました。(問題 201836
  • AppCompat を使用してドローアブル リソースの色合いを調整するときに発生するメモリリークを修正しました。(問題 202379
  • API レベル 11 以下における KeyEvent の問題を修正しました。(問題 202939
v7 cardview ライブラリの変更点:
v7 recyclerview ライブラリの変更点:
  • 複数の measure-spec メソッドに関連するバグを修正しました。(問題 201856
  • RecyclerView がレイアウトまたはスクロールの計算中に、アダプターの変更を許可しないことによるロックダウン期間を短縮しました。(問題 202046
  • 非表示になっているアイテムの notifyItemChanged() を呼び出した場合に発生するクラッシュを修正しました。(問題 202136
  • RecyclerView.LayoutManager が同じ測定パスにビューの追加と削除を行った場合に発生するクラッシュを修正しました。(問題 193958
v7 mediarouter ライブラリの変更点:
v17 Leanback ライブラリの変更点:
  • 間違ったアイテムが選択される原因となる GridLayout.onAddFocusables() の問題を修正しました。
  • アクションが折りたたまれた後に GuidedStepFragment のアクションが消える問題を修正しました。
Design サポート ライブラリの変更点:
  • タブプーリングによって発生する TabLayout のクラッシュを修正しました。(問題 201827
  • 間違った色が選択される原因となる NavigationView のバグを修正しました。(問題 201951
  • setBackgroundTintList() が背景色を変更できなくなるバグを修正しました。(問題 201873
  • android:fitsSystemWindows = “true” とともに用いた場合に AppBarLayout が完全にビューからスクロール アウトしない問題を修正しました。(問題 201822
  • BottomSheetDialog が短いコンテンツのビューを正しく表示しない問題を修正しました。(問題 201793
  • 内部のコンテンツが変更されたときに BottomSheetDialogFragment が散発的に移動する問題を修正しました。(問題 202125
  • TextInputLayout カウンタで発生するクラッシュを修正しました。リンク
  • TextInputLayout.getCounterMaxLength() が保存済みの状態を復元した際に発生するクラッシュを修正しました。(問題 202375
  • CoordinatorLayout ではないビューの保存された状態を使用して を復元した際に発生する ClassCastException を修正しました。
VectorDrawableCompat の変更点:
  • android:tintMode の代わりに誤った変数が読み取られるバグを修正しました。(問題 201907

リビジョン 23.2.0

2016 年 2 月

V4 サポート ライブラリの変更点:
  • MediaBrowser のサポートのために MediaBrowserCompat を、MediaBrowserService のサポートのために MediaBrowserServiceCompat を追加しました。これは、メディアアプリのバックグラウンド サービスを UI コンポーネントに接続し、API レベル 21 以上を必要とすることなく Android Auto および Android Wear と統合する場合に便利です。
  • システムがネストされた FragmentActivityonActivityResult() を呼び出すようになりました。
v7 AppCompat ライブラリの変更点:
  • ナイトモード機能を API レベル 14 以上に追加しました。時間帯やアプリ固有の設定に基づいて、マテリアルのライトテーマとダークテーマを切り替えます。
    • 日中と夜間のテーマは次の場所にあります。<sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml
    • AppCompatDelegate.setDefaultNightMode(): 次のいずれかの定数を渡して、アプリのデフォルト モードを設定します。
      • MODE_NIGHT_AUTO
      • MODE_NIGHT_NO
      • MODE_NIGHT_YES
      • MODE_NIGHT_FOLLOW_SYSTEM
    • AppCompatDelegate.setLocalNightMode(): ローカルアプリのコンポーネントの夜間モード設定をオーバーライドします。
    • AppCompatDelegate.getDefaultNightMode(): デフォルトの夜間モードを返します。
v7 mediarouter ライブラリの変更点:
Design サポート ライブラリの変更点:
  • 底部シートのサポートを追加しました。インタラクション プラグインである BottomSheetBehavior は、CoordinatorLayout の子ビューが底部シートとして機能することを許可します。基本クラスである BottomSheetCallback は、底部シートのイベントをモニタリングするためのコールバックを提供します。
CustomTabs サポート ライブラリの変更点:
  • Chrome のカスタムタブでは、アプリが上部にある既存の操作ボタンに追加して、操作ボタンを備えたボトムバーを配置できるようになりました。
  • CustomTabsIntent.Builder.addToolBarItem(): カスタムタブに操作ボタンを追加します。これを使用して、複数のボタンを追加できます。
  • CustomTabsSession.setToolBarItem(): ツールバー アイテムの外観を更新します。このメソッドは、有効な ID が指定され、ブラウザ セッションがフォアグラウンドにある場合にのみ成功します。
VectorDrawable サポート ライブラリを追加しました。
  • 追加されたクラス:
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • API レベル 7 以上で実行しているアプリに VectorDrawable アセットのサポートを追加しました。AnimatedVectorDrawable アセットは API レベル 11 以上でもサポートされます。ベクター アセットは画像アセットよりもかなり小さくでき、複数のデバイス画面をサポートするのに必要なアセットの量を減らすことにより、アプリのサイズを小さくできます。
  • このライブラリは、v7 AppCompat ライブラリに依存するようになり、デベロッパーと AppCompat が容易にベクター ドローアブルを使用できるようになりました。ImageButton または ImageView 内で VectorDrawableCompat を使用するには、app:srcCompat の XML 属性または setImageResource() のメソッドを使用します。
  • API レベル 20 以下で属性 ID の参照を継続するには、build,gradle ファイルに次の appt フラグを追加します。
    • Gradle 1.5.0 以下の Android プラグインを使用してビルドする場合は、build.gradle ファイルに次の対象を追加してください。
    •     android {
            defaultConfig {
              // Stops the Gradle’s automatic rasterization of vectors
              generatedDensities = []
            }
             // Flag that tells aapt to keep the attribute ids
            aaptOptions {
              additionalParameters "--no-version-vectors"
            }
          }
          
    • Gradle 2.0.0 以上の Android プラグインを使用してビルドする場合は、build.gradle ファイルに次の対象を追加してください。
    •     android {
            defaultConfig {
              vectorDrawables.useSupportLibrary = true
            }
          }
          
v17 Leanback ライブラリの変更点:
  • GuidedStepFragment に新しい機能を追加しました。これはユーザーが意思決定、または一連の意思決定を行う際のガイドとなるコンポーネントです。
    • GuidedAction にボタン アクションを追加しました。
      • GuidedStepFragment.setButtonActions(): ユーザーがアクション ビューから選択できる GuidedAction ボタンのリストを設定します。
    • 説明フィールドが編集可能になりました。
      • GuidedAction.Builder.descriptionEditable(): true を渡す場合はアクションの説明を編集可能に設定します。
      • GuidedAction.getEditDescription(): 編集可能な説明を CharSequence として返します。
    • サブアクションのプルダウン リストを追加しました。
      • GuidedAction.setSubActions(): GuidedAction リストをサブアクションのプルダウン メニューとして設定します。
  • DatePicker 機能に GuidedDatePickerAction ウィジェットを追加しました。
    • 日付は、年、月、日の列を使用して選択され、カスタマイズ可能な範囲があります。
    • GuidedDatePickerAction.Builder: GuidedDatePickerAction オブジェクトのビルダークラス。
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): “YMD” または “MDY” などの適切な 3 文字の String を渡して目的の日付形式を設定します。または、datePickerFormat の XML 属性を使用します。
v7 RecyclerView ライブラリの変更点:
  • RecyclerViewAutoMeasure と呼ばれるオプトインの機能が追加されました。これにより RecyclerView.LayoutManager が容易にコンテンツをラップしたり、 の親が指定した測定のさまざまな仕様を処理したりできます。RecyclerView の既存のすべてのアニメーション機能をサポートします。
    • カスタムの RecyclerView.LayoutManager をお持ちの場合は、setAutoMeasureEnabled(true) を呼び出して新しい AutoMeasure API の使用を開始します。すべての組み込み RecyclerView.LayoutManager オブジェクトは、デフォルトで自動測定を有効にします。
    • RecyclerView.LayoutManager は、スクロール方向について MATCH_PARENT など一部の RecyclerView.LayoutParams の設定を無視しないようになりました。

      注: これらの制限の解除によって、レイアウトで予期しない動作が発生することがあります。正しいレイアウト パラメータを指定するようにしてください。

  • ペイロード情報によって RecyclerView.ViewHolder を更新する際に、DefaultItemAnimator が変更アニメーションを無効にするようになりました。
  • ItemTouchHelper のエスケープ速度を変更して、スワイプの感度を制御できるようになりました。スワイプを簡単にする、または難しくするには、getSwipeEscapeVelocity(float defaultValue) をオーバーライドして defaultValue を変更します。

リビジョン 23.1.1

2015 年 11 月

v7 recyclerview ライブラリの変更点:
  • ItemTouchHelper のユーティリティ クラスによって備わっている、スワイプして非表示にする操作を行った後にアイテムを追加したときに発生するクラッシュを修正しました。(問題 190500
v7 preference ライブラリの変更点:
  • ProGuard の使用に関する問題を修正しました。(問題 183261
v17 Leanback サポート ライブラリの変更点:
  • ライブラリの内部的な問題をいくつか修正しました。
Design サポート ライブラリの変更点:
  • NavigationView クラスに getHeaderView メソッドを追加しました。
  • Android 4.0(API レベル 15)以下を実行するデバイスでの、FloatingActionButton オブジェクトの透明な背景に関する問題を修正しました。(問題 183315

リビジョン 23.1.0

2015 年 10 月

v4 サポート ライブラリの変更点:
  • NestedScrollView ウィジェットに OnScrollChangedListener インターフェースのサポートを追加しました。これにより、スクロール位置の X 軸または Y 軸の値が変更されたときにコールバックを受け取ることができます。
  • 受信した再生コントロールを MediaSessionCompat クラスを管理するサービスに渡すため、MediaButtonReceiver クラスを追加しました。MediaSessionCompat クラスには、マニフェスト内のメディアボタンの受信側を自動的に見つけることができるコンストラクタがあります。メディアボタンの受信側は、ハードウェアまたは Bluetooth の制御によって再生コントロールを処理するための重要な部分です。
v7 appcompat ライブラリの変更点:
  • マテリアル デザインの SeekbarImageButton のウィジェットを追加しました。
  • 色合いを調整する機能をサポートするように ImageView ウィジェットを更新しました。
  • SwitchCompat ウィジェットの外観を更新しました。
v7 mediarouter ライブラリの変更点:
  • MediaRouteChooserDialog クラスに次の機能を追加しました。
    • メディアルート プロバイダの検出中に読み込みページを表示します。
    • デバイスの識別に便利なデバイスタイプのアイコンが用意されています。
    • 現在のアプリでの使用頻度に応じてルートを並べ替えます。
    • 横表示に対応しています。
    • MediaRouteControllerDialog クラスに次の機能を追加しました。
      • 画面のキャストを認識し、適切な説明を表示します。
      • さまざまなアルバムアートのサイズとアスペクト比をサポートし、アートを非同期で読み込みます。
      • アプリの原色に基づいてコンテンツの色を自動的に選択します。
      • デバイス上の使用可能な画面スペースに基づいてダイアログのレイアウトを調整します。
      • 横表示に対応します。
v7 palette ライブラリの変更点:
  • Bitmap オブジェクトの特定領域からの色抽出をサポートするために、setRegion() メソッドを追加しました。
v7 recyclerview ライブラリの変更点:
  • カスタマイズ性能の向上のために、改良されたアニメーション API を ItemAnimator クラスに追加しました。
    • アニメーションを変更しても、ViewHolder オブジェクトのコピーを 2 つ作成するように強制されなくなりました。これによりアイテム コンテンツのアニメーションが有効になります。さらに、ItemAnimator オブジェクトは、同じ ViewHolder オブジェクトを再利用するか、新しいオブジェクトを作成するかを決定します。
    • 新しい情報レコード API では、ItemAnimator クラスにはレイアウト ライフサイクルの正確な時点でデータを収集する柔軟性が備わっています。この情報は後でアニメーション コールバックに渡されます。
    • 後方互換性のないこの API の変更に対して、次のように容易に実行できる移行計画をご用意しました。
      • 以前に ItemAnimator クラスを展開したことがある場合は、基本クラスを SimpleItemAnimator に変更でき、コードは以前と同じように機能します。SimpleItemAnimator クラスは、新しい API をラップすることで以前の API を提供します。
      • 一部のメソッドを ItemAnimator クラスから削除しました。次のコードはコンパイルされなくなります。
      • Kotlin

            recyclerView.itemAnimator.supportsChangeAnimations = false
            

        Java

            recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
            

        次のように置き換えることができます。

        Kotlin

            val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator
            animator?.supportsChangeAnimations = false
            

        Java

            ItemAnimator animator = recyclerView.getItemAnimator();
            if (animator instanceof SimpleItemAnimator) {
               ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
            }
            
v7v14v17 の Preference サポート ライブラリの変更点:
  • EditText ダイアログのコントロール用 API を削除しました。
v17 Leanback サポート ライブラリの変更点:
  • サポート ライブラリの GuidedStepFragment クラスのバージョンを追加し(android.support.v4.app.Fragment を展開)、アニメーションと移行を改善しました。
  • 既存のコンテンツの上部に配置できるように GuidedStepFragment クラスを更新しました。
  • さまざまなタイプの検索補完の注釈を加える機能を SearchFragment クラスに追加しました。
  • スライドを少しずつずらして移行するサポートを VerticalGridFragment クラスに追加しました。
Design サポート ライブラリの変更点:
  • 文字カウントのサポートを TextInputLayout ウィジェットに追加しました。
  • SCROLL_FLAG_SNAP 定数を追加することにより、エッジスナップのサポートを AppBarLayout クラスに追加しました。スクロールが終了した時点で、ビューが部分的にのみ表示されている場合、ビューはスナップされ最も近いエッジまでスクロールされます。
  • app:actionLayout 属性または MenuItemCompat.setActionView() メソッドを使用することにより、カスタムビューのサポートを NavigationView クラスに追加しました。
Custom Tabs サポート ライブラリの変更点:
  • enableUrlBarHiding() メソッドを CustomTabsIntent クラスに追加しました。これにより、クライアントで下へスクロールしたときに URL バーを自動的に非表示にするかどうかをカスタマイズできます。
  • setActionButton() メソッドを CustomTabsSession クラスに追加しました。これによりクライアントは、すでに起動しているカスタムタブでカスタム アクション ボタンのアイコンを変更できます。
  • CustomTabsCallback クラスの onNavigationEvent メソッドの新しいイベントとして、TAB_SHOWNTAB_HIDDEN の定数を追加しました。

リビジョン 23.0.1

2015 年 9 月

v7v14 の Preference サポート ライブラリの変更点:
  • マテリアル デザインのレイアウトとスタイル ファイルを追加しました。(問題 183376
v7 appcompat ライブラリの変更点:
  • ハードウェア レイヤの使用を Android 4.1(API レベル 16)以上に制限することによって、Fragment クラスのクラッシュの問題を修正しました。(問題 183896
  • アクティビティが、setSupportActionBar() メソッドを使用して Toolbar クラスを ActionBar として動作するように設定している場合に、ハードウェア ボタンが機能しない問題を修正しました。(問題 183334
  • Windows feature must be requested before adding content エラーをスローしないように AppCompatDialogFragment クラスを更新しました。(問題 183186
Design サポート ライブラリの変更点:
  • AppBarLayout クラスを修正し、回転後に正しく描画されるようになりました。(問題 183109
  • TabLayout クラスを修正し、スワイプした後にユーザーがクリックしたときに正しく動作するようになりました。(問題 183123
Custom Tabs サポート ライブラリの変更点:
  • バージョンをサポートするように minSdkVersion の値を 16 から 15 に小さくしました。
  • インテントから CustomTabsSessionToken を生成する方法を追加しました。

リビジョン 23

2015 年 8 月

新しいサポート ライブラリを追加しました。

サポート ライブラリの変更点の全一覧については、Support Library API の相違点レポートをご覧ください。

リビジョン 22.2.1

2015 年 7 月

Design サポート ライブラリの変更点:
  • アニメーションのプログラムによるトリガーに対応するよう、hide()show() メソッドを FloatingActionButton クラスに追加しました。
  • 閉じられるか、別のスナックバーが表示されるまでスナックバーを表示するように、LENGTH_INDEFINITE 定数を Snackbar クラスに追加しました。setActionTextColor(int)setActionTextColor(ColorStateList) のメソッドも追加しました。
  • 現在選択されているタブを取得するように getSelectedTabPosition() メソッドを TabLayout クラスに追加しました。
  • 完全な Fluent API をメソッド チェーンの android.support.v7.app.NotificationCompat.MediaStyle クラスに提供しました。
  • アイテムの一括挿入に対応できるように便利なメソッドを RecyclerView に追加しました。

サポート ライブラリの変更点の全一覧については、Support Library API の相違点レポートをご覧ください。

リビジョン 22.2.0

2015 年 5 月

Design サポート ライブラリを追加:
  • EditText のヒントとエラーテキストをフローティング ラベルとして表示するために TextInputLayout を追加しました。
  • デフォルト サイズまたはミニサイズをサポートするフローティング操作ボタンとして、メイン アクションを実装するための FloatingActionButton を追加しました。
  • アニメーション スナックバーに任意のアクションを含む軽量フィードバックを提供するための Snackbar を追加しました。
  • 固定とスクロール可能なタブと、ViewPager との簡単な統合を実装するための TabLayout を追加しました。
  • メニュー リソースを経由してメニュー アイテムを拡張する機能を含む、ナビゲーション ドロワー コンテンツを実装するための NavigationView を追加しました。
  • 兄弟ビュー間の依存関係を構築し、CoordinatorLayout.Behavior によってコンポーネント間のスクロールを容易にする汎用レイアウトとして CoordinatorLayout を追加しました。Design ライブラリのコンポーネントの多くは、CoordinatorLayout の子であることに基づいています。
  • 画面外にスクロールする、下方向へのスクロールに反応して表示されるようになる、または画面内外へスクロールする前に折りたたむ / 折りたたみを解除することによってスクロール イベントに反応できるように、Toolbar とその他のビュー(TabLayout など)のコンテナとして AppBarLayout を追加しました。
  • Toolbar の折りたたみ方を制御するために CollapsingToolbarLayout を追加しました。ツールバーは、折りたたみ時にコンポーネントを画面の上部に固定する、ImageView などのコンポーネントのパララックス スクロールを導入する、またはビューが部分的に折りたたまれているときにコンテンツ スクリームの色を追加することによって、折りたたまれる場合があります。
v4 サポート ライブラリの変更点:
v7 appcompat ライブラリの変更点:

サポート ライブラリの変更点の全一覧については、Support Library API の相違点レポートをご覧ください。

リビジョン 22.1.0

2015 年 4 月

annotations ライブラリの変更点:
  • 拡張コードの検査をサポートするために、Annotations ライブラリを追加しました。アノテーションは変数、パラメータに添付するメタデータタグとして追加され、メソッドの戻り値、渡されたパラメータ、ローカルの変数とフィールドを検査するための戻り値を返します。
v4 サポート ライブラリの変更点:
  • 色に関連した一連のユーティリティ メソッドを提供するために、ColorUtils クラスを追加しました。
  • すべての API レベル 4 以降のデバイスで、setTint()setTintList()setTintMode() を使用できるように unwrap()wrap() のメソッドを DrawableCompat クラスに追加しました。
  • トレース イベントをシステムのトレース バッファに書き込んだ後に、Systrace ツールを使用して収集し視覚化できる TraceCompat クラスを追加しました。
  • 循環整数配列のデータ構造を作成するために CircularIntArray クラスを追加しました。
  • clear()removeFromStart()removeFromEnd() のメソッドを CircularArray クラスに追加しました。さらに、このクラスの既存のメソッドを非 final に変更しました。
  • InputDeviceCompat クラスのデータにアクセスするためのヘルパークラスとして を追加しました。
  • LayoutInflaterCompat クラスのデータにアクセスするためのヘルパークラスとして クラスを追加し、LayoutInflaterFactory インターフェースを追加しました。
  • ネストされたスクロールをサポートするクラス、メソッド、インターフェースを追加しました。
    • 親ビューと子ビューのネストされたスクロールを実装するために、NestedScrollingChildHelperNestedScrollingParentHelper のヘルパークラスを追加しました。
    • View サブクラスによって実装される NestedScrollingChild インターフェースを追加しました。
    • スクロール操作をサポートし、スクロール関連の API を提供できるように、NestedScrollingParentScrollingView のインターフェースを追加しました。
    • getNestedScrollAxes() メソッドを ViewGroupCompat クラスに追加しました。
    • ネストされたスクロールをサポートするためのメソッドを ViewParentCompat クラスに追加しました。
    • 新旧両バージョンの Android で、ネストされた親と子のスクロールをサポートするために NestedScrollView クラスを追加しました。
  • 軸の値とイベントソースを取得するためのメソッドと定数を MotionEventCompat クラスに追加しました。
  • エラー、コンテンツの無効化、ラベルに関するメソッドを追加するために AccessibilityNodeInfoCompat クラスを更新しました。
  • アニメーションに次の補間クラスを追加しました: FastOutLinearInInterpolatorFastOutSlowInInterpolatorLinearOutSlowInInterpolatorLinearOutSlowInInterpolatorPathInterpolatorCompat
  • 汎用レイアウトでコンポーネント間にギャップを作成するために、Space クラスを追加しました。このクラスは、gridlayout ライブラリでは非推奨になっています。
  • TextView クラスの機能にアクセスするための TextViewCompat クラスを追加しました。
  • EdgeEffectCompat クラスの onPull() メソッドに変位パラメータを追加しました。
v7 appcompat ライブラリの変更点:
v17 Leanback ライブラリの変更点:
v7 recyclerview ライブラリの変更点:
  • リストの順序でアイテムを表示し、リストへの変更の通知を行うために SortedList クラスを追加しました。
  • 並べ替えられたリストを RecyclerView.Adapter クラスに結合できる SortedListAdapterCallback クラスを追加しました。
v8 renderscript ライブラリの変更点:
  • ヒストグラム フィルタとして使用するための ScriptIntrinsicHistogram クラスを追加しました。
  • 2D 割り当てのサイズ変更を実行するための ScriptIntrinsicResize クラスを追加しました。

リビジョン 22

2015 年 3 月

v4 サポート ライブラリの変更点:
  • 指定された特定のリソース ID、画面密度、テーマのドローアブル オブジェクトを返すように getDrawable() メソッドを更新しました。
  • ビューがユーザー補助イベントをトリガーするかどうかを示すことができるように、setImportantForAccessibility() メソッドを追加しました。
  • ステータスバーのバックグラウンド ドローアブルを取得できるように getStatusBarBackgroundDrawable() メソッドを追加しました。
  • Android Auto のメッセージング アプリが、追加の通知データを取得できるようにするためのメソッドを NotificationCompat.CarExtender.UnreadConversation クラスに追加しました。
  • 円形レイアウトの直径を返す getProgressCircleDiameter() メソッドを追加しました。
  • デフォルトの DrawerLayout ステータスバーの色を colorPrimaryDark に変更しました。
v7 appcompat ライブラリの変更点:
v17 Leanback ライブラリの変更点:
  • カスタマイズされたリサイクル プールのサイズを許可するために getRecycledPoolSize()setRecycledPoolSize() のメソッドを追加しました。
  • タイトル アイコンのラップされたコンテンツをサポートするために、レイアウトの幅設定に WRAP_CONTENT 属性を追加しました。
  • 移行の更新を改善するために XML で R.transition を定義しました。
  • 右から左の方向へのレイアウトに対するサポートを有効にしました。
  • 再生と一時停止のメディアキー イベントのサポートを PlaybackOverlayFragment クラスに追加しました。
  • 入力遷移と戻り遷移を BrowseFragment クラスと DetailsFragment クラスに追加しました。
  • オブジェクトのアダプター配列内のアイテムを置換するために replace() メソッドを追加しました。
v7 mediarouter ライブラリの変更点:
v7 recyclerview ライブラリの変更点:

リビジョン 21.0.3

2014 年 12 月

v4 サポート ライブラリの変更点:

リビジョン 21.0.2

2014 年 11 月

v4 サポート ライブラリの変更点:
v7 appcompat ライブラリの変更点:
  • 新しいポップアップ メニューをサポートするために PopupMenu コンストラクタを追加しました。
  • Toolbar クラスに折りたたみアイコンの説明に対するサポートを追加しました。
  • commitIcon の表示をサポートするように SearchView ウィジェットを更新しました。
  • Toolbar クラスから buttonGravity 属性を削除しました。
v7 cardview ライブラリの変更点:
v7 recyclerview ライブラリの変更点:
v17 Leanback ライブラリの変更点:
  • v4 コード フラグメントを生成するためのサポートを追加しました。
  • CardView のセカンダリ テキストの色を変更しました。

リビジョン 21.0.1

2014 年 11 月

Android 5.0 より前の multi-dex ファイル サポート用の複数の Dalvik 実行可能ファイル(DEX)をサポートするために、multidex サポート ライブラリを追加しました。

リビジョン 21

2014 年 10 月

v4 サポート ライブラリの変更点:
  • Android 5.0(API レベル 21)を実行するデバイスの Fragment の移行に対するサポートを追加しました。移行が Android 4.4 以下を実行するデバイスに影響することはない点に留意してください。
  • ドキュメント ツリーで作業をしながら File から容易に移行できるよう DocumentFile を追加しました。ただし、このクラスは Android 4.4(API レベル 19)で追加されたプラットフォームの DocumentsContract API に比べて処理オーバーヘッドが大きくなります。そのため、Android 4.4 以降で実行する場合は DocumentsContract の使用に切り替える必要があります。
v7 appcompat ライブラリの変更点:
  • マテリアル デザインのユーザー インターフェースのサポートを追加しました。
  • ActionBar の機能をアプリのレイアウト内で使用できるように一般化する Toolbar を追加しました。
  • ActionBarDrawerToggle を更新しました。これには、menu-to-arrow アニメーションが含まれます。
  • Android 5.0 以前のデバイスでの実行時に、theme 属性を介して色合いを調整できるように、共通のユーザー インターフェース ウィジェットを更新しました。
  • Android 4.0(API レベル 14)で追加された Switch ウィジェットのバックポートである SwitchCompat を追加しました。
新しい v7 cardview ライブラリ:
  • CardView ウィジェットを追加しました。これによって、データ項目を表示するためのマテリアル デザインとの互換性を維持した実装が可能になります。
新しい v7 recyclerview ライブラリ:
  • RecyclerView ウィジェットを追加しました。これによって、大規模なデータセットに限定されたウィンドウを表示できるようにする柔軟なリスト表示が可能になります。
新しい v7 palette ライブラリ:
  • Palette クラスを追加しました。これにより、画像から特徴的な色を抽出できるようになります。
新しい v17 Leanback ライブラリ:

リビジョン 20

2014 年 7 月

v4 サポート ライブラリの変更点:
  • Android Wear の拡張通知機能のサポートを NotificationCompat.WearableExtender に追加しました。これによって、通知にウェアラブル固有の機能を指定できます。
  • NotificationCompat.Action.WearableExtender を追加しました。これによって、ウェアラブル通知にアクションを追加できます。
  • NotificationManagerCompat を追加しました。これによって、ウェアラブル機能を適切にサポートする通知を行うことができます。
  • RemoteInput を追加しました。これにより、モバイル デバイスがウェアラブル端末に表示される通知から音声入力を受信できるようになります。
  • SwipeRefreshLayout でのタッチ フィードバックの処理を改善しました。

リビジョン 19.1.0

2014 年 3 月

v4 サポート ライブラリの変更点:
  • SwipeRefreshLayout クラスを追加しました。これにより、ユーザーは垂直スワイプ ジェスチャーによってビューのコンテンツを更新できます。
  • ナビゲーション ドロワーに関するユーザー補助の問題を修正しました。
v7 appcompat ライブラリの変更点:
  • アクションバーの背景の問題を修正しました。

リビジョン 19.0.1

2013 年 12 月

v4 サポート ライブラリの変更点:
  • 印刷の非同期処理を追加して PrintHelper を改善しました。
  • addChildrenForAccessibility() メソッドの DrawerLayout クラスの近似を修正しました。
  • ActionBarDrawerToggle でのスライド ドローアブルのミラーリングを修正しました。
  • コレクション イテレータからアイテムを削除する際の off-by-one の問題を修正しました。
v7 mediarouter ライブラリの変更点:
v8 renderscript ライブラリの変更点
  • RenderScript サンクレイヤにエラー伝播を追加しました。

リビジョン 19

2013 年 10 月

v4 サポート ライブラリの変更点:
  • getObbDirs()getExternalFilesDirs()getExternalCacheDirs()getStorageState() に External Storage API のサポートを追加しました。これらのヘルパー メソッドは、Android 4.3(API レベル 18)以前を実行するデバイスでは常に 1 つのファイル オブジェクトを返します。Android 4.4(API レベル 19)以降で実行している場合、これらのメソッドは複数のファイル オブジェクトを返す可能性があります。
  • Print API に対応し、最小限のコードで画像を印刷する PrintHelper クラスを追加しました。
  • ポップアップ メニューに drag-to-open ユーザー インターフェースのサポートを追加しました。詳しくは、PopupMenuCompatListPopupWindowCompat をご覧ください。
  • AccessibilityNodeProviderCompat への findFocus() メソッドの追加、AccessibilityNodeInfoCompat への getLiveRegion() メソッドの追加と併せて、ユーザー補助サポートを改善しました。
  • 新しいスケーリング ジェスチャー メソッドにアクセスするためのヘルパークラス ScaleGestureDetectorCompat を追加しました。
  • 右から左の方向に表示される言語表示での ActionBarDrawerToggle の問題を修正しました。
  • タッチイベントを使用する、または他のビューに渡すことができるように AutoScrollHelper のオプションを変更しました。
v7 mediarouter ライブラリの変更点:
  • メディアの再生キュー、HTTP ヘッダー値とメディアの再生時間の設定に関するサポートを追加しました。
  • メディア ルーターでメディア再生セッションを明示的に管理するための、明示的な start、get、end のセッション アクションを追加しました。

リビジョン 18

2013 年 7 月

v4 サポート ライブラリの変更点:
  • ユーザー インターフェース
    • 右から左と、左から右の方向に書式設定されたテキストを結合するテキスト文字列を処理する BidiFormatter を追加しました。
    • 最初のレイアウト処理でページャが測定された幅が 0 のケースに対応できるよう、ViewPager を変更しました。
    • プロジェクト コードの編集中に、測定の例外をスローしないように DrawerLayoutSlidingPaneLayout を変更しました。
  • ユーザー補助
  • メディア
    • 再生、一時停止、スキップ、その他のメディア操作のメディア トランスポートを管理するために、TransportMediator ヘルパークラスを追加しました。
    • 1 つ以上のデバイス ディスプレイに対するディスプレイ出力を管理するため、DisplayManagerCompat を追加しました。
  • その他の変更点
    • デバイス ウェイクアップ イベントを検出し、ハンドオフが完了する前にデバイスがスリープ状態に戻らないように作業を Service に渡す、一般的なパターンを実装するための WakefulBroadcastReceiver ヘルパークラスを追加しました。
    • 2 つの新しい API である commitContentChanged()rollbackContentChanged()AsyncTaskLoader に追加して、後からキャンセルされたデータ変更のバックグラウンド更新に対応できるようにしました。
新しい v7 appcompat ライブラリ:
  • アクションバーのユーザー インターフェースのデザイン パターンを Android 2.1(API レベル 7)以上に実装できるように ActionBar を追加しました。このクラスを使用するには、新しい ActionBarActivity クラスを拡張してアクティビティを実装することが必要です。
新しい v7 mediarouter ライブラリ:

Google Cast デベロッパー向けプレビューをサポートする新しい mediarouter ライブラリを追加しました。v7 mediarouter ライブラリ API は、現在のデバイスから外部の画面、スピーカー、その他の宛先デバイスへのメディア チャネルとストリームのルーティングを制御でき、Android 2.1(API レベル 7)との互換性を有しています。詳しくは、v7 mediarouter ライブラリをご覧ください。

サポート ライブラリ r18 で導入された v7 mediarouter ライブラリ API は、将来のサポート ライブラリのリビジョンによって変更される可能性があります。現時点では、Google Cast デベロッパー プレビューとの接続にのみこのライブラリを使用することを推奨します。

リビジョン 13

2013 年 5 月

v4 サポート ライブラリの変更点:
新しい v7 gridlayout ライブラリ:
  • GridLayout のレイアウト オブジェクトをサポートするために GridLayout を追加しました。
  • GridLayout のレイアウト オブジェクト内に空白領域を作成するのに使用できる android.support.v7.widget.Space を追加しました。

リビジョン 12

2013 年 2 月

v4 サポート ライブラリの変更点:
  • ViewPager のインタラクションを改善しました。
  • ViewPager がページの選択を誤る原因となる場合があるバグを修正しました。
  • ViewPager のレイアウト中における removeView() メソッドの使用について修正を行いました。
  • 戻るボタンを使用して閉じると、検索テキストが消去されない SearchViewCompat の問題を修正しました。この修正はホスト API レベル 14 以降のみに適用されます。

リビジョン 11

2012 年 11 月

v4 サポート ライブラリの変更点:
  • ユーザー インターフェース
    • ネストされた Fragment クラスのサポートを追加しました。
    • FragmentManager のデバッグを改善しました。
    • フラグメントとタブの操作によって ListView の状態が喪失する FragmentTabHost の問題を修正しました。
    • ユーザーに表示する FragmentStatePagerAdapter のヒントの問題を修正しました。
    • アプリケーションのスクロール時の遷移動作をカスタマイズできるようにする、PageTransformer インターフェースを ViewPager に追加しました。
    • 現在のリリースから TaskStackBuilder に新機能と修正を追加しました。
    • 現在使用中の PagerAdapter を適切にトラッキングするように PagerTitleStrip を修正しました。
    • PagerTitleStrip でのディスプレイのちらつき、位置、テキストの切り抜きに関する問題を修正しました。
    • 下線を引く際にパディングを適切に尊重するよう PagerTabStrip を修正しました。
  • ユーザー補助
  • GestureDetectorCompat によるジェスチャーのサポートを追加しました。
  • 新しい AtomicFile クラスを使用してファイルにアトミック操作を実行するためのサポートを追加しました。
  • make メソッドのフルセットのサポートを IntentCompat に追加しました。
  • trimToSize() メソッドを LruCache のユーティリティ クラスに追加しました。
  • CONNECTIVITY_ACTION ブロードキャストから NetworkInfo を取得するように ConnectivityManagerCompat を更新しました。

リビジョン 10

2012 年 8 月

v4 サポート ライブラリの変更点:
  • NotificationCompat に加えて Android 4.1(API レベル 16)で導入された通知機能のサポートを追加しました。

リビジョン 9

2012 年 6 月

v4 サポート ライブラリの変更点:
  • ユーザー インターフェースのサポート
    • PagerTabStrip のサポートを追加して PagerTitleStrip を上回る機能を実現しました。
    • setAllCaps のオプション、タイトルの配置、外観の改善、最小幅の制約、タッチ操作の問題を含む PagerTitleStripPagerTabStrip のさまざまなバグを修正しました。
    • ViewPager のページの余白に対するサポートを追加しました。これにより、 クラスでは、マップなど、横方向のスクロール範囲の大きいコンテンツのページングをサポートできるようになりました。
    • サイズとデータ設定変更の問題、ページの位置、ユーザー操作、スクロールのトラッキング、キーボード操作に関する問題など、ViewPager の数多くのバグを修正しました。
    • ターゲット フラグメントが存在しなくなった場合に onActivityResult() を適切に処理するようにする、選択イベントを非表示のフラグメントにディスパッチするようにするなど、Fragment の多くのバグを修正しました。また、FragmentTransaction.replace() の動作の向上と、ビューの外に移動されたフラグメントの処理に関する状態の改善も行いました。
    • postOnAnimation() メソッドのサポートを ViewCompat に追加しました。
    • 使用可能な場合に Android 4.1(API レベル 16)の Up のナビゲーション機能を使用できるように NavUtils を更新しました。
  • ユーザー補助
    • AccessibilityNodeInfoCompat を含むユーザー補助サポートクラスを更新し、Android 4.1(API レベル 16) で行われた修正に準拠するようにしました。
    • ユーザー補助のスクロール操作のサポートを ViewPager に追加しました。
  • 全般的な改善

リビジョン 8

2012 年 4 月

v4 サポート ライブラリの変更点:
  • TaskStackBuilder が生成した PendingIntent オブジェクトのインテント フラグを修正しました。
  • gridlayout ライブラリ プロジェクトから未使用の属性を削除して、API レベル 7 以上でライブラリを構築できるようにしました。
  • gridlayout ライブラリ プロジェクトに .classpath ファイルと .project ファイルを追加しました。

リビジョン 7

2012 年 3 月

v4 サポート ライブラリの変更点:
  • 共有データをソースアプリに帰属させる新しいメタデータなど、ソーシャル共有アプリケーションのコンテンツの送受信にヘルパークラスを提供する ShareCompat を追加しました。このクラスでは、Android 4.0 での新しい ShareActionProvider との互換性を維持した統合も可能です。
  • Android Design のナビゲーション ガイドラインの実装をサポートするために NavUtilsTaskStackBuilder を追加しました。これらの追加には、バージョン間でアクションバーの Up ボタンを実装する方法も含まれます。このパターンの実装例については、AppNavigation のサンプル(<em><sdk></em>/samples/<em><platform></em>/AppNavigation)をご覧ください。
  • 標準化されたシステム通知を作成するための Android 3.0 の Notification.Builder ヘルパークラスについて、互換性の実装を可能にするため NotificationCompat.Builder を追加しました。

リビジョン 6

2011 年 12 月

注: サポート ライブラリ API のリファレンスは、android.support.v4.app などのフレームワーク参照で使用できるようになりました。

v4 サポート ライブラリの変更点:
  • ViewPager の変更点:
    • ViewPager の装飾ビューのサポートを追加しました。装飾ビューは、XML レイアウトのページャーの子ビューとして指定できます。
    • デフォルトでは各ページのタイトルは指定されないため、ページのタイトル文字列を提供するために PagerAdapter.getPageTitle() を追加しました。
    • ViewPager の子として追加できる非インタラクティブのタイトル ストリップとして PagerTitleStrip を追加しました。デベロッパーは、テキストの外観と色、レイアウトのサイズ、グラビティの情報を提供できます。
    • アダプター実装でのクラスのキャストを回避するため、View オブジェクトではなく ViewGroup オブジェクトを使用するように PagerAdapter メソッドを更新しました。
    • ランチャー スタイルのフリング動作を使用するように ViewPager を更新しました。
    • ユーザー インターフェースの操作とテストの自動化に関するバグを修正しました。
  • フラグメントのサポート:
    • setStartDeferred() メソッドを setUserVisibleHint(boolean) に変更しました。
    • オフスクリーン ページの遅延開始を追加してパフォーマンスを改善しました。
  • Accessibility API のサポート:
    • null の代わりに空のリストを返すように AccessibilityDelegateCompat メソッドを更新しました。
    • v4 サンプルで必要な新しい API を追加しました。

リビジョン 5

2011 年 12 月

v4 サポート ライブラリの変更点:

リビジョン 4

2011 年 10 月

v4 サポート ライブラリの変更点:
  • EdgeEffect をサポートするため EdgeEffectCompat を追加しました。
  • アプリケーションをグローバルにブロードキャストせずに、1 つのアプリケーションにインテントを簡単に登録して受信できるように LocalBroadcastManager を追加しました。
  • Android 2.3 以降で View のオーバースクロール モードを確認して設定する ViewCompat のサポートを追加しました。
  • Fragment API の変更点:
    • 新しいメニューの表示を制御するための新しい API を追加しました。
    • カスタム アニメーション API を追加しました。
    • 非構成インスタンスのカスタムデータを保持できるよう FragmentActivity に API を追加しました。
    • 各種バグを修正しました。
  • Froyo 以前のバージョンのプラットフォームで実行中に、AsyncTask のキャンセルで問題が発生する原因となる Loader のバグを修正しました。サポートコードでは、独自のバージョンの AsyncTask を使用してすべてのプラットフォーム バージョンで同じ動作を維持するようになりました。

リビジョン 3

2011 年 7 月

v4 サポート ライブラリの変更点:
  • Fragment.SavedState のサポートを追加しました。
  • 新しい MotionEvent API をサポートするため MotionEventCompat を追加しました。
  • 新しい VelocityTracker API をサポートするため VelocityTrackerCompat を追加しました。
  • 新しい ViewConfiguration API をサポートするため ViewConfigurationCompat を追加しました。
  • 水平方向のページングを使用して UI を作成し、ユーザーがコンテンツ ビュー間で左右にスワイプできるようにする、すべての新しい API(サポート ライブラリでのみ使用可能)。これをサポートするクラスには次のクラスがあります。
    • ViewPager: ユーザーがスワイプできる子ビューのレイアウトを管理する ViewGroup
    • PagerAdapter: ViewPager にそれぞれのページを表すビューを表示するアダプター。
    • FragmentPagerAdapter: フラグメント間で切り替えを行えるようにする PagerAdapter の拡張機能。
    • FragmentStatePagerAdapter: Fragment.SavedState に対するライブラリのサポートを使用して、フラグメント間で切り替えを行えるようにする PagerAdapter の拡張機能。
新しい v13 サポート ライブラリ:
  • 水平方向のページングをサポートする FragmentPagerAdapterFragmentStatePagerAdapter を含みます。

    これらは、v4 サポート ライブラリに追加された API とまったく同じですが、Android 3.2 の他のプラットフォーム コンポーネントに依存しています。Android 3.2 以降用に開発している場合は、v4 の代わりにこのライブラリを使用します。v4 ライブラリのその他の API はすべて API レベル 13 ですでに使用可能です。

リビジョン 2

2011 年 5 月

v4 ライブラリの変更点:

リビジョン 1

2011 年 3 月

v4 ライブラリの初回リリース。