Android Studio'da Wear OS karolarını önizleme

Android Studio Koala Özellik lansmanından başlayarak, Wear OS uygulamasının kartları. Bu panel, özellikle karonuzun görünümü duruma göre değişen, koşullara göre değişen içerikler, veya devre yarısına ulaşan bir spor etkinliğinin olduğunu fark edebilirsiniz.

Önizleme panelindeki grup adları,
    ek açıklama önizlemesi
Android Studio'da kart önizleme paneli

Bağımlılıkları ekleme

Aşağıdaki bağımlılıkları uygulamanızın build.gradle.kts veya build.gradle dosyası:

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

Döşeme önizlemelerini yapılandırma

Farklı Wear OS ekranlarında karonuzun görünümünün önizlemesini görmek için ebatlarını, @Preview ek açıklamasını ekleyin ve device parametresini iletin. Not Bu @Preview ek açıklaması, paketten farklı bir pakete ait oluşturulabilir önizlemeler için kullanılır.

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

Kaynak ekleme ve kaydetme

Kutunuz Android kaynaklarını kullanıyorsa bunları Şu şekilde gösterildiği gibi, TilePreviewData için onTileResourceRequest parametresi: şu kod snippet'ini kullanabilirsiniz:

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

Platform veri kaynaklarından alınan belirli değerleri göster

Kutunuz nabız, kalori, mesafe ve gibi platform verilerini kullanıyorsa adımları uygulayın: Kutuda, bunların varsayılan değerleri gösterilir.

Belirli bir değeri göstermek için, oluştururken platformDataValues parametresini ayarlayın TilePreviewData nesnesini aşağıdaki kod snippet'inde gösterildiği gibi:

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