החל מהגרסה Android Studio Koala Feature Drop, אפשר להציג קובצי snapshot של המשבצות של האפליקציה ב-Wear OS. החלונית הזו שימושית במיוחד אם המראה של המשבצת שלך בתגובה לתנאים, כגון תוכן שונה בהתאם גודל התצוגה של המכשיר, או אירוע ספורט שמגיע למחצית.
הוספת יחסי תלות
צריך לכלול את יחסי התלות הבאים ב-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, צריך לרשום אותם
פרמטר onTileResourceRequest
של TilePreviewData
, כפי שמוצג
את קטע הקוד הבא:
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()
הצגת ערכים ספציפיים ממקורות נתונים של הפלטפורמה
אם המשבצת שלכם משתמשת בנתוני פלטפורמה כמו דופק, קלוריות, מרחק שלבים - האריח מציג את ערכי ברירת המחדל עבורם.
כדי להציג ערך ספציפי, צריך להגדיר את הפרמטר 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() } )