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.3.0 מופיעים בנתוני הגרסה 1.4.0-beta01.
תכונות חדשות
- גרסה 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. - כל ממשקי
ImageAPI תומכים עכשיו במושג הזה באמצעות שיטות חדשות שמקבלותProtoLayoutScopeשאחראי לכך.
- השיטה הזו מפשטת מאוד את הפיתוח כי היא מבטלת את הצורך במיפוי ידני של משאבים ב-
היקף Material3 ורישום אוטומטי של משאבים: נוסף
materialScopeWithResourcesלתמיכה במושג Material3MaterialScopeעם משאבי תמונות מוטבעות. ההיקף הזה מטפל ברישום אוטומטי של משאבים וכולל שיטות עזר חדשות לתמונות (backgroundImage, avatarImageו-icon) כדי לייעל את השימוש ברכיבים.קטע קוד פשוט:
materialScopeWithResources( context = context, deviceConfiguration = deviceParameters, protoLayoutScope = protoLayoutScope) { primaryLayout( // layout setup here iconContent = { **icon**( **imageResource**( **androidImageResource**(R.drawable.myIcon)))}) //… }
תמיכה ב-PendingIntent: נוספה תמיכה ב-
PendingIntentלכרטיסי מידע. רכיביPendingIntentclickables מקבלים פעולות חלופיות (LoadActionאוLaunchAction). כך, אם רכיבProtoLayoutRenderer הוא גרסה ישנה שלא תומכת ב-PendingIntent, נעשה שימוש אוטומטי בפעולה חלופית תקפה.שיפורים רבים ב-Kotlin DSL:
- הוספנו כלי עזר מיוחדים ל-Kotlin עבור
Imageוכל הסוגים שלImageResourcesכדי לשפר את חוויית המפתחים של משתמשי Kotlin. - נוספו רכיבי עזר לסוגי מאגרי נתונים כמו
Box, Row, Columnוכו', כדי להתאים יותר לפיתוח מודרני של Android. - נוסף משנה (modifier) חדש של Kotlin
Transformationושיטות עזר לאנימציה של הופעה הדרגתית.
- הוספנו כלי עזר מיוחדים ל-Kotlin עבור
התאמה אישית של אנימציית 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
- נוסף משנה חדש של kotlin
Transformation. (I195a7, b/397169191)
תיקוני באגים
- פתרנו את הבעיה בטיפול במשאבים על ידי הסרת
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
- התג
PendingIntentclickableמקבל עכשיו פעולת גיבוי (LoadAction/LaunchAction) לשימוש במקרים שבהםPendingIntentלא נתמך על ידי רכיב ה-RendererProtoLayout. פעולת הגיבוי תזוהה אוטומטית ותמוקם בפריסה אם הגרסה של רכיב ה-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לתמיכה במושג M3MaterialScopeשדואג גם לרישום אוטומטי של משאבים. בנוסף, נוספו שיטות עזר חדשות לתמונות (backgroundImageavatarImageוסמל) שמבטלות את הצורך לרשום משאבים באופן ידני ב-onTileResourceRequestכשמשתמשים בהן. (I525bd, b/428692714) - עזרים של
ProtoLayoutKotlin ל-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.Builder–setImageResourceכדי להגדיר אובייקט משאב ישירות לתמונה ב-onTileRequest, בלי צורך לרשום אותו במיפוי ב-onTileResourcesRequest. (Ifa69a, b/428693523) - הוספנו את הרעיון
ProtoLayoutScopeכדי להתכונן לטיפול טוב יותר במשאבים ב-Tiles. (I132ce, b/428692423) -
ProtoLayoutMaterial3MaterialScopeחושף עכשיו את השדהContextכציבורי, לשימוש בשיטות במסגרת, ללא צורך בהעברתו. (I0e5cc, b/414559956) - הפיכת ממשקי API סמנטיים של כותרות לציבוריים (I75299, b/413653475)
- חשיפת קבועי
ARC_DIRECTION_*כציבוריים לשימוש ב-Arc/ArcLine/ArcText/DashedArcLine. (I83959, b/427556439)
שינויים ב-API
- הוצאנו משימוש את השיטות
Image.Builder()ו-Image.Builder.setResourceIdלטובת ה-API החדש לרישום אוטומטי של משאבים, שזמין בממשקי ה-APIImage.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יש עכשיו את ה-methodshashCodeו-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,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- כל הרכיבים פועלים בכל רמות ה-SDK ובכל גרסת
ProtoLayoutRenderer, ומספקים חלופות סבירות במקרים הרלוונטיים
- זה כולל ספריית Kotlin בלבד,
- ממשקי 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,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- כל הרכיבים פועלים בכל רמות ה-SDK ובכל גרסה של ProtoLayout Renderer, ומספקים חלופות סבירות במקרים הרלוונטיים
- זה כולל ספריית Kotlin בלבד,
- ממשקי 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) - הבהרה לגבי עיצוב ברירת המחדל של צבע דינמי ברכיבי
ProtoLayoutMaterial3. (Iff5f3) - הגופנים
Typography.NUMERAL_*כבר לא מוצגים כברירת מחדל בפורמט טבלאי או ברווח קבוע. אם הטקסט מונפש, מומלץ מאוד להוסיף לו את ההגדרהFontSetting.tabularNum(). בכל המקרים האחרים, האפשרות הזו של רווח קבוע לא נדרשת, ואם לא משתמשים בה יהיו יותר תווים זמינים. (Id3cd9) - הבהרה לגבי עיצוב ברירת המחדל של צבע דינמי ברכיבי
ProtoLayoutMaterial3. (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יש עכשיו methodhasValueOfType(Class<?>)בנוסף ל-methodhasInt/hasColor/.... (I4f7a6) - הוספנו את
errorDimל-ProtoLayout של Material3ColorScheme, בשביל שגיאות בעדיפות גבוהה או פעולות חירום כמו התראות בטיחות. (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 Material3textButton. (Id680d) - הוספת רכיב
iconButtonProtoLayout 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.1.0, אפשר לעיין בנתוני הגרסה beta01.
גרסה 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), כי הוא מובלע בכך שלא משתמשים ב-APIpreferredFontFamilies. (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
- הערך
FontFamilyconst מועבר ל-FontStyleבמקום למחלקה Builder שלו. (I06ced) - עדכון של
FontSetting.weightו-FontSetting.widthAPI כך שיכללו הערות לגבי טווחים ושינוי הפרמטר של המשקל ל-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)
- הרחבנו את
FontSettingAPI כך שיכלול: - הוספנו ל-
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) -
ArcDirectionPropBuilder מצפה עכשיו לערך בבונה. (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עםsetResponsiveContentInsetEnabledsetter חדש כדי להתאים טוב יותר להנחיות בנושא חוויית משתמש, ולשמור על עקביות ב-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, אפשר לעיין בנתוני הגרסה beta01.
גרסה 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
- עדכונים ב-
SweepGradientAPI כדי לאפשר קבלת צבעים או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 מכילה את השמירות האלה.
תכונות חדשות
- הוספנו שדה
ArcLineStrokeCapShadowל-API. (I830ec) - הרחבת ה-API כדי לאפשר לציין את הרוחב או הגובה של Spacer להרחבה. (I757ca)
- הוספנו API ניסיוני שמשנה אוטומטית את גודל הטקסט בהתאם לשטח שהוא תופס בתוך הרכיב העליון. (Ibbe63)
- תמיכה בגודל מינימלי של רכיב שאפשר ללחוץ עליו (I178e3)
- הוספנו תמיכה ברכיב renderer עבור
StrokeCapShadow. (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) של גופן להחרגה ב-
ProtoLayoutMaterial Text. (I17f5d) - מעכשיו יש תמיכה ב-ARGB_8888 לתמונות מוטבעות. (I18c1e)
-
DynamicColorתומך עכשיו בפעולהonCondition. (I10927)
שינויים ב-API
- תמיכה במשך זמן מותאם אישית לאנימציה הפוכה (I3251f)
- הוספנו את התו
SemanticDescriptionלשינוי. בנוסף, אי אפשר לקשר אתContentDescription. (I3f1d) - ה-method
DynamicBool.isFalse()הוחלף ב-DynamicBool.negate()וה-DynamicBool.isTrue()הוסר. בנוסף, ערכי NaNDynamicFloatוצמצום של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 מכילה את השמירות האלה.
תכונות חדשות
שינויים ב-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, ליצירת ביטויים ממשתנים דינמיים.