แสดงตัวอย่างการ์ด Wear OS ใน Android Studio

ใน Android Studio Koala Feature Drop คุณสามารถดูสแนปชอตของฟีเจอร์ การ์ดของแอป Wear OS แผงนี้จะเป็นประโยชน์อย่างยิ่งหากลักษณะที่ปรากฏของการ์ดของคุณ เปลี่ยนแปลงตามเงื่อนไขต่างๆ เช่น เนื้อหาแตกต่างกันไปตาม ขนาดการแสดงผลของอุปกรณ์ หรือกิจกรรมกีฬาถึงช่วงพักครึ่ง

วันที่ ชื่อกลุ่มในแผงดูตัวอย่างตรงกับชื่อกลุ่มที่ระบุใน
    ดูตัวอย่างคำอธิบายประกอบ
แผงแสดงตัวอย่างการ์ดใน Android Studio

เพิ่มทรัพยากร Dependency

รวมทรัพยากร Dependency ต่อไปนี้ไว้ใน build.gradle.kts หรือ ไฟล์ build.gradle:

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

กำหนดค่าการแสดงตัวอย่างการ์ด

วิธีดูตัวอย่างลักษณะที่ปรากฏของการ์ดในจอแสดงผล Wear OS ที่ต่างกัน ให้เพิ่มคำอธิบายประกอบ @Preview แล้วส่งในพารามิเตอร์ device หมายเหตุ ว่าคำอธิบายประกอบ @Preview นี้มาจากแพ็กเกจอื่นที่ไม่ใช่แพ็กเกจของคุณ ใช้สำหรับตัวอย่างที่เขียนได้ด้วย Compose

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 คุณจะต้องลงทะเบียนทรัพยากรเหล่านั้นภายใน พารามิเตอร์ onTileResourceRequest ของ TilePreviewData ดังที่แสดงใน ข้อมูลโค้ดต่อไปนี้

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

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

แสดงค่าเฉพาะจากแหล่งข้อมูลแพลตฟอร์ม

หากไทล์ของคุณใช้ข้อมูลแพลตฟอร์ม เช่น อัตราการเต้นของหัวใจ แคลอรี ระยะทาง และ ขั้นตอน — ไทล์จะแสดงค่าเริ่มต้น

หากต้องการแสดงค่าที่เจาะจง ให้ตั้งค่าพารามิเตอร์ platformDataValues เมื่อสร้าง ออบเจ็กต์ TilePreviewData ดังที่แสดงในข้อมูลโค้ดต่อไปนี้

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