Xem trước thẻ thông tin Wear OS trong Android Studio

Kể từ Bản cập nhật tính năng Koala của Android Studio, bạn có thể xem ảnh chụp nhanh về các thẻ thông tin của ứng dụng Wear OS. Bảng điều khiển này đặc biệt hữu ích nếu giao diện của thẻ thông tin thay đổi theo các điều kiện, chẳng hạn như nội dung khác nhau tuỳ thuộc vào kích thước màn hình của thiết bị hoặc một sự kiện thể thao diễn ra đến giờ nghỉ giải lao.

Tên nhóm trong bảng xem trước khớp với tên nhóm được cung cấp trong chú thích xem trước
Bảng điều khiển xem trước thẻ thông tin trong Android Studio.

Thêm phần phụ thuộc

Đưa các phần phụ thuộc sau đây vào tệp build.gradle.kts hoặc build.gradle của ứng dụng:

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

Định cấu hình bản xem trước thẻ thông tin

Để xem trước giao diện của thẻ thông tin trên các kích thước màn hình Wear OS khác nhau, hãy thêm chú thích @Preview và truyền tham số device. Lưu ý rằng chú giải @Preview này đến từ một gói khác với gói bạn dùng cho bản xem trước thành phần kết hợp.

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

Thêm và đăng ký tài nguyên

Nếu thẻ thông tin của bạn sử dụng tài nguyên Android, thì bạn sẽ cần đăng ký các tài nguyên đó trong tham số onTileResourceRequest của TilePreviewData, như minh hoạ trong đoạn mã sau:

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

Hiện các giá trị cụ thể từ nguồn dữ liệu nền tảng

Nếu thẻ thông tin của bạn sử dụng dữ liệu nền tảng (chẳng hạn như nhịp tim, lượng calo, quãng đường và số bước), thì thẻ thông tin đó sẽ hiện giá trị mặc định.

Để hiển thị một giá trị cụ thể, hãy đặt tham số platformDataValues khi tạo đối tượng TilePreviewData, như minh hoạ trong đoạn mã sau:

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