Jetpack WindowManager 1.5.0 が安定版になりました。
今回のリリースでは、WindowManager の適応性の高い基盤をさらに強化し、あらゆる画面サイズで美しく表示される洗練されたアダプティブ UI を簡単に作成できるようになりました。Android エコシステムが成長を続ける中、ユーザーはスマートフォンや折りたたみ式デバイスからタブレット、接続されたディスプレイ、Chromebook、駐車モードの車載ディスプレイまで、これまで以上に多様なデバイスでアプリを利用しています。
WindowManager 1.5 は、このような多様なデバイス環境に対応するための優れたツールを提供することに重点を置いています。
WindowManager 1.5 の新機能
今回の安定版リリースでは、非常に大きな画面に対応する新しいブレークポイントが導入され、アクティビティ埋め込み API が強化され、ウィンドウ指標の計算の柔軟性が向上しています。
新しいウィンドウ サイズクラス: 大と特大
1.5 の最大のアップデートは、2 つの新しい幅のウィンドウ サイズクラス(大と特大)の追加です。
ウィンドウ サイズクラスは、アダプティブ レイアウトの設計と開発に役立つ、Google の公式な独自のビューポート ブレークポイントのセットです。1.5 では、一般的なタブレットを超える画面に対応するガイダンスが拡張されています。
新しい幅のブレークポイントは次のとおりです。
- 大: 幅が 1200dp ~ 1600dp の場合
- 特大: 幅が 1600dp 以上の場合
ディスプレイの幅に基づくさまざまなウィンドウ サイズクラス。
これらの重要性
Android 16 QPR1 Beta 2 以降、Android は接続されたディスプレイをサポートしています。これにより、ユーザーは外部ディスプレイをデバイスに接続して、大画面のデスクトップのようなツールとして使用できます。
外部ディスプレイに接続されたスマートフォン。外部ディスプレイにデスクトップ セッションが表示されています。
この新機能が利用可能になったことで、より大きなディスプレイに対応するための独自のガイダンスが不可欠になります。
このような非常に大きな画面では、タブレットの拡大レイアウトを単純に拡大するだけでは、必ずしも最適なユーザー エクスペリエンスが得られるとは限りません。たとえば、メール クライアントでは、拡大ウィンドウ サイズクラスで 2 つのペイン(メールボックスとメッセージ)を快適に表示できます。しかし、特大のデスクトップ モニターでは、メール クライアントで3 つまたは 4 つのペイン (メールボックス、メッセージ リスト、メッセージの全内容、カレンダー/タスクパネルなど)を同時に表示できます。
WindowManager 1.5 では、非常に大きなディスプレイ サイズに対応する公式のブレークポイントが提供されるため、生産性の高い情報密度の高いデスクトップ エクスペリエンス向けに特別に設計されたレイアウトを導入するための明確なシグナルが得られます。
ウィンドウ サイズクラスは、computeWindowSizeClass() を使用して計算できます。これは、androidx.window.core.layout ライブラリ拡張関数で、Set<WindowSizeClass> 型を拡張します。
新しいウィンドウ サイズクラスをプロジェクトに含めるには、WindowSizeClass.BREAKPOINTS_V2 セットから関数を呼び出すだけです。WindowSizeClass.BREAKPOINTS_V1
val currentWindowMetrics = WindowMetricsCalculator.getOrCreate() .computeCurrentWindowMetrics(LocalContext.current) val sizeClass = WindowSizeClass.BREAKPOINTS_V2 .computeWindowSizeClass(currentWindowMetrics)
アプリに十分なスペースがあることを確認したら、適切なレイアウトを適用します。
if(sizeClass.isWidthAtLeastBreakpoint(
WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){
...
// window is at least 1200 dp wide
}アダプティブ ライブラリ
Compose Material 3 アダプティブ ライブラリを使用すると、ウィンドウ サイズクラスやデバイスの姿勢など、現在のウィンドウ構成に応じて自動的に適応するアダプティブ UI を作成できます。
このライブラリは、新しいブレークポイントに対応しています。バージョン 1.2(現在リリース候補段階)以降、デフォルトのペイン スキャフォールド ディレクティブ関数は、大と特大のウィンドウ幅サイズクラスをサポートしています。
新しいブレークポイントを使用するには、Gradle ビルドファイルで宣言するだけで済みます。
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
その他の改善点
- アクティビティ埋め込み - 自動保存と復元: WindowManager で、アクティビティ埋め込み分割の状態を自動的に保存して復元できるようになりました。これにより、プロセス再作成時にユーザーのレイアウトが保持され、より安定した一貫性のあるエクスペリエンスが実現します。デベロッパーは状態を手動で保存して復元する必要がなくなり、EmbeddingConfiguration#isAutoSaveEmbeddingState プロパティを設定するだけで自動的に保存して復元できます。
- 拡張された WindowMetrics: Activity コンテキストだけでなく、Application コンテキストからも WindowMetrics を計算できるようになりました。これにより、アプリのさまざまな部分からウィンドウ情報にアクセスする際の柔軟性が向上します。
ご利用方法
Android プロジェクトで新しい大と特大のサイズクラスやその他の 1.5 機能の使用を開始するには、build.gradle.kts でアプリの依存関係を最新の安定版に更新します。
dependencies {
implementation("androidx.window:window:1.5.0")
// or, if you're using the WindowManager testing library:
testImplementation("androidx.window:window-testing:1.5.0")
}WindowManager 1.5 は、Android フォーム ファクタ全体で実行される 完全なアダプティブ アプリを作成するためのもう 1 つのステップです。変更点とバグ修正の完全なリストについては、公式のリリースノートをご覧ください。
ぜひコーディングにお役立てください。
-
プロダクト ニュースAndroid でモバイル コンピューティングとデスクトップ コンピューティングをより緊密に統合するうえで重要なマイルストーンとして、Android 16 QPR3 リリースで接続されたディスプレイのサポートが一般提供されるようになりました。
Francesco Romano • 所要時間: 7 分 -
プロダクト ニュースGoogle Play では、安全なオンライン エクスペリエンスを提供し、ユーザーを危害から保護することを最優先事項としています。
Paul Feng • 所要時間: 2 分 -
2026 年 7 月 28 日2026 年 7 月 28 日
プロダクト ニュース本日、Jetpack Compose 1.0 のリリースから 5 年を迎えました。2021 年 7 月 28 日に発表されたバージョン 1.0 から最新の 1.11 リリースまで、API は長年にわたって大幅に進化してきました。この節目を祝いたいと思います。
Rebecca Franks, Nick Butcher, Loryn Hairston • 所要時間: 5 分
Android デベロッパー向けの最新のインサイトを毎週メールでお届けします。