この記事は プロダクト マネジメントおよび Android デベロッパー担当副社長、Matthew McCullough による Android Developer Blog の記事 " 14 Things to know for Android developers at Google I/O! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Google I/O 2023 では、Google が Google 全体で起きている重要な AI の革新をどのようにもたらしているかお知らせしました。このテクノロジーは Android デベロッパーの作業フローに役立つので、時間を短縮して、ユーザーのために新しい魅力的な体験を作ることに集中できるようになります。ユーザーは大画面やウェアラブルをはじめとして、さまざまな種類の画面をサポートすることを求めているので、時間短縮ツールがますます重要になっています。Google 基調講演とデベロッパー基調講演 (動画/英語 - 日本語字幕あり) では、Android でユーザーに優れた体験を提供するという皆さんのミッションをサポートするさまざまな方法を紹介しました(もちろん、Android 14 の最新ベータ版もお見せしました!)。ここでは、Android デベロッパーの世界で知っておくべき 14 の新しいことについて説明します。
AI の力を日々の生活に活用できるようにするという Google の幅広い取り組みの一環として、AI を活用した会話型エクスペリエンスである Studio Bot を Android Studio に導入します。(* 現時点では、まだ日本向けには未公開) コードの生成、コーディング エラーの修正などに役立つので、生産性を上げることができます。Studio Bot (英語) はまだかなり初期のバージョンであり、質問の答えをさらに改善し、ベスト プラクティスの学習に役立ててもらうための訓練を続けています。使ってみたい方は、Android Studio ブログを読み、最新バージョンの Android Studio をダウンロード (英語) して、ドキュメントをご確認ください (英語) 。
英語で Play ストアの掲載情報を作成する際に、Google のジェネレーティブ AI 技術を使えるようになりました。(*現時点では、英語のみ利用可能) Google Play Console で AI ヘルパーを開き、対象ユーザーや重要なテーマなどを入力するだけで、下書きを作成してくれます。この下書きは、編集することも、破棄することも、そのまま使用することもできます。内容は常に皆さんが確認できるので、審査に提出して Google Play で公開する内容は完全にコントロールできます。
Google は大画面に全力を注いでいます。Pixel には、2 つの新しい Android デバイスとして、Pixel Fold と Pixel Tablet が登場します。また、Android の大画面エコシステムで優れた外観を実現するため、50 以上の Google アプリと、世界中のデベロッパーのさまざまなアプリが最適化されています。このタイミングで、ぜひ対応しましょう。Android Studio Hedgehog カナリア版 3 での新しい Pixel Fold と Pixel Tablet エミュレータ構成や、マテリアル デザイン アップデート (英語) の拡大といったツールの改善、ゲームや創造性アプリのアイデアなどのガイドの改善が行われています。アプリを大画面向けに最適化する際の推奨事項と禁止事項を読み (英語) 、大画面や折りたたみ式を対象に高品質アプリを開発する方法についてのセッションを視聴 (動画/英語 - 日本語字幕あり) して、大画面デバイス向けの最適化を始めましょう。
Wear OS のアクティブ デバイス数は、Wear OS 3 のリリース以降、5 倍に増加しています。今こそ、スマートウォッチ向けに優れたアプリを作るべきときです。それをサポートするものとして、新しいウォッチフェイス形式 (英語) についてお知らせしました。これは Samsung と連携して開発した宣言型 XML 形式で、ウォッチフェイスのマーケットで優れたアイデアを実現する際に役立ちます。また、新しい API もリリースし、タイルでの高度なアニメーションや Wear OS 4 デベロッパー プレビューによる次世代プラットフォーム アップデートをサポートします。最新アップデートの詳細については、ブログを確認 (英語) し、セッションを視聴 (動画/英語 - 日本語字幕あり) してください。また、新しい Wear OS ギャラリー (英語) もご覧ください。
さらに多くのデベロッパーと連携して健康とフィットネス関連の独特なエクスペリエンスをユーザーに提供できるようにするため、ヘルスコネクト エコシステムの 50 以上のアプリと、ヘルスサービスが組み込まれた 100 以上のアプリにより、Android ヘルス関連のサービスを充実させています。この秋にはヘルスコネクトが Android 14 に導入されるので、デバイスの [設定] から、これまで以上に簡単にヘルスデータをアプリ間で直接共有できるようになります。I/O での発表の詳細は、こちらをお読みください (英語) 。使ってみたい方は、ヘルスサービスのドキュメント、ヘルスコネクトのドキュメント、コードサンプルをご覧ください。
自動車向けの作業も広がり続けています。今年は Android Auto が 2 億台の自動車で利用できるようになり、Google が搭載された自動車 (英語) の数は倍増する見込みです。既存の Android アプリを自動車に対応する作業や、動画やゲームなどのまったく新しいエクスペリエンスを自動車向けに開発する作業は、これまで以上に簡単になっています。始めたい方は、自動車向け Android の新機能に関するセッションとデベロッパー ブログ (英語) をご覧ください。
Android TV OS で最高のアプリ エコシステムを実現することに向けて、懸命な取り組みを続けています。Android TV OS で美しく機能的なアプリを開発するための最新 UI フレームワーク、TV 向け Compose についてお知らせします。詳細については、ブログ投稿 (英語) 、デベロッパー ガイド (英語) 、参考デザイン (英語) 、新しい Codelab (英語) 、サンプルコードをご覧ください。また、TV 向け Compose を皆さんのニーズに合わせることができるように、引き続きフィードバックもお送りください。
おなじみの Android 開発パスで、これまで以上に簡単に Google アシスタント連携機能を構築できるようになっています。新しいアプリ アクション テスト ライブラリと Android Studio の Google アシスタント プラグイン(Wear と Auto にも対応)を使えば、簡単にコードを作成し、ユーザー エクスペリエンスをエミュレーションしてユーザーの期待を予測し、Android の主デバイスや補助デバイスにアプリ アクション連携機能をデプロイできます。使ってみたい方は、Android 開発ツールの新機能 (動画/英語 - 日本語字幕あり) セッションと、デベロッパー ドキュメントをご確認ください。
Android コミュニティでは、Android 開発の最新 UI ツールキットである Jetpack Compose の採用数が着実に増加しています。Google Play のトップ 1,000 アプリのうち 24% が Jetpack Compose を使っており、この数は昨年の倍に当たります。さらに多くのサーフェスに Compose を導入するための作業は続いており、TV 向け Compose はアルファ版に、Glance によるホーム画面ウィジェットは現在ベータ版になっています。Google I/O でのお知らせの詳細を確認 (英語) し、Compose を使ってさまざまな画面の UI を開発してみてください。
私たちの開発プラットフォームの中核を成すのが Kotlin プログラミング言語です。Android アプリの Kotlin サポートはますます拡大します。JetBrains と連携して新しい K2 コンパイラを開発し、Android Studio、Android Lint、KSP、Compose などのツールとの連携機能の開発も積極的に進めています。また、Google の大規模な Kotlin コードベースを使って新しいコンパイラとの互換性を検証しています。現在は、Kotlin DSL を使ったビルド スクリプトが推奨となっています。詳細は、Android 向けの Kotlin の新機能に関するセッション (動画/英語 - 日本語字幕あり) をご覧ください。
Android Studio の App Quality Insights を使うと、Firebase Crashlytics の問題レポートに IDE から直接アクセスできます。クリック 1 回でスタック トレースやコードを移動したり、フィルタを使って特に重要な問題のみを表示したり、問題の再現に役立つ詳細レポートを確認したりできます。最新版の Android Studio では、Android Vitals の重要なクラッシュ レポートを確認できるようになります。アプリに SDK やインストルメンテーションを追加する必要はありません。Android Studio のお気に入りの機能のアップデートの詳細については、Android Studio Hedgehog をご覧ください。
ユーザー数と収益を増加する新しい方法など、Google Play の最新情報を確認しましょう。活発でないユーザーなど、細かいユーザー セグメントごとにカスタムのストアの掲載情報を作成できるようになっています。近日中には、特定の Google 広告キャンペーンからのトラフィックにも対応できるようになります。新しい掲載情報グループも利用できるので、複数の掲載情報を簡単に作成したり管理したりできます。アプリ内アイテムの価格を試したり、課金期間ごとに複数の価格を提示できる新しい定期購入機能を活用したりして、収益化戦略を最適化しましょう。以上の最新情報の詳細は、ブログ投稿 (英語) をご覧ください。
新しい Android UI デザインハブ (英語) を確認し、さまざまなフォーム ファクタで魅力的な UI を簡単に構築しましょう。デザインハブは Android でユーザー フレンドリーなインターフェースを作成する方法について包括的に説明したリソースで、ポイント、サンプル、推奨事項と禁止事項、figma スターター キット、UI コードサンプル、アイデア ギャラリーなどが含まれています。
リリースされたばかりの Android 14 ベータ版 2 では、カメラとメディア、プライバシーとセキュリティ、システム UI、デベロッパーの生産性に関するプラットフォーム機能強化が行われています。ヘルスコネクト、Ultra HDR イメージ、予測型「戻る」、ML など、期待の新機能と変更点が満載です。ML Kit で顔メッシュやドキュメント スキャナなどの新しい API がリリースされ、カスタム ML スタックのアクセラレーション サービスが公開ベータ版になっているので、スムーズで低遅延なユーザー エクスペリエンスを提供できます。ベータ版 2 の詳細を学習し、サポート対象のデバイスにベータ版をダウンロードして使ってみてください。エミュレータでアプリをテストすることもできます。
ここで紹介したのは、Android が皆さんをサポートする新しい方法のごく一部でしかありません。Google I/O の Android トラックを忘れずに確認しましょう。Android アプリでパスキーをサポートしてパスワードへの依存を減らす方法や、Android の未来を見据えた開発 (動画/英語 - 日本語字幕あり) など、お勧めのセッションが開催されます。アクティビティの埋め込みについての新しい学習パスウェイ (英語) も公開されているので、タブレット、折りたたみ式、ChromeOS デバイスでアプリを差別化することができます。オンラインで参加する方も、世界中で開催されるいずれかのイベントに直接参加する方も、ぜひすばらしい Google I/O をお楽しみください。提供されたアップデートを使って、皆さんが作成する優れたエクスペリエンスを見るのが楽しみです!
Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play
この記事は Google Play、プロダクト マネージャー、Phalene Gowling による Android Developer Blog の記事 " Price in-app products with confidence by running price experiments in Play Console " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
今年の Google I/O では、Play Commerce で収益を拡大する (動画/英語 - 日本語字幕あり) についてのセッションで、最新の収益化ツールについて取り上げました。このツールは価格戦略の最適化に特化しており、Google Play に深く組み込まれています。アイテムやコンテンツの適正な価格設定はユーザーの生涯価値を向上するための基本であり、新しい購入者の獲得、コンバージョンの改善、再注文の増加にもつながります。これによって販売が成功するか、法外な価格設定になるかが決まってしまうかもしれません。場合によっては、価格設定によってアイテムの価値が損なわれたり、重要な販売機会が失われたりすることもあるかもしれません。
そこで、自信をもって価格を設定できるように、Google Play Console にアプリ内アイテムの価格テスト (英語) を導入します。この機能を使うと、大規模に価格をテストし、地域の購買力に合わせて価格を最適化できます。価格テストは今後数週間のうちにリリースされます。以下では、新ツールの詳細と、公開されたこの機能をフル活用する方法について説明します。
価格テストは Google Play Console の新しい専用セクションから簡単に実行できるようになります。このセクションは、[Monetize] > [Products] > [Price experiments] にあります。最初に、テストしたいアプリ内アイテム、マーケット、価格を決める必要があります。直感的なインターフェースでは、対象ユーザー、信頼レベル、感度を指定して実験の設定を微調整することもできます。実験が統計的に有意な状態に到達すると、選択したアイテムに対して、ツール内で勝者の価格を簡単に適用できます。すると、実験対象のマーケットとアイテムで、新しいデフォルトの価格が自動的に設定されます。必要な場合は、統計的に有意な状態に到達する前であっても、柔軟に実験を中止できます。
テストの内容と方法は完全にコントロールできるので、別々にテストを管理したり、外部ツールを使ったりする負荷をすべて省くことができます。いずれもコードは一切変更する必要はありません。
さっそく今から準備を始め、最初にどのような種類の価格テストをしてみたいかを考えておきましょう。指標に基づいたインスピレーションを得るために、ゲーム デベロッパーは戦略的ガイダンスをご覧ください。購入者のコンバージョンを実現するために、各国固有のチャンスを確認できます。または、Google Play アカデミー (英語) の新しいコースを受講して、アプリ内アイテムで効果的な価格テストをするための専門知識を身につけましょう。価格テスト (英語) は、今後数週間のうちにロールアウトされます。
この記事は Google Play、プロダクト マネージャー、Chang Liu と Lidia Gaymond による Android Developers Blog の記事 " Reduce uninstalls for your app with auto-archive " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
ユーザーがアプリをアンインストールする主な理由の 1 つが容量を空けるためであることはご存知でしたか?現在、容量が足りなくなりそうになったデバイスに新しいアプリをインストールしようとするユーザーには、手動でアプリをアンインストールして容量を空けることができるダイアログが表示されます。ただし、ユーザーのすべてのアプリデータを含め、アプリ全体をアンインストールする必要はない場合もあります。
そこで、不必要なアンインストールを減らしつつ、新しいアプリをインストールできるようにするため、自動アーカイブという新機能を導入します。ユーザーが自動アーカイブをオプトインすると、アプリの保存容量の 60% 近くを自動的に解放できます。アプリやユーザーのデータがデバイスから消えることはありません。
自動アーカイブは、アプリを完全にアンインストールすることなくデバイスの領域を解放できる新機能です。ユーザーがオプトインすると、あまり利用されないアプリが部分的にデバイスから削除され、領域が解放されます。ただし、アプリアイコンとユーザー個人のアプリデータは保持されます。もう一度アプリを使いたい場合は、タップするだけで再ダウンロードされ、前回の続きから継続できます。(アプリが Google Play で公開されている必要があります)
自動アーカイブが利用できるのは、App Bundle を使ってアプリを公開しているデベロッパーに限られます。アーカイブをサポートするアプリは、アンインストールの提案に表示される確率が低くなるはずです。
ユーザーは、数ステップで自動アーカイブをオプトインできます。
デバイスの容量が足りない状態で新しいアプリをインストールしようとする。
自動アーカイブを有効化するかどうかを尋ねるポップアップ ウィンドウが表示される。
オプトインすると、デバイスの未使用アプリが自動アーカイブされ、新しいアプリのインストールに必要な容量が解放される。
自動アーカイブを使うと、ユーザーは簡単にデバイスのストレージを管理できます。デベロッパーにとっては、アプリのアンインストール率を下げる優れた方法です。
この記事は Jon Eckenrode による Android Developers Blog の記事 " What’s new in WindowManager 1.1.0-beta01 " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Jetpack WindowManager の 1.1.0-beta01 リリースでは、バージョン 1.1.0 の安定版に向けた作業が着々と進んでいます。今回のベータ版にはさまざまな新機能を追加しており、さっそく2023 年 4 月 3 日よりテストや早期利用ができるようになりました。
WindowManager が最適に動作するには、皆さんのフィードバックが必要です。アプリに 1.1.0-beta01 への依存関係を追加し、(すでにこのライブラリ以前のバージョンを使っている場合は)後述する移行手順に従ってください。そして、ぜひ感想をお聞かせください!
androidx.window.embedding
アクティビティの埋め込みを使うと、マルチアクティビティ アプリを大画面向けに最適化できます。1.1.0-beta01 リリースでは、API の拡張とリファクタリングが行われているので、タスク ウィンドウの分割を管理する際の柔軟性、機能、制御が向上しています。この機能は 1.0.0 で試験運用版 API として始まりましたが、最終的に 1.1.0 で安定版となります。
マニフェスト設定を追加して、アプリがアクティビティの埋め込みを実装していることをシステムに通知できるようにしました。分割プロパティに注目しやすくするため、SplitController をリファクタリングしました。分割ルール API を RuleController に、アクティビティ埋め込み API を ActivityEmbeddingController に抽出しました。埋め込み要素の分割属性を記述する SplitAttributes クラスを追加しました。アクティビティ埋め込みルールを適用する最低比率を設定する EmbeddingAspectRatio クラスを追加しました。ピクセルの単位をディスプレイ非依存ピクセル(dp)に変更しました。分割レイアウトをカスタマイズできるようにしました。デベロッパーがルールを識別、管理しやすくするために、ルールにタグを追加しました。
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED
boolean 型のプロパティとして、アプリ マニフェストの <application> タグに追加しました。
ActivityEmbeddingController
Activity クラスや ActivityStack クラスに関連するオペレーションに使うクラスを追加しました。
SplitController の API に代わるものとして、isActivityEmbedded() を含めています。
RuleController
EmbeddingRule クラスとそのサブクラスに関連するオペレーションに使うクラスを追加しました。
SplitController の API に代わるものとして、以下の API を含めています。
addRule() — ルールを追加するか、同じタグのルールを更新します。
removeRule() — 登録されているルールのコレクションからルールを削除します。
setRules() — ルールのコレクションを設定します。
clearRules() — 登録されているすべてのルールを削除します。
parseRules() — XML のルール定義からルールを解析します。
SplitAttributes
分割レイアウトを定義するクラスを追加しました。
EmbeddingAspectRatio
ディスプレイのアスペクト比に関連する列挙型に似た動作定数を定義するクラスを追加しました。どの場合に分割を有効化するかを、親ウィンドウのアスペクト比に基づいて指定できます。
この定数を使うプロパティについては、SplitRule をご覧ください。
EmbeddingRule
分割ルールを識別するためのタグ項目を追加しました。
SplitController
API をリファクタリングし、次のモジュールに分割しました。
isActivityEmbedded() を ActivityEmbeddingController に移動しました。
次の API を削除し、その機能を RuleController API で置き換えました。
clearRegisteredRules()
getSplitRules()
initialize()
registerRule()
unregisterRule()
isSplitSupported() メソッドを非推奨とし、splitSupportStatus プロパティで置き換えました。これにより、分割機能が利用できない理由について、さらに詳しい情報を提供できるようになります。
getInstance() メソッドに Context パラメータが追加されました。 注 : ActivityEmbeddingController と RuleController の getInstance() メソッドにも、Context パラメータが追加されています。
分割レイアウトをカスタマイズするための SplitAttributes の計算関数を追加しました。
setSplitAttributesCalculator()
clearSplitAttributesCalculator()
isSplitAttributesCalculatorSupported() は、デバイスで SplitAttributesCalculator API がサポートされているかを確認します。
splitSupportStatus プロパティで使う状態定数を提供するために、SplitSupportStatus ネストクラスを定義しました。現在のアプリ環境でアクティビティ埋め込みの分割がサポートされているかどうかに応じて、アプリの動作を変えることができるようになります。
SplitRule
分割のデフォルト レイアウトを定義する defaultSplitAttributes プロパティを追加しました。これは splitRatio と layoutDirection に代わるものとなります。
XML プロパティ splitRatio と splitLayoutDirection が defaultSplitAttributes に変換されるようにしました。
最低の長さの定義に、ピクセルではなく密度非依存ピクセル (dp) を使うように変更しました。
minWidth を minWidthDp に変更し、デフォルト値を 600dp としました。
minSmallestWidth を minSmallestWidthDp に変更し、デフォルト値を 600dp としました。
minHeightDp プロパティを追加し、デフォルト値を 600dp としました。
maxAspectRatioInHorizontal を追加し、デフォルト値を ALWAYS_ALLOW としました。
maxAspectRatioInPortrait を追加し、デフォルト値を 1.4 としました。
完了動作定数に代わる FinishBehavior ネストクラスを定義しました。
このプロパティの変更を、SplitPairRule と SplitPlaceholderRule の Builder ネストクラスに適用しました。
SplitInfo
getSplitRatio() を getSplitAttributes() で置き換え、分割関連の追加情報を提供できるようにしました。
androidx.window.layout
ウィンドウ レイアウト ライブラリを使うと、アプリのディスプレイ ウィンドウの特性を決定できます。1.1.0-beta01 リリースでは、アクティビティ以外のコンテキストを扱えるようになります。
WindowInfoTracker
試験運用版として、アクティビティ以外の UI コンテキストに対応しました。
WindowMetricsCalculator
アクティビティ以外の UI コンテキストに対応しました。
以下の手順を実行し、アプリを以前のアルファ版からアップグレードしてください。アップグレード プロセスをさらに簡単にする方法についてアイデアがある方は、ぜひお知らせください。
アクティビティの埋め込みを有効にするには、次のようにしてこのプロパティをアプリ マニフェストの <application> タグに追加する必要があります。
< property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />
このプロパティを true に設定すると、システムは早い段階でアプリの分割動作を最適化します。
現在の分割がスタックに登録されているかどうかを確認します。
SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType
現在の比率を確認します。
if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // 他のタイプの場合、ratio には意味がない。 }
SplitController.getInstance()
次のように変更します。
SplitController.getInstance(Context)
SplitController.initialize(Context, @ResId int)
RuleController.getInstance(Context) .setRules(RuleController.parse(Context, @ResId int))
SplitController.getInstance().isActivityEmbedded(Activity)
ActivityEmbeddingController.getInstance(Context) .isActivityEmbedded(Activity)
SplitController.getInstance().registerRule(rule)
RuleController.getInstance(Context).addRule(rule)
SplitController.getInstance().unregisterRule(rule)
RuleController.getInstance(Context).removeRule(rule)
SplitController.getInstance().clearRegisteredRules()
RuleController.getInstance(Context).clearRules()
SplitController.getInstance().getSplitRules()
RuleController.getInstance(Context).getRules()
minWidth を minWidthDp に、minSmallestWidth を minSmallestWidthDp に変更します。
minWidthDp と minSmallestWidthDp の単位に、ピクセルではなく dp を使うようにします。
アプリでは、次のようにして呼び出すことができます。
TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )
または、単純に minWithInPixels を displayMetrics#density で割ります。
SplitPairRule.Builder
SplitPairRule.Builder( filters, minWidth, minSmallestWidth )
SplitPairRule.Builder(filters) // minWidthInDp 引数が 600 の場合は省略可能。 .setMinWidthDp(minWidthInDp) // minSmallestWidthInDp 引数が 600 の場合は省略可能。 .setMinSmallestWidthDp(minSmallestWidthInDp)
setLayoutDirection(layoutDirection) and setSplitRatio(ratio)
setDefaultSplitAttributes(SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )
setFinishPrimaryWithSecondary と setFinishSecondaryWithPrimary は、列挙型に似た FinishBehavior 定数を受け取るようになります。
SplitRule の移行の詳細をご覧ください。
次のようにすると、
setMaxAspectRatioInPortrait( EmbeddingAspectRatio.ALWAYS_ALLOW )
縦向きのデバイスで分割表示できます。
SplitPlaceholder.Builder
パラメータは filters と placeholderIntent のみとなります。その他のプロパティはセッターに移動します。
SplitPairRule.Builder の移行の詳細をご覧ください。
setFinishPrimaryWithPlaceholder は、列挙型に似た FinishBehavior 定数を受け取るようになります。
完了動作の移行の詳細をご覧ください。
setLayoutDirection(layoutDirection) と setSplitRatio(ratio)
レイアウトの方向の移行の詳細をご覧ください。
完了動作定数は、FinishBehavior の列挙型に似たクラス定数に移行する必要があります。
FINISH_NEVER を FinishBehavior.NEVER に変更
FINISH_ALWAYS を FinishBehavior.ALWAYS に変更
FINISH_ADJACENT を FinishBehavior.ADJACENT に変更
レイアウトの方向は、SplitAttributes.LayoutDirection に移行する必要があります。
ltr を SplitAttributes.LayoutDirection.LEFT_TO_RIGHT に変更
rtl を SplitAttributes.LayoutDirection.RIGHT_TO_LEFT に変更
locale を SplitAttributes.LayoutDirection.LOCALE に変更
splitRatio を SplitAttributes.SplitType.ratio(splitRatio) に変更
WindowManager を使ってみるには、次のようにしてアプリの settings.gradle か、プロジェクト レベルの build.gradle ファイルに Google Maven リポジトリを追加します。
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
}
その後、次のようにアプリのモジュール レベルの build.gradle ファイルに 1.1.0-beta01 への依存関係を追加します。
dependencies {
implementation 'androidx.window:window:1.1.0-beta01'
. . .
それでは、コーディングをお楽しみください。