wear protolayout

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

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

כדי להוסיף תלות ב-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.3.0"

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

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

Kotlin

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

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

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

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

משוב

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

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

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

גרסה 1.4

גרסה ‎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 לבדיקת הנוכחות שלה. בנוסף, ב-MaterialScope מוצג השדה הציבורי של Context.
  • הכותרת 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. פעולת ה-Fallback תיבחר באופן אוטומטי ותמוקם בפריסה אם הגרסה של רכיב ה-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)
  • עזרה ב-Kotlin ל-ProtoLayout ו-ImageResources לשימוש עם ProtoLayoutScope ורישום אוטומטי של משאבים.Image (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

  • הוצאנו משימוש את ה-methods‏ 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 כולל עכשיו את השיטות 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 מגיע לשעון, עם רכיבים ופריסות שממוטבים לתצוגה העגולה ומתאימים את עצמם באופן הולם לגדלים שונים של מסכים, מקטנים ועד גדולים
    • זה כולל ספריית protolayout-material3 שהיא רק ל-Kotlin, עם ממשקי 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 מגיע לשעון, עם רכיבים ופריסות שממוטבים לתצוגה העגולה ומתאימים את עצמם באופן הולם לגדלים שונים של מסכים, מקטנים ועד גדולים
    • זה כולל ספריית protolayout-material3 שהיא רק ל-Kotlin, עם ממשקי 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-alpha10

‫12 במרץ 2025

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

תכונות חדשות

  • הוספת כלי עזר למברשת ב-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)
  • הוספת מסנני פינות לספריית הבדיקה של פריסת הפרוטוקול (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 ש-StateBuilder תומכת בה עכשיו כדי לספק API בטוח יותר לטיפוסים ב-Kotlin למצבי אפליקציה (I012ba)
  • נוספו שיטות ליצירת אובייקטים, כמו 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 לרכיב עיבוד ישן יותר ללא תמיכה בפינות לא סימטריות. (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)

תיקוני באגים

  • הוספת הטמעה של רכיב עיבוד לניפוח 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 nullness, שהן אנוטציות של שימוש בטיפוסים. מפתחי 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.

External Contribution

גרסה ‎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, ArcLine ו-ArcText) כדי לשפר את התמיכה בכיווני פריסה שונים (כמו מימין לשמאל ומשמאל לימין).
  • שיפור הנגישות של כל יעדי המגע על ידי הרחבת האזור שאפשר להקיש עליו של כל אלמנט שמשתמש בהרחבה Clickable כך שיהיה לפחות 48dp על 48dp.
  • שיפרנו את PrimaryLayout וEdgeContentLayout על ידי הוספת setResponsiveContentInsetEnabled כדי לתמוך טוב יותר בהתנהגות רספונסיבית של הפריסות האלה בגדלים שונים של מסכים, וכדי לשפר את העקביות של האריחים. הוספנו אזהרת linter כדי להציע שימוש בממשקי ה-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)
  • הוספנו API של משפחת גופנים ל-FontStyle כדי לאפשר הגדרה של רשימת סדר של משפחות גופנים שבהן רוצים להשתמש. (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)
  • ה-method‏ 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 עם פונקציית setter חדשה של setResponsiveContentInsetEnabled כדי להתאים טוב יותר להנחיות בנושא חוויית משתמש, ולשמור על עקביות ב-Tiles על ידי הצגת התווית הראשית במקום קבוע בחלק העליון והוספת שוליים דינמיים לתוויות. (I60175)
  • הוספנו PrimaryLayout.setResponsiveContentInsetEnabled שמוסיף שוליים דינמיים לתווית הראשית, לתווית המשנית ולצ'יפ התחתון בפריסה הזו, כדי למנוע מצב שבו התוכן יוצא מגבולות המסך. (I0c457)
  • נוספה שיטה להסרת השוליים החיצוניים מ-CircularProgressIndicator כדי שאפשר יהיה להשתמש בו כרכיב קטן יותר. (I55c06)

שינויים ב-API

  • מעכשיו, רכיבי הטקסט לא כוללים ריווח גופנים כברירת מחדל, ואין אפשרות לכלול אותם. (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 ב-FloatToInt32Node, ברירת המחדל היא Floor. הצומת עדיין יציג חריגה אם הערך של 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)
  • רכיב ה-Spacer תומך עכשיו במאפיין Expanded dimension (מימד מורחב) לרוחב ולגובה. (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)
  • הוספנו תמיכה ב-StrokeCap Shadow במעבד התצוגה. (I48b17)
  • הוספנו תמיכה ב-Renderer לטווח צבעים מתמשך ב-ArcLine. (I4d5bb)

גרסה ‎1.1.0-alpha01

‫18 באוקטובר 2023

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

תכונות חדשות

  • הוספנו אפשרות של מברשת ל-Arcline, עם תמיכה ב-SweepGradient. (Ie7ce3)
  • נוספה תמיכה בעיצוב של תאריך ושעה לפי אזור זמן. (Ibfae0)
  • נוספו פרוטוקולים ועטיפות 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)
  • במאפיין 'חומר' [material], השם 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 האלה כניסיוניים עד שנוכל להגדיר את קבוצת ממשקי ה-API הנתמכים. (Ic6daf)
  • נוספו סוגים דינמיים למרחק יומי, לקלוריות יומיות ולקומות יומיות. מפתחות למקורות מידע בנושאי בריאות בפלטפורמה נמצאים עכשיו בקטע PlatformHealthSources.Keys (Ib7637)
  • השיטה Easing.cubicBezier מחליפה את השיטה CubicBezierEasing.Builder. כך הכיתה EasingFunction מוסרת, והקבועים של פונקציית ה-easing מהכיתה הזו נגישים עכשיו ישירות מהממשק 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)
  • הוספנו תמיכה בהגדרת ריווח גופנים ללא החרגה ב-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)

תיקוני באגים

  • הוסר ערך סטטי של חזרה (fallback) משדות שניתן להנפיש. (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 מודיע למאזינים גם כשמסירים מפתח.
  • הוספנו את גרסת סכימת הרכיב Renderer ואת קנה המידה של הגופן אל 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, ליצירת ביטויים ממשתנים דינמיים.