ללבוש פרוטולוואי

  
הספרייה הזו מאפשרת להגדיר קבוצה של פריסות בממשק המשתמש וביטויים שאינם ממשקי משתמש שמיועדים לעיבוד/הערכה בפלטפורמות מרוחקות.
העדכון האחרון גרסה יציבה מועמד לפרסום גרסת בטא גרסת אלפא
7 באוגוסט 2024 1.2.0 - - -

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

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

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

מגניב

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

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

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

Kotlin

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

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

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

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

משוב

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

דיווח על בעיה חדשה

מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.

גרסה 1.2

גרסה 1.2.0

7 באוגוסט 2024

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

שינויים חשובים מאז 1.1.0

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

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

גרסה 1.2.0-rc01

24 ביולי 2024

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

תיקוני באגים

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

גרסה 1.2.0-beta01

10 ביולי 2024

androidx.wear.protolayout:protolayout-*:1.2.0-beta01 משוחרר. גרסה 1.2.0-בטא01 מכילה את ההתחייבויות האלה.

תכונות חדשות

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

  • בוצע עדכון של FontStyle כך שתהיה תמיכה נוספת בגופנים:
    • הגדרת וריאציות שונות של גופנים כמו FontSetting.weight ו-FontSetting.width
    • הגדרת רוחב זהה לכל התווים המספריים – ספרות בטבלה (ההגדרה של תכונת הגופן FontSetting.tnum)
    • ממשקי API משופרים לבחירת גופנים שיתמכו בגופנים הגמישים שיושקו בקרוב על ידי ציון שמות משפחה של גופנים מועדפים.
  • מגביל Corner מורחב לתמיכה בציון כל CornerRadius עם ערכים אנכיים ואופקיים נפרדים, כדי לאפשר לרכיבי בניין עם פינות אסימטריות.
  • נוסף תכונת שינוי חדשה של Transformation שמציעה תרגום, סיבוב והתאמה לעומס (scaling) של LayoutElement. אפשר להכין אנימציה של הטרנספורמציות האלה באמצעות שימוש בערכים דינמיים.
  • הוספנו את setArcDirection עם האפשרויות Clockwise, CounterClockwise ו-Normal לכל רכיבי קשתית (Arc, ArcLine ו-ArcText) כדי לשפר את התמיכה בכיוונים שונים של הפריסה (למשל LTR ו-RTL).
  • שיפור הנגישות של כל משטחי המגע על ידי הרחבת האזור שניתן להקיש על כל אלמנט עם מקש הצירוף Clickable כך שיהיה לפחות 48dp על ידי 48dp.
  • שיפרנו את PrimaryLayout ואת EdgeContentLayout על ידי הוספה של setResponsiveContentInsetEnabled, כדי לתמוך טוב יותר בהתנהגות הרספונסיבית של הפריסות האלה במסכים בגדלים שונים ולשפר את העקביות של כרטיסי המידע. נוספה אזהרה קטנה שקשורה להצעה לשימוש בממשקי ה-API האלה, עם תיקון מהיר.
  • שיפור ההתאמה לעומס (scaling) של חומר Text להתאמה לעומס (scaling) של גופנים לא לינארי ב-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 מועברת להיות ב-FontStyle במקום במחלקה Builder שלה. (I06ced)
  • צריך לעדכן את ה-API FontSetting.weight ואת ה-API FontSetting.width כדי לכלול הערות טווח ולשנות את הפרמטר של המשקל ל-in. (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)
  • הרחבנו את ה-API של FontSetting כך שיכלול את:
    • הגדרה של תכונות גופן כגון הגדרת הגופן כטבלה. (If12b7)
    • הגדרה של וריאציות של גופנים, כמו הגדרת רוחב מותאם אישית לגופנים של משתנים. (I2b36d)
  • ה-API של משפחת הגופנים נוסף ל-FontStyle כדי לאפשר ציון רשימת סידור של משפחות הגופנים שבהן יש להשתמש. (Iba9f5)
  • שמות קבועים של גובה רווח בין תוכן לתווית המשנית ב-LayoutDefaults של חומר לימוד, שהקידומת שלהם בהתחלה היא 'תוכן קצה', צריכים להיות כלליים יותר, כי אפשר להחיל אותם גם על 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

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

תיקוני באגים

  • תוקנה בעיה של נתוני פלטפורמה כפולים אפשריים במהלך האתחול. (Iba0fd)
  • כדי לאחזר עלות של צמתים, צריך להציג רכיב get חדש של DynamicDataNode. העלות משמשת לצירוף מכסת צמתים דינמיים. בשלב הזה, העלות של צמתים עם ערכים קבועים תהיה 0, ולכל שאר הצמתים העלות תהיה 1. (Ia33e1)
  • צריך להסיר את לוגיקת הספירה מה-NO_OP_QUOTA_MANAGER. (Ib50b8)
  • הוספנו כלל לאיתור שגיאות בקוד כדי לדווח על אזהרה כשנעשה שימוש ב-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 תתקן את ההתנהגות שלהן בפריסות RTL. (I90699)
  • בוצע עדכון של EdgeContentLayout עם הגדרה חדשה של setResponsiveContentInsetEnabled כדי להשיג התאמה טובה יותר להנחיות של חוויית המשתמש, עקביות במשבצות באמצעות תווית ראשית במקום קבוע בחלק העליון והטמעה רספונסיבית של תוויות. (I60175)
  • הוספנו לפריסה הזו פורמט 'PrimaryLayout.setResponsiveContentInsetEnabled' שמוסיף שילוב רספונסיבי לתווית הראשית, לתווית המשנית ולצ'יפ התחתון, כדי שהתוכן לא יוצג בקצה המסך. (I0c457)
  • הוספת שיטה להסרת שוליים חיצוניים של CircularProgressIndicator כדי שאפשר יהיה להשתמש בו כרכיב קטן יותר. (I55c06)

שינויים ב-API

  • כברירת מחדל, הכלי לרינדור משבצות לא כולל מרווח פנימי של גופנים בכל רכיבי הטקסט, ואין אפשרות לכלול אותו. I3e300

תיקוני באגים

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

גרסה 1.1

גרסה 1.1.0

7 בפברואר 2024

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

שינויים חשובים מאז 1.0.0

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

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

גרסה 1.1.0-rc01

24 בינואר 2024

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

תיקוני באגים

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

גרסה 1.1.0-beta01

10 בינואר 2024

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

תכונות חדשות

לפי גרסת 1.1.0-בטא01 של 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.
  • בכל ממשקי ProtoLayout ה-API יש עכשיו הערה לגבי הדרישות לגרסת הסכימה, וניתן לבדוק את הגרסה לפני הקריאה ל-API חדש יותר.
  • כדי לתמוך טוב יותר בדרישות הנגישות, אזור היעד של כל רכיב בכלי Clickable הורחב עכשיו לגודל של 48x48 לפחות.
  • בהמשך לרכיבי Material אחרים וליוזמות של Compose, השבתנו את המרווח הפנימי של הגופן כברירת מחדל בכל רכיבי Text. בנוסף, AndroidTextStyle והגדרות קשורות הוסרו מה-API הציבורי. עם תיקוני הבאגים הבאים:
  • נוספה הגדרה קבועה למיקום של תוכן הקצה ב-EdgeContentLayout כך שניתן יהיה למקם אותו לפני תוכן אחר.
  • מחריגה כל הזמן חריגה כשנתקלים בערך enum לא מזוהה.
  • ביטול התוקף של התוצאה של ביטוי כשהוא מניב ערך מספרי לא תקין (NaN או Infinite) או זורקת ArithmeticException.

שינויים ב-API

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

תיקוני באגים

  • הוספת ממשק API מוגבל ותמיכה בכלי לרינדור, לקביעת כיוון השרטוט של רכיבי קשת. (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)
  • בכלי הרינדור יש עכשיו תמיכה באפשרות TEXT_OVERFLOW_ELLIPSIZE. (I7f085)

שינויים ב-API

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

תיקוני באגים

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

גרסה 1.1.0-alpha03

29 בנובמבר 2023

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

תכונות חדשות

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

שינויים ב-API

  • עדכון ה-API כדי להסתיר את DynamicZonedDateTime ולהעביר את כל הפעולות שלו אל DyanamicInstant (I34b94)
  • עכשיו יש תמיכה במימדים מורחבים של רוחב/גובה. (Ie7c94)
  • תוסף אזור של יעד קליקים לתמיכה בכלי לעיבוד (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 כך שתהיה אפשרות לציין את הרוחב או הגובה של המפריד כדי להרחיב. (I757ca)
  • הוספנו API ניסיוני כדי לשנות את גודל הטקסט באופן אוטומטי בהתאם לשטח הפנימי של ההורה. (Ibbe63)
  • תמיכה בגודל מינימלי קליקבילי (I178e3)
  • נוספה תמיכה בכלי לרינדור עבור StrokeCap Shadow. (I48b17)
  • הוספת תמיכה בכלי לרינדור עבור Sweep Gradient ב-ArcLine. (I4d5b)

גרסה 1.1.0-alpha01

18 באוקטובר 2023

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

תכונות חדשות

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

תיקוני באגים

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

גרסה 1.0.0-rc01

26 ביולי 2023

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

  • כדי לעבור מכרטיסי מידע אל 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 משמשים עכשיו ישירות ב-DynamicHeartRateAccuracy.constant() וב-DynamicHeartRateAccuracy.dynamicDataValueOf() במקום בערך קבוע. (I82ff5)
  • ניתן היה לזהות בטעות את המחלקה PlatformHealthSources.Constants. השגיאה תוקנה. (Icb849)
  • הפונקציה PlatformTimeUpdateNotifier#setReceiver מקבלת עכשיו את הפונקציה Runnable במקום Supplier ואת הפונקציה Executor כדי להפעיל אותה. (I9d938)
  • שינינו את סוג הפרמטר ב-PlatformTimeUpdateNotifier#setReceiver מ-Callable ל-Supplier. (I664bf)
  • CompactChip ו-TitleChip תומכים עכשיו בהוספת סמל. (I5a01e)

תיקוני באגים

  • עדכון הודעות Prop עם שדות דינמיים כדי להשתמש באחד מהם במקום זאת (I81739)
  • שימוש חוזר בהטמעת הגדרות לעומסי יתר שהוגדרו (Ied70c)
  • הקלטה תקינה של טביעות אצבע במכשירים עם עומס יתר (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)
  • שינוי השם של unregisterForData/register בPlatformDataProvider לset/clearReceiver (I14b02)
  • ב'טקסט מהותי' השם של getExcludeFontPadding השתנה ל-hasExcludeFontPadding. (Iea01d)
  • נוסף מאפיין ליישור מושלם לכל רכיבי הצ'יפ. הוחל בכל הצ'יפים יעד מינימלי שאפשר להקיש עליו. (I8ae92)
  • השם של LayoutDefaults#BUTTON_MAX_NUMBER השתנה ל-MAX_BUTTONS. (I84788)
  • השם של DAILY_DISTANCE השתנה ל-DAILY_DISTANCE_M. (I4f758)

תיקוני באגים

  • צריך לעדכן את המסמכים של סוגי Prop כדי להבהיר למה הערך הסטטי נאכף. מציינים את ערך ברירת המחדל אם לא צוין ערך סטטי. (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)
  • ה-method 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)
  • נוספה תמיכה בפעולה 'משך זמן מותנה'. (Iab469)
  • נוספה תמיכה ביצירת משך זמן בשניות. (Ib5fa1)

שינויים ב-API

  • enable/disablePlatformSource שיטות הוסרו מהשיטה DynamicTypeEvaluator. מבצע הקריאה החוזרת יהיה אחראי לעדכונים. (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)
  • תבניות עיצוב int ו-float משתמשות עכשיו בתבנית Builder. (Ieb213)

תיקוני באגים

  • הערך הסטטי החלופי הוסר משדות שניתנים להנפשה. (Ifcb01)
  • DynamicTypeValueReceiver#onPreUpdate הוסר. (I2dc35)
  • עכשיו קיימת הגבלה על אורך המחרוזות בביטויים דינמיים. (I4c93)
  • יחסי התלות של GRid מוגדרים עכשיו בצורה נכונה כ-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 משתמשת בסוג הנתונים כפרמטר במקום כשיטה בעמודה 'צרכן'. (Icf314)
  • השם של ObservableStateStore השתנה ל-StateStore. (Ieb0e2)
  • הוספת את DynamicTypeEvaluator.Builder במקום ארגומנטים של constructor כדי לאפשר יותר ארגומנטים, כולל 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 ל'גבול' ול'רקע'
  • הוספנו תמיכה בערכים דינמיים לסוגים של DimensionBuilder
  • הפריסה והרכיבים מ-tiles-material עוברים ל-protolayout-material

שינויים ב-API

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

תיקוני באגים

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

גרסה 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)
  • DynamicTypeEvaluator.bind אמצעים מקבלים עכשיו קובץ הפעלה. (I346ab)
  • הוספנו את ה-method startEvaluation ל-BoundDynamicType כדי להפעיל את ההערכה לאחר הגבלת הסוג הדינמי. (I19908)

תיקוני באגים

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

גרסה 1.0.0-alpha04

22 בפברואר 2023

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

תכונות חדשות

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

שינויים ב-API

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

תיקוני באגים

  • שינוי השם של set/getSpec ל-set/getAnimationSpec באנימציה של כרטיסי מידע (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.
  • הוספנו תמיכה בהערכה לסוגים דינמיים. אפשר להשתמש במחלקה 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 ליצירת ביטויים ממשתנים דינמיים.