wear protolayout

  
הספרייה הזו מאפשרת להגדיר קבוצה של פריסות ממשק משתמש וביטויים שאינם ממשק משתמש, שיוצגו או יוערכו בממשקים מרוחקים.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫1 ביולי 2026 1.4.1 - - -

הצהרה על יחסי תלות

כדי להוסיף תלות ב-wear-protolayout, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

Groovy

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.4.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.4.1"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.4.1"
}

Kotlin

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.4.1")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.4.1")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.4.1")
}

מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

גרסה 1.4

גרסה 1.4.1

‫1 ביולי 2026

androidx.wear.protolayout:protolayout-*:1.4.1 מופץ. גרסה 1.4.1 מכילה את השמירות האלה.

תיקוני פגיעויות ואבטחה

  • הגדרנו מגבלת מימדים של 2048px ומגבלת גודל מקסימלית של 20MB על תמונות כדי למנוע ניצול יתר של הזיכרון.
  • אכיפה של בדיקות עומק פריסה באמצעות תיקון באג שאיפשר לפריסות עומק לדלג על אכיפת העומק במהלך אופטימיזציות של טביעות אצבע.
  • נמנעה חריגה מגבולות המערך או קריסה שנגרמו על ידי פרמטרים של פערים לא מוגבלים ב-DashedArcLine.
  • החלפנו את IllegalArgumentExceptions שלא נתפס ברישום ביומן שגיאות בטוח יותר וביטול תוקף של צומת בצינור עיבוד נתונים של ביטויים.
  • תוקנה שגיאת NullPointerException שלא נתפסה כשמעבדים כתובות URI של תמונות פגומות.

גרסה 1.4.0

‫25 במרץ 2026

androidx.wear.protolayout:protolayout-*:1.4.0 מופץ. גרסה 1.4.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.3.0:

תכונות חדשות

  • גרסה 1.4.0-beta01 של Wear ProtoLayout מציינת שהגרסה הזו של הספרייה כוללת את כל התכונות וה-API נעול (למעט במקרים שבהם הוא מסומן כניסיוני). ‫Wear ProtoLayout 1.4 כולל את הפונקציות וממשקי ה-API החדשים הבאים:
    • משאבי תמונות מוטמעים ושיפורים בביצועים: הוספנו קונספט משופר לטיפול במשאבים, שבו אפשר להטמיע את ImageResource ישירות בפריסה.
    • Material3TileService: הוספנו שירות חדש וידידותי ל-Kotlin ליצירת אריחים. הוא מפשט את הפיתוח על ידי מתן פונקציית השהיה אחת להחזרת פריסת המשבצות והמשאבים. המערכת מנהלת באופן אוטומטי את MaterialScope וProtoLayoutScope כדי לשפר את הטיפול במשאבים ואת הביצועים, ולטעון מהר יותר את ה-Tiles.
    • עדכון של תצוגות מקדימות של משבצות: כלי התצוגות המקדימות של משבצות עודכן כדי לתמוך בProtoLayoutScope טיפול אוטומטי במשאבים, וכך לוודא שהתצוגות המקדימות משקפות משאבים מוטבעים בצורה נכונה ללא הגדרה נוספת.
    • שיפורים רבים ב-Kotlin DSL: נוספו רכיבי עזר מיוחדים של Kotlin ל-Tile ולכל שאר ממשקי ה-API שנדרשים ליצירת משבצת (כמו Timeline) כדי לשפר את חוויית המפתחים של משתמשי Kotlin.
    • החלפה דינמית של שירותים: נוספה בגרסה METADATA_GROUP_KEY, ומאפשרת למפתחים לקבץ כמה מופעים של TileService במניפסט. כך אפשר לעבור באופן דינמי בין שירותים שונים שמייצגים את אותה משבצת בגרסאות חדשות של מערכת ההפעלה.
    • מזהה המשבצת בעדכונים: מפתחים יכולים עכשיו לציין tileId מסוים בבקשות עדכון, וכך לקבל שליטה מפורטת יותר על אילו מופעים של משבצות יתעדכנו.
    • גרסת ה-SDK של הקומפילציה הועלתה: כדי לתמוך ב-Material3TileService החדש ובטיפול מתקדם במשאבים, דרישת הגרסה של compileSdk הועלתה ל-35.
    • מניעת ANR: העברנו את הלוגיקה של ביטול הקישור במהלך בקשות לעדכון של Tile לשרשור ברקע כדי למנוע שגיאות מסוג 'האפליקציה לא מגיבה' (ANR).
    • הערת RequiresPermission מתאימה לנתוני קצב הלב: החל מ-API 36, כדי לקרוא ל-PlatformHealthSources.heartRateBpm או ל-PlatformHealthSources.heartRateAccuracy צריך להעניק לאפליקציה ששולחת את הקריאה את ההרשאה android.health.connect.HealthPermissions.READ_HEART_RATE.

גרסה ‎1.4.0-rc02

‫11 במרץ 2026

androidx.wear.protolayout:protolayout-*:1.4.0-rc02 מופץ. גרסה ‎1.4.0-rc02 מכילה את השמירות האלה.

שינויים ב-API

  • החל מ-API 36, כדי לגשת לנתוני דופק, למשל באמצעות ספריית הביטויים ProtoLayout עם PlatformHealthSources.heartRateBpm ו-PlatformHealthSources.heartRateAccuracy, צריך להעניק לאפליקציה הקוראת את ההרשאה android.health.connect.HealthPermissions.READ_HEART_RATE.

גרסה ‎1.4.0-rc01

‫25 בפברואר 2026

הגרסה androidx.wear.protolayout:protolayout-*:1.4.0-rc01 יוצאת ללא שינויים מהגרסה הקודמת. גרסה ‎1.4.0-rc01 מכילה את השמירות האלה.

גרסה ‎1.4.0-beta01

‫11 בפברואר 2026

androidx.wear.protolayout:protolayout-*:1.4.0-beta01 מופץ. גרסה ‎1.4.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

גרסה 1.4.0-beta01 של Wear ProtoLayout מציינת שהגרסה הזו של הספרייה כוללת את כל התכונות וה-API נעול (למעט במקרים שבהם הוא מסומן כניסיוני). ‫Wear ProtoLayout 1.4 כולל את הפונקציות וממשקי ה-API החדשים הבאים:

  • משאבי תמונות מוטבעים ושיפורים בביצועים: הוספנו קונספט משופר לטיפול במשאבים, שבו אפשר להטביע את ImageResource ישירות בפריסה עצמה.
    • השיטה הזו מפשטת מאוד את הפיתוח כי היא מבטלת את הצורך במיפוי ידני של משאבים ב-onTileResourcesRequest ודורסת את השיטה הזו.
    • השינוי הזה משפר באופן משמעותי את זמן הטעינה של ה-Tiles, כי אין יותר צורך בשתי קריאות של binder, ואפשר להטמיע רק את השיטה onTileResourcesRequest.
    • כל ממשקי Image API תומכים עכשיו במושג הזה באמצעות שיטות חדשות שמקבלות ProtoLayoutScope שאחראי לכך.
  • היקף Material3 ורישום אוטומטי של משאבים: נוסף materialScopeWithResources לתמיכה במושג Material3 MaterialScope עם משאבי תמונות מוטבעות. ההיקף הזה מטפל ברישום אוטומטי של משאבים וכולל שיטות עזר חדשות לתמונות (backgroundImage, ‏avatarImage ו-icon) כדי לייעל את השימוש ברכיבים.

    • קטע קוד פשוט:

      materialScopeWithResources(
      context = context,
      deviceConfiguration = deviceParameters,
          protoLayoutScope = protoLayoutScope) {
        primaryLayout(
        // layout setup here
      iconContent = { **icon**(
      **imageResource**(
      **androidImageResource**(R.drawable.myIcon)))})
      //…
      }
      
  • תמיכה ב-PendingIntent: נוספה תמיכה ב-PendingIntent לכרטיסי מידע. רכיבי PendingIntent clickables מקבלים פעולות חלופיות (LoadAction או LaunchAction). כך, אם רכיב ProtoLayout Renderer הוא גרסה ישנה שלא תומכת ב-PendingIntent, נעשה שימוש אוטומטי בפעולה חלופית תקפה.

  • שיפורים רבים ב-Kotlin DSL:

    • הוספנו כלי עזר מיוחדים ל-Kotlin עבור Image וכל הסוגים של ImageResources כדי לשפר את חוויית המפתחים של משתמשי Kotlin.
    • נוספו רכיבי עזר לסוגי מאגרי נתונים כמו Box, ‏ Row, ‏ Column וכו', כדי להתאים יותר לפיתוח מודרני של Android.
    • נוסף משנה (modifier) חדש של Kotlin‏ Transformation ושיטות עזר לאנימציה של הופעה הדרגתית.
  • התאמה אישית של אנימציית Lottie: הוספנו API ב-AndroidLottieResourceByResId כדי לאפשר התאמה אישית של אנימציית Lottie באמצעות מאפיינים, והוספנו תמיכה קונקרטית ו-API ליצירת מאפיין כדי להחיל ערכת נושא על משבצת על סמך מזהה המשבצת עם הצבע שצוין.

  • מודעות למצב סביבה: נוסף מקור חדש של אירועים בפלטפורמה, isInAmbientMode, שמאפשר לפריסות להגיב ולעדכן הבעות על סמך המצב של המכשיר (מצב סביבה או לא).

שינויים ב-API

  • עזרים לתמונות ב-Material3: הוצאנו משימוש עזרים קיימים לתמונות ב-Material3 והחלפנו אותם בעומסים חדשים שמשתמשים ב-ProtoLayoutScope ובטיפול החדש במשאבים מוטבעים.
  • עדכונים ב-MaterialScope: השדה protoLayoutScope בתוך MaterialScope הוא NonNull כדי להקל על השימוש כשיוצרים אותו דרך materialScopeWithResources. נוספה פונקציה חדשה hasProtoLayoutScope לבדיקת הנוכחות שלה. בנוסף, השדה הציבורי Context נחשף ב-MaterialScope.
  • הכותרת Semantics זמינה כ-API ב-LayoutModifier.
  • תמיכה בכיוון הקשת הערכים הקבועים ARC_DIRECTION_* חשופים עכשיו לשימוש ב-Arc/ArcLine/ArcText/DashedArcLine.

תיקוני באגים

  • השוואת משאבים: שיפור הביצועים באמצעות הטמעה של שיטות משופרות להשוואה בין סוגי משאבים hash ו-equals.
  • החלת תיאור תוכן ברירת מחדל על רכיב textButton יחיד.
  • תיקון החישובים להתאמת מספר השורות המקסימלי בצד הרנדר.

גרסה ‎1.4.0-alpha05

‫28 בינואר 2026

androidx.wear.protolayout:protolayout-*:1.4.0-alpha05 מופץ. גרסה ‎1.4.0-alpha05 מכילה את השמירות האלה.

שינויים ב-API

תיקוני באגים

  • פתרנו את הבעיה בטיפול במשאבים על ידי הסרת ProtoLayoutScope עם שמירת מצב מ-TileService. ‫(I5dc0a, ‏ b/474614772)

גרסה ‎1.4.0-alpha04

‫14 בינואר 2026

androidx.wear.protolayout:protolayout-*:1.4.0-alpha04 מופץ. גרסה ‎1.4.0-alpha04 מכילה את השמירות האלה.

שינויים ב-API

  • הוצאנו משימוש את העזרים לתמונות Material3 לטובת עומסים חדשים שמשתמשים ב-ProtoLayoutScope ובמושג טוב יותר לטיפול במקורות מידע, שבו אפשר להוסיף את ImageResource ישירות לפריסה עצמה, וכך אין צורך בשיטת onTileResourcesRequest למיפוי מקורות מידע. כדי ליהנות מהחוויה הטובה ביותר, מומלץ להשתמש בה עם androidx.wear.tiles.Material3TileService שנוספה בגרסה Wear Tiles 1.6-alpha04. (I8198c, b/440376391)

גרסה ‎1.4.0-alpha03

‫17 בדצמבר 2025

androidx.wear.protolayout:protolayout-*:1.4.0-alpha03 מופץ. גרסה ‎1.4.0-alpha03 מכילה את השמירות האלה.

תיקוני באגים

  • השוואה בין שני סוגי משאבים כדי לטפל במשאבים בצורה טובה יותר ולשפר את הביצועים מתבצעת עכשיו באמצעות שיטות הגיבוב והשוויון שעברו אופטימיזציה. (82f21b2f)

גרסה ‎1.4.0-alpha02

‫22 באוקטובר 2025

androidx.wear.protolayout:protolayout-*:1.4.0-alpha02 מופץ. גרסה ‎1.4.0-alpha02 מכילה את השמירות האלה.

תכונות חדשות

  • נוסף מקור חדש של אירועים בפלטפורמה (isInAmbientMode) שמתאר אם המכשיר נמצא במצב אווירה או לא (Ief832)

שינויים ב-API

  • התג PendingIntent clickable מקבל עכשיו פעולת גיבוי (LoadAction/LaunchAction) לשימוש במקרים שבהם PendingIntent לא נתמך על ידי רכיב ה-Renderer‏ ProtoLayout. פעולת הגיבוי תזוהה אוטומטית ותמוקם בפריסה אם הגרסה של רכיב ה-Renderer נמוכה מהגרסה שתומכת ב-PendingIntent. ‫(I6eee2, ‏ b/450259727)
  • השדה protoLayoutScope בתוך MaterialScope הוא עכשיו NonNull כדי להקל על השימוש כשיוצרים את MaterialScope באמצעות materialScopeWithResources. בנוסף, יש פונקציה hasProtoLayoutScope לבדיקה אם הוא קיים. ‫(I1858f, ‏ b/450067019)

גרסה ‎1.4.0-alpha01

‫24 בספטמבר 2025

androidx.wear.protolayout:protolayout-*:1.4.0-alpha01 מופץ. גרסה ‎1.4.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • נוספה שיטת עזר ל-LayoutModifier שגורמת להצגת אלמנט בהדרגה כשהמשבצת הופכת לגלויה. (I38531, b/390345969)
  • נוסף materialScopeWithResources לתמיכה במושג M3 MaterialScope שדואג גם לרישום אוטומטי של משאבים. בנוסף, נוספו שיטות עזר חדשות לתמונות (backgroundImage avatarImage וסמל) שמבטלות את הצורך לרשום משאבים באופן ידני ב-onTileResourceRequest כשמשתמשים בהן. (I525bd, b/428692714)
  • עזרים של ProtoLayout Kotlin ל-Image ול-ImageResources לשימוש עם ProtoLayoutScope ורישום אוטומטי של משאבים. (Iada82, ‏ b/430584304)
  • נוסף getter כדי לדעת כמה מאפייני Lottie מותרים בהתאמה אישית של אנימציית Lottie אחת. (I73733, ‏ b/436532706)
  • הוספת API ב-AndroidLottieResourceByResId כדי לאפשר התאמה אישית של אנימציית Lottie באמצעות מאפיינים, והוספת API ליצירת מאפיין עבור משבצת של ערכת נושא עם מזהה המשבצת לצבע שצוין. (I301b3, b/423581481)
  • הוספת ממשקי API של ספקים לקבלת PendingIntent כפעולת קליק (I01978, ‏ b/433802488)
  • הוספת API חדש ב-Image.BuildersetImageResource כדי להגדיר אובייקט משאב ישירות לתמונה ב-onTileRequest, בלי צורך לרשום אותו במיפוי ב-onTileResourcesRequest. (Ifa69a, ‏ b/428693523)
  • הוספנו את הרעיון ProtoLayoutScope כדי להתכונן לטיפול טוב יותר במשאבים ב-Tiles. (I132ce, ‏ b/428692423)
  • ProtoLayout Material3 MaterialScope חושף עכשיו את השדה Context כציבורי, לשימוש בשיטות במסגרת, ללא צורך בהעברתו. (I0e5cc, b/414559956)
  • הפיכת ממשקי API סמנטיים של כותרות לציבוריים (I75299, b/413653475)
  • חשיפת קבועי ARC_DIRECTION_* כציבוריים לשימוש ב-Arc/ArcLine/ArcText/DashedArcLine. ‫(I83959, ‏ b/427556439)

שינויים ב-API

  • הוצאנו משימוש את השיטות Image.Builder() ו-Image.Builder.setResourceId לטובת ה-API החדש לרישום אוטומטי של משאבים, שזמין בממשקי ה-API‏ Image.Builder(ProtoLayoutScope) ו-Image.Builder.setImageResource. ה-API החדש מבטל את הצורך בשינוי ברירת המחדל של onTileResourcesRequest. (I7bfe6, b/432758526)
  • העברנו ממשקי API ליצירת ProtoLayoutScope ממוגבלים לציבוריים. עם זאת, לא מומלץ להשתמש בהם כי המערכת כבר מטפלת בשיחות האלה. ‫(I1d8e8, b/432758251)

תיקוני באגים

  • הוספת הטמעה לתמיכה ב-PendingIntent ב-ProtoTiles (I38167, ‏ b/430610429)
  • מוסיפים את אמצעי התשלום invalidateLayout. (Ief898)
  • העברת ברירת המחדל של minSdk מ-API 21 ל-API 23 (Ibdfca, ‏ b/380448311, ‏ b/435705964, ‏ b/435705223)
  • ב-ImageResource יש עכשיו את ה-methods‏ hashCode ו-equals. (I650ee, ‏ b/428692423, ‏ b/428693523)
  • הוספת הודעת פרוטו חדשה PendingIntentAction ו-wrapper builder שלה (Ie2aca, ‏ b/427643502)
  • מפחיתים את התדירות שבה נוצרת מכונת ZoneId. (I284d3)
  • החלת תיאור תוכן שמוגדר כברירת מחדל על המשבצת היחידה textButton. ‫(I0dc8a, b/415001534)
  • תיקון החישובים להתאמת מספר השורות המקסימלי בצד הרנדר. (I933bc, b/414353620)

גרסה 1.3

גרסה 1.3.0

‫4 ביוני 2025

androidx.wear.protolayout:protolayout-*:1.3.0 מופץ. גרסה 1.3.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.2.0

  • עיצוב Material 3 מגיע לשעון, עם רכיבים ופריסות שממוטבים לתצוגה העגולה ומשתנים בהתאם לגודל המסך, מקטן לגדול
    • זה כולל ספריית Kotlin בלבד, protolayout-material3, עם ממשקי API דומים יותר ל-Compose עבור הרכיבים והתכונות הבאים:
    • עיצוב של צבע דינמי שמגיע מהמערכת ומפני השעון עם העיצוב העדכני ביותר של Material3 לצבעים, לצורות ולטיפוגרפיה
    • MaterialScope כדי לטפל בכל ברירות המחדל המבוססות על דעות ולהתאים אישית בקלות רבה יותר
    • iconEdgeButton, textEdgeButton
    • iconButton, textButton, button, imageButton, avatarButton, compactButton
    • titleCard, appCard, graphicDataCard, iconDataCard, textDataCard
    • circularProgressIndicator, segmentedCircularProgressIndicator
    • primaryLayout, buttonGroup
    • כל הרכיבים פועלים בכל רמות ה-SDK ובכל גרסת ProtoLayout Renderer, ומספקים חלופות סבירות במקרים הרלוונטיים
  • ממשקי API ידידותיים יותר ל-Kotlin, דומים ל-Compose, לרכיבי ProtoLayout בסיסיים
    • LayoutModifier עם אפשרות להוסיף את רוב התוספים כפונקציות משורשרות (padding, ‏ contentDescription (כולל clearSemantics), ‏ background, ‏ clip, ‏ opacity וכו'), שאפשר להמיר לאובייקט Modifiers הקיים
    • LayoutColors ו-LayoutString כסוגים עם תמיכה קלה יותר בשימוש בשדות ובאילוצים דינמיים
    • text וגם fontStyle
    • תמיכה טובה יותר במיפוי ל-StateBuilder, כולל DynamicDataMap ושיטות ליצירת אובייקטים כמו intAppDataKey, כדי ליצור אובייקטים של AppDataKey בקלות רבה יותר
  • אנימציות Lottie תומכות באפשרות להגדיר טריגרים שונים להפעלת האנימציה, למשל כשהפריסה נטענת או כשהפריסה הופכת לגלויה
    • תמיכה משופרת בגרדיאנטים:
    • ‫Linear gradient API כחלק מ-Brush שאפשר להשתמש בו בשינויים של Background לרכיבים כמו Box,‏ Spacer וכו'. …
    • השימוש בערכי צבע דינמיים ב-ColorStop מותר עבור הדרגתיות לינאריות וקשתיות
    • התכונה 'מעבר צבעים קשתי' באובייקטים קשתיים תומכת עכשיו בצבעים דינמיים ובזוויות התחלה וסיום
  • protolayout-expression כדי לקבל מידע בכל פעם שמשתנה הגדרת החשיפה של הפריסה. לדוגמה, אפשר להשתמש בזה כדי להסתיר חלקים מסוימים של הפריסה בזמן שהמשתמש מחליק את האריח
  • ספריית הבדיקות – protolayout-testing – נוספה כדי לתמוך בכיסוי קל יותר של בדיקות יחידה לכל רכיבי ProtoLayout
  • רכיב חדש DashedArcLine עם קבוצה משופרת של תכונות, כך שקו יכול לכלול מקפים, בניגוד לרכיב הקיים ArcLine
  • תמיכה בהגדרת האורך של ArcSpacer במימד DP במקום במעלות
  • נוספה ציר העיגול FontSetting שרלוונטי לחלק מהגופנים

גרסה ‎1.3.0-rc01

‫20 במאי 2025

הגרסה androidx.wear.protolayout:protolayout-*:1.3.0-rc01 יוצאת ללא שינויים מהגרסה הקודמת. גרסה ‎1.3.0-rc01 מכילה את השמירות האלה.

גרסה ‎1.3.0-beta02

‫7 במאי 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta02 מופץ. גרסה ‎1.3.0-beta02 מכילה את השמירות האלה.

תיקוני באגים

  • ביצענו שיפור חשוב בערכי העיצוב של הטיפוגרפיה שמוחלים על API 36 ומעלה. הסיבה לכך היא שמה-API ברמה 36, כל ה-Tiles יהיו בפונט המערכת, ולכן השינוי הזה משפר את העקביות בקרוסלת ה-Tiles. (If316f)
  • הפונקציות ליצירת Text,Spacer, ArcLine ו-DashedArcLine לא יפעילו חריגה אם לא מוגדרים ערכים דינמיים ל-layoutConstraints. שימו לב: במעבדי תצוגה ישנים עדיין נדרשת הגדרה של layoutConstraints, והם יתעלמו מכל ערך דינמי שלא הוגדר בו. (Ic52e8)
  • מוסיפים משנה סמנטי של כותרת כדי לציין שרכיב פריסה הוא כותרת של קטע תוכן למטרות נגישות, ומסמנים את הטקסט במשבצת הכותרת של primaryLayout ככותרת נגישות כברירת מחדל. (Iae1fb)
  • שיפורים אחרונים בחוויית המשתמש של primaryLayout, שבהם המרווח בין משבצת הכותרת למשבצת הראשית קטן יותר במסכים קטנים – 4dp במקום 6dp. (I0e056)
  • החלת תיאור תוכן שמוגדר כברירת מחדל על textEdgeButton. (Ifaf8b)
  • עדכון קל לריווח הפנימי של avatarButton. (I0910b)

גרסה ‎1.3.0-beta01

‫9 באפריל 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta01 מופץ. גרסה ‎1.3.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

גרסה 1.3.0-beta01 של Wear ProtoLayout מציינת שהגרסה הזו של הספרייה כוללת את כל התכונות וה-API נעול (אלא אם הוא מסומן כניסיוני). ‫Wear ProtoLayout 1.3 כולל את הפונקציות וממשקי ה-API החדשים הבאים:

  • עיצוב Material 3 מגיע לשעון, עם רכיבים ופריסות שממוטבים לתצוגה העגולה ומתאימים את עצמם באופן הולם מגודל מסך קטן לגדול
    • זה כולל ספריית Kotlin בלבד, protolayout-material3, עם ממשקי API דומים יותר ל-Compose עבור הרכיבים והתכונות הבאים:
    • עיצוב של צבע דינמי שמגיע מהמערכת ומפני השעון עם העיצוב העדכני ביותר של Material3 לצבעים, לצורות ולטיפוגרפיה
    • MaterialScope כדי לטפל בכל ברירות המחדל המבוססות על דעות ולהתאים אישית בקלות רבה יותר
    • iconEdgeButton, textEdgeButton
    • iconButton, textButton, button, imageButton, avatarButton, compactButton
    • titleCard, appCard, graphicDataCard, iconDataCard, textDataCard
    • circularProgressIndicator, segmentedCircularProgressIndicator
    • primaryLayout, buttonGroup
    • כל הרכיבים פועלים בכל רמות ה-SDK ובכל גרסה של ProtoLayout Renderer, ומספקים חלופות סבירות במקרים הרלוונטיים
  • ממשקי API דומים ל-Compose וידידותיים יותר ל-Kotlin עבור רכיבי ProtoLayout בסיסיים
    • LayoutModifier עם אפשרות להוסיף את רוב התוספים כפונקציות משורשרות (padding, ‏ contentDescription (כולל clearSemantics), ‏ background, ‏ clip, ‏ opacity וכו'), שאפשר להמיר לאובייקט Modifiers הקיים
    • LayoutColors ו-LayoutString כסוגים עם תמיכה קלה יותר בשימוש בשדות ובאילוצים דינמיים
    • text וגם fontStyle
    • תמיכה טובה יותר במיפוי ל-StateBuilder, כולל DynamicDataMap ושיטות ליצירת אובייקטים כמו intAppDataKey, כדי ליצור אובייקטים של AppDataKey בקלות רבה יותר
  • אנימציות Lottie תומכות באפשרות להגדיר טריגרים שונים להפעלת האנימציה, למשל כשהפריסה נטענת או כשהפריסה הופכת לגלויה
    • תמיכה משופרת בגרדיאנטים:
    • ‫Linear gradient API כחלק מ-Brush שאפשר להשתמש בו בשינויים של Background לרכיבים כמו Box,‏ Spacer וכו'. …
    • השימוש בערכי צבע דינמיים ב-ColorStop מותר עבור הדרגתיות לינאריות וקשתיות
    • התכונה 'מעבר צבעים קשתי' באובייקטים קשתיים תומכת עכשיו בצבעים דינמיים ובזוויות התחלה וסיום
  • protolayout-expression כדי לקבל מידע בכל פעם שמשתנה הגדרת החשיפה של הפריסה. לדוגמה, אפשר להשתמש בזה כדי להסתיר חלקים מסוימים של הפריסה בזמן שהמשתמש מחליק את האריח
  • ספריית הבדיקות – protolayout-testing – נוספה כדי לתמוך בכיסוי קל יותר של בדיקות יחידה לכל רכיבי ProtoLayout
  • רכיב חדש DashedArcLine עם קבוצה משופרת של תכונות, כך שקו יכול לכלול מקפים, בניגוד לרכיב הקיים ArcLine
  • תמיכה בהגדרת האורך של ArcSpacer במימד DP במקום במעלות
  • נוספה ציר העיגול FontSetting שרלוונטי לחלק מהגופנים

גרסה ‎1.3.0-alpha10

‫12 במרץ 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 מופץ. גרסה ‎1.3.0-alpha10 מכילה את השמירות האלה.

תכונות חדשות

  • הוספת helper ל-Brush ב-kotlin Background Modifier. (I995de)
  • שדה ההקשר של Android שהוא חובה הפך לציבורי ב-MaterialScope כדי לאפשר שימוש קל יותר בפונקציות של מפתחים שיוצרות רכיבים לאריחים של Material3. (I7df73)

שינויים ב-API

  • שינוי השם של api platformVisibilityStatus ל-PlatformEventSources.isLayoutVisible והוספה של API ניסיוני חדש PlatformEventSources.isLayoutUpdatePending. (Ie1e04)

תיקוני באגים

  • במקום זאת, השוליים של primaryLayout מעוגלים עכשיו כלפי מעלה בצורה נכונה, מה שיכול להשפיע על פריסות מסוימות עד ל-2dp פחות במקום של המודעה הראשית. (I8f5d3)
  • הבהרה לגבי עיצוב ברירת המחדל של צבע דינמי ברכיבי ProtoLayout Material3. (Iff5f3)
  • הגופנים Typography.NUMERAL_* כבר לא מוצגים כברירת מחדל בפורמט טבלאי או ברווח קבוע. אם הטקסט מונפש, מומלץ מאוד להוסיף לו את ההגדרה FontSetting.tabularNum(). בכל המקרים האחרים, האפשרות הזו של רווח קבוע לא נדרשת, ואם לא משתמשים בה יהיו יותר תווים זמינים. (Id3cd9)
  • הבהרה לגבי עיצוב ברירת המחדל של צבע דינמי ברכיבי ProtoLayout Material3. (I9d831)

גרסה ‎1.3.0-alpha09

‫26 בפברואר 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 מופץ. גרסה ‎1.3.0-alpha09 מכילה את השמירות האלה.

תכונות חדשות

  • נוספו משנים ניסיוניים ל-enterTransition ול-exitTransition (I4a4d6)
  • הוספנו קישור פלטפורמה נוסף כדי לקבל את סטטוס החשיפה של הפריסה המלאה בכל פעם שהוא משתנה. (I250c3)
  • אפשר להחדיר נתוני פלטפורמה ומצב של אפליקציית בדיקה אל LayoutElementAssertionsProvider כדי להעריך ערכים דינמיים. (Ib5fcb)
  • הוספת מסנני פינות לספריית הבדיקה של protolayout ‏ (Ie2361)
  • ButtonColors, ‏ CardColors ו-ProgressIndicatorColors תומכים עכשיו בשיטת ההעתקה, עם אפשרות לבטל חלק מהפרמטרים. (Ie2054)

שינויים ב-API

  • הוספת תמיכה בקישור דינמי של נתונים לספריית הבדיקות (Ib98de)
  • כדי לפתור בעיות ב-imageButton כשמשתמשים בפונקציה backgroundImage, צריך להסיר את שכבת העל. בנוסף, אפשר להשתמש בפונקציה backgroundImage כדי לציין ערך null לצבע השכבה, כלומר לא תוחל שכבת-על. (Ibec3c)

תיקוני באגים

  • שינינו את שיטת ברירת המחדל hasValueOfType כך שתפעיל UnsupportedOperationException במקום IllegalArgumentException. (Ia36c3)
  • ערכי ברירת המחדל של אסימוני הצבע עודכנו בהתאם למפרט העדכני. (I75d44)
  • תיקונים לבעיית Aliasing שמופיעה בקווים של קשתות ב-AndroidX tiles renderer. (I88190)

גרסה ‎1.3.0-alpha08

‫12 בפברואר 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 מופץ. גרסה ‎1.3.0-alpha08 מכילה את השמירות האלה.

תכונות חדשות

  • הוספת פרמטר רשימה FontSetting לטקסט Material3. (Ic102d)
  • הוספנו את המחלקה DynamicDataMap, שמעכשיו תומכת ב-API משופר של Kotlin לבדיקת סוגים של מצבי אפליקציה (I012ba)StateBuilder
  • נוספו שיטות ליצירת אובייקטים, כמו intAppDataKey, כדי ליצור אובייקטים של AppDataKey בקלות רבה יותר (Icea2a)
  • ל-DynamicDataValue יש עכשיו method hasValueOfType(Class<?>) בנוסף ל-method hasInt/hasColor/.... (I4f7a6)
  • הוספנו את errorDim ל-ProtoLayout של Material3 ColorScheme, בשביל שגיאות בעדיפות גבוהה או פעולות חירום כמו התראות בטיחות. (Ia17bb)
  • הוספנו אמצעי הגנה מפני קריסה כשניגשים להגדרה הגלובלית של הפחתת התנועה, שהופעלה בפלטפורמות מסוימות שבהן ההגדרה הזו לא סופקה. (I01e2c)

שינויים ב-API

  • השם של addKeyToValueMapping שונה ל-addToStateMap והשיטות DynamicDataMap.put הוסרו כי הן היו מיותרות. (Ibe9dd)
  • הטיפוגרפיה של Material3 תומכת עכשיו בציר משתנה של עיגול עבור גופני מערכת שתומכים בציר הזה. ‫ProtoLayout FontSetting תומך בציר העיגול עבור גופנים שתומכים בציר הזה. (I33eb5)
  • השם של המאפיין multilineAlignment שונה ל-alignment בשיטת הטקסט Material3. (I2b66b)
  • עדכון אינדיקטור ההתקדמות המעגלי לסוג Box, וגם ציון mainContent ב-constructGraphic כסוג Box‏ (I5a3dc)
  • שיפור התמיכה בשימוש באינדיקטור של התקדמות מעגלית בתרשים (I039db)

תיקוני באגים

  • הפעלת ערכים דינמיים ב-ColorStop וגם בזוויות ההתחלה והסיום ב-SweepGradient. (I0146d)
  • תיקונים ב-Docs. (I4a63a)
  • רכיבי Material 3 (‏graphicCard ו-avatarButton) עודכנו כדי לספק חלופה כשאין תמיכה במימד ההרחבה weight (למשל, בגרסאות שמתחת ל-API 33). רכיב הטקסט עודכן כך שיחזור ל-TEXT_OVERFLOW_ELLIPSIZE_END אם TEXT_OVERFLOW_ELLIPSIZE לא נתמך על ידי רכיב הרינדור. (I19e2c)
  • עדכון של Docs ל-PrimaryLayoutMargins. (Ibaf7b)

גרסה ‎1.3.0-alpha07

‫29 בינואר 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 מופץ. גרסה ‎1.3.0-alpha07 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו אפשרות ל-API להגדיר טריגרים שונים לאנימציות Lottie. בנוסף, הוספנו API לטריגרים שמופעלים כשהפריסה גלויה (I8272d)
  • נוספו משני המאפיינים border, ‏ visibility ו-opacity. (I6d3dd)
  • נוסף לחצן אווטאר לרכיב ProtoLayout Material3. (Idb5ae)
  • אנחנו מאפשרים עכשיו להתאים אישית את השוליים (הצדדיים ובמקרים מסוימים גם התחתונים) ב-Material3 primaryLayout. (Ib22f6)
  • מוסיפים את הגרסה המפולחת של אינדיקטור ההתקדמות המעגלי. (I6a648)
  • נוסף רכיב כפתור קומפקטי ל-ProtoLayout Material3. (Ia3c5c)
  • נוספו רכיבים של לחצן בצורת גלולה ולחצן תמונה ל-ProtoLayout Material3. (Ifb88a)

שינויים ב-API

  • השם של LayoutModfier.foldIn הוא עכשיו foldRight, כדי לשקף טוב יותר את ההתנהגות הצפויה שלו (Idf242)
  • הטריגר VisibleOnce נמצא עכשיו בשלב ניסיוני. (Ib2d26)
  • הסרה של withOpacity מה-API הציבורי כי יש חלופה של ספריית גרפיקה. (I030c2)
  • שינינו את השם של שיטות ברמה העליונה ב-LayoutString.kt וב-LayoutColor.kt כדי שיהיו שמות ידידותיים ל-Java. (I7aff0)
  • הוסרו טיפוגרפיות שאינן ProtoLayout ב-Material3. (Idd9ae)
  • הוספת הסיומת Color לשדות במחלקות *Colors ב-Material3. (I2d114)

תיקוני באגים

  • הוספת הטמעה חלופית של EdgeButton לרכיב rendering ישן יותר ללא תמיכה בפינות לא סימטריות. (I63364)
  • הוספת הטמעה של גיבוי לאינדיקטור ההתקדמות המעגלי באמצעות רכיב עיבוד ישן יותר. (I0f134)

גרסה ‎1.3.0-alpha06

‫15 בינואר 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 מופץ. גרסה ‎1.3.0-alpha06 מכילה את השמירות האלה.

תכונות חדשות

  • LayoutColor כדי לתמוך בסוגי צבעים סטטיים ודינמיים (I4c89b)
  • נוסף רכיב ProtoLayout Material3 textButton. (Id680d)
  • הוספת רכיב iconButton ProtoLayout Material3. (Ica3f0)
  • הוספנו רכיב של מאגר לחצנים של Material3 ב-ProtoLayout. (I17a38)
  • נוספה תמיכה בשינויים סמנטיים שניתן לשרשר ב-protolayout-material3 (I4af62)
  • נוסף פלח יחיד של ProtoLayout Material3‏ CircularProgressIndicator (I2c8a2)
  • נוספו משנים padding,metadata (I8720a)
  • נוספו משני המאפיינים background,clip ו-clickable (I35478)
  • מוסיפים את LinearGradient למברשת ומאפשרים להשתמש בו בכלי לשינוי הרקע. (Ic4dea)
  • הוספת גודל קטן ל-appCard ול-titleCard. (I91f98)
  • נוסף רכיב ProtoLayout Material3 graphicDataCard. (I92be7)
  • נוספו רכיבי ProtoLayout Material3‏ iconDataCard ו-textDataCard. (I4e1e4)
  • נוסף רכיב ProtoLayout Material3 appCard. (Id4c57)
  • מופשט EdgeButtonColors עד ButtonColors. (I83624)
  • נוסף רכיב ProtoLayout Material3 titleCard. (I2dc72)

שינויים ב-API

  • ‫ProtoLayout Material3 API מקבל עכשיו LayoutString כדי לתמוך בטקסטים סטטיים ודינמיים. (I9c24a)

תיקוני באגים

  • Add renderer implementation for inflating DashedArcLine (I0c700)
  • שינוי של רכיב ה-Renderer כדי לאפשר ל-ArcSpacer לקבל אורך dp. (I1437b)

גרסה ‎1.3.0-alpha05

‫11 בדצמבר 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 מופץ. גרסה ‎1.3.0-alpha05 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו את LayoutString כדי לתמוך בשדות מחרוזת פריסה שניתנים לאיגוד. (Ida650)
  • נוסף רכיב מאגר כרטיסים ProtoLayout Material3. (Ic985a)

תיקוני באגים

  • הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify לגבי ערכי null, שהן אנוטציות של שימוש בטיפוסים. מפתחי Kotlin צריכים להשתמש בארגומנט המהדר הבא כדי לאכוף שימוש נכון: -Xjspecify-annotations=strict (זוהי ברירת המחדל החל מגרסה 2.1.0 של מהדר Kotlin). (Id1f9b, b/326456246)

גרסה ‎1.3.0-alpha04

‫13 בנובמבר 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 מופץ. גרסה ‎1.3.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

  • הצורה של Material3 עודכנה כך שתהיה מחלקה עם שדות שמכילים את הערך בפועל של הפינה, כמו ב-Wear Compose. (Ied8cd)
  • עודכנו הצבעים של Material3 כך שיכללו את הקונספט ColorScheme, כמו ב-Wear Compose. (If645e)
  • הוספה של כמה התאמות נפוצות לספריית הבדיקות. (Ie5cec)

גרסה ‎1.3.0-alpha03

‫30 באוקטובר 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 מופץ. גרסה ‎1.3.0-alpha03 מכילה את השמירות האלה.

תכונות חדשות

  • הוספה של LayoutElementAssertionsProvider, ‏ LayoutElementAssertion ו-LayoutElementMatcher לספריית הבדיקה (Id1110)

גרסה ‎1.3.0-alpha02

‫16 באוקטובר 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 מופץ. גרסה ‎1.3.0-alpha02 מכילה את השמירות האלה.

תכונות חדשות

  • גרסה ראשונית של ספריית Material 3. כולל רכיבים של text, ‏ edgeButton, ‏ buttonGroup ו-primaryLayout.

תיקוני אבטחה

  • בעקבות השינוי הזה, androidx עובר קומפילציה מול protobuf 4.28.2 כדי לטפל ב-CVE-2024-7254. כדי לטפל בסיכון לפרצת אבטחה, צריך לשדרג את התלות בגרסה 1.3.0-alpha01 של androidx.wear.protolayout:protolayout-proto ושל androidx.wear.protolayout:protolayout-external-protobuf לגרסה 1.3.0-alpha02.

חישוב צריכת הנתונים

גרסה ‎1.3.0-alpha01

‫2 באוקטובר 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 מופץ. גרסה ‎1.3.0-alpha01 מכילה את השמירות האלה.

תיקוני באגים

  • הוספנו הבהרה לגבי הזמינות של שמות משפחות הגופנים Roboto ו-Roboto Flex, שמשתנה בהתאם למכשיר. (I193be)
  • הפעלנו את משפחת הגופנים Roboto Flex במעבד התצוגה של AndroidX Tile. (I08e94)

גרסה 1.2

גרסה 1.2.1

‫16 באוקטובר 2024

androidx.wear.protolayout:protolayout-*:1.2.1 מופץ. גרסה 1.2.1 מכילה את השמירות האלה.

תיקוני אבטחה

  • בעקבות השינוי הזה, androidx עובר קומפילציה מול protobuf 4.28.2 כדי לטפל ב-CVE-2024-7254. כדי לטפל בסיכון לפרצת אבטחה, צריך לשדרג את התלות בגרסה 1.2.0 של androidx.wear.protolayout:protolayout-proto ושל androidx.wear.protolayout:protolayout-external-protobuf לגרסה 1.2.1.

גרסה 1.2.0

‫7 באוגוסט 2024

androidx.wear.protolayout:protolayout-*:1.2.0 מופץ. גרסה 1.2.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.1.0

  • בוצע עדכון ב-FontStyle כדי להוסיף תמיכה בגופנים נוספים עבור הצירים המשתנים, ו-API משופר לבחירת גופנים כדי לתמוך בגופני Flex שיושקו בקרוב.
  • תמיכה נוספת בשינויים:
    • משנה טרנספורמציה שמציע תרגום, סיבוב ושינוי גודל עם או בלי אנימציות.
    • ציון ערכים שונים (אופקיים ואנכיים) לכל רדיוס פינה.
  • שיפרנו את הנגישות של כל יעדי המגע על ידי הרחבת האזור שניתן להקשה של כל אלמנט שמשתמש בשינוי Clickable כך שיהיה לפחות 48dp על 48dp.
  • שיפרנו את PrimaryLayout וEdgeContentLayout על ידי הוספת setResponsiveContentInsetEnabled כדי לתמוך טוב יותר בהתנהגות רספונסיבית של הפריסות האלה בגדלים שונים של מסכים, וכדי לשפר את העקביות של האריחים.
  • שיפור ההגדלה/הקטנה של טקסט Material ב-Android 14, להגדלה/הקטנה לא לינארית של גופנים.
  • תמיכה משופרת בכיוון פריסה מימין לשמאל בכל רכיבי arc.

שינויים נוספים

גרסה ‎1.2.0-rc01

‫24 ביולי 2024

androidx.wear.protolayout:protolayout-*:1.2.0-rc01 מופץ. גרסה ‎1.2.0-rc01 מכילה את השמירות האלה.

תיקוני באגים

  • תיקנו את רכיב Material Chip הרגיל כך שאפשר להשתמש בו כסמל רק אם לא מועברות בו תוויות ראשיות או משניות. (Iceef9)
  • עדכנו את התיעוד של פריסות Material כדי לכלול רכיבים חזותיים מהדף הרלוונטי, וכך להקל על ההבנה של הפריסות. (I0256a)

גרסה ‎1.2.0-beta01

‫10 ביולי 2024

androidx.wear.protolayout:protolayout-*:1.2.0-beta01 מופץ. גרסה ‎1.2.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

גרסה 1.2.0-beta01 של Wear ProtoLayout מציינת שהגרסה הזו של הספרייה כוללת את כל התכונות וה-API נעול (אלא אם הוא מסומן כניסיוני). ‫Wear ProtoLayout 1.2 כולל את הפונקציות וממשקי ה-API החדשים הבאים:

  • הגרסה של FontStyle עודכנה כך שתכלול תמיכה נוספת בגופנים, באופן הבא:
    • הגדרת וריאציות שונות של גופנים, כמו FontSetting.weight ו-FontSetting.width
    • הגדרת אותו רוחב לכל התווים המספריים – ספרות טבלאיות (הגדרת תכונת הגופן FontSetting.tnum)
    • שיפרנו את ממשקי ה-API לבחירת גופנים כדי לתמוך בגופנים גמישים שיושקו בקרוב. לשם כך, צריך לציין את השמות המועדפים של משפחות הגופנים שבהן רוצים להשתמש.
  • הרחבנו את אפשרות השינוי של Corner כדי לתמוך בציון כל CornerRadius עם ערכים נפרדים של אופקי ואנכי, וכך לאפשר בניית רכיבים עם פינות לא סימטריות.
  • נוסף משנה חדש Transformation שמציע תרגום, סיבוב ושינוי גודל של LayoutElement. אפשר להשתמש בערכים דינמיים כדי להנפיש את השינויים האלה.
  • הוספנו את המאפיין setArcDirection עם האפשרויות Clockwise, CounterClockwise ו-Normal לכל רכיבי ה-arc (‏Arc, ‏ArcLine ו-ArcText) כדי לשפר את התמיכה בכיווני פריסה שונים (כמו LTR ו-RTL).
  • שיפור הנגישות של כל יעדי המגע על ידי הרחבת האזור שאפשר להקיש עליו של כל אלמנט שמשתמש במאפיין Clickable כך שיהיה לפחות 48dp על 48dp.
  • שיפרנו את PrimaryLayout וEdgeContentLayout על ידי הוספת setResponsiveContentInsetEnabled כדי לתמוך טוב יותר בהתנהגות רספונסיבית של הפריסות האלה בגדלים שונים של מסכים, וכדי לשפר את העקביות של האריחים. הוספנו אזהרה של כלי לבדיקת קוד כדי להציע שימוש בממשקי ה-API האלה עם תיקון מהיר.
  • שיפור ההתאמה של Material Text לשינוי גודל הגופן הלא ליניארי ב-Android 14.

שינויים ב-API

  • הוסר שם משפחת הגופנים שמוגדר כברירת מחדל (DEFAULT_SYSTEM_FONT), כי הוא מובלע בכך שלא משתמשים ב-API‏ preferredFontFamilies. (I39dab)
  • הפרמטר שמועבר אל FontSetting.width צריך להיות חיובי. (I1266f)

גרסה ‎1.2.0-alpha05

‫26 ביוני 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 מופץ. גרסה ‎1.2.0-alpha05 מכילה את השמירות האלה.

תכונות חדשות

  • מוסיפים את השיטה hasText ל-Material.CompactChip כדי לבדוק אם תוכן הטקסט הוגדר. (I6e8fc)

שינויים ב-API

  • הערך FontFamily const מועבר ל-FontStyle במקום למחלקה Builder שלו. (I06ced)
  • עדכון של FontSetting.weight ו-FontSetting.width API כך שיכללו הערות לגבי טווחים ושינוי הפרמטר של המשקל ל-int. ‏(Ia726c)

תיקוני באגים

  • טקסטים שלא ניתן לשנות את הגודל שלהם בספריית Material פועלים עכשיו בצורה תקינה עם שינוי גודל הגופן הלא ליניארי ב-Android 14. (I6601e)

גרסה ‎1.2.0-alpha04

‫29 במאי 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 מופץ. גרסה ‎1.2.0-alpha04 מכילה את השמירות האלה.

שינויים ב-API

  • נוסף API של פינות לא סימטריות כדי לאפשר ציון נפרד של רדיוס כל פינה באמצעות 2 ערכים. (Icbd69)
  • הרחבנו את FontSetting API כך שיכלול:
    • הגדרה של תכונת גופן, כמו הגדרת הגופן כטבלאי. (If12b7)
    • הגדרה של וריאציות בגופן, כמו הגדרה של רוחב מותאם אישית לגופנים משתנים. (I2b36d)
  • הוספנו ל-FontStyle את API של משפחת הגופנים כדי לאפשר הגדרה של רשימת סדר של משפחות הגופנים שבהן רוצים להשתמש. (Iba9f5)
  • שמות של קבועים שקשורים לגובה המרווח בין התוכן לבין התווית המשנית ב-LayoutDefaults של Material שבתחילה קיבלו את הקידומת Edge content (תוכן שולי) שונו כדי להיות כלליים יותר, כי אפשר להשתמש בהם גם ב-PrimaryLayout וגם ב-EdgeContentLayout. (I4dc32)

תיקוני באגים

  • השם של הצירים של גופן משתנה שונה מ-axisName ל-axisTag. (I02ba3)

גרסה ‎1.2.0-alpha03

‫14 במאי 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 מופץ. גרסה ‎1.2.0-alpha03 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו API להגדרת ערכי משקל מותאמים אישית ל-FontStyle. (I7390a)

תיקוני באגים

  • תיקון הכשל ב-getTouchDelegateInfo בגלל מפת יעד ריקה. (I2accf)

גרסה ‎1.2.0-alpha02

‫1 במאי 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 מופץ. גרסה ‎1.2.0-alpha02 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו תמיכה בהשבתת אפקט האדווה ברכיבים ספציפיים שאפשר ללחוץ עליהם. (If1ede)
  • ה-API להמרה הוסר מ-ArcModifiers כי הוא לא תומך בתכונה הזו (Ic0827)
  • ArcDirectionProp Builder מצפה עכשיו לערך בבונה. (I76ada)
  • השיטה PlatformDataValues.Builder.putAll תאפשר מיזוג של PlatformDataValue אחד עם אחר. (I50ba3)
  • השם של Text#setIsScalable השתנה לText#setScalable. (If920e)
  • ב-Material Text אפשר להגדיר אם להשתמש בגודל שניתן לשינוי (גדל כשמשנים את גודל הגופן של המשתמש) או לא. (Ibc849)
  • הוספנו את האפשרות להגדיר את תיאור התוכן ל-TitleChip. (I5d21f)
  • תוקן CompactChip כדי שיפעל בצורה תקינה עם סמל בלבד, וה-API עודכן כדי לאפשר את האפשרות הזו. (I6589e)

תיקוני באגים

  • תוקנה בעיה שגרמה לשכפול פוטנציאלי של נתוני פלטפורמה במהלך האתחול. (Iba0fd)
  • מוסיפים getter חדש ל-DynamicDataNode כדי לאחזר את עלות הצומת. העלות משמשת לרכישת מכסת צמתים דינמיים. בשלב הזה, העלות של צמתים עם ערכים קבועים היא 0, וכל שאר הצמתים עולים 1. (Ia33e1)
  • הסרת לוגיקת הספירה מהתג NO_OP_QUOTA_MANAGER. (Ib50b8)
  • הוספנו כלל Lint כדי לדווח על אזהרה כשמשתמשים ב-PrimaryLayout בלי setResponsiveContentInsetEnabled, ולספק תיקון מהיר. (I12025)
  • יש מגבלה על מספר הצמתים של ביטויים דינמיים. (Iffae8)

גרסה ‎1.2.0-alpha01

6 במרץ 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 מופץ. גרסה ‎1.2.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • עכשיו אפשר להוסיף לרכיבי ProtoLayout Arc את הערך ArcDirection (Clockwise, ‏ Counterclockwise או Normal). הוספת ההתנהגות הזו ל-Arc, ל-ArcLine או ל-ArcText תתקן את ההתנהגות שלהם בפריסות מימין לשמאל. (I90699)
  • העדכנו את EdgeContentLayout עם setResponsiveContentInsetEnabled setter חדש כדי להתאים טוב יותר להנחיות בנושא חוויית משתמש, ולשמור על עקביות ב-Tiles על ידי הצגת התווית הראשית במקום קבוע בחלק העליון והוספת שוליים רספונסיביים לתוויות. (I60175)
  • הוספנו את PrimaryLayout.setResponsiveContentInsetEnabled שמוסיף שוליים פנימיים דינמיים לתווית הראשית, לתווית המשנית ולצ'יפ התחתון בפריסה הזו, כדי למנוע מצב שבו התוכן יוצא מגבול המסך. (I0c457)
  • הוספת שיטה להסרת השוליים החיצוניים מ-CircularProgressIndicator כדי שאפשר יהיה להשתמש בו כרכיב קטן יותר. (I55c06)

שינויים ב-API

  • מעכשיו, כברירת מחדל, רכיב ה-renderer של רכיבי Tile לא כולל ריווח גופנים בכל רכיבי הטקסט, ואין אפשרות לכלול אותו. (I3e300)

תיקוני באגים

  • תוקנה בעיה ביישור הטקסט כשמשתמשים בקיטום, ברווח בין האותיות וביישור למרכז בטקסט. (I716c7)
  • נוסף פתרון עקיף לבעיה בשרטוט קשת ב-Skia. (I08f09)
  • תיקון כיוון הציור ArcLine לפריסות מימין לשמאל. (I6c141)

גרסה 1.1

גרסה 1.1.0

‫7 בפברואר 2024

androidx.wear.protolayout:protolayout-*:1.1.0 מופץ. גרסה 1.1.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.0.0

  • תמיכה בהדרגות וייצוג טוב יותר של אורכים גדולים מ-360 מעלות ב-ArcLine.
  • פורמט התאריך והשעה תומך באזורי זמן שונים עבור סוגי נתונים דינמיים.
  • אפשרויות טובות יותר להתאמת גודל הטקסט באופן אוטומטי ולהוספת סימן השמטה, כדי לטפל בטקסט קטוע.
  • רכיב ה-Spacer תומך במימדים מורחבים עם משקל אופציונלי.
  • הוספת הערה לגבי הדרישה לגרסת הסכימה לכל ממשקי ה-API של ProtoLayout.
  • הגדלת אזור המטרה לכל אלמנט Clickable ל-48dp x 48dp, כדי לעמוד בדרישות הנגישות.
  • הריווח הפנימי של הגופן מושבת כברירת מחדל, והוא ההתנהגות היחידה בכל רכיבי הטקסט ורכיבי Material שמכילים טקסט.

שינויים נוספים

גרסה ‎1.1.0-rc01

‫24 בינואר 2024

androidx.wear.protolayout:protolayout-*:1.1.0-rc01 מופץ. גרסה ‎1.1.0-rc01 מכילה את השמירות האלה.

תיקוני באגים

  • PlatformTimeUpdateNotifierImpl מסומן מיד אחרי שמפעילים את העדכון. (I77145)
  • CircularProgressIndicator תוקן בפריסות מימין לשמאל. מעכשיו, בכל המקרים, התנועה תהיה בכיוון השעון. (I95ee3)
  • נוסף פתרון עקיף לבעיה בשרטוט קשת ב-Skia. (I08f09)

גרסה ‎1.1.0-beta01

‫10 בינואר 2024

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 מופץ. גרסה ‎1.1.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

גרסה 1.1.0-beta01 של Wear ProtoLayout מציינת שהגרסה הזו של הספרייה כוללת את כל התכונות וה-API נעול (אלא אם מסומן כניסיוני). ‫Wear ProtoLayout 1.1 כולל את הפונקציות וממשקי ה-API החדשים הבאים:

  • ArcLine תומך עכשיו בשיפוע על ידי הוספת Brush עם SweepGradient והוספת צל על הכובע כדי לייצג טוב יותר אורך גדול מ-360 מעלות על ידי הוספת Shadow ל-StrokeCap הקיים.
  • הפונקציה DynamicInstant תומכת בפורמט של תאריך ושעה עם אזור זמן. אפשר להשתמש ב-DynamicInstant וב-DynamicDuration כסוגי נתונים של מצב או פלטפורמה.
  • תכונה של שינוי גודל אוטומטי של טקסט שמאפשרת להגדיר כמה גדלים ל-FontStyle.setSizes, כך שגודל הטקסט ישתנה באופן אוטומטי בהתאם לשטח שזמין לו בתוך רכיב האב. בנוסף, שיפרנו את אפשרויות הקטיעה של טקסט שחורג מהגבולות על ידי הוספת TEXT_OVERFLOW_ELLIPSIZE והוצאה משימוש של TEXT_OVERFLOW_ELLIPSIZE_END.
  • Spacer תומך עכשיו בהרחבת המאפיינים עם משקל אופציונלי. כדי ליצור ExpandedDimensionProp, הוספנו שיטת עזר DimensionBuilders.weight.
  • תמיכה בהסתרה ובביטול הסתרה דינמיים של רכיבי פריסה באמצעות Modifier.visible. למשל, ערכים דינמיים ב-BoolProp.
  • לכל ממשקי ה-API של ProtoLayout יש עכשיו הערה לגבי דרישת גרסת הסכימה, ואפשר לבדוק את הגרסה לפני שמבצעים קריאה ל-API חדש יותר.
  • כל רכיב עם Clickable כולל עכשיו אזור יעד מורחב של לפחות 48x48 ב-renderer, כדי לתמוך טוב יותר בדרישות הנגישות.
  • בעקבות רכיבי Material אחרים ויוזמות Compose, השבתנו עכשיו את הריווח של הגופן כברירת מחדל בכל רכיבי Text. בנוסף, הוסרו מה-API הציבורי AndroidTextStyle ופונקציות ה-setter שקשורות אליו. בוצעו תיקוני הבאגים הבאים:
  • נוסף setter למיקום התוכן בקצה ב-EdgeContentLayout כדי שניתן יהיה למקם אותו לפני תוכן אחר.
  • הפונקציה תמיד תזרוק חריגה כשהיא נתקלת בערך enum לא מזוהה.
  • הפונקציה מבטלת את התוקף של תוצאת ביטוי אם היא מחזירה ערך מספרי לא תקין (NaN או אינסופי) או אם היא מחזירה ArithmeticException.

שינויים ב-API

  • עדכונים ב-SweepGradient API כדי לאפשר קבלת צבעים או ColorStops בבונה. (I6676f)

תיקוני באגים

  • הוספנו API מוגבל ותמיכה ברכיב renderer להגדרת כיוון שבו מצוירים אלמנטים של קשת. (Idef5a)
  • אם לא מציינים ערך, ברירת המחדל של RoundMode היא Floor ב-FloatToInt32Node. הצומת עדיין יציג חריגה אם הערך של RoundMode לא מזוהה. (I1b2d8)

גרסה ‎1.1.0-alpha04

‫13 בדצמבר 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 מופץ. גרסה ‎1.1.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

  • המחלקה VersionInfo לא מטמיעה את הממשק Comparable. (I8d13c)
  • הכלי Renderer תומך עכשיו באפשרות TEXT_OVERFLOW_ELLIPSIZE. (I7f085)

שינויים ב-API

  • האפשרות להצגת טקסט שגולש TEXT_OVERFLOW_ELLIPSIZE_END הוצאה משימוש. אפשר להשתמש ב-API החדש TEXT_OVERFLOW_ELLIPSIZE, שפועל בצורה דומה מאוד. (I822d8)
  • בעקבות רכיבים אחרים של Material ויוזמות של Compose, השבתנו עכשיו כברירת מחדל את המרווח הפנימי של הגופן בכל רכיבי הטקסט. בנוסף, הוסרו מ-API ציבורי AndroidTextStyle ופונקציות setter קשורות. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3)
  • Modifier.hidden הוחלף ב-Modifier.visible (I56902)
  • הפונקציה FontStyle#setSizes מקבלת עכשיו ארגומנטים מסוג int במקום SpProp. (I02b37)

תיקוני באגים

  • הפעלת חריגה כשנתקלים בערך לא מוגדר או לא מזוהה של enum. (I9d2cf)
  • שינוי מבנה הקוד DynamicTypeBindingRequest. (I27b57)
  • הפונקציה מבטלת את התוקף של תוצאת ביטוי אם היא מחזירה ערך מספרי לא תקין (NaN או אינסופי) או אם היא מחזירה ArithmeticException. (I681ae)

גרסה ‎1.1.0-alpha03

‫29 בנובמבר 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 מופץ. גרסה ‎1.1.0-alpha03 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו תמיכה ניסיונית בהסתרה או בהצגה דינמיות של רכיבי פריסה (I64a78)
  • הוספת תמיכה בערכים דינמיים ל-BoolProp (I2fe96)
  • הוספת הערה לגבי דרישת גרסת סכימה ל-API‏ ProtoLayout (I0f03c)
  • הוספנו ל-API‏ TextOverflow אפשרות חדשה להוספת שלוש נקודות בסוף הטקסט במאגר הורה קבוע, גם אם לא הגעתם למספר השורות המקסימלי (אבל אין מספיק מקום לטקסט). (I110a9)
  • הוספנו שיטת עזר DimensionBuilders.weight ליצירת ExpandedDimensionProp עם משקל. (I4f72b)
  • אפשר להשתמש ב-DynamicInstant וב-DynamicDuration כסוגי נתונים של מצב או פלטפורמה. (I6819f)

שינויים ב-API

  • עדכון ה-API כדי להסתיר את DynamicZonedDateTime ולהעביר את כל הפעולות שלו אל DyanamicInstant (I34b94)
  • רכיב הרווח תומך עכשיו במאפיין 'מימד מורחב' לרוחב ולגובה. (Ie7c94)
  • תמיכה בתוסף לאזור היעד של קליקים ב-Renderer ‏ (I39c79)

גרסה ‎1.1.0-alpha02

‫15 בנובמבר 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 מופץ. גרסה ‎1.1.0-alpha02 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו שדה ArcLine StrokeCap Shadow ל-API. (I830ec)
  • הרחבת ה-API כדי לאפשר לציין את הרוחב או הגובה של Spacer להרחבה. (I757ca)
  • הוספנו API ניסיוני שמשנה אוטומטית את גודל הטקסט בהתאם לשטח שהוא תופס בתוך הרכיב העליון. (Ibbe63)
  • תמיכה בגודל מינימלי של רכיב שאפשר ללחוץ עליו (I178e3)
  • הוספנו תמיכה ברכיב renderer עבור StrokeCap Shadow. (I48b17)
  • הוספנו תמיכה ב-Sweep Gradient במעבד התצוגה ב-ArcLine. (I4d5bb)

גרסה ‎1.1.0-alpha01

‫18 באוקטובר 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 מופץ. גרסה ‎1.1.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו אפשרות של מברשת ל-Arcline, עם תמיכה ב-SweepGradient. (Ie7ce3)
  • נוספה תמיכה בעיצוב של תאריך ושעה לפי אזור זמן. (Ibfae0)
  • נוספו פרוטוקולים ו-Wrappers של Java שנדרשים לעיצוב של תאריך ושעה באזור זמן מסוים. (I97126)
  • נוספו שיטות getter לקריאת הערך שמאוחסן ב-DynamicDataValue. (Ie6cea)
  • נוספה פונקציית setter למיקום התוכן בקצה ב-EdgeContentLayout, כדי שאפשר יהיה למקם אותו לפני תוכן אחר. (Ie8e8a)

תיקוני באגים

  • תוקנה בעיה שגרמה לכך שביטוי עם כמה רישומים של מקורות נתוני זמן לא התעדכן באופן מיידי. (I8e1a8)
  • תוקן באג שגרם לכך שרכיב הבסיס לא הוצב במרכז במהלך עדכוני ההבדלים. (Ie48f7)
  • המערכת לא תתעלם יותר מערכים לא מוגדרים (או ריקים) של אילוצי פריסה. (Ibc785)
  • הפחתת העיכוב בין הרגע שבו פריסת התוכן הופכת לגלוי לבין הרגע שבו צמתי צינור הנתונים מאותחלים. (I38d4e)

גירסה 1.0

גרסה 1.0.0

‫9 באוגוסט 2023

androidx.wear.protolayout:protolayout-*:1.0.0 מופץ. גרסה 1.0.0 מכילה את השמירות האלה.

התכונות העיקריות בגרסה 1.0.0

ספריית ProtoLayout כוללת ממשקי API ליצירת פריסות וביטויים שאפשר להשתמש בהם בפלטפורמות שונות של Wear OS. לדוגמה, ספריית Tiles משתמשת בממשקי ה-API האלה כדי לתמוך בקישור נתונים לפלטפורמה (לעדכוני נתונים מהירים יותר של רכיבי Tiles) ובאנימציות.

גרסה ‎1.0.0-rc01

26 ביולי 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 מופץ. גרסה ‎1.0.0-rc01 מכילה את השמירות האלה.

  • כדי לעבור מ-Tiles אל ProtoLayout, צריך לפעול לפי ההוראות שמפורטות כאן.

שינויים ב-API

  • הסרנו את השיטות setLayoutConstraintForDynamicAnchorAngle ו-getLayoutConstraintForDynamicAnchorAngle מרכיב Arc. השיטות האלה נוספו בטעות ולא הייתה להן השפעה על הפריסה שסופקה. (If7d01)
  • הגבלנו את העומק המקסימלי של פריסת ProtoLayout ל-30 רכיבי LayoutElements מקוננים. (I8a74b)

תיקוני באגים

  • הוספנו בדיקה שתופעל אם הערך DynamicColor הוגדר עבור SpanText. (I0e5bc)
  • הובהר שיחידת מקור הנתונים DAILY_CALORIES היא קק"ל. (Iaa785)

גרסה ‎1.0.0-beta01

‫21 ביוני 2023

androidx.wear.protolayout:protolayout-*:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

  • אפשר להגדיר שעון לבדיקות של שיוך זמן. (I05622)

שינויים ב-API

  • PlatformDataReceiver.onData() ו-StateBuilders.Builder.addKeyToValueMapping מקבלים עכשיו מיפוי בטוח מסוג DynamicDataKey ל-DynamicDataValue במקום גנריקה לא בטוחה. כלומר, DynamicDataValue מוקלד עכשיו עם DynamicType. הקבועים HEART_RATE_ACCURACY_X הועברו לשורש של PlatformHealthSources, כדי להתאים למיקום של קבועים אחרים ב-Android. HEART_RATE_ACCURACY_X קבועי int משמשים עכשיו ישירות ב-DynamicHeartRateAccuracy.constant() וב-DynamicHeartRateAccuracy.dynamicDataValueOf() במקום בקבוע ערך. (I82ff5)
  • הכיתה PlatformHealthSources.Constants הייתה ניתנת ליצירת מופע בטעות. הבעיה הזו נפתרה. (Icb849)
  • עכשיו PlatformTimeUpdateNotifier#setReceiver מקבל את הפונקציה Runnable במקום Supplier ואת Executor כדי לשלוח התראות. (I9d938)
  • שינינו את סוג הפרמטר בעמודה PlatformTimeUpdateNotifier#setReceiver מ-Callable ל-Supplier. (I664bf)
  • עכשיו אפשר להוסיף סמל ל-CompactChip ול-TitleChip. (I5a01e)

תיקוני באגים

  • עדכון הודעות Prop עם שדות דינמיים לשימוש ב-oneof במקום זאת (I81739)
  • שימוש חוזר בהטמעה של פונקציות setter לעומסים שכוללים פונקציות setter‏ (Ied70c)
  • הקלטה נכונה של טביעות אצבע בפונקציות setter שיש להן עומס יתר (I86ed2)

גרסה ‎1.0.0-alpha11

‫7 ביוני 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 מופץ. גרסה ‎1.0.0-alpha11 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו PlatformDataKey לדיוק של קצב הלב. (I7f9b8)

שינויים ב-API

  • משנים את השם של StateBuilders#getIdToValueMapping ל-getKeyToValueMapping ומשנים את סוג ההחזרה ל-Map<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae)
  • הפיכת StateStore לכיתה סופית (I408ca)
  • הממשק TimeGateway הוחלף ב-PlatformTimeUpdateNotifier בספריית protolayout-expression-pipeline, שמספק את התדירות הרצויה לעדכון נתוני הזמן. (I60869)
  • שינוי השם של register/unregisterForData ב-PlatformDataProvider ל-set/clearReceiver (I14b02)
  • במאפיין החומר getExcludeFontPadding, השם השתנה ל-hasExcludeFontPadding. (Iea01d)
  • נוסף setter ליישור מושלם של התווית לכל רכיבי הצ'יפ. עכשיו מוחל על כל הצ'יפים יעד מינימלי שאפשר להקיש עליו. (I8ae92)
  • השם של LayoutDefaults#BUTTON_MAX_NUMBER שונה ל-MAX_BUTTONS. (I84788)
  • השם של DAILY_DISTANCE השתנה לDAILY_DISTANCE_M. (I4f758)

תיקוני באגים

  • עדכון מסמכי Prop types כדי להבהיר למה הערך הסטטי נאכף. מציינים את ערך ברירת המחדל שבו המערכת תשתמש אם לא צוין ערך סטטי. (I155aa)
  • שמות של מרחבי שמות PlatformDataKey צריכים להיות בסגנון Java. (I47bda)

גרסה ‎1.0.0-alpha10

‫24 במאי 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 מופץ. גרסה ‎1.0.0-alpha10 מכילה את השמירות האלה.

תכונות חדשות

  • הוספת AppDataKey לגישה למצב של אפליקציה שנשלח בדחיפה; הוספת PlatformDataKey לגישה לנתוני פלטפורמה; הוספת תמיכה במרחב שמות ב-StateStore. (I7985e)
  • תמיכה בפעולות Equal ו-NotEqual עבור DynamicBool. (I6a0c1)

שינויים ב-API

  • הכיתה FontStyles היא עכשיו סופית (Iaa2ea)
  • המאפיין LayoutElementBuilders#FontStyles הוצא משימוש. צריך להשתמש בשדה androidx.wear.protolayout.Typography או ליצור שדה משלך FontStyle. (Ic929b)
  • הסתרת הממשק המקונן Action#Builder מהממשק Action. הטמעות של Builder כבר מסופקות על ידי מחלקות LoadAction ו-LaunchAction. (I1d70c)
  • התרת השימוש ב-DynamicFloat עם FloatProp. שימו לב: FloatProp לא דורש אילוצי פריסה כי הוא לא משמש כמאפיין לשינוי פריסה. (I286ac)
  • הפעולות LoalAction ו-SetStateAction הוסרו כי הן עדיין לא נתמכו באמת. (I5d6a6)
  • נוספה תמיכה בפורמט ARGB_8888 למשאבי תמונות מוטמעות. (I8a07c)
  • משנים את השם של StateEntryValue ל-DynamicDataValue ומעדכנים את ממשקי ה-API של המצב לשימוש ב-DynamicDataKey (If1c01)
  • אנחנו מגבילים את מספר הרשומות שמותרות ב-StateStore כדי לוודא שהשימוש בזיכרון וזמן עדכון המצב מוגבלים ומבוקרים בכל מופע של StateStore. לכן, המפתח צריך לוודא שלא יהיו יותר מ-MAX_STATE_ENTRY_COUNT רשומות במפה, אחרת הוא יקבל IllegalStateException כשהוא יוצר או מעדכן את StateStore. (Ibadb3)
  • הסתרה של כיתות OnLoadTrigger ו-OnConditionMetTrigger, ושינוי השם של setTrigger ל-setCondition עבור OnConditionMetTrigger. (Ibf629)
  • מסיבות שקשורות לביצועים ולתאימות, רכיבי העיבוד של ProtoLayout לא תומכים בכל התכונות במשאבי AnimatedVectorDrawable. אנחנו מסמנים את ממשקי ה-API האלה כניסיוניים עד שנוכל להגדיר את המערך הנתמך. (Ic6daf)
  • נוספו סוגים דינמיים למרחק היומי, לקלוריות היומיות ולמספר הקומות היומי. מפתחות למקורות מידע בנושאי בריאות בפלטפורמה נמצאים עכשיו בקטע PlatformHealthSources.Keys (Ib7637)
  • השיטה Easing.cubicBezier מחליפה את השיטה CubicBezierEasing.Builder. כך הכיתה EasingFunction מוסרת, ועכשיו אפשר לגשת ישירות לקבועי ההאצה מהממשק Easing. בנוסף, setInfiniteRepeatable מוחלף ב-INFINITE_REPEATABLE_WITH_RESTART וב-INFINITE_REPEATABLE_WITH_REVERSE (Ib41e7)
  • מטמיעים את PlatformDataProvider כדי לספק נתונים של דופק וצעדים יומיים. ממשק SensorGateway הוסר מ-API ציבורי. (I55b84)
  • מוסיפים PlatformDataProvider ומעדכנים את StateStore כדי להירשם ל-PlatformDataProvider כשנדרש מפתח נתמך של הספק על ידי צומת מצינור הבעיות. (Ib616a)
  • הסרטון SensorGateway כבר לא Closeable כי הוא כבר לא שומר על מצב כלשהו. (I6b4f7)
  • אפשר להשתמש ב-FloatProp עם DynamicFloat כדי להתקדם ב-CircularProgressIndicator. התכונה הזו נתמכת במעבדי רינדור שתומכים בגרסה 1.2. אם יש רכיב staticValue, רכיבי עיבוד ישנים יחזרו אליו, אחרת הם יחזרו ל-0 (I0d91b)
  • בוצע רפקטורינג של קבועי MultiButtonLayout למחלקה LayoutDefaults.MultiButtonLayoutDefaults, שכוללת עכשיו את הקבועים של גדלי הלחצנים בהתאם למספר הלחצנים בפריסה. (I13973)
  • תמיכה בשימוש ב-StringProp עם DynamicString ב-Material Text. התכונה הזו נתמכת במעבדי רינדור שתומכים בגרסה 1.2. מעבדי תצוגה ישנים יחזרו לערך הסטטי שסופק. עדכון סוג ההחזרה של Text#getText מ-String ל-StringProp. (I7275b)

גרסה ‎1.0.0-alpha09

‫10 במאי 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 מופץ. גרסה ‎1.0.0-alpha09 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו רכיב פריסה ניסיוני של תוסף. שימו לב: אי אפשר להשתמש בזה כברירת מחדל, ונדרשת הרחבת עיבוד שיכולה להבין את אלמנט הפריסה. (I6581d)
  • הוספנו תמיכה ב-StrokeCap ל-ArcLine. (I94951)
  • הוספנו תמיכה בפעולה מותנית מיידית. (I489a7)
  • הוספנו תמיכה בפעולה Conditional Duration (משך מותנה). (Iab469)
  • הוספנו תמיכה ביצירת משך זמן משניות. (Ib5fa1)

שינויים ב-API

  • הוסרו מהחשבון DynamicTypeEvaluator אמצעי התשלום enable/disablePlatformSource. האחריות לעדכונים מוטלת על המתקשר. (I78c6d)
  • אפשר להגביל את הגודל של סוגי נתונים שקשורים לחיבור לחבילה. (Ie2966)
  • הוספנו תמיכה בתיאור דינמי של תוכן ב-protolayout-material. (I62c8e)
  • משתמשים בערכים ארוכים וב-@IntRange לציון משך הזמן וההשהיה ב-AnimationParameters. (I388b6)

גרסה ‎1.0.0-alpha08

‫19 באפריל 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 מופץ. גרסה ‎1.0.0-alpha08 מכילה את השמירות האלה.

תכונות חדשות

  • AndroidTextStyle נוסף ל-LayoutElementBuilders. (I8d967)
  • הוספנו תמיכה בהגדרת ריווח (padding) של גופן להחרגה ב-ProtoLayout Material Text. (I17f5d)
  • מעכשיו יש תמיכה ב-ARGB_8888 לתמונות מוטבעות. (I18c1e)
  • DynamicColor תומך עכשיו בפעולה onCondition. (I10927)

שינויים ב-API

  • תמיכה במשך זמן מותאם אישית לאנימציה הפוכה (I3251f)
  • הוספנו את התו SemanticDescription לשינוי. בנוסף, אי אפשר לקשר את ContentDescription. (I3f1d)
  • ה-method‏ DynamicBool.isFalse() הוחלף ב-DynamicBool.negate() וה-DynamicBool.isTrue() הוסר. בנוסף, ערכי NaN DynamicFloat וצמצום של DynamicInt32 ל-DynamicFloat יוצרים עכשיו תוצאה דינמית לא תקינה. (I6ac1e)
  • מעצבי המספרים השלמים ומספרי הנקודה הצפה משתמשים עכשיו בתבנית Builder. (Ieb213)

תיקוני באגים

  • הוסר ערך סטטי חלופי משדות שניתן להנפיש. (Ifcb01)
  • DynamicTypeValueReceiver#onPreUpdate הוסר. (I2dc35)
  • האורך של מחרוזות בביטויים דינמיים מוגבל עכשיו. (I4c93)
  • התלות ב-Gradle מוגדרת עכשיו בצורה נכונה ל-api במקום ל-implementation כשנדרש. (I40503)

גרסה ‎1.0.0-alpha07

‫5 באפריל 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 מופץ. גרסה ‎1.0.0-alpha07 מכילה את השמירות האלה.

תכונות חדשות

  • הוספת תמיכה בערכים דינמיים ל-StringProp (I04342)
  • סימון רכיבי פריסה שניתנים לקישור (Ia110b)

שינויים ב-API

  • sensorGateway#registerSensorGatewayConsumer מקבלת את סוג הנתונים כפרמטר במקום כשיטה ב-Consumer. (Icf314)
  • השם של ObservableStateStore שונה ל-StateStore. (Ieb0e2)
  • הוספנו DynamicTypeEvaluator.Builder במקום ארגומנטים של בנאי כדי לאפשר יותר ארגומנטים אופציונליים, כולל ObservableStateStore שמוגדר עכשיו כברירת מחדל לחנות ריקה. (I6f832)
  • הסדר של הפרמטרים ב-DynamicTypeEvaluator שונה. (Ic1ba4)

תיקוני באגים

  • העברת אותות ממקורות חיישנים בפלטפורמה לצמתים במורד הזרם בצורה נכונה (I5a922)

גרסה ‎1.0.0-alpha06

‫22 במרץ 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 מופץ. גרסה ‎1.0.0-alpha06 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו API ניסיוני לשימוש בנתוני קצב הלב והצעדים היומיים בביטויים דינמיים (Ifd711)
  • הוספנו תמיכה בהשהיה של אנימציות קדימה ואחורה. (Ic25f7)
  • הוספנו תמיכה ב-DynamicColor ל-Border ול-Background
  • הוספנו תמיכה בערכים דינמיים לסוגים ב-DimensionBuilder
  • הפריסה והרכיבים מ-tiles-material עוברים אל protolayout-material

שינויים ב-API

  • LoadActionListener נוסף ל-ProtoLayoutViewInstance. (If7806)

תיקוני באגים

  • נוסף FloatNodesTest (Id7281)
  • תיקון קריסת מנוע הרינדור כשאי אפשר לטעון מפת סיביות מובנית.

גרסה ‎1.0.0-alpha05

‫8 במרץ 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 מופץ. גרסה ‎1.0.0-alpha05 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו אנימציה ניסיונית של 'עדכון תוכן' לאובייקט Modifiers. האנימציה הזו תופעל בכל פעם שהרכיב (עם התוסף הזה) או אחד מרכיבי הצאצא שלו ישתנה במהלך עדכון הפריסה. (bd03e5d)

שינויים ב-API

  • הוספנו את forwardRepeatDelayMillis ואת reverseRepeatDelayMillis אל Repeatable. שינינו גם את השם של delayMillis ב-AnimationSpec לstartDelayMillis (Ifb266)
  • ה-methods‏ DynamicTypeEvaluator.bind מקבלות עכשיו Executor. (I346ab)
  • הוספנו את השיטה startEvaluation ל-BoundDynamicType כדי להפעיל את ההערכה אחרי שהסוג הדינמי נקשר. (I19908)

תיקוני באגים

  • אובייקט ה-Animator ישמש שוב לאנימציות הבאות של רכיב יחיד. (Ia3be9)

גרסה ‎1.0.0-alpha04

‫22 בפברואר 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 מופץ. גרסה ‎1.0.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

  • מעכשיו ObservableStateStore מודיע למאזינים גם כשמסירים מפתח.
  • הוספנו את גרסת סכימת הרנדר ואת קנה המידה של הגופן ל-DeviceParameters (אפשר להשתמש ב-DeviceParameters כדי ליצור פריסות באופן מותנה בתגובה לגרסאות שונות ולהגדרות גופן שונות).
  • הוספנו תמיכה בהנפשת ערכים של DynamicInt32 (I05485)
  • הוספנו טריגרים של OnLoad ושל OnConditionalMet. אפשר להשתמש בהם כדי להפעיל אנימציות שתומכות בטריגר.
  • הוספנו משקל פריסה למאפיינים מורחבים וגודל מינימלי למאפיינים שעברו גלישת טקסט.
  • הוספנו סוגים של משך וסוגים דינמיים מיידיים. אפשר להשתמש בהם כדי לייצג רגע בזמן או משך זמן בביטוי דינמי.
  • הוספנו תמיכה ב-AnimatedVectorDrawable וב-SeekableAnimatedVectorDrawable כמשאבי פריסה.

שינויים ב-API

  • נתוני חיישנים דורשים API 29 ומעלה. (I8099e)
  • הוספנו שתי שיטות עזר launchAction (להפעלת פעילויות).

תיקוני באגים

  • שינוי השם של set/getSpec ל-set/getAnimationSpec באנימציה של Tiles (I3d74b)

גרסה ‎1.0.0-alpha03

‫8 בפברואר 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 מופץ. גרסה ‎1.0.0-alpha03 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו את toByteArray() ואת fromByteArray() לסוגים דינמיים בספריית protolayout-express.
  • הוספנו את toString() לסוגים דינמיים בספריית protolayout-expression.
  • הוספנו תמיכה בהערכה של סוגים דינמיים. אפשר להשתמש במחלקה DynamicTypeEvaluator מהספרייה protolayout-expression-pipeline כדי להעריך (ולקבל ערכים מעודכנים) סוג דינמי שנוצר בעבר (DynamicString,‏ DynamicFloat וכו')
  • אם אי אפשר להפעיל אנימציות (כי הן מושבתות על ידי המעריך, או כי מספר האנימציות הפועלות הגיע למגבלה שהוגדרה), המערכת תשתמש בערכים הסטטיים שהוגדרו בצומת שאפשר להנפיש כדי להחליף את האנימציה.

גרסה ‎1.0.0-alpha02

‫25 בינואר 2023

התכונות androidx.wear.protolayout:protolayout:1.0.0-alpha02, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 וגם androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 מושקות. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

תכונות חדשות

  • כלי בניית פריסות מ-androidx.wear.tiles:tiles עוברים אל androidx.wear.protolayout:protolayout. הפונקציות שמופיעות ב-androidx.wear.tiles:tiles יוצאו משימוש באחת מגרסאות האלפא הבאות.

גרסה ‎1.0.0-alpha01

‫11 בינואר 2023

androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 וגם androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 מופצים. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • בגרסה הזו השקנו ספרייה חדשה, ProtoLayout Expression, ליצירת ביטויים ממשתנים דינמיים.