Wear OS-Kacheln in Android Studio als Vorschau ansehen

Ab dem Feature Drop in Android Studio Koala kannst du dir Momentaufnahmen der Kacheln deiner Wear OS-App ansehen. Dieses Steuerfeld ist besonders nützlich, wenn sich das Aussehen der Kachel aufgrund von Bedingungen ändert, z. B. wenn unterschiedliche Inhalte je nach Displaygröße des Geräts oder wenn bei einem Sportereignis die Halbzeit erreicht wird.

Die Gruppennamen im Vorschaubereich stimmen mit dem Gruppennamen in der Vorschauanmerkung überein.
Vorschaubereich für Ansichten in Android Studio

Abhängigkeiten hinzufügen

Fügen Sie der Datei build.gradle.kts oder build.gradle Ihrer App die folgenden Abhängigkeiten hinzu:

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

Kachelvorschauen konfigurieren

Wenn du eine Vorschau der Darstellung deiner Kacheln in verschiedenen Wear OS-Displaygrößen sehen möchtest, füge die Annotation @Preview hinzu und übergib den Parameter device. Hinweis: Diese @Preview-Anmerkung stammt aus einem anderen Paket als das, das Sie für zusammensetzbare Vorschauen verwenden.

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()
    }
)

Ressourcen hinzufügen und registrieren

Wenn deine Kachel Android-Ressourcen verwendet, musst du sie im Parameter onTileResourceRequest von TilePreviewData registrieren, wie im folgenden Code-Snippet gezeigt:

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()

Bestimmte Werte aus Plattformdatenquellen anzeigen

Wenn für Ihre Kachel Plattformdaten wie Herzfrequenz, Kalorien, Strecke und Schritte verwendet werden, werden für diese Daten Standardwerte angezeigt.

Wenn Sie einen bestimmten Wert anzeigen möchten, legen Sie den Parameter platformDataValues beim Erstellen des TilePreviewData-Objekts fest, wie im folgenden Code-Snippet gezeigt:

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()
    }
)