アプリのタイルは、あらゆるサイズの Wear OS デバイスで適切に動作し、利用可能な追加のスペースを活用しつつ、小さな画面でも見栄えがよくなるようにする必要があります。このガイドでは、このユーザー エクスペリエンスを実現するための推奨事項について説明します。
アダプティブ レイアウトの設計原則について詳しくは、設計ガイダンスをご覧ください。
ブレークポイントを使用して差別化されたエクスペリエンスを提供する
ProtoLayout Material ライブラリのレイアウトはレスポンシブで、要素の正しい配置と可視性を処理します。ただし、最適な結果を得るために、表示する要素の数を変更したい場合もあります。たとえば、小さいディスプレイには 3 つのボタン、大きいディスプレイには 5 つのボタンを表示したいとします。
このような差別化されたエクスペリエンスを実装するには、画面サイズのブレークポイントを使用します。画面サイズが 225 dp を超える場合に別のレイアウトを表示するには:
materialScope(this, requestParams.deviceConfiguration) { // ... val isLargeScreen = deviceConfiguration.screenWidthDp >= 225 primaryLayout( mainSlot = { buttonGroup { buttonGroupItem { button1 } buttonGroupItem { button2 } buttonGroupItem { button3 } if (isLargeScreen) { buttonGroupItem { button4 } buttonGroupItem { button5 } } } } ) }
設計ガイダンスでは、その他の機会について説明しています。
プレビューを使用してさまざまな画面サイズのタイルをテストする
さまざまな画面サイズでレイアウトをテストすることが重要です。TilePreviewHelper
クラスと TilePreviewData
クラスとともに、タイル プレビュー アノテーションを使用します。
@Preview(device = WearDevices.LARGE_ROUND) fun smallPreview(context: Context) = TilePreviewData { TilePreviewHelper.singleTimelineEntryTileBuilder( materialScope(context, it.deviceConfiguration) { myAdaptiveLayout() // varies the layout depending on the size of the screen } ) .build() }
これにより、Android Studio 内でタイル レイアウトを直接プレビューできます。
完全な例については、GitHub のタイマー タイルのサンプルをご覧ください。