Android Studio で Wear OS のタイルをプレビューする

Android Studio Koala Feature Drop 以降では、アプリの Wear OS アプリのタイルこのパネルが特に役立つのは、タイルの外観が たとえば、環境によってコンテンツが変わるなど、 デバイスのディスプレイ サイズ、またはスポーツ イベントがハーフタイムに近づいている。

プレビュー パネルのグループ名は、
    プレビュー アノテーション
Android Studio のタイル プレビュー パネル

依存関係を追加する

アプリの build.gradle.kts に次の依存関係を含めるか、 build.gradle ファイル:

dependencies {
    implementation("androidx.wear.tiles:tiles-tooling-preview:1.4.0")
    debugImplementation("androidx.wear.tiles:tiles-tooling:1.4.0")
    implementation("androidx.wear:wear-tooling-preview:1.0.0")
}

タイルのプレビューの設定

さまざまな Wear OS ディスプレイでタイルの外観のプレビューを確認するには @Preview アノテーションを追加して、device パラメータを渡します。備考 この @Preview アノテーションが、作成したパッケージとは異なるパッケージのものである コンポーザブルのプレビューに使用します。

import androidx.wear.tiles.tooling.preview.Preview

@Preview(device = WearDevices.SMALL_ROUND)
@Preview(device = WearDevices.LARGE_ROUND)
fun tilePreview(context: Context) = TilePreviewData(
    onTileRequest = { request ->
        TilePreviewHelper.singleTimelineEntryTileBuilder(
            buildMyTileLayout()
        ).build()
    }
)

リソースの追加と登録

タイルで Android リソースを使用している場合は、 次に示すように、TilePreviewDataonTileResourceRequest パラメータ 次のコード スニペット:

import androidx.wear.tiles.tooling.preview.Preview

@Preview(device = WearDevices.SMALL_ROUND)
fun previewWithResources(context: Context) = TilePreviewData(
    onTileResourceRequest = { request ->
        Resources.Builder()
            .setVersion(myResourcesVersion)
            .addIdToImageMapping(
                    myImageId, getImageById(R.drawable.myDrawableImageId))
            .build()
    },
    onTileRequest = { request ->
        TilePreviewHelper.singleTimelineEntryTileBuilder(
            buildMyTileLayout()
        ).build()
    }
)

fun getImageById(
    @DrawableRes id: Int,
): ImageResource =
    ImageResource.Builder()
        .setAndroidResourceByResId(
            AndroidImageResourceByResId.Builder()
                .setResourceId(id)
                .build(),
        )
        .build()

プラットフォーム データソースの特定の値を表示

タイルが心拍数、カロリー、距離、心拍数などのプラットフォーム データを使用している場合、 歩数 - タイルにそれらのデフォルト値が表示されます。

特定の値を表示するには、次のコード スニペットに示すように、TilePreviewData オブジェクトを作成するときに platformDataValues パラメータを設定します。

import androidx.wear.tiles.tooling.preview.Preview

@Preview(device = WearDevices.SMALL_ROUND)
fun previewWithPlatformOverride(context: Context) = TilePreviewData(
    platformDataValues = PlatformDataValues.of(
        PlatformHealthSources.Keys.HEART_RATE_BPM,
        DynamicDataBuilders.DynamicDataValue.fromFloat(160f)
    ),
    onTileRequest = { request ->
        TilePreviewHelper.singleTimelineEntryTileBuilder(
            buildMyTileLayout()
        ).build()
    }
)