Wear Compose

  
כתיבת אפליקציות Jetpack Compose למכשירי Wear OS באמצעות פונקציונליות שתומכת בגדלים שונים של מכשירים ובתנועות ניווט שונות.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסה אלפא
4 ביוני 2025 1.4.1 - 1.5.0-beta03 -

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

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

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

מגניב

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.4.1"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.4.1"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.4.1"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.1")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.4.1")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.4.1")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.4.1")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.1")

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

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

משוב

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

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

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

Wear Compose גרסה 1.5

גרסה 1.5.0-beta03

4 ביוני 2025

androidx.wear.compose:compose-*:1.5.0-beta03 משוחרר. גרסת 1.5.0-beta03 מכילה את ההוספות האלה.

שינויים ב-API

  • OpenOnPhoneDialog מכריז עכשיו רק על טקסט ההודעה ב-TalkBack, ודלג על הסמנטיקה של הסמל. ה-OpenOnPhoneDialogDefaults עודכנו כדי להסיר את הפרמטר iconContentDescription ואת הפרמטר contentDescription מ-icon(). בנוסף, עכשיו יש ל-ConfirmationDialogDefaults פרמטרים של מודификаторים ברכיבים הניתנים לשילוב של SuccessIcon ו-FailureIcon. (Id2ae2)

תיקוני באגים

  • שינינו את הסדר שבו אנחנו מחילים את ההשפעה של הפרמטרים SurfaceTransformation. בעבר, הטרנספורמציות שהוחלו על רכיבי Wear Material3 בוצעו באופן הבא: ציור רקע, טרנספורמציה של קונטיינר, טרנספורמציה של תוכן. עכשיו, 2 הפריטים הראשונים הופכים, ואנחנו מחילים כל שינוי שעבר ביניהם, כך שהוא מושפע מהטרנספורמציות של הקונטיינר. כך ניתן לפתור בעיות כמו שימוש באפקט שיזוף של placeholder עם רכיבים ב-TLC באמצעות פרמטר הטרנספורמציה. (I786cf)
  • השדה RevealState.Saver נוסף כדי לשמש לשחזור המצב של SwipeToReveal כשיוצרים מחדש את הפעילות או התהליך. הפונקציה rememberRevealState משתמשת עכשיו ב-Saver הזה כברירת מחדל. (Ie0ecb)
  • SwipeToReveal לחצני הפעולות הראשיות והמשניות צריכים להיות מוגדרים כברירת מחדל כ-ButtonDefault.Height (תוקן באג שבו הם מילאו את הגובה המקסימלי של לחצנים גבוהים יותר). (Ibfba1)
  • שינינו את SwipeToReveal כדי לאפס את הרכיב האחרון שבו בוצעה אינטראקציה, כשמבצעים את התנועה של החלקה ימינה. (Ia8450)
  • SwipeToReveal השתנה כך שיגיע למצב Revealing כשמיקום הסיום של החליקת האצבע נמצא בין שתי נקודות העיגון – נקודת העיגון של החשיפה ונקודת העיגון של החשיפה – והוא קרוב יותר לנקודת העיגון של החשיפה. (If4458)
  • עכשיו התוכן של ButtonGroup הופך כמו שצריך בפריסה לימין (Ib378d)
  • AnimatedText תומך עכשיו בכיוון טקסט מימין לשמאל (I4533c)
  • TransformingLazyColumn עכשיו משתנה הגודל של הפריטים בצורה נכונה כשהפריט התחתון מוסר (Idacab)
  • TransformingLazyColumn מבצע עכשיו רק סבב מדידה אחד, וכך משפר את הביצועים על ידי צמצום זמני הפריימים. (I501a1)

גרסה 1.5.0-beta02

20 במאי 2025

androidx.wear.compose:compose-*:1.5.0-beta02 משוחרר. גרסת 1.5.0-beta02 כוללת את ההוספות האלה.

תיקוני באגים

  • עדכנו את הפרופילים הבסיסיים של ספריות foundation, ‏ material ו-material3. (I53f06)
  • תוקן באג ב-TransformingLazyColumn, שבו הגודל של הפריטים השתנה כשהפריט התחתון הוסר. (Idacab)
  • תוקן באג ב-TransformingLazyColumn, שבו הרשימה נתקעה בחלק העליון או התחתון שלה. (I49d00)
  • OpenOnPhoneDialog בקטע TalkBack צריך להקריא את הטקסט המעוקל, ולא את תיאור התוכן של הסמל. (I4efe8)
  • תוקן באג ב-SwipeToReveal שגרם לדיווח על עוגן שגוי ב-RevealState.currentValue כשהערך של hasPartiallyRevealedState מוגדר כ-false. (I9c7cf)
  • כפתורי הביטול SwipeToReveal מוגדרים עכשיו כ-ButtonDefaults.Height כברירת מחדל. (I1f6c8)
  • שיפור הביצועים של BasicSwipeToDismissBox על ידי הפסקת השימוש ב-Canvas לציור פריימים מקדימים. (I68f2c)
  • תוקן באג נגישות ב-Slider, שבו האחוז המוצג לא תאם לערך אחרי העדכונים (I91146)
  • תוקן באג בהטמעה של placeholderShimmer. (Iee39b
  • הביצועים של TransformingLazyColumn השתפרו, בעקבות אופטימיזציה של החישוב של ScrollProgress בשיעור של 30%. (I4c4cb)

גרסה 1.5.0-beta01

7 במאי 2025

androidx.wear.compose:compose-*:1.5.0-beta01 משוחרר. גרסת 1.5.0-beta01 מכילה את ההוספות האלה.

הגרסה 1.5.0-beta01 של Compose for Wear OS מציינת שהגרסה הזו של הספרייה כוללת את כל התכונות וממשק ה-API נעול (למעט במקרים שבהם הוא מסומן כניסיוני).

Wear Compose 1.5.0-beta01 כולל את הספרייה Wear Compose Material3, שתומכת במערכת החדשה לעיצוב ממשק המשתמש שנקראת Material 3 Expressive. מומלץ לשדרג מ-Material ל-Material3 כדי ליהנות מהעיצוב החזותי החדש באפליקציות ומהרכיבים החדשים הבאים:

  • MaterialTheme כדי לקבל ערכות צבעים, גופנים וצורות מעודכנים ומרחיבים, שיעניקו לעיצובים שלכם עומק ומגוון.
  • ערכות צבעים דינמיות, שמאפשרות ליצור באופן אוטומטי ערכת צבעים לאפליקציה כך שתתאים לצבעים של תצוגת השעון.
  • רכיבים חדשים מותאמים באופן אוטומטי למסכים גדולים יותר כברירת מחדל
  • שינוי צורה – רכיבים של לחצנים עגולים כמו IconButton, ‏ TextButton, ‏ IconToggleButton ו-TextToggleButton תומכים באפשרויות שונות עם אנימציה כשהם לוחצים עליהם או מסמנים אותם.
  • EdgeButton – כפתור חדש לאורך הקצה עם צורה מיוחדת שמיועד לתחתית המסך.
  • תבניות – הצגת AppScaffold ו-ScreenScaffold כדי לתכנן את המבנה של המסך ולתאם את האנימציות של ScrollIndicator ו-TimeText.
  • לחצנים – יש תמיכה במגוון לחצנים בצורת אצטדיון עם קונטיינרים גמישים עם חריץ יחיד, ועם וריאציות של קונטיינרים עם כמה חריצים ללחצנים עם סמלים ותוויות. CheckboxButton ו-SwitchButton מוצגים כשצריך לחצני החלפת מצב, ו-RadioButton הוא לחצן הבחירה הזמין (יש גם וריאציות 'מפוצלות' של לחצני החלפת המצב ושל לחצן הבחירה).
  • ButtonGroup – הטמעת קבוצה של כפתורים בעלי מראה מיוחד בשורה, שמשתנים כשמקישים עליהם.
  • וריאציות של AlertDialog תומכות בלחצני אישור/ביטול או ב-EdgeButton.
  • ConfirmationDialog זמין להצגת הודעה עם זמן קצוב לתפוגה, עם תמיכה באנימציות מיוחדות למקרים של הצלחה, כשל וריאציות של פתיחה בטלפון.
  • בוררי בחירת פריטים – יש תמיכה בגרסאות של TimePicker ו-DatePicker, וגם ברכיבים Picker ו-PickerGroup ליצירת מסכי בורר בחירת פריטים משלכם.
  • ProgressIndicators – יש תמיכה באינדיקטורים של התקדמות מעגליים ולינאריים (ל-CircularProgressIndicator יש וריאציות מחולקות ווריאציות לא ידועות).
  • כרטיסים – יש כמה וריאציות של כרטיסים, כולל TitleCard שמציע פריסות ספציפיות לכרטיסים עם כותרת, שעה, כתוביות או שטחי תוכן. אפשר גם להוסיף ל-TitleCard רקע של תמונה כדי לחזק את המשמעות של המידע בכרטיס.
  • רכיבי Pager – הרכיבים HorizontalPagerScaffold, ‏ VerticalPagerScaffold ו-AnimatedPage מנהלים את התזמון של האנימציות HorizontalPageIndicator ו-VerticalPagerIndicator. HorizontalPager ו-VerticalPager פורסמו בספרייה של Wear Compose Foundation.
  • placeholders (סמלי placeholder) – ציור של צורת שלד מעל רכיב, למקרים שבהם אין תוכן זמני זמין.
  • מחוונים ופקדי צעד – גם מחוונים וגם פקדי צעד מאפשרים למשתמשים לבחור מתוך טווח ערכים. פס ההזזה קומפקטי יותר וניתן לחלק אותו למקטעים, בעוד שפס ההתקדמות הוא רכיב במסך מלא שמשויך בדרך כלל ל-StepperLevelIndicator.
  • SwipeToReveal – משמש להוספת פעולות נוספות ל-Composeable כשמחליקים מימין לשמאל.

בנוסף, Wear Compose Foundation 1.5.0-beta01 כולל את הרכיבים החדשים הבאים:

  • TransformingLazyColumn – רשימה עם גלילה אנכית עצלה שתומכת בהתאמה לעומס ובאנימציות של טרנספורמציה
  • קבוצות פוקוס היררכיות – משמשות להוספת הערות לרכיבים שניתנים לשילוב באפליקציה, כדי לעקוב אחרי החלק הפעיל של ההרכבה ולתאם את המיקוד.
  • Pagers – רכיבים של HorizontalPager ו-VerticalPager, שנוצרו על סמך הרכיבים של Compose Foundation עם שיפורים ספציפיים ל-Wear כדי לשפר את הביצועים ולפעול בהתאם להנחיות של Wear OS.

שינויים ב-API

  • עדכנו את Hierarchical Focus API – שינינו את השם של Modifier.hierarchicalFocus ל-Modifier.hierarchicalFocusGroup והסרנו את הפרמטר של הקריאה החוזרת (callback). הסרתם את עומס יתר של Modifier.hierarchicalFocusRequester באמצעות פרמטר FocusRequester. יצרנו CompositionLocal חדש, LocalScreenIsActive, כדי שרכיבים יוכלו לדווח ולבדוק איזה מסך פעיל. (I5ff7c).
  • הוצאנו משימוש את SwipeToReveal מ-Wear Compose Foundation והחלפנו אותו בממשקי API של SwipeToReveal ב-Wear Compose Material וב-Wear Compose Material3. כדי להמשיך להשתמש בממשקי ה-API, צריך להחליף את הייבוא של SwipeToReveal ב-Wear Foundation בייבוא של Wear Compose Material או Wear Compose Material3. (Ia147d).
  • יחסי התלות של SwipeToReveal ב-Foundation ב-Wear Compose Material3 הועברו לחבילת material3, למשל RevealValue, ‏ RevealDirection, ‏ RevealActionType, ‏ RevealState, ‏ rememberRevealState. המפתחים צריכים לשנות את הייבוא של הכיתות והפונקציות האלה מ-androidx.wear.compose.foundation ל-androidx.wear.compose.material3. (I640e6).
  • עדכנו את ממשק ה-API SwipeToReveal של Wear Compose Material3 באופן הבא: הוספנו את הפרמטרים primaryAction,‏ onFullSwipe,‏ secondaryAction,‏ undoPrimaryAction,‏ undoSecondaryAction ו-hasPartiallyRevealedState ל-composable‏ SwipeToReveal. הסרנו את היכולת להתאים אישית את positionalThreshold ו-animationSpec מ-RevealState. הסרנו את lastActionType,‏ revealThreshold והרוחב מ-RevealState. שינינו את המבנה של RevealState כך שיקבל RevealDirection במקום עוגנים. הסרנו את createRevealAnchors, את העוגנים ואת הפונקציות bidirectionalAnchors. הפונקציות SwipeToRevealScopeprimaryAction,‏ secondaryAction,‏ undoPrimaryAction ו-undoSecondaryAction שונו לשמות PrimaryActionButton,‏ SecondaryActionButton,‏ UndoActionButton והפכו לפונקציות Composable. סימנו את RevealActionType כפנימית. (I885d0).
  • עדכנו את ה-API של SwipeToReveal באופן הבא: שינינו את השם של onFullSwipe ל-onSwipePrimaryAction, שינינו את השם של SwipeToRevealNonAnchoredSample כדי לציין את השימוש בפרמטר hasPartiallyRevealedState, הסרנו את actionButtonHeight כי ברירת המחדל היא הגובה שמוגדר כברירת מחדל ל-Button, וניתן להגדיר גובה גדול יותר באמצעות שינוי (modifier). הסרנו את SmallActionButtonHeight מ-SwipeToRevealDefaults, והפכנו את פרמטר הערך ב-RevealValue וב-RevealDirection למשתנה פרטי (private) ב-constructors. (I465ce).

תיקוני באגים

  • תוקנה הטיפול ב-EdgeButton של ScreenScaffold, כך שאחרי הסרת פריט TransformingLazyColumn, ה-EdgeButton נע באנימציה למיקום שלו. (I6d366).
  • עדכנו את יחסי התלות של Wear Compose בספריות Compose לגרסה 1.8.0. (I2ef3f).
  • עדכנו את התנועה של CircularProgressIndicator הלא ידועה כך שהיא לא תהיה יותר רגרסיה זמנית. (Ieddb1).
  • תוקן באג ב-SwipeDismissableNavHost – המיקוד לא השתנה בצורה נכונה אחרי החלקה לאחור, מה שגרם לכשל בהזנת נתונים באמצעות רוטור (הבעיה הזו הייתה ב-API מגרסה 36 ואילך, שמשתמשת בחזרה חזויית). (Ieddb1).
  • תיעוד מתוקן של Hierarchical Focus API‏ (Idf2ff).
  • עדכנו את המסמכים של Button ו-Card כדי לציין איך containerPainter ו-disabledContainerPainter מבטלים את ההגדרות של containerColor ו-disabledContainerColor (I4a453).
  • החזרה לשינוי הקודם ב-TimeText בגרסה הקודמת, שהעביר את BroadcastReceiver לשרשור עבודה, כי הוא גרם לבעיות באפליקציות שמנהלות את השרשור שלהן בזמן הניווט. (I34d02).
  • עדכנו את הדוגמאות ל-Picker כדי להסיר קריאות מיותרות ל-remember, ובמקום זאת להשתמש ב-rememberUpdatedState ב-Picker כדי לזכור את פונקציית הלמבדה האחרונה של contentDescription. (Icb5b1).
  • עדכנו את סגנונות הטקסט ב-TimePicker וב-DatePicker, כך ששינויים בגופן לא יגרמו יותר לקיצוץ. (I26194).
  • עכשיו ברירת המחדל של ListHeader ו-ListSubHeader היא יישור טקסט למרכז ולהתחלה, בהתאמה. (I78339).
  • עדכנו את הדוגמאות והדמואים של Foundation ו-Material לגבי החלקה כדי לחשוף, כדי להודיע על פעולות מותאמות אישית של נגישות (צריך להוסיף את הפעולות בהתאמה אישית כסמנטיקה בתוכן, ולא ברכיב ה-SwipeToReveal עצמו). (Ie92a3).
  • עדכנו את ברירת המחדל של MaxLines שמוגדרת בתוכן EdgeButton בהתאם לגודל שלו – עכשיו הערך הוא 1 לתוכן בגודל 'קטן במיוחד', 2 לתוכן בגודל 'קטן' ו'בינוני' ו-3 לתוכן בגודל 'גדול'. (Ie35f6).
  • LocalReduceMotion פשוט יותר, כך שהמשתמש המתבונן נרשם רק פעם אחת, כדי לשפר את הביצועים. (Ib1979).
  • צמצמנו את מספר הציורים מחדש ב-ScrollIndicator כדי לשפר את הביצועים. (Ia7a67).
  • תוקן באג ב-TransformingLazyColumn, שבו הפריט העליון שגלוי ברשימה לא השתנה כראוי כש-EdgeButton הגיע לגובה המלא שלו. (I30580).

גרסה 1.5.0-alpha14

‫23 באפריל 2025

androidx.wear.compose:compose-*:1.5.0-alpha14 משוחרר. גרסת 1.5.0-alpha14 מכילה את ההוספות האלה.

שינויים ב-API

  • כל יחסי התלות של Material SwipeToReveal ב-Foundation SwipeToReveal הועברו לחבילת Material, למשל RevealValue, ‏ RevealDirection, ‏ RevealActionType, ‏ RevealState, ‏ rememberRevealState. המפתחים צריכים לשנות את הייבוא של הכיתות והפונקציות האלה מ-androidx.wear.compose.foundation ל-androidx.wear.compose.material. (Ib7cb8)
  • עדכנו את ה-API של HierarchicalFocusCoordinator כך שיהיה מורכב ממשתנים במקום מרכיבים שניתנים לשילוב.
  • הערות לגבי ההעברה:
    • אפשר להחליף את HierarchicalFocusCoordinator(function, content) על ידי הוספת Modifier.hierarchicalFocus(function()) ל-content או ל-composable המקיף.
    • אפשר להחליף את ActiveFocusListener { if (it) focusRequester.requestFocus() } על ידי הוספת Modifier.hierarchicalFocusRequester(focusRequester)
    • בשימושים אחרים, נדירים יותר, של ActiveFocusListener אפשר להשתמש בפרמטר החדש ב-Modifier.hierarchicalFocus
    • אפשר להחליף את focusRequester(rememberActiveFocusRequester()) ב-hierarchicalFocusRequester()
    • אפשר להחליף את val focusRequester = rememberActiveFocusRequester() ב-remember { FocusRequester() } ולהוסיף את Modifier.hierarchicalFocusRequester(focusRequester). (Ie319a)

תיקוני באגים

  • ערך הסף של המהירות שתנועות החלקה צריכות לעבור כדי להפעיל שינוי מצב הוגדל ברכיבים הבאים: SwipeToReveal, ‏ BasicSwipeToDismissBox ו-SwipeDismissableNavHost (רק ב-API 35 וגרסאות ישנות יותר עבור SwipeDismissableNavHost). (If47bf)
  • תוקנה בעיה באנימציה כשמוסיפים פריטים חדשים ל-TransformingLazyColumn. (I589b2)

גרסה 1.5.0-alpha13

9 באפריל 2025

androidx.wear.compose:compose-*:1.5.0-alpha13 משוחרר. גרסת 1.5.0-alpha13 מכילה את ההוספות האלה.

שינויים ב-API

  • כדי לצרוך פרויקטים שפורסמו עם Kotlin 2.0, צריך להשתמש ב-KGP 2.0.0 ואילך (Idb6b5)
  • הנכס targetPage נוסף אל PagerState (I4de8b)

תיקוני באגים

  • למנוע יצירת קומפוזיציה מחדש מיותרת במהלך חזרה חזותית אוטומטית. (Iecd6d)
  • תוקן המאפיין isScrollable של ScrollInfoProvider כך שיחזיר את הערך הנוכחי. (Icbfb8)

גרסה 1.5.0-alpha12

‫26 במרץ 2025

androidx.wear.compose:compose-*:1.5.0-alpha12 משוחרר. גרסת 1.5.0-alpha12 מכילה את ההוספות האלה.

שינויים ב-API

  • שיפור ההטמעה שמוגדרת כברירת מחדל של SwipeToReveal ב-gestureInclusion, כך שתתעלם מהתנועות רק אם המצב של הרכיב הוא 'מכוסה'. (I7e3d6)
  • ב-SwipeToReveal, הפכנו את bidirectionalGestureInclusion ל-val במקום לפונקציה והוספנו את @FloatRange לפרמטר edgeZoneFraction ב-gestureInclusion. (Ica7c3)

תיקוני באגים

  • משנים את SwipeToReveal bidirectionalGestureInclusion כדי להחזיר אובייקט במקום סוג. (I29597)
  • השבתת השימוש בהפעלה מישושית בזמן הרצת בדיקות ב-RoboElectric. (I58bd1)
  • מעדכנים את המרווחים הפנימיים SwipeToReveal בין התוכן לבין לחצני הפעולה, וגם את המרווחים הפנימיים בין הסמל לטקסט של לחצני הפעולה. (Ic46cb)

גרסה 1.5.0-alpha11

‫12 במרץ 2025

androidx.wear.compose:compose-*:1.5.0-alpha11 משוחרר. גרסת 1.5.0-alpha11 כוללת את ההוספות האלה.

שינויים ב-API

  • עודכן PagerState, והוסרו ממנו PagerState של Compose Foundation ככיתה הבסיסית, והתווספו המאפיינים currentPage,‏ currentPageOffsetFraction ו-pageCount. עדכנו את הממשק של GestureInclusion ושינו את שם השיטה ל-ignoreGestureStart. (I4ae07)
  • מומלץ להוסיף את requireOffset ל-SwipeToDismissBoxState כדי לקבל את הזיכוי בסך SwipeToDismissBoxState. (I21042)
  • נוספה CurvedModifier.semantics, שתומכת בהתחלה בתיאור תוכן ובאינדקס סריקה (I0b093)
  • הוספנו את CurvedModifier.clearAndSetSemantics כדי לספק דרך להשבית את הסמנטיקה המעוקלת. CurvedText ממשיך להגדיר כברירת מחדל את תיאור התוכן כטקסט, אבל timeTextCurvedText ו-timeTextSeparator לא מכריזים עכשיו על התוכן שלהם. (I4b568)
  • שם ברירת המחדל של הטיפול בתנועות החלקה ב-HorizontalPager השתנה ל-PagerDefaults.gestureInclusion. התנהגות ברירת המחדל היא עכשיו להתעלם רק מתנועות החלקה שמתחילות בקצה הימני של הדף הראשון, ורק כש-TalkBack מושבת. במקרים אחרים, התנהגות ברירת המחדל היא שהמעברון לא יתעלם מתנועות החלקה, כך שהן לא יהיו זמינות למטפלים בתנועות החלקה לסגירה. (Iee486)
  • הוספנו גלילה רציפה בכיוון אופקי ל-rotaryScrollable API. הוספנו גלילת-יתר וגלילת עץ להתנהגות ה-fling של rotaryScrollable. השינוי הזה אמור לספק פונקציונליות זהה של גלילה מעבר לקצה המסך וגלילה בתצוגה בתצוגה בתצוגה בתצוגה, בין גלילה במגע לבין גלילה באמצעות לחצן הבית. (I71926)
  • הוספנו תמיכה באזור לסחיטה מהקצה ל-SwipeToReveal. ברירת המחדל של Foundation SwipeToReveal היא עכשיו לא לאפשר החלקה כשהתנועה מתחילה מהקצה. התנהגות ברירת המחדל של SwipeToReveal ב-Material3 היא עכשיו לא לאפשר החלקה כשהתנועה מתחילה מהקצה, כשה-SwipeDirection מוגדר לכיוון יחיד. (I32ef0)
  • עכשיו, ב-TLC נעשה שימוש ב-contentPadding ריק כברירת מחדל במקום להציב את הפריט הראשון והאחרון במרכז. (I77ab7)

תיקוני באגים

  • ספריות Wear Compose עודכנו למהדורת 2.0 של Kotlin. (I2de79)
  • תוקנה הדוגמה המעוקלת של LetterSpacing ב-Foundation. (Iebf7c)

גרסה 1.5.0-alpha10

26 בפברואר 2025

androidx.wear.compose:compose-*:1.5.0-alpha10 משוחרר. גרסת 1.5.0-alpha10 כוללת את ההוספות האלה.

שינויים ב-API

  • הופכים את SwipeToRevealDefaults לציבורי. (I0c34c)
  • החלפנו את הפרמטר swipeToDismissEdgeZoneFraction ב-HorizontalPager. במקום זאת, הוספנו פרמטר חדש, gestureInclusion, שאפשר להשתמש בו כדי להשיג את ההתנהגות הנדרשת של החלקה כדי לסגור. gestureInclusion מקבלת מופע של GestureInclusion, שמחליט אם אירוע הגלילה הבא צריך להמשיך או לא. אם מאשרים תנועה, ה-Pager צורך אותה – אחרת, היא תטופל במקום אחר, למשל על ידי טיפולן בתנועת החלקה כדי לסגור. התנהגות ברירת המחדל החדשה היא לא לאפשר תנועות בקצה הימני ביותר של הדף הראשון ב-Pager, ולכן לאפשר החלקה כדי לסגור באזור הזה. בכל שאר הדפים, ה-Pager יוכל לזהות את כל התנועות, כלומר לא ניתן יהיה להפעיל את האפשרות 'החלקה כדי לסגור' מהם. כדי ליצור התנהגות של החלקה לסגירה בכל הדפים, פשוט מספקים מופע GestureInclusion בהתאמה אישית (ראו PagerDefaults.disableLeftEdgeOnFirstPage) שמתעלם מהדף הנוכחי. שינוי נוסף שחל הוא שרכיב ה-Pager כבר לא מוצג במסך מלא כברירת מחדל. במקום זאת, צריך להוסיף את Modifier.fillMaxSize() כדי להשיג את ההתנהגות הזו. (I9d3aa)
  • שינינו את השם של createAnchors ל-createRevealAnchors ב-API של החלקה כדי לחשוף(If5999)
  • הסרנו את RevealScope מ-API ההחלקה לחשיפת תוכן. (Ie4ad5)
  • הסרנו את Revealing ו-Revealed מ-RevealValue ב-API של החלקה כדי לחשוף. (I8dbc5)
  • שינינו את השם של SwipeDirection ל-RevealDirection בממשק ה-API של החלקה כדי לחשוף. (I7472f)
  • שינינו את החתימה של הפרמטר positionalThreshold בפונקציה rememberRevealState של SwipeToReveal. (I29c0a)
  • הוספנו פרמטר חדש overscrollEffect ל-ScalingLazyColumn, ל-TransformingLazyColumn ול-ScreenScaffold. (I0cee8)
  • כשמשתמשים ב-PagerDefaults#snapFlingBehaviour, הפרמטר pagerSnapDistance מוחלף בפרמטר Int‏ maxFlingPages, שאפשר להשתמש בו כדי לציין את מספר הדפים המקסימלי ש-Pager צריך להציג. (I8cfc0)
  • ל-Wear Pager יש עכשיו PagerScope משלו במקום להשתמש ב-Compose Foundation PagerScope. (I9195b)
  • הוספנו תמיכה ב-lineHeight בטקסט מעוקל (I1c936)
  • הוספנו את initialAnchorItemIndex ו-initialAnchorItemOffset ל-TransformingLazyColumnState ול-rememberTransformingLazyColumnState כדי שאפשר יהיה לציין את מיקום הגלילה הראשוני ב-TransformationLazyColumn. (I0a0d5)
  • הוצאה משימוש של runWithTimingDisabled לטובת runWithMeasurementDisabled, שמתאר בצורה ברורה יותר את ההתנהגות – כל המדדים מושהים. בנוסף, צריך לחשוף את הסופר-קלאס MicrobenchmarkScope כי אי אפשר להצהיר מחדש על הפונקציה runWithMeasurementDisabled כדי לפתוח את הגישה, כי היא נמצאת בקוד. (I9e23b, ‏ b/389149423, ‏ b/149979716)
  • הוספנו את TransformingLazyColumnItemScrollProgress.Unspecified ל-API כדי למנוע מצב שבו TransformingLazyColumnItemScrollProgress יהיה בתוך תיבה. (I0835d)

תיקוני באגים

  • שיפור Kdoc עבור CurvedTextStyle (Id45e3)
  • הגדרנו את SwipeableV2 (חלק מההטמעה של SwipeToReveal) כפנימית במקום כציבורית, אבל מוגבלת לקבוצת הספרייה. (Idbb94)
  • הוספנו בדיקות ל-HierarchicalFocusCoordinator (I1ce54, ‏ b/395548918)
  • ביצענו שיפורים ב-SwipeToReveal בדוגמאות של תשתית ל-Wear Compose. (I5f307)
  • תיקון נתונים סמנטיים של ציר גלילה עבור verticalScrollAxisRange ב-TransformingLazyColumn לשיפור הנגישות (I68123)
  • שיפור הביצועים של משוב הרטט המסתובב ב-Wear4+ על ידי הסרת שרשורים מיותרים ברקע (I39cfe)
  • משנים את SwipeDismissableNavHost כך שישתמש ב-PredictiveBackNavHost רק ב-API מגרסה 36 ואילך. (I59bed)
  • הוספנו הגנה מפני קריסה כשנכנסים להגדרה 'צמצום תנועה'. (I01e2c)
  • הטמענו אחסון נתונים מראש ב-TransformingLazyColumn כדי לצמצם את התנודות בזמן הצגת התוכן (Icca88)

גרסה 1.5.0-alpha09

29 בינואר 2025

androidx.wear.compose:compose-*:1.5.0-alpha09 משוחרר. גרסת 1.5.0-alpha09 מכילה את ההוספות האלה.

שינויים ב-API

  • ב-CurvedTextStyle, חילקנו את הריווח בין האותיות לריווח בכיוון השעון וריווח נגד כיוון השעון. צריך לעשות זאת כי האותיות בכיוון השעון מתרחבות מהקו הבסיסי, ואילו האותיות בכיוון ההפוך לשעון מתכווצות (לכן צריך יותר רווח בין האותיות) (I4b848)
  • הפונקציה CompositionLocal LocalReduceMotion פשוטה יותר, והיא מחזירה ערך בוליאני במקום אובייקט ReduceMotion. הממשק ReduceMotion הוצא משימוש. אפשר להחליף קריאות קודמות כמו LocalReduceMotion.current.enabled() ב-LocalReduceMotion.current (I4937f)
  • ב-PagerDefaults, השם של snapAnimationSpec השתנה ל-SnapAnimationSpec. (I20c9a)

גרסה 1.5.0-alpha08

15 בינואר 2025

androidx.wear.compose:compose-*:1.5.0-alpha08 משוחרר. גרסת 1.5.0-alpha08 כוללת את ההוספות האלה.

שינויים ב-API

  • עדכנו את כל הספריות של Wear Compose למצב 'ממשק API מפורש'. (Iebf9f)
  • הפכנו את הפרמטר של אנימציית הצמדת הדף בחלונית הקריאה לחלק מ-PagerDefaults. (Ifff64)
  • הוספנו פרמטר של אופסט ל-SwipeToDismissBoxState. (I586bd)

תיקוני באגים

  • אפשר להפעיל עכשיו משוב מישוש בפלטפורמה מסתובבת בגרסאות Wear OS אחרי V‏ (Idb03e)

גרסה 1.5.0-alpha07

11 בדצמבר 2024

androidx.wear.compose:compose-*:1.5.0-alpha07 משוחרר. גרסת 1.5.0-alpha07 כוללת את ההוספות האלה.

שינויים ב-API

  • עכשיו אפשר להשתמש ב-TransformingLazyColumnState כדי לעקוב אחרי התקדמות הגלילה הנוכחית על סמך אינדקסים של פריטי עוגן. (I72b01)
  • הוספנו אנימציות ל-TransformingLazyColumn כשמוסיפים, מסירים ומזיזים פריטים, אם הם כוללים את Modifier.animateItem החדש. (Iecb9c)
  • עכשיו TransformingLazyColumn חושף ערכים עבור beforeContentPadding ו-afterContentPadding. (Iccd5f)
  • TransformingLazyColumn מספק עכשיו את הרכיב המקומי LocalTransformingLazyColumnItemScope של הקומפוזיציה, שרכיבים (כמו Card ו-Button ב-Material3) יכולים להשתמש בו כדי לשנות צורה באופן אוטומטי כשהם ממוקמים בתוך TransformingLazyColumn. מבצעי הקריאה יכולים להשבית את הטרנספורמציה האוטומטית באמצעות המעטפת החדשה TransformExclusion. (I1652f)

תיקוני באגים

  • עדכנו את מהירויות ההזזה המינימליות והמקסימליות של תנועה סיבובית במכשירים שמטרגטים גרסה U ואילך. (I33559)
  • תיקנו קריסה שהתרחשה אם פריט ב-TransformingLazyColumn לא הכיל רכיבים שניתנים לשילוב (Idb99d)
  • הוספנו תמיכה ב-ScrollFeedbackProvider לחישה רוטורית ב-Android Vanilla ice cream. (Ibc553)
  • הגדלת מרווח המגע כשמשתמשים ב-SwipeToReveal כדי לצמצם את הסיכוי להפעלה בטעות של החלקה בזמן גלילה אנכית. (Ic0672)
  • עדכנו את SwipeDismissableNavHost כך שישתמש ב-PredictiveBackHandler כשהאפשרות הזו זמינה ב-API מגרסה 35 ואילך. במקרה כזה, יוחלו אנימציות חדשות. (I08c11)

גרסה 1.5.0-alpha06

13 בנובמבר 2024

androidx.wear.compose:compose-*:1.5.0-alpha06 משוחרר. גרסת 1.5.0-alpha06 כוללת את ההוספות האלה.

שינויים ב-API

  • הפכנו את ScrollInfoProvider לפשוט יותר עבור PagerState על ידי הסרת הפרמטר orientation, שאין בו יותר צורך. ההתנהגות החדשה היא ש-TimeText יישאר במקום גם בחלוקה אופקית וגם בחלוקה אנכית לדפים. (I71767)
  • TransformingLazyColumn הוצג בגרסאות קודמות. אנחנו מסירים עכשיו את כתובות האימייל החלופיות של Wear‏ (LazyColumn, שהופנו אל TransformingLazyColumn) לטובת השם החדש TransformingLazyColumn. כמו כן, הסרתנו את המאפיין height של TransformingLazyColumnVisibleItemInfo. במקום זאת, יש להשתמש ב-measuredHeight. (I0ea1e)
  • שינינו את המפרט של PagerDefaults.snapFlingBehavior snapAnimationSpec מ-Tween ל-Spring.‏ (I10d02, ‏ b/349781047, ‏ b/303807950)
  • שדרגנו את LocalReduceMotion CompositionLocal לגרסה יציבה (Ia6f32)

תיקוני באגים

  • עדכנו את Modifier.rotaryScrollable כך שישתמש ב-focusTargetWithSemantics כדי לשפר את התמיכה בסמינטיקה ב-rotary. (Ief0a0)
  • עדכנו את תלות ה-API המינימלית ל-1.7.4 בספריות Compose. (I88b46)
  • השבתנו את שינוי הרוחב ב-TransformingLazyColumn כפתרון זמני לבאג של חיתוך. (I3dfb8)
  • תיקנו באג שגרם לפריטים להיעלם אחרי גלילה מעבר לקצה המסך עם TransformingLazyColumn (Id7668)
  • הוספנו את LazyLayoutSemantics עבור TransformingLazyColumn. (Ia8f56)

גרסה 1.5.0-alpha05

30 באוקטובר 2024

androidx.wear.compose:compose-*:1.5.0-alpha05 משוחרר. גרסת 1.5.0-alpha05 כוללת את ההוספות האלה.

שינויים ב-API

  • הוספנו תמיכה ב-animateScrollTo ב-TransformingLazyColumnState כדי שאפשר יהיה להוסיף אנימציה לגלילה לפריט. (I4097d)
  • הוספנו את requestScrollTo ב-TransformingLazyColumnState כדי לדחות את הגלילה למדידה הבאה. (I20a5e)
  • הוספנו תמיכה ב-contentPadding ב-TransformingLazyColumn. (I3a69c)

תיקוני באגים

  • תיקנו באג ברינדור של TransformingLazyColumn כשגובה התוכן קצר מגובה המסך. (I6c3e1)
  • עכשיו, ScrollInfoProvder של TransformingLazyColumn עוקב אחרי הפריט הראשון בצורה נכונה. (I1e4a3)
  • TransformingLazyColumnState שומר עכשיו את המצב שלו (anchorItemIndex ו-anchorItemScrollOffset). (I3d265)

גרסה 1.5.0-alpha04

16 באוקטובר 2024

androidx.wear.compose:compose-*:1.5.0-alpha04 משוחרר. גרסת 1.5.0-alpha04 כוללת את ההוספות האלה.

שינויים ב-API

  • שינינו את השם של Wear Compose Foundation LazyColumn ל-TransformingLazyColumn כדי להבדיל בבירור בינו לבין Compose Foundation LazyColumn. (I0608b)
  • הוספנו תמיכה בלחצן מסתובב למכשירי טלפוניה ניידת אופקיים/אנכיים, כדי לאפשר למשתמשים לנווט במכשירי טלפוניה ניידת באמצעות מכשירי קלט מסתובבים. (I9770d)
  • עדכנו את PagerDefaults החדש כדי להבהיר שהמעבר בין דפים יתבצע באופן אוטומטי כברירת מחדל. (Iff7d0)
  • TransformingLazyColumnItemScrollProgress הוא עכשיו סיווג ערך שצפוי לשפר את הביצועים. (Ic399e)
  • עכשיו יש תמיכה ב-TransformingLazyColumn ב-rotary מתוך האריזה. (I05206)
  • יש עכשיו תמיכה ב-scrollToItem ב-TransformingLazyColumnState. (I507b3)
  • הוסר @ExperimentalWearFoundationApi מ-SwipeToReveal API (I34a66)

גרסה 1.5.0-alpha03

2 באוקטובר 2024

androidx.wear.compose:compose-*:1.5.0-alpha03 משוחרר. גרסת 1.5.0-alpha03 מכילה את ההוספות האלה.

שינויים ב-API

  • הוספנו תמיכה בהחלקה דו-כיוונית ב-SwipeToReveal, למקרים נדירים שבהם המסך הנוכחי לא תומך בהחלקה כדי לסגור. . ברירת המחדל עדיין היא החלקה כדי לחשוף רק בהחלקות מימין לשמאל, ומומלץ מאוד לפעול בהתאם לברירת המחדל כדי למנוע התנגשויות עם החלקה כדי לסגור. (Ifac04)
  • עדכנו את LazyColumnState כדי לשנות את canScrollForward ו-canScrollBackward – עכשיו הגלילה נעצרת כשהפריט הראשון או האחרון נמצאים בדיוק במרכז המסך. (Ia77d7)
  • הוספנו רכיבים חדשים של HorizontalPager ו-VerticalPager כדי לטפל בבעיות נפוצות, כמו טיפול בפוקוס ואינטראקציה עם החלקה במערכת כדי לסגור, שעשויות להתרחש ב-Wear. (I2902b)
  • הוספנו תמיכה ב-LazyColumn כדי לחשוף את key ו-contentType של הלקוח דרך layoutItems. (I1bd9c)

תיקוני באגים

  • עדכנו את האנימציות של הטקסט המעוקל כדי שהן יהיו חלקות יותר, באמצעות דגלים של צביעה. (I73a15)
  • עדכנו את המסמכים של Material Dialog כך שישקפו את העובדה ש-onDismissRequest לא נקרא אחרי שהדגל show מוגדר כ-false. (Ifd8d6)
  • תיקנו באג באנימציית הוויניאט בתיבה המשוחזרת של Material (I126bf)

גרסה 1.5.0-alpha02

18 בספטמבר 2024

androidx.wear.compose:compose-*:1.5.0-alpha02 משוחרר. גרסת 1.5.0-alpha02 כוללת את ההוספות האלה.

שינויים ב-API

  • הוספנו תמיכה ב-LazyColumn של Wear Compose באמצעות ScreenScaffold שלנו (והוספנו הטמעה של ScrollInfoProvider ל-LazyColumnState). (Ib8d29)
  • הוספנו את viewportSize ל-LazyColumnLayoutInfo. (I4187f)

תיקוני באגים

  • תיקנו באג כך שגלילה באמצעות לחצן ה-Rotary מושבתת עכשיו ב-ScalingLazyColumn כשהדגל userScrollEnabled מוגדר כ-false. (I490ab, ‏ b/360295825)
  • תיקנו באג שקשור למרווח אנכי בלתי צפוי בטקסט מעוקל. גובה הטקסט המעוגל תואם עכשיו יותר למרחב בפועל שבו הטקסט נמצא. חשוב לדעת שהפעולה הזו עלולה לגרום לכשל בבדיקות של צילומי מסך שכוללים טקסט מעוקל (Iaa6ef)
  • החזרת תיקון באג ל-Dialog, שבו הופעלה קריאה חוזרת (callback) של onDismissRequest כש-showDialog הוגדר כ-false, כי במקרים מסוימים הקריאה החוזרת של onDismissRequest הופעלה כמה פעמים. (I64656)

גרסה 1.5.0-alpha01

4 בספטמבר 2024

androidx.wear.compose:compose-*:1.5.0-alpha01 משוחרר. גרסת 1.5.0-alpha01 מכילה את ההוספות האלה.

שינויים ב-API

  • הוספנו LazyColumn חדש לספריית Wear Compose Foundation עם ממשקי ה-API המשויכים LazyColumnState ו-LazyColumnScope. זהו הבסיס ליצירת אפקטים של התאמה לעומס (scaling) ושל טרנספורמציה (morphing) בהתאמה אישית באמצעות Wear Compose. (Ib3b22)
  • הוספנו גרסה שנוספה לאינדקס של itemsIndexed אל LazyColumnScope כחלק מ-LazyColumn API החדש. (Ib4a57)
  • הוספנו את המאפיינים המשתנים LazyColumn כדי לתמוך בהתנהגויות של שינוי קנה מידה וטרנספורמציה. (Ie229a)
  • גרסת HierarchicalFocusCoordinator קודמה לגרסה יציבה. (I31035)
  • הוספנו תמיכה בריווח בין האותיות לטקסט מעוקל. (I3c740)
  • הוספנו פרמטר rotationLocked ל-CurvedLayout.curvedComposable כדי להפסיק את הסיבוב של הרכיבים. (I66898)
  • ה-API הזמני של LocalUseFallbackRippleImplementation מ-wear material ומ-wear material3 הוסר (I62282)
  • המשתמש WearDevices.SQUARE הוסר מהתצוגה המקדימה המשותפת של @WearPreviewDevices (I11c02)

תיקוני באגים

  • SwipeToReveal ממקם עכשיו את הפריטים שנחשפו בחלק הגלוי של המסך. זה עוזר כשמשתמשים ב-SwipeToReveal בתוך רשימה, כך שאפשר תמיד לבצע פעולות עם הפריטים והם אף פעם לא יוצאים מחוץ למסך. (I38929)
  • SwipeToReveal מאפס עכשיו את lastActionType ל-None כשהפעולה animatedTo מסתיימת. (I59b03)
  • שיפרנו את המסמך בנושא הפרמטר החדש rotationLocked ב-curvedComposable. (Ifbd57)
  • תוקנה קריסה במעבר של NaN אל performFling של ScalingLazyColumnSnapFlingBehavior. (Ic13da)
  • תוקן באג במשתנה לשינוי הגודל של פריסה מעוקלת (I0fedf)
  • הוספנו תמיכה במרווח בין אותיות שצוין ב-'sp'. (I9f6e3)
  • תיקנו באג ב-Material2 Dialog שבו פונקציית ה-callback‏ onDismissRequest לא היתה נקראת כשתיבת הדו-שיח הפכה לא נראית (I64656)
  • השם של LayoutCoordinates.introducesFrameOfReference שונה ל-LayoutCoordinates.introducesMotionFrameOfReference כדי לשקף טוב יותר את המטרה שלו. שינוי השם של פונקציה קשורה כדי לחשב קואורדינטות על סמך הדגל הזה. (I3a330)

גרסה 1.4

גרסה 1.4.1

12 בפברואר 2025

androidx.wear.compose:compose-*:1.4.1 משוחרר. גרסת 1.4.1 כוללת את ההוספות האלה.

תיקוני באגים

  • תיקנו קריסה שעלולה הייתה להתרחש בזמן הגישה להגדרה הגלובלית 'צמצום תנועה', שהופעל בפלטפורמות מסוימות שבהן ההגדרה הזו לא הייתה זמינה. (I01e2c)

גרסה 1.4.0

4 בספטמבר 2024

androidx.wear.compose:compose-*:1.4.0 משוחרר. גרסת 1.4.0 כוללת את ההוספות האלה.

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

  • ScalingLazyColumn ו-Picker תומכים עכשיו בקלט רוטורי כברירת מחדל – מומלץ להסיר טיפול מפורש בלחצן רוטורי ולהשתמש בהתנהגות ברירת המחדל של המערכת. אם צריך, משתמשים בפרמטר rotaryScrollableBehavior כדי להגדיר התנהגות גלילה או התנהגות הצמדה. להתנהגות הצמדה, מומלץ לספק התנהגות הצמדה ויכולות גלילה באמצעות המגע באמצעות הפרמטר flingBehavior.
  • Modifier.rotaryScrollable הוא משתנה חדש שמקשר אירועים רוטורים לקונטיינרים שניתן לגלול בהם, ומאפשר למשתמשים לגלול באמצעות כתר או מסגרת מסתובבת במכשיר Wear OS.
  • SwipeDismissableNavHost מספק עכשיו אנימציית כניסה למעברים בתוך האפליקציה.
  • הסמל PositionIndicator מוצג עכשיו כברירת מחדל כשמסך מוצג בפעם הראשונה.

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

גרסה 1.4.0-rc01

21 באוגוסט 2024

androidx.wear.compose:compose-*:1.4.0-rc01 משוחרר. גרסת 1.4.0-rc01 כוללת את ההוספות האלה.

  • עדכנו את יחסי התלות של Compose לגרסה 1.7.0-rc01, והצמצמנו את Wear Compose Navigation ל-androidx.lifecycle 2.8.3

גרסה 1.4.0-beta03

‫12 ביוני 2024

androidx.wear.compose:compose-*:1.4.0-beta03 משוחרר. גרסת 1.4.0-beta03 כוללת את ההוספות האלה.

תיקוני באגים

  • עדכנו את Modifier.rotaryScrollable כדי להחליף את השימוש ב-'focusable' ב-'focusTarget', וכך לשפר את הביצועים. (Id294b)
  • תיקנו בעיה שבה ProgressIndicator חזר על ההודעה שלו בקטע TalkBack. (I94563)
  • עדכנו את פרופילי הבסיס של ספריית Wear Compose. (I3cbc3)

גרסה 1.4.0-beta02

29 במאי 2024

androidx.wear.compose:compose-*:1.4.0-beta02 משוחרר. גרסת 1.4.0-beta02 כוללת את ההוספות האלה.

תיקוני באגים

  • הגדלנו את רוחב הגבול שמוענק לקוראי המסך מטקסט מעוקל, כדי לטפל בבעיות שקשורות לקיצוץ (Id865f).
  • הגבלנו את הגבול של HorizontalPageIndicator שהועברו לקוראי המסך – בעבר האינדיקטור השתלט על המסך כולו (Id8d7a).

גרסה 1.4.0-beta01

14 במאי 2024

androidx.wear.compose:compose-*:1.4.0-beta01 משוחרר. גרסת 1.4.0-beta01 כוללת את ההוספות האלה.

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

  • הוספנו את Modifier.rotaryScrollable, פונקציית שינוי חדשה שמחברת בין אירועים רוטורים לבין קונטיינרים שניתן לגלול בהם, ומאפשרת למשתמשים לגלול באמצעות כתר או מסגרת מסתובבת במכשיר Wear OS. בנוסף, עכשיו יש תמיכה ב-ScalingLazyColumn וב-Picker בהזנה באמצעות לחצן רוטורי כברירת מחדל. משתמשים בפרמטר rotaryScrollableBehavior כדי להגדיר את התנהגות הגלילה או הצמדה. לגבי התנהגות הצמדה, מומלץ לספק הצמדה גם דרך הפרמטר flingBehavior וגם לגבי גלילה במגע.
  • SwipeDismissableNavHost מספק עכשיו אנימציית כניסה למעברים בתוך האפליקציה.
  • הסמל PositionIndicator מוצג עכשיו כברירת מחדל כשמסך מוצג בפעם הראשונה.
  • הערכים SelectableChip ו-SplitSelectableChip נוספו כגרסה משתנה של ToggleChip – אפשר להשתמש בהם עם RadioButton כדי לספק סמנטיקה שניתן לבחור במקום סמנטיקה שניתן להפעיל או להשבית לצורכי נגישות
  • ListHeader תומך עכשיו בהתאמות גובה כשהתוכן צריך גובה נוסף כדי להתאים לגופנים גדולים.

תיקוני באגים

  • תיקנו באג שבו צ'יפים שאפשר לבחור בהם הודיעו על לחיצה כפולה כדי להחליף מצב כשהם כבר נבחרו. (I7ed88)

גרסה 1.4.0-alpha08

1 במאי 2024

androidx.wear.compose:compose-*:1.4.0-alpha08 משוחרר. גרסת 1.4.0-alpha08 כוללת את ההוספות האלה.

שינויים ב-API

  • ביצענו את השינויים הבאים ב-API החדש של Rotary: שינינו את השם של Modifier.rotary ל-Modifier.rotaryScrollable, שינינו את השם של הממשק RotaryBehavior ל-RotaryScrollableBehavior ואת השם של הפונקציה שלו handleScrollEvent ל-performScroll, שינינו את השם של RotaryScrollableAdapter ל-RotaryScrollableLayoutInfoProvider והסרנו את המאפיין scrollableState. (I0c8a6)
  • ביצענו שינויים נוספים ב-API של Rotary: שינינו את השם של RotaryScrollableLayoutInfoProvider ל-RotarySnapLayoutInfoProvider (כי הספק הזה נדרש רק ל-Rotary עם Snap), שינינו את הסוג של הפרמטר snapOffset ב-RotaryScrollableDefaults.snapBehavior snapOffset מ-Int ל-Dp. (Iddebe)
  • שינינו את השם של הפרמטר clickInteractionSource ב-SplitSelectableChip ל-containerInteractionSource. (Ia8f84)
  • עדכנו את השמות של הפרמטרים של קריאה חוזרת לאחר קליק עבור SplitSelectableChip – מ-onClick ל-onSelectionClick ומ-onBodyClick ל-onContainerClick. (I32237)

תיקוני באגים

  • עדכנו את הריפוד האופקי של PositionIndicator ל-2dp (היה 5dp), כדי לתקן באג שבו PositionIndicator (סרגל הגלילה) חופף לתוכן שניתן לגלילה. חשוב לזכור שהשינוי הזה צפוי לגרום לשיבושים בצילום המסך הקיים שכולל את PositionIndicator בגלל השינוי במרווחים. (I57472)
  • שיפרנו את המסמכים של ה-API החדש למכשירי סריקה רוטורים, והוספנו תיאור של ההבדלים בין מכשירים רוטורים ברזולוציה נמוכה לבין מכשירים רוטורים ברזולוציה גבוהה. (I63abe)
  • תיקנו חריגה מטווח ב-SwipeDismissableNavHost שעלולה הייתה להתרחש כשערכים של אלפא שעבר תהליך אינטרפולציה היו פחות מאפס. (Ib75a1, ‏ b/335782510)

גרסה 1.4.0-alpha07

17 באפריל 2024

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

שינויים ב-API

  • הוספנו את Modifier.rotary, פונקציית שינוי חדשה שמחברת בין אירועים רוטורים לבין קונטיינרים שניתן לגלול בהם, ומאפשרת למשתמשים לגלול באמצעות כתר או מסגרת מסתובבת במכשיר Wear OS. בנוסף, ScalingLazyColumn ו-Picker תומכים עכשיו בהזנה מסתובבת כברירת מחדל, עם עומסי יתר חדשים שכוללים את הפרמטר rotaryBehavior כדי לציין את ההגדרה של גלילה או הצמדה. אם הפרמטר rotaryBehavior מוגדר ל-snap, מומלץ לספק snap גם דרך הפרמטר flingBehavior, לגלילה במגע. (I2ef6f)
  • המקורות NestedScroll Drag ו-Fling מוחלפים ב-UserInput וב-SideEffect כדי להתאים להגדרה המורחבת של המקורות האלה, שכוללת עכשיו אנימציות (Side Effect) גלגל עכבר ומקלדת (UserInput). (I40579)
  • הוספנו את הסמלים SelectableChip ו-SplitSelectableChip כדי להבדיל בצורה ברורה יותר בין לחצני החלפת מצב כמו Switch/Checkbox לבין לחצני בקרה לבחירה כמו RadioButton. הפעולה הזו מחליפה את עומסי יתר הקודמים של ToggleChip/SplitToggleChip בפרמטרים של selectionControl. (Ia0217)
  • עדכנו את משתנה החשיפה של IndeterminateStrokeWidth ב-ProgressIndicatorDefaults ל'גלוי לכולם'. (I5b5a4)

גרסה 1.4.0-alpha06

3 באפריל 2024

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

תיקוני באגים

  • הוספנו טיוטה פנימית של תמיכה ב-Rotary, כחלק מהמאמץ הכולל להעביר את ההתנהגות של Rotary ל-AndroidX מ-Horologist. (I617d1)
  • הוספנו טיוטה פנימית של תמיכה בהפעלה חושית, כחלק מהמאמץ הכולל להעביר את ההתנהגות של Rotary ל-AndroidX מ-Horologist. (I5568a)

גרסה 1.4.0-alpha05

‫20 במרץ 2024

androidx.wear.compose:compose-*:1.4.0-alpha05 משוחרר. גרסת 1.4.0-alpha05 כוללת את ההוספות האלה.

שינויים ב-API

  • הגדרנו את המאפיינים initialCenterItemIndex ו-initialCenterItemScrollOffset של ScalingLazyListState כציבוריים. (I0c616)
  • הגדרנו את FullScreenStrokeWidth מ-ProgressIndicatorDefaults כ'גלוי לכולם'. (Ibea23)

תיקוני באגים

  • שיפרנו את הביצועים של PositionIndicator על ידי הפחתת מספר הקריאות ל-layoutInfo מ-ScalingLazyColumn. (Idc83d)

גרסה 1.4.0-alpha04

6 במרץ 2024

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

שינויים ב-API

  • הוספנו עומס יתר חדש ל-ToggleChip ול-SplitToggleChip, שמקבל פרמטר selectionControl במקום הפרמטר toggleControl. צריך להשתמש באפשרות הזו עם אמצעי הבקרה RadioButton כדי לספק סמנטיקה שניתן לבחור במקום סמנטיקה שניתן להחליף למצב מופעל/מושבת לצורכי נגישות (I1d6d9)
  • עדכנו את שמות הפרמטרים של עומס יתר חדש של selectionControl מ-onSelected ל-onSelect עבור ToggleChip ו-SplitToggleChip (I1a971)

גרסה 1.4.0-alpha03

21 בפברואר 2024

androidx.wear.compose:compose-*:1.4.0-alpha03 משוחרר. גרסה 1.4.0-alpha03 כוללת את ההצהרות האלה.

שינויים ב-API

  • העטיפה Modifier.inspectable יצאה משימוש. ה-API הזה יוצר יותר ביטולים של המשתנה המשנה ממה שנחוץ, ולכן לא מומלץ להשתמש בו. מפתחים מומלצים להטמיע את השיטה inspectableProperties() ב-ModifierNodeElement אם הם רוצים לחשוף נכסי מודификаторים לכלים. (Ib3236)

תיקוני באגים

  • תיקנו באג במסמכי העזרה לגבי הערות WearPreview*. (Id526d)

גרסה 1.4.0-alpha02

7 בפברואר 2024

androidx.wear.compose:compose-*:1.4.0-alpha02 משוחרר. גרסה 1.4.0-alpha02 מכילה את ההצהרות האלה.

תיקוני באגים

  • תיקנו באג ב'החלקה כדי לחשוף', שבו אפשר היה לבצע פעולה (ולבטל אותה) בפריט אחד על ידי החלקה על פריט אחר.(Ide059)
  • עדכנו את ListHeader כדי לתמוך בהתאמות גובה כשהתוכן צריך גובה נוסף כדי להתאים לגדלי גופן גדולים. (I7290c, b/251166127)

גרסה 1.4.0-alpha01

24 בינואר 2024

androidx.wear.compose:compose-*:1.4.0-alpha01 משוחרר. גרסה 1.4.0-alpha01 מכילה את ההצהרות האלה.

תכונות חדשות

  • הוספנו אנימציה לכניסה ל-SwipeDismissableNavHost למעברים בתוך האפליקציה.(cfeb79a)
  • הסמל PositionIndicator מוצג עכשיו כברירת מחדל כשמסך מוצג בפעם הראשונה. השינוי הזה הוכנס כדי לעזור לעמוד בהנחיות האיכות של Wear. לצערנו, המשמעות היא שצריך לעדכן את בדיקות צילומי המסך במסכים שכוללים את PositionIndicator, כי PositionIndicator לא הוצג בעבר. (419cef7)

שינויים ב-API

  • הוספנו ממשק API חדש של Ripple בספריות wear:compose-material ו-wear:compose-material3, שמחליף את rememberRipple שהוצא משימוש. הקוד גם מוסיף CompositionLocal זמני, LocalUseFallbackRippleImplementation, כדי להחזיר את רכיבי Material לשימוש בממשקי ה-API של rememberRipple/RippleTheme שהוצאו משימוש. האפשרות הזו תוסר במהדורה היציבה הבאה, והיא מיועדת רק לעזרה זמנית בהעברה במקרים שבהם אתם מספקים RippleTheme מותאם אישית. באתר developer.android.com אפשר למצוא מידע על ההעברה ומידע נוסף על הרקע של השינוי הזה. (af92b21)
  • עדכנו את ColorScheme כך שלא ניתן יהיה לשנות אותו. כתוצאה מכך, עדכוני צבעים ספציפיים יהיו פחות יעילים, אבל השימוש הנפוץ יותר בצבעים יהיה יעיל יותר. הסיבה לשינוי הזה היא שברוב האפליקציות, עדכון צבעים ספציפיים לא יהיה תרחיש לדוגמה עיקרי. עדיין אפשר לעשות זאת, אבל תתבצע יותר יצירת קומפוזיציה מחדש מאשר בעבר. כתוצאה מכך, נוכל להפחית באופן משמעותי את כמות המינויים למצבים בכל הקוד של החומר, והדבר ישפיע על עלות ההפעלה הראשונית ועל עלות זמן הריצה בתרחישי שימוש רגילים יותר. (f5c48b7)
  • רכיבי Wear material ו-Wear material3 שחשפו MutableInteractionSource ב-API שלהם עודכנו כך שיחשפו עכשיו MutableInteractionSource שאפשר להעביר לו ערך null כברירת מחדל. אין כאן שינויים סמנטיים: העברת null פירושה שאתם לא רוצים להעביר את MutableInteractionSource, והוא ייווצר בתוך הרכיב במקרה הצורך. שינוי ל-null מאפשר לרכיבים מסוימים לא להקצות אף פעם MutableInteractionSource, ולרכיבים אחרים ליצור מופע רק באופן עצלני כשהם צריכים, וכך לשפר את הביצועים של הרכיבים האלה. אם אתם לא משתמשים ב-MutableInteractionSource שאתם מעבירים לרכיבים האלה, מומלץ להעביר null במקום זאת. מומלץ גם לבצע שינויים דומים ברכיבים שלכם. (f8fa920)
  • עדכנו את rememberExpandableState כדי לשמור את המצב של התפריט הנפתח. כך הנתונים מאוחסנים כשעוברים למסך אחר, ומוחזרים כשחוזרים למסך המקורי. (5c80095)

תיקוני באגים

  • עדכנו את ההגדרה ReduceMotion כך שתשתמש במאזין שמודע למחזור החיים. (7c6b122)
  • עדכנו את ה-Listener של TouchExplorationStateProvider כך שיהיה מודע למחזור החיים (be28b01)
  • הסרתנו את השכבה של materialcore עבור CompactButton כדי לשפר את הביצועים (25db8e9)
  • שיפרנו את ההתנגדות של BasicSwipeToDismissBox להיסטים של NaN כדי למנוע חריגות (b983739)
  • עדכנו את BasicSwipeToDismissBox כדי לוודא שערכים אלפא נמצאים בטווח 0,1
  • תיקנו באג בתפקידים ToggleButton, ‏SplitToggleButton, ‏Checkbox, ‏Switch ו-RadioButton כדי שהודעות על נגישות לא יחזרו על עצמן (בעבר, תפקידים סמנטיים היו כפולים) (d11eeb7)

גרסה 1.3

גרסה 1.3.1

3 באפריל 2024

androidx.wear.compose:compose-*:1.3.1 משוחרר. גרסת 1.3.1 מכילה את ההוספות האלה.

תיקוני באגים

  • תיקנו באג ב'החלקה כדי לחשוף', שבו אפשר היה לבצע פעולה (ולבטל אותה) על פריט אחד על ידי החלקה על פריט אחר. (Ide059)

גרסה 1.3.0

24 בינואר 2024

androidx.wear.compose:compose-*:1.3.0 משוחרר. גרסה 1.3.0 כוללת את ההצהרות האלה.

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

  • הכיתה SwipeToDismissBoxState, המניין SwipeToDismissValue ופונקציית התוסף Modifier.edgeSwipeToDismiss הם עכשיו חלק מחבילת androidx.wear.compose.foundation, במקום מחבילת androidx.wear.compose.material. הארכיטקטורה המעודכנת הזו מאפשרת להטמיע טיפול בתנועות בנפרד מהיבטים אחרים של עיצוב. תהליכי העבודה של Material Design, כמו החלת צבעים מעיצוב מוגדר, מטופלים בנפרד.
  • המחלקות SwipeToRevealCard ו-SwipeToRevealChip עוזרות להטמיע את recommended swipe-to-reveal guidance. בכיתה SwipeToRevealSample מוסבר איך משתמשים ברכיבים האלה.
  • במהדורה 1.3.0-alpha02 הוספנו שינוי שגורם לגובה של אובייקטים מסוג Chip ו-ToggleChip לגדול, כדי לתמוך טוב יותר בשינוי גודל הגופן שנבחר על ידי המשתמש. כתוצאה מכך, יכול להיות שיהיה קיצוץ מסוים. כדי לפתור את הבעיה, עכשיו יש לצורת large של MaterialTheme רדיוס פינה גדול יותר (26dp במקום 24dp). כדי למנוע חיתוך של תוכן בפינות של Chip ו-ToggleChip, האובייקטים Chip ו-ToggleChip משתמשים ברדיוס הפינה החדש הזה.

    • רוב הערכים של Chips ו-ToggleChips לא השתנו, כי הגובה שמוגדר כברירת מחדל הוא 52dp. עם זאת, אובייקטים מסוג Chip ו-ToggleChip שמכילים כמה שורות של טקסט של תווית ראשית או משנית, או אובייקטים שהגובה שלהם השתנה, עלולים לגרום לכשלים בבדיקות של צילומי המסך.

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

רשימה מלאה יותר של השינויים בגרסה 1.3.0 מופיעה בנתוני הגרסה של beta01.

המלצות להטמעה

  • אם האפליקציה מאפשרת למשתמשים להזיז את התוכן במסך, למשל באפליקציה שמבוססת על מפה, משביתים את הטיפול בהחלקה על ידי הגדרת userSwipeEnabled ל-false ב-composable‏ SwipeDismissableNavHost, ומוסיפים לחצן שמאפשר למשתמשים לעבור למסך הקודם.
  • כדי להשבית אנימציות של מחוון מיקום במהלך אנימציות של מעבר תוך כדי הדרגתיות ואנימציות של שינוי מיקום ברשימה שנגללת, משתמשים באובייקט SnapSpec.
  • בזמן ההמתנה לאפליקציית מדיה שטענת תוכן להפעלה, מוצג רכיב Placeholder ריק.
  • כדי ליצור אוסף של פריטים שניתן להרחיב על פי דרישה, כדאי להשתמש בכיתה הניסיונית ExpandableStateMapping.

גרסה 1.3.0-rc01

10 בינואר 2024

androidx.wear.compose:compose-*:1.3.0-rc01 משוחרר. גרסה 1.3.0-rc01 כוללת את ההוספות האלה.

תיקוני באגים

  • עדכנו את הצורה הגדולה של MaterialTheme כך שתהיה לה פינות מעוגלות ברדיוס של 26dp. עכשיו הצורה הזו תהיה בשימוש ב-Chip וב-ToggleChip. השינוי הזה נדרש כדי לתמוך בהתאמות גובה כשהתוכן צריך גובה נוסף כדי להתאים לגדלי פונט גדולים. אחרת, צורת האצטדיון הקיימת תגרום לחיתוך של חלק מתוכן הטקסט.

    טקסט שנחתך בפינות
    איור 1: טקסט חתוך בפינות.
    הטקסט לא נחתך
    איור 2: הטקסט לא חתוך.

    השינוי הזה עלול לגרום לשיבושים בבדיקות של צילומי המסך. (I2e6ae)

גרסה 1.3.0-beta02

13 בדצמבר 2023

androidx.wear.compose:compose-*:1.3.0-beta02 משוחרר. גרסה 1.3.0-beta02 מכילה את ההצהרות האלה.

תיקוני באגים

  • שחזרנו את תנועת החלקה המתוכננת ב-BasicSwipeToDismissBox. השינוי הזה בוצע במהדורה קודמת, כך שחלק ההחלקה של המעבר התרחש בזמן שהאצבע נוגעת במסך. (Id8e76)

גרסה 1.3.0-beta01

15 בנובמבר 2023

androidx.wear.compose:compose-*:1.3.0-beta01 משוחרר. גרסה 1.3.0-beta01 מכילה את ההצהרות האלה.

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

  • SwipeToDismissBoxState, ‏ SwipeToDismissValue ו-Modifier.edgeSwipeToDismiss הועברו מ-androidx.wear.compose.material אל androidx.wear.compose.foundation, יחד עם ההטמעה הבסיסית של החלקה כדי לסגור ב-BasicSwipeToDismissBox. כך אפשר להשתמש בטיפול בתנועות כדי לסמן 'סגירה' על ידי החלקה בנפרד מ-Material Design, למשל מהסמל SwipeDismissableNavHost ב-androidx.wear.compose.navigation. עדיין מומלץ להשתמש ב-SwipeToDismissBox מ-androidx.wear.compose.material עם Material Design, כי הוא שולף צבעים מ-MaterialTheme ואז מעביר את שאר ההטמעה ל-BasicSwipeToDismissBox.
  • SwipeDismissableNavHost תומך עכשיו בפרמטר חדש userSwipeEnabled, כדי שאפשר יהיה להשבית את הטיפול בהחלקה במסכים שבהם הוא לא נדרש.
  • BasicSwipeToDismissBox משופר את טיפול המיקוד באמצעות HierarchicalFocusCoordinator.
  • ב-SwipeToReveal יש רכיבים חדשים מסוג SwipeToRevealCard ו-SwipeToRevealChip ב-Material, שתואמים להנחיות המומלצות בנושא חוויית משתמש (UX) עבור Card ו-Chip. יש גם תמיכה בביטול הפעולה המשנית.
  • DefaultTextStyle משבית עכשיו את הוספת הריפוד לגופן כדי לשמור על עקביות בפלטפורמת Android.
  • הגובה של Chip ו-ToggleChip משתנה עכשיו בהתאם לתוכן שהתרחב בגלל גופנים גדולים, כדי לשפר את הנגישות
  • PositionIndicator כולל עכשיו מפרטי אנימציה נפרדים לאנימציות של עמעום הדרגתי, עמעום הדרגתי החוצה ותנועה למיקום אחר. מטעמי ביצועים, מומלץ להשבית את ההגדרות 'הופעה בהדרגה' ו'שינוי מיקום' כשמשתמשים ברשימות שאפשר לגלול בהן.
  • ExpandableStateMapping מספקת דרך חדשה ליצור ExpandableStates כשצריך ליצור אותם על פי דרישה, ולא בהכרח בהיקף @Composable.
  • עכשיו אפשר לאפס את Placeholder אם התוכן כבר לא בסטטוס 'מוכן'. בנוסף, ההגדרה 'צמצום התנועה' חלה עכשיו על האפקט של הבהוב ועל תנועת המחיקה ב-Placeholder.

בעיות מוכרות

  • PositionIndicator לא מוצגת בהתחלה כשמסך מוצג בפעם הראשונה. אנחנו מתכוונים לבצע שינוי בגרסה מוקדמת של גרסת האלפא 1.4, כך שהיא תוצג בהתחלה אבל ללא אנימציה.

שינויים ב-API

  • שינינו את השם של רמת הבסיס SwipeToDismissBox ל-BasicSwipeToDismissBox. כך אפשר להבחין בבירור בין הרכיב ברמת הבסיס לבין הרכיב ברמת החומר SwipeToDismissBox. הקוד האחרון שולף צבעים מה-MaterialTheme לשימוש במסכי ה-scrim ומעביר את שאר ההטמעה ל-BasicSwipeToDismissBox. (Ibecfc)
  • סימנו את rememberExpandableStateMapping כניסוי ושפרנו את הביצועים של expandableItem. (I5f6bc)
  • החלפנו את הכיתה SwipeToRevealAction בממשקי ה-API של כרטיסי SwipeToReveal ושבבים של Material ב-API מבוסס-תצוגה שמשתמש ברכיבים הניתנים לקישור SwipeToRevealPrimaryAction, ‏ SwipeToRevealSecondaryAction ו-SwipeToRevealUndoAction. בדוגמאות הקוד מפורטות דוגמאות לשימוש ב-API החדש. (Ia8943)
  • החלפנו את דגלי האנימציה PositionIndicator בפרמטרים AnimationSpec. כדי להשבית את האנימציות הנפרדות, מעבירים את הערך snap כ-AnimationSpec. (I6c523)

תיקוני באגים

  • תיקנו באג שנגרם כתוצאה מטקסט מעוקל מוגבל כשהגודל מוגבל (I50efe)
  • טיפלנו בקריסה פוטנציאלית של NaN שקשורה ל-curvedComposable (I970eb)
  • ב-PositionIndicator ביטלנו את ההסרה של אנימציית ההדגשה של שינוי המיקום. (Ieb424)
  • כדי לשפר את הביצועים של צ'יפ החומר, הסרנו את השכבה של הליבה של החומר. (If2dcb)

גרסה 1.3.0-alpha08

18 באוקטובר 2023

androidx.wear.compose:compose-*:1.3.0-alpha08 משוחרר. גרסה 1.3.0-alpha08 מכילה את ההצהרות האלה.

שינויים ב-API

  • הוספנו דגלים נפרדים לעומסי יתר של PositionIndicator כדי לשלוט באנימציות שונות: showFadeInAnimation,‏ showFadeOutAnimation ו-showPositionAnimation. ה-API הקודם הוצא משימוש והוא מעביר את הקריאות ל-API החדש. מטעמי ביצועים ועקב עקביות בממשק המשתמש, כשמשתמשים ב-PositionIndicator עם רשימה שאפשר לגלול בה, מומלץ להשבית את הדגלים showFadeInAnimation ו-showPositionAnimation. אם משתמשים ב-PositionIndicator כאינדיקטור עצמאי, למשל לשינוי עוצמת הקול, מומלץ להפעיל את כל 3 האנימציות. (I44294)
  • הוצאנו משימוש את הרכיבים SwipeToDismissBoxState, ‏ SwipeToDismissValue ו-edgeSwipeToDismiss של Material Design בעקבות ההעברה של הפונקציונליות של החלקה כדי לסגור אל wear.compose.foundation. צריך להחליף את התגים האלה בתגים המקבילים של wear.compose.foundation. (Iee8c9)

תיקוני באגים

  • עדכנו את הפרופילים הבסיסיים של ספריות ה-foundation, ‏ material ו-navigation של Wear Compose. (Idb060)
  • הפכנו שינוי התנהגותי ב-PositionIndicator שהוכנס ב-CL קודם, כך שה-PositionIndicator נעשה מונפש כשמסך מוצג בפעם הראשונה. אנחנו מתכוונים לבצע שינוי דומה בגרסה מוקדמת של גרסת האלפא 1.4, כך שהסמל PositionIndicator יוצג בהתחלה, אבל ללא אנימציה. (I41843)
  • טיפלנו בבעיות ביצועים מסוימות ב-PositionIndicator. (I1c654, ‏ b/302399827)
  • ביצענו אופטימיזציה של הביצועים של ההטמעה שמוגדרת כברירת מחדל של ספק המצב של ניתוח המגע, כדי להסתמך על State<Boolean> במקום על מצב נגזר. (Ieec4d)
  • הגדרנו את systemGestureExclusion כריבועים ל-Android מגרסה 13 ואילך. (Ib1f4b)

גרסה 1.3.0-alpha07

4 באוקטובר 2023

androidx.wear.compose:compose-*:1.3.0-alpha07 משוחרר. גרסה 1.3.0-alpha07 מכילה את ההצהרות האלה.

שינויים ב-API

  • הוספנו דגלים נפרדים ל-PositionIndicator כדי לשלוט באנימציות שונות: showFadeInAnimation, ‏ showFadeOutAnimation ו-showPositionAnimation. ה-API הקודם הוצא משימוש והוא מעביר את הקריאות ל-API החדש. מטעמי ביצועים ועקב עקביות בממשק המשתמש, כשמשתמשים ב-PositionIndicator עם רשימה שאפשר לגלול בה, מומלץ להשבית את הדגלים showFadeInAnimation ו-showPositionAnimation. אם משתמשים ב-PositionIndicator כאינדיקטור עצמאי, למשל לשינוי עוצמת הקול, מומלץ להפעיל את כל 3 האנימציות. (Ia2d63)

תיקוני באגים

  • שיפרנו את התנועה של החלקה כדי לחשוף, על ידי הוספת אנימציית דעיכה לטקסט של הפעולה הראשית, דעיכה של הפעולה המשנית או שינוי קנה המידה של הסמל כשמחליקים כדי להרחיב את התמונה במלואה. (Ib7223)
  • מומלץ להפוך את הפעולות של 'החלקה כדי לחשוף' לנגישות, והוספנו דוגמאות של פעולות נגישות מותאמות אישית ל'החלקה כדי לחשוף'. (I42224)
  • שיפרנו את הביצועים של SwipeToDismissBox, כולל רפגורמציה כדי לוודא שהלוגיקה הראשונית לא תגרום ליצירת קומפוזיציה מחדש. SwipeToDismissBox מצויר עכשיו בגודל המסך המלא. (Ie0aa2)
  • תיקנו באג שבו PositionIndicator נעלם באופן שגוי. (I2091a)
  • שיפור הביצועים של PositionIndicator באמצעות אופטימיזציה של קומפוזיציות מחדש. לאחר מכן נוספו דגלים חדשים לצורך בקרה על האנימציות (fadeIn, ‏ fadeOut ו-positionChange) (ראו שינויים ב-API) (Ifac7d)
  • הוספנו בדיקות של Microbenchmark ל-PositionIndicator‏ (Idf875)

גרסה 1.3.0-alpha06

20 בספטמבר 2023

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

תיקוני באגים

  • הוספנו תמיכה ב-Modifier.edgeSwipeToDismiss באמצעות SwipeToReveal. (I95774, ‏ b/293444286)
  • הוספנו דוגמאות לחומרי SwipeToRevealChip ו-SwipeToRevealCard. (Ieb974)
  • עדכנו את הפרופילים הבסיסיים של ספריות Wear Compose Foundation ו-Material. (I1dd1f)

גרסה 1.3.0-alpha05

6 בספטמבר 2023

androidx.wear.compose:compose-*:1.3.0-alpha05 משוחרר. גרסה 1.3.0-alpha05 מכילה את ההצהרות האלה.

תיקוני באגים

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

גרסה 1.3.0-alpha04

23 באוגוסט 2023

androidx.wear.compose:compose-*:1.3.0-alpha04 משוחרר. גרסה 1.3.0-alpha04 מכילה את ההצהרות האלה.

תכונות חדשות

  • הוספנו תמיכה בביטול הפעולה המשנית של SwipeToReveal. (I7a22d)

שינויים ב-API

  • מוסיפים את HorizontalPageIndicator בספרייה של Wear Material3. (Ifee99)
  • עדכנו את כלי התצוגה המקדימה של Wear Compose כך שישתמשו בספרייה androidx.wear.tooling.preview. (Ib036e)

תיקוני באגים

  • תוקן באג בלחצנים עגולים שבהם המשתנים המשתנים לא נקשרו בצורה נכונה. (I5e162)

גרסה 1.3.0-alpha03

9 באוגוסט 2023

androidx.wear.compose:compose-*:1.3.0-alpha03 משוחרר. גרסה 1.3.0-alpha03 מכילה את ההצהרות האלה.

שינויים ב-API

  • הוספנו שני רכיבים חדשים ב-Material ליצירת רכיבים מורכבים, לצורך הטמעת SwipeToReveal באמצעות כרטיסים ושבבים. הרכיבים האלה עומדים בהנחיות המומלצות של חוויית המשתמש לגבי הרכיב, ומאפשרים למפתחים להטמיע בקלות את SwipeToReveal באמצעות הרכיבים הקיימים ב-Material Design ל-Wear. (I7ec65)
  • הפעלנו את ההערות של FloatRange כמגבלות API, כפי שצוינו בעבר בתגובות. (Icb401)

תיקוני באגים

  • העברנו את הלוגיקה הראשונית של גלילה ב-ScalingLazyColumn אל תוך onGloballyPositioned(). (Ic90f1)
  • עכשיו אנחנו משתמשים ב-drawWithCache ב-PositionIndicator, ב-ProgressIndicator וב-SelectionControls כדי לבצע אופטימיזציה של הקצאות הקווים. (I5f225, ‏ b/288234617)
  • תיקנו את הבעיה של הצגת הסימון בתיבות סימון במצבים מושבתים. (Ib25bf)
  • עדכנו את Placeholder כדי לאפשר איפוס להצגת placeholder אם התוכן כבר לא בסטטוס 'מוכן'. (Ibd820)
  • ביצענו כמה תיקונים לבדיקות Placeholder לא יציבות (Idb560)

גרסה 1.3.0-alpha02

26 ביולי 2023

androidx.wear.compose:compose-*:1.3.0-alpha02 משוחרר. גרסה 1.3.0-alpha02 מכילה את ההצהרות האלה.

שינויים ב-API

  • הוספנו את ExpandableStateMapping, דרך חדשה ליצירת ExpandableStates, למקרים שבהם צריך ליצור אותם על פי דרישה, ולא בהכרח בהיקף של @Composable (Iff9e0)
  • SwipeToDismissBox הועבר מחבילה androidx.wear.compose.material לחבילה androidx.wear.compose.foundation. (I275fb)
  • עדכנו את קובצי ה-API כדי להוסיף הערות לגבי ביטול תאימות. (I8e87a, ‏ b/287516207)
  • הפכנו את קבועי הגובה של Chip, ‏ CompactChip ו-ToggleChip לציבוריים (Idbfde)
  • העברנו את הרווח האנכי והרווח האופקי של Chip ו-CompactChip לסטטוס 'גלוי לכולם'. (Ieeaf7)
  • נוספה פונקציונליות להשבתת הטיפול בהחלקה ב-SwipeDismissableNavHost באמצעות הפרמטר החדש userSwipeEnabled. (Id2a0b, ‏ b/230865655)
  • עדכנו את ספריית הניווט של Wear Compose כך שתשתמש ב-SwipeToDismissBox החדש מ-Wear Compose Foundation. (I4ff8e)

תיקוני באגים

  • תיקנו באג שקשור לסדר z, שבו expandedItem לא הציג את התוכן הנכון אחרי לחיצה על התנהגות של לחצן כשיש לחצנים. (I1899d, ‏ b/289991514)
  • שיפור הטיפול במיקוד של SwipeToDismissBox (ולכן גם של SwipeDismissableNavHost) באמצעות HierarchicalFocusCoordinator (I45362, ‏ b/277852486)
  • תיקנו את הטיפול בתנועות ב-SwipeableV2 . (I89737)
  • סיימנו את הגדרת הפרופילים הבסיסיים לגרסה 1.2. (Id5740)
  • בעקבות ההעברה של SwipeToDismissBox ל-Foundation, ההטמעה של Material SwipeToDismissBox מעבירה עכשיו ל-Foundation ומספקת ערכים שמוגדרים כברירת מחדל מהעיצוב שלה.(If8451)
  • הוספנו סמנטיקה של כותרות אל ListHeader. (Ic5420)
  • כשצריך, הגובה של Chip ו-ToggleChip יותאם עכשיו כדי להכיל תוכן שהתרחב בגלל גופנים גדולים, לצורכי נגישות. (Iaf302)
  • תיקנו באג בתפקיד הסמנטי של האזור שניתן להקיש עליו ב-SplitToggleChip, לשיפור הנגישות. (Ieed3a)
  • ההגדרה 'הפחתת תנועה' משביתה עכשיו את האפקט של הבהוב ואת התנועה של מחיקה של סמלי placeholder. (I91046)
  • עכשיו אפשר ללחוץ לחיצות חוזרות על Stepper ו-InlineSlider לחיצה ארוכה כדי להגדיל או להקטין במהירות את הערך של Stepper ו-InlineSlider על ידי לחיצה ארוכה על הלחצנים + או -. (I27359)

גרסה 1.3.0-alpha01

21 ביוני 2023

androidx.wear.compose:compose-*:1.3.0-alpha01 משוחרר. גרסה 1.3.0-alpha01 כוללת את ההוספות האלה.

תיקוני באגים

  • כפי שהודענו ב-1.2.0-alpha07 וב-1.2.0-alpha10, אנחנו משנים עכשיו את DefaultTextStyle כדי להשבית את הוספת הריפוד לגופן, כדי לשמור על עקביות בפלטפורמת Android. כך נוכל לטפל במקרים מסוימים של חיתוך טקסט בגופנים גדולים, ויכול להיות שהשינוי ישפיע גם על פריסות המסך. לכן, צריך לעדכן את הבדיקות של צילומי המסך. לדוגמה, כאן רואים קטע טקסט חתוך (Ic6a86)
טקסט חתוך עם גודל גופן גדול
איור 1: טקסט חתוך.
  • הוא לא מופיע יותר כשהוספת רווחים מסביב לגופן מושבתת:
טקסט שלא נחתך עם גופן גדול
איור 2: הטקסט לא חתוך.
  • עדכנו את wear.compose.foundation כך שיהיה תלוי ב-API של wear.compose.material (I72004, ‏ b/285404743)
  • תיקנו באג ב-SwipeToDismissBox. מפתחות הרקע והתוכן מועברים עכשיו לבלוק remember, כדי שייווצרו משתני אופן פעולה חדשים כשהתוכן או הרקע ישתנו. (Ib876c, ‏ b/280392104)
  • עדכנו את TimeText כך שישתמש באזור הזמן בבחירת הפורמט של השעה – 12 או 24 שעות. (If4a3d)
  • תיקנו חוסר עקביות בפרמטרים שמוגדרים כברירת מחדל ב-SwipeToDismissBox contentScrimColor. (I2d70f)
  • שיפרנו את הטיפול בתנועה ב-SwipeToReveal. (I28fb7)

בעיות מוכרות

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

גרסה 1.2

גרסה 1.2.1

18 באוקטובר 2023

androidx.wear.compose:compose-*:1.2.1 משוחרר. גרסה 1.2.1 מכילה את השמירות האלה.

תיקוני באגים

  • תוקן באג שבו PositionIndicator נעלם באופן שגוי. (7a167f)

גרסה 1.2.0

9 באוגוסט 2023

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

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

גרסה 1.2.0-rc01

26 ביולי 2023

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

תיקוני באגים

  • סיימנו את הגדרת הפרופילים הבסיסיים לגרסה 1.2 (Id5740)

גרסה 1.2.0-beta02

7 ביוני 2023

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

תכונות חדשות

  • הוספנו את המשתנה הניסיוני החדש LocalReduceMotion CompositionLocal, שמשבית את שינוי הגודל וההדהדה ב-ScalingLazyColumn. (I58024)

תיקוני באגים

  • עדכנו את הפרופילים הבסיסיים של ספריות החומרים והבסיס של Wear Compose‏(I4725d)
  • תיקנו חוסר עקביות בערכים שמוגדרים כברירת מחדל לפרמטר SwipeToDismissBox contentScrimColor (I2d70f)
  • תיקנו את ערך ברירת המחדל של DefaultTextStyle שמשמש להגדרה IncludeFontPadding (I737ed)

גרסה 1.2.0-beta01

24 במאי 2023

androidx.wear.compose:compose-*:1.2.0-beta01 משוחרר. גרסה 1.2.0-beta01 כוללת את ההצהרות האלה.

מה חדש ב-Compose for Wear OS 1.2

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

  • expandableItem ו-expandableItems הם שני רכיבים חדשים של Foundation שתומכים בהרחבת פריטים בתוך ScalingLazyColumn. משתמשים ב-expandableItem לפריט יחיד שניתן להרחבה, כמו טקסט שבו מספר השורות. משתמשים ב-expandableItems לקבוצה של פריטים שניתן להרחיב, וב-expandableButton כדי לפשט את היצירה של כפתור שנכנס למצב מקופל אחרי שהתוכן מורחב.
  • HierarchicalFocusCoordinator – הרכיב הניסיוני הזה מאפשר לסמן עצי משנה של הקומפוזיציה כפעילים או כמושבתים.
  • Picker – ה-API כולל עכשיו את userScrollEnabled כדי לקבוע אם הבורר פעיל כשהמשתמש גולל.
  • PickerGroup – רכיב חדש שניתן לשילוב לטיפול בכמה בוררי בחירה יחד. הוא מטפל בפוקוס בין הבוררים באמצעות ה-API HierarchicalFocusCoordinator ומאפשר מרכוז אוטומטי של הפריטים בבורר.
  • Placeholder – ביצענו עדכונים באנימציות של הבהוב ו'מחיקה'. אפקט המחיקה מופעל עכשיו באופן מיידי כשהתוכן מוכן.
  • ScalingLazyColumn – העברנו את ScalingLazyColumn ואת הכיתות המשויכות מ-androidx.wear.compose.material.ScalingLazyColumn אל androidx.wear.compose.foundation.lazy.ScalingLazyColumn. עליך לעדכן את המערכת לגרסה Foundation.Lazy.
  • SwipeToReveal – הוספנו תמיכה ניסיונית באפשרות להחליק כדי לחשוף, כדרך לגשת לפעולות משניות, כתוספת לדפוס הקיים של 'לחיצה ארוכה'.
  • Stepper – עכשיו יש לו עומס יתר עם פרמטר enableRangeSemantics נוסף כדי להקל על השבתת הסמנטיקה של טווח ברירת המחדל.
  • Previews – הוספנו את ההערות המותאמות אישית הבאות כדי להציג תצוגה מקדימה של רכיבי Composable במסכים של Wear: WearPreviewSmallRound תצוגה מקדימה של רכיב Composable במכשיר עגול קטן, WearPreviewLargeRound תצוגה מקדימה של רכיב Composable במכשיר עגול גדול, WearPreviewSquare תצוגה מקדימה של רכיב Composable במכשיר מרובע. בנוסף, התגים הבאים והערות עם תצוגות מקדימות מרובות: WearPreviewFontScales מציג תצוגה מקדימה של הרכיבים הניתנים לשילוב במכשיר Wear עם כמה גדלי גופן, ואילו WearPreviewDevices מציג תצוגה מקדימה של הרכיבים הניתנים לשילוב במכשירי Wear שונים.
  • הוספנו ל-Wear Compose את DefaultTextStyle, שמגדיר את ברירת המחדל של נכס PlatformTextStyle.includeFontPadding כ-true (זו ההגדרה הנוכחית). כך נוכל לסנכרן את השבתת הרווח מסביב לגופן כברירת מחדל עם ספריות Compose בגרסה מוקדמת של 1.3 alpha – מידע נוסף זמין במאמר 1.2.0-alpha10.

תכונות חדשות

  • הוספנו תמיכה ניסיונית להשבתת התאמה לעיצוב ואנימציה של דהייה כשההגדרה reduce_motion מופעלת. (I58024)

תיקוני באגים

  • מסמכי עזרה משופרים ל-angularWidthDp ב-CurvedSize.kt (Iab75c)
  • SwipeDismissableNavHost מתעד עכשיו אזהרה עם סיבות אפשריות ל-backstack ריק. המטרה היא למנוע קריסות לא צפויות שנגרמות בגלל IllegalArgumentException שהושלך כשסטאק החזרה לאחור היה ריק. (I04a81, ‏ b/277700155)

גרסה 1.2.0-alpha10

10 במאי 2023

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

תכונות חדשות

  • הוספנו תמיכה ב'החלקה כדי לחשוף', כדרך לגשת לפעולות משניות. התבנית הזו משלימה את התבנית של 'לחיצה ארוכה', שהיא הדרך הקיימת שבה משתמש יכול לחשוף פעולות משניות (שונות). (I60862)

שינויים ב-API

  • הוספנו את RevealScope לרכיבי פעולה ב-SwipeToReveal, שמאפשר גישה להיסט שבו נחשפות פעולות נוספות. (I3fd56)

תיקוני באגים

  • תוקנה בעיה שבה ScalingLazyColumn תקוע ב-Wear API 33 אחרי תנועה מהירה (Ic4599)
  • ביצענו כמה שיפורים בביצועים של PositionIndicator כדי לצמצם את התנודות. (I35e92)
  • תיקנו באג בצ'יפ וב-CompactChip, שבו התפקיד הסמנטי לא הוגדר יותר כ-Role.Button. (I93f91, ‏ b/277326264)

בעיות מוכרות

  • זיהינו באג ב-Android Studio שגורם לכשל ברינדור של תצוגה מקדימה כשמוסיפים הערות באמצעות @WearPreviewDevices ו-@WearPreviewFontScales. תיקון הבעיה מתוכנן להופיע בקרוב. לתשומת ליבכם: ההערות האחרות לתצוגה המקדימה של Wear פועלות כמצופה ב-Android Studio Giraffe 2022.3.1 ואילך.

  • בגרסה 1.2.0-alpha07 הוספנו את DefaultTextStyle ל-Compose ב-Wear, תוך שמירה על הערך הקיים של PlatformTextStyle.includeFontPadding כ-true. לרקע, אפשר לעיין במאמר תיקון של הרווח מסביב לגופן ב-Compose. כדי לשמור על עקביות בפלטפורמת Android, נשנה את DefaultTextStyle כדי להשבית את הוספת הריפוד לגופן בגרסה מוקדמת של גרסת האלפא 1.3. כך נוכל לטפל במקרים מסוימים של חיתוך טקסט בגדלי גופן גדולים, ויכול להיות שהשינוי ישפיע גם על פריסות המסך. לכן, צריך לעדכן את הבדיקות של צילומי המסך. לדוגמה, בגדלי גופן גדולים, הטקסט נחתך כך:

טקסט חתוך עם גודל גופן גדול
איור 1: טקסט חתוך.
  • הוא לא מופיע יותר כשהוספת רווחים מסביב לגופן מושבתת:
טקסט שלא נחתך עם גופן גדול
איור 2: הטקסט לא חתוך.

עכשיו אפשר להשתמש בהגדרה החדשה על ידי שינוי של הגופנים בעיצוב – קוד לדוגמה.

גרסה 1.2.0-alpha09

19 באפריל 2023

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

שינויים ב-API

  • הוספת angularSizeDp ל-CurvedModifier API להגדרת רוחב זווית ב-DP (I89a52)

תיקוני באגים

  • תיקנו בעיות נגישות בדמואים של בורר הזמנים(Id0eb7)

גרסה 1.2.0-alpha08

5 באפריל 2023

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

שינויים ב-API

  • שינינו את השם של ExpandableItemsState ל-ExpandableState. (If85ea)
  • הוספנו את expandableButton כדי לפשט את היצירה של לחצן שנכנס למצב מקופל כשהתוכן מורחב, ועדכנו את הדוגמאות לרכיבים שניתן להרחיב. (Iae309)

תיקוני באגים

  • דוגמאות משופרות שניתן להרחיב כדי להציג אפשרויות נוספות. שינוי האנימציה של expandableItem כדי שהתוכן שלה יישאר במרכז במהלך האנימציה. (I2f637)
  • עדכנו את ToggleControls כדי למנוע קומפוזיציות מחדש מיותרות כשמפעילים אנימציה של צבעים באופן ידני באמצעות State. (I5d319)

גרסה 1.2.0-alpha07

22 במרץ 2023

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

שינויים ב-API

  • העברנו את הרכיבים של הפריטים הנפתחים (נוספו בגרסה 1.2.0-alpha06) מהחומרה ליסודות, כי לא הייתה להם הפניה משמעותית ל-MaterialTheme. (Ib0525)

תיקוני באגים

  • תיקנו קריסה שהתרחשה במסך שבו נעשה שימוש ב-PickerGroup, על ידי הבטחה ש-PickerGroup מטפל בצורה נכונה בפוקוס כשאין בורר שמקבל את הפוקוס. הוספנו גם תמיכה בגלילה של RSB בדמואים של Picker. (If8c19)
  • שיפרנו את מעברי הדיאלוג – מעכשיו המעבר של תחילת הסרטון חלק יותר כדי להתאים למעבר של סוף הסרטון. (Ib5af9)
  • הוספנו ל-Wear Compose את DefaultTextStyle, שמגדיר את ברירת המחדל של נכס PlatformTextStyle.includeFontPadding כ-true (זו ההגדרה הנוכחית). כך נוכל לסנכרן את השבתת הרווח מסביב לגופן כברירת מחדל עם ספריות ה-Compose בעתיד. לרקע, אפשר לעיין במאמר תיקון הרווח מסביב לגופן ב-Compose. (I2aee8)
  • החזרה לאחור של יחסי תלות בתצוגה המקדימה של UpsideDownCake באמצעות activity-compose, שחסמו את פרסום האפליקציות בחנות Google Play. (I6443d)

גרסה 1.2.0-alpha06

8 במרץ 2023

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

שינויים ב-API

  • מוסיפים את הרכיב CurvedBox, שמציב רכיבים אחד על גבי השני בעולם המעוקל. (I29200)
  • נוספו פריטים שניתן להרחיב – שני רכיבים חדשים שתומכים בקבוצה של פריטים שניתן להרחיב ב-ScalingLazyColumn, או בפריט יחיד שניתן להרחיב, כמו טקסט שבו מספר השורות מתרחב. (I95dd5)
  • הוספנו את ההערות המותאמות אישית הבאות כדי להציג תצוגה מקדימה של קומפוזיציות במסכים של Wear: WearPreviewSmallRound מציגה תצוגה מקדימה של הקומפוזיציה במכשיר קטן עגול, WearPreviewLargeRound מציגה תצוגה מקדימה של הקומפוזיציה במכשיר גדול עגול ו-WearPreviewSquare מציגה תצוגה מקדימה של הקומפוזיציה במכשיר מרובע. בנוסף, התגים הבאים והערות עם תצוגות מקדימות מרובות: WearPreviewFontScales מציג תצוגה מקדימה של הרכיבים הניתנים לשילוב במכשיר Wear עם כמה גדלי גופן, ואילו WearPreviewDevices מציג תצוגה מקדימה של הרכיבים הניתנים לשילוב במכשירי Wear שונים. כדי להשתמש בתצוגות המקדימות האלה, צריך להשתמש ב-Android Studio בגרסה האחרונה (Giraffe Canary 6) ואילך. חשוב לזכור: אם ההערות האלה לא מתאימות למטרה שלכם, עדיין תוכלו להשתמש בתצוגה המקדימה, והיא תומכת בהתאמות אישיות נוספות באמצעות פרמטרים. (I397ff)
  • סימנו את HierarchicalFocusCoordinator כתכונה ניסיונית, אבל היא נחשבת כמועמדת להעברה לספריות הליבה של compose, בגלל השימושים הרבים שלה. (I3a768)

תיקוני באגים

  • תוקן באג ב-HierarchicalFocusCoordinator: כשה-lambda שהוענק לפרמטר focusEnabled משתנה, אנחנו משתמשים עכשיו ב-lambda החדש בצורה נכונה. (Icb353)
  • עדכנו את צבע ברירת המחדל של תוכן מושבת ל'רקע' כשמשתמשים בצבעים ראשיים כרקע ב-Button, ב-CompactButton, ב-Chip, ב-CompactChip וב-ToggleButton. כך אפשר לשפר את הניגודיות לשיפור הנגישות. (I527cc)

גרסה 1.2.0-alpha05

22 בפברואר 2023

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

שינויים ב-API

  • עדכנו את ממשק ה-API של PickerGroup כדי לאפשר להעביר את אילוצי המינימום לרכיב הניתן לקיבוץ, אם רוצים. כשהיא מוגדרת כ-True, האילוצים המינימליים שהועברו מהרכיב הקומפוזיציבי ההורה יהיו מותרים ב-PickerGroup. אם הערך של הפרמטר מוגדר כ-false, PickerGroup יאפס את האילוצים המינימליים. (I3e046)
  • הוספנו את animateScrollToOption ל-Picker API כדי לתמוך באנימציה פרוגרמטית לאפשרות ספציפית ב-Picker (I6fe67)

תיקוני באגים

  • עדכנו את HorizontalPageIndicator כך שיתמוך בפריסות מימין לשמאל. (Ia4359)
  • נוספו בדיקות של צילומי מסך לפריסה מימין לשמאל ב-HorizontalPageIndicator (I6fbb8)
  • נוספו בדיקות נוספות ל-SwipeDismissableNavHostTest שמשתמשות ב-TestNavHostController (I61d54)

גרסה 1.2.0-alpha04

8 בפברואר 2023

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

תכונות חדשות

  • PickerGroup לטיפול בכמה בוררי בחירה יחד באמצעות Focus API. הוא מטפל בהתמקדות בין הבוררים השונים, מאפשר מרכוז אוטומטי של הבוררים על סמך פרמטרים ומאפשר למפתחים לשנות את המיקוד בין הבוררים השונים תוך כדי טיפול באירועים מהקבוצה. במצב TalkBack, הלחצן PickerGroup מטפל במיקוד של TalkBack על ידי העברת המיקוד לבורר שנבחר מהקבוצה. (I60840)

שינויים ב-API

  • הוספנו עומס יתר ל-Stepper עם פרמטר enableRangeSemantics נוסף כדי להקל על השבתת הסמנטיקה של טווח ברירת המחדל (Ia61d4)

תיקוני באגים

  • מתן אפשרות להטמיע את ScalingLazyColumn בדף עם גלילה אופקית (Iec3f8, ‏ b/266555016)
  • שיפור של מסמכי ה-kdocs של Stepper וניפוי של בדיקות StepperTest. (Ic118e)
  • עודכן יחסי התלות של androidx.navigation לגרסה 2.5.3 (If58ed)

גרסה 1.2.0-alpha03

25 בינואר 2023

androidx.wear.compose:compose-*:1.2.0-alpha03 משוחרר. גרסה 1.2.0-alpha03 כוללת את ההוספות האלה.

שינויים ב-API

  • הענקנו את ScalingLazyColumn (ואת הכיתות המשויכות) מ-androidx.wear.compose.material.ScalingLazyColumn ל-andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (כאן מוסבר איך עושים את זה). המיקום החדש הזה תואם יותר למיקום של compose.foundation.lazy.LazyColumn והוא טבעי יותר כי הוא לא רכיב Material מוכתב. אנחנו מבצעים את השינוי הזה עכשיו לקראת השקת ספרייה חדשה של Material3, שעל היצירה שלה נעבוד במקביל לספריית Material הקיימת. (I060e7)

השינויים הבאים הם חלק מההעברה של ScalingLazyColumn מ-Material ל-Foundation.Lazy:

  • ממשקי ה-API של PositionIndicator שמטרגטים את Material ScalingLazyColumn הוצאו משימוש – יש לעדכן ל-Foundation.Lazy ScalingLazyColumn. בנוסף, השדה anchorType נוסף ל-ScalingLazyListLayoutInfo. (I29d95)
  • ScalingLazyColumn סומן כחומר שהוצא משימוש בחבילת Wear Compose Material (I16d34)
  • עדכנו את המשתנה ScrollAway כך שישתמש ב-ScalingLazyListState מ-Wear Compose Foundation.Lazy, והוצאנו משימוש את עומס יתר שהשתמש ב-ScalingLazyListState מ-Wear Compose Material. (Ifc42c)
  • עדכנו את ממשקי Dialog API כך שישתמשו ב-ScalingLazyListState מ-Foundation.Lazy, והוצאנו משימוש את עומסי יתר שהשתמשו ב-Material ScalingLazyListState (Ic8960)
  • עדכנו את ממשקי ה-API של הבורר כך שישתמשו ב-ScalingParams מ-Foundation.Lazy, והוצאנו משימוש את עומסי יתר שהשתמשו ב-Material ScalingParams. (Idc3d8)

תיקוני באגים

  • תיקנו באג שגרם ליצירת קומפוזיציות מחדש מיותרות ב-ScalingLazyListState.centerItemIndex. לשם כך, וידאנו שהמערכת שולחת עדכונים רק כשהערך משתנה בפועל (Ia9f38)
  • שיפרנו את הביצועים של SwipeToDismissBox (I3933b)
  • נוספו בדיקות של מדדי ביצועים ל-ScalingLazyColumn ב-Wear Compose Foundation‏ (Ie00f9)
  • עדכנו כמה שיטות פנימיות של כיתות ScalingLazyColumn ב-Material כך שישתמשו בדומות שלהן מ-Foundation.Lazy (I38aab)
  • תיקנו כמה בעיות בבדיקות של Picker והוספנו בדיקות נוספות לבדיקת גלילה עם אופסט (I6ac34)
  • העברנו את הדגמות השילוב של ScalingLazyColumn כך שייסמכו על Foundation.Lazy במקום על Material ScalingLazyColumn (Ic6caa)
  • הוספנו פרמטרים אופציונליים של fromDate/toDate לדמו של DatePicker (I961cd)

גרסה 1.2.0-alpha02

11 בינואר 2023

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

שינויים ב-API

  • עכשיו, בבדיקות ממשק המשתמש של Android Compose יתבצעו מעברים של פריסה לכל פריים בזמן ביצוע הפריים כדי להגיע למצב חוסר פעילות (למשל, באמצעות waitForIdle). הדבר עשוי להשפיע על בדיקות שמבצעות טענת נכוֹנוּת (assertion) על פריימים נפרדים של אנימציות פריסה. (I8ea08, ‏ b/222093277)
  • הפרמטר minLines מתווסף ל-Wear Text כדי לשמור על התנהגות עקבית עם BasicText (I24874)
  • CompactChipTapTargetPadding הפך לציבורי כדי שיופיע במסמכי העזרה (If1e70, ‏ b/234119038)

תיקוני באגים

  • השבתת גרסאות build לפלטפורמות מרובות עבור חבילות wear.compose (Iad3d7)
  • תיקון של kdocs עבור scrollToOption (I6f9a0)
  • PlaceholderState.rememberPlaceholderState() עודכן כך שישתמש ב-rememberUpdatedState כדי שהמצב יתעדכן אם פונקציית ה-lambda של onContentReady. (I02635, ‏ b/260343754)
  • תיקנו בעיה של רעידות בטקסט שזוהתה ברכיב Picker באמצעות שימוש באסטרטגיית הקומפוזיציה החדשה שנוספה ל-Modifier.graphicsLayer. (I99302)
  • תיקנו באג שגרם לרטט בהדגמה של DatePicker (I660bd)
  • שיפרנו את הנגישות של הדגמות הבורר לשעה ולתאריך עם חלוקה ל-12 שעות (I05e12)
  • עדכנו את הדגמות של הבוררים לבחירת תאריך ושעה, כך שהבוררים לא יושפעו משינויים ב-RSB כשהם לא מסומנים (I4aecb)

גרסה 1.2.0-alpha01

7 בדצמבר 2022

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

תכונות חדשות

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

שינויים ב-API

  • הוספנו רכיב HierarchicalFocusCoordinator שאפשר לשלב כדי לסמן עצי משנה של ההרכב כפעילים או כמושבתים.(I827cb)
  • הוספנו נכס חדש כדי לשנות את התפקיד הסמנטי של ToggleButton.‏ (I67132)
  • עדכנו את TimeTextDefaults.TimeFormat12Hours כדי להסיר את AM/PM ב-TimeText. הפעולה הזו תשנה את ערך ברירת המחדל של הפרמטרים timeSource ב-API של TimeText. (I1eb7f)
  • הרחבנו את Picker API כדי לשפר את הנגישות במסכים עם בורר רב-אפשרויות. יש מאפיין חדש, userScrollEnabled, שקובע אם הבורר פעיל בזמן שהמשתמש גולל. (I3c3aa)

תיקוני באגים

  • שינינו את רוחב ההיקף שמוגדר כברירת מחדל ל-OutlinedButton/OutlinedCompactButton מ-2dp ל-1dp, כדי להתאים למפרטי חוויית המשתמש הסופיים. (Icf84d)
  • כדי לצמצם את ההשפעה של הפריט הראשון שנוסף ל-ScalingLazyColumn ריק שנראה כאילו הוא גולש למיקום שלו, הוספנו autoCentering topPadding משוער כשהתוכן ריק. השינוי הזה מחשב את כמות הרווח העליון הנחוץ, בהנחה שפריט ראשוני בגובה 0.dp. עבור ScalingLazyListAnchorType.ItemStart, המערכת תחשב את המרווח הפנימי העליון הנכון. עבור ScalingLazyListAnchorType.ItemCenter, החישוב יהיה שגוי כי צריך את גובה הפריטים כדי לקבוע את הגודל הנכון של התוכן, וכתוצאה מכך תהיה גלילה קטנה למקום על סמך הגובה האמיתי של הפריטים.(I239a4)
  • עדכנו את שכבת הרקע שהוחלו על האנימציה של SwipeToDismiss כך שתתאים לפלטפורמת Wear. (I9003e)
  • תיקנו את הטיפול של PositionIndicator ב-LazyListState וב-ScalingLazyListState לפריטי רשימה בגודל 0, כדי למנוע שגיאות של חלוקה באפס.(Ic28dd)

גרסה 1.1

גרסה 1.1.2

8 בפברואר 2023

התכונות androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2 וגם androidx.wear.compose:compose-navigation:1.1.2 משוחררות. גרסה 1.1.2 כוללת את השמירות האלה.

תיקוני באגים

  • תיקנו באג שגרם ליצירת קומפוזיציות מחדש מיותרות ב-ScalingLazyListState.centerItemIndex. לשם כך, וידאנו שהמערכת שולחת עדכונים רק כשהערך משתנה בפועל (Ia9f38)

גרסה 1.1.1

11 בינואר 2023

התכונות androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1 וגם androidx.wear.compose:compose-navigation:1.1.1 משוחררות. גרסה 1.1.1 מכילה את השמירות האלה.

תיקוני באגים

  • PlaceholderState.rememberPlaceholderState() עודכן כך שישתמש ב-rememberUpdatedState כדי שהמצב יתעדכן אם פונקציית ה-lambda של onContentReady. (I02635, ‏ b/260343754)

גרסה 1.1.0

7 בדצמבר 2022

התכונות androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0 וגם androidx.wear.compose:compose-navigation:1.1.0 משוחררות. גרסה 1.1.0 כוללת את ההצהרות האלה על ביצוע שינויים (commits).

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

תכונות חדשות

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

תיקוני באגים

  • שינינו את רוחב ההיקף שמוגדר כברירת מחדל ל-OutlinedButton/OutlinedCompactButton מ-2dp ל-1dp, כדי להתאים למפרטי חוויית המשתמש הסופיים. (Icf84d)
  • כדי לצמצם את ההשפעה של הפריט הראשון שנוסף ל-ScalingLazyColumn ריק שנראה כאילו הוא גולש למיקום שלו, הוספנו autoCentering topPadding משוער כשהתוכן ריק. השינוי הזה מחשב את כמות הרווח העליון הנחוץ, בהנחה שפריט ראשוני בגובה 0.dp. עבור ScalingLazyListAnchorType.ItemStart, המערכת תחשב את המרווח הפנימי העליון הנכון. עבור ScalingLazyListAnchorType.ItemCenter, החישוב יהיה שגוי כי צריך את גובה הפריטים כדי לקבוע את הגודל הנכון של התוכן, וכתוצאה מכך תהיה גלילה קטנה למקום על סמך הגובה האמיתי של הפריטים.(I239a4)
  • עדכנו את שכבת הרקע שחלה על האנימציה של SwipeToDismiss כך שתתאים לפלטפורמת Wear.‏ (I9003e)
  • תיקנו את הטיפול של PositionIndicator ב-LazyListState וב-ScalingLazyListState לפריטי רשימה בגודל 0, כדי למנוע שגיאות של חלוקה באפס.(Ic28dd)

גרסה 1.1.0-rc01

9 בנובמבר 2022

התכונות androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01 וגם androidx.wear.compose:compose-navigation:1.1.0-rc01 משוחררות. גרסה 1.1.0-rc01 כוללת את השמירות האלה.

תיקוני באגים

  • הוספנו כללי פרופיל בסיסיים עבור Placeholders, ‏ ScrollAway, ‏ RadioButton, ‏ Switch, ‏ Checkbox, ‏ OutlinedButton, ‏ OutlinedCompactButton, ‏ OutlinedChip ו-OutlinedCompactChip. (I8249c)
  • תיקנו באג ב-Modifier.scrollAway, כך שאם הערך שצוין בשדה itemIndex לא חוקי (לדוגמה, אם אינדקס הפריט הזה לא נמצא בטווח), הערך של TimeText עדיין יוצג. (I2137a)
  • עדכנו את האנימציה של SwipeToDismissBox כך שתתאים להטמעה בפלטפורמה. אחרי אנימציית הלחיצה הראשונית, המסך מחליק ימינה אחרי שהסגירה מופעלת. (I41d34)
  • כחלק מהאופטימיזציה, עדכנו את Modifier.scrollAway כך שיקריא רק את scrollState בתוך בלוק המדידה, כדי למנוע יצירת מחדש של המשנה אחרי כל מדידה מחדש. (I4c6f1)
  • הוספנו מסמך ודוגמה למעקב אחרי מיקומי תוכן כדי להראות את הסדר הנכון של Modifier.placeholder ו-Modifier.placeholderShimmer כשהם חלים על אותו רכיב מורכב. (Ie96f4, ‏ b/256583229)
  • שינינו את רוחב ההיקף שמוגדר כברירת מחדל ל-OutlinedCompactChip/OutlinedChip מ-2dp ל-1dp, כדי להתאים למפרטי חוויית המשתמש הסופיים. (Ib3d8e)
  • תיקנו באג ב-rememberPickerState שבו לא נשמרו קלטות מעודכנות, כך שרכיבי ה-Composable לא התעדכנו אחרי שינויים בקלטות. (I49ff6, ‏ b/255323197)
  • ביצענו כמה עדכונים בממשק המשתמש של סמלי ה-placeholder: 1) שינוי שיפוע הזוהר לגודל של פי 1.5 מגודל המסך, 2) הוספת עיכוב (cubic bezier) להתקדמות של הזוהר ו-3) האצת האנימציה של המחיקה (250 אלפיות השנייה). (Id29c1)
  • תיקנו באג בממשק המשתמש של אפקט המחיקה של placeholder, שבו הרקעים של הצ'יפים והכרטיסים נמחקו קצת מוקדם מדי כי לא נלקח בחשבון המיקום של הרכיב במסך. (I2c7cb)
  • עדכנו את ציור הרקע של placeholder כך שימזג צבעים במקום להציב אותם בשכבות, במידת האפשר. המטרה היא לצמצם את הסיכון ששילוב אלפא של השכבות השונות שנחתכו יאפשר לצבעים שמתחת לעבור לקצוות של הרקע של placeholder. (I2ea26)
  • תיקנו את החישוב של ScalingLazyListState.centerItemIndex/centerItemOffset כך שאם שני פריטים נמצאים משני צידי קו המרכז של אזור התצוגה, הפריט הקרוב ביותר ייחשב כ-centerItem. (I30709, ‏ b/254257769)
  • תיקנו באג ב-ScalingLazyListState.layoutInfo.visibleItemsInfo שדיווח על סטיות שגויות במהלך האתחול של ScalingLazyColumn. עכשיו תוחזר רשימה ריקה עד שכל הפריטים ברשימה יהיו גלויים ועם ההיסטים הנכונים. בדיקה של ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() תאשר שההפעלה של ScalingLazyColumn הושלמה והפריטים גלויים. (I3a3b8)

גרסה 1.1.0-beta01

24 באוקטובר 2022

התכונות androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01 וגם androidx.wear.compose:compose-navigation:1.1.0-beta01 משוחררות. גרסה 1.1.0-beta01 כוללת את השמירות האלה.

מה חדש ב-Compose for Wear OS 1.1

בגרסה 1.1.0-beta01 של Compose for Wear OS צוין שהגרסה הזו של הספרייה כוללת את כל התכונות ושה-API נעול.

  • הגרסה 1.1 של Wear Compose כוללת את הפונקציונליות החדשה הבאה:
    • בורר – שיפורים בנגישות של הבורר, כך שאפשר לנווט במסכים עם כמה בוחרנים באמצעות קוראי מסך, ותיאור התוכן נגיש
    • הפרמטר contentDescription של הבורר משמש עכשיו רק לאפשרות שנבחרה בבורר, והוא מקבל מחרוזת nullable (בקודם, היה צריך להעביר מיפוי מהאפשרות לתיאור התוכן, אבל המערכת השתמשה רק באפשרות שנבחרה).
    • עכשיו הפריטים בבורר תמיד מותאמים למרכז. תיקון באג שבו הגדרת gradientRatio לאפס גרמה לשינוי ההתאמה.
    • Chip/ToggleChip – עדכנו את מעברי הצבע שמוגדרים כברירת מחדל ב-Chip/ToggleChip כדי שתואמים למפרט העדכני ביותר של חוויית המשתמש. ChipDefaults.gradientBackgroundChipColors עודכן כך שיתחיל מ-50% מהצבע הראשי במקום מ-32.5%.
    • Chip/ToggleChip – נוספו עומסי יתר לשינוי הצורות של הצ'יפים
    • Chip/Button/ToggleButton – הוספנו סגנון חדש עם קווים חיצוניים לצ'יפים וללחצנים, ורכיבים מורכבים חדשים מסוג OutlinedChip ו-OutlinedButton שמציגים Chip/Button שקוף עם גבול דק.
    • כרטיס – עדכנו את ברירת המחדל של ההדרגות בכרטיסים כדי שתתאים למפרט העדכני ביותר של חוויית המשתמש. CardDefaults.cardBackgroundPainter עודכן כך שיתחיל ב-30% מהצבע הראשי וייגמר ב-20% מ-onSurfaceVariant (קודם היה 20% עד 10% onSurfaceVariant). ToggleChip.toggleChipColors משתנה מהדרגה לינארית של 75% שטח ל-32.5% צבע ראשי ל-0% שטח ל-50% צבע ראשי.
    • Button/ToggleButton – נוספו מאפיינים לשינוי צורות של לחצנים.
    • עיצוב – עדכנו כמה צבעים שמוגדרים כברירת מחדל ב-MaterialTheme כדי לשפר את הנגישות. לצבעים המקוריים לא הייתה ניגודיות מספקת, ולכן המשתמשים התקשו להבדיל בין הרקעים של הצ'יפים, הכרטיסים או הלחצנים לבין צבע הרקע של העיצוב.
    • InlineSlider/Stepper – נוספו תפקידים של לחצנים כדי ש-Talkback יוכל לזהות אותם כלחצנים.
    • תמיכה – PositionIndicator ממוקם עכשיו בגודל ובמיקום שמתאימים לו. לדוגמה, אם מתווסף לו מידע סמנטי, עכשיו קורא המסך קורא את הגבולות הנכונים של PositionIndicator במסך.
    • CurvedText/TimeText – נוספה הפונקציה Modifier.scrollAway, שמגלגלת פריט אנכית אל תוך התצוגה או ממנה, על סמך מצב הגלילה (עם עומסי יתר לעבודה עם Column, ‏ LazyColumn ו-ScalingLazyColumn). בדרך כלל משתמשים ב-ScrollAway כדי לגלול TimeText מחוץ לתצוגה כשהמשתמש מתחיל לגלול רשימה של פריטים כלפי מעלה.
    • CurvedText/TimeText – נוספה תמיכה ב-fontFamily, ב-fontStyle וב-fontSynthesis ב-CurvedTextStyle, שניתן להשתמש בה ב-curvedText וב-basicCurvedText
    • CurvedText/TimeText – הוספת fontWeight למבנה ה-constructor ולשיטת ההעתקה ב-CurvedTextStyle
    • ToggleControls – נוספו פקדי החלפת מצב מונפשים של Checkbox, ‏ Switch ו-RadioButton לשימוש עם ToggleChip ו-SplitToggleChip. אפשר להשתמש בהם במקום בסמלים הסטטיים שסופקו על ידי ToggleChipDefaults (switchIcon, ‏ checkboxIcon ו-radioIcon).
    • placeholder – נוספה תמיכה ניסיונית בפלייסהולדרים. הוא כולל שלושה אפקטים חזותיים ייחודיים שנועדו לפעול יחד.
    • ראשית, אפקט מברשת של מקום-עזר ברקע, שמשמשים בקונטיינרים כמו צ'יפ וכרטיסים כדי לצייר מעל הרקע הרגיל בזמן ההמתנה לטעינת התוכן.
    • שנית, משתנה (Modifier.placeholder()) לציור ווידג'ט של placeholder בצורת אצטדיון מעל התוכן שנטען.
    • השלישית היא אפקט שינוי של שינוי הדרגתי או הבהוב (Modifier.placeholderShimmer()) שמצויר מעל שאר האפקטים כדי להצביע למשתמשים שאנחנו ממתינים לטעינה של הנתונים.
      • כל האפקטים האלה תוכננו כך שיתאימו זה לזה, ויתנו תחושה של הבהוב והיעלמות בצורה מתואמת.
  • יחסי התלות של Core Compose עודכנו מ-1.2 ל-1.3

שינויים ב-API

  • עכשיו אפשר לציין פרמטרים של גופן (fontFamily, ‏ fontWeight, ‏ fontStyle ו-fontSynthesis) ישירות כפרמטרים של curvedText (Idc422)

תיקוני באגים

  • curveText ו-basicCurvedText יפעלו עכשיו כמו שצריך עם TalkBack (יש להם צומת compose-ui בגודל ובמיקום מתאימים (אבל ריק) שמשויך אליהם, והטקסט משמש כתיאור התוכן) (I7af7c, ‏ b/210721259)
  • תיקון באג ב-Picker כש-PickerState.repeatedItems = false כדי להוסיף הגדרה מפורשת של פרמטרים של מרכוז אוטומטי ב-ScalingLazyColumn הפנימי של הבורר, כדי לוודא שאפשר לגלול את האפשרות הראשונה למרכז התצוגה. (I8a4d7)

גרסה 1.1.0-alpha07

5 באוקטובר 2022

התכונות androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07 וגם androidx.wear.compose:compose-navigation:1.1.0-alpha07 משוחררות. גרסה 1.1.0-alpha07 מכילה את ההוספות האלה.

תכונות חדשות

  • הוספנו תמיכה ניסיונית בפלייסהולדרים. הוא כולל שלושה אפקטים חזותיים ייחודיים שנועדו לפעול יחד. ראשית, אפקט מברשת של מקום-עזר ברקע, שמשמשים בקונטיינרים כמו צ'יפ וכרטיסים כדי לצייר מעל הרקע הרגיל בזמן ההמתנה לטעינת התוכן. שנית, משתנה (Modifier.placeholder()) לציור ווידג'ט של placeholder בצורת אצטדיון מעל התוכן שנטען. השלישית היא אפקט שינוי של שינוי הדרגתי או הבהוב (Modifier.placeholderShimmer()) שמצויר מעל שאר האפקטים כדי להצביע למשתמשים שאנחנו ממתינים לטעינה של הנתונים. כל האפקטים האלה תוכננו כך שיתאימו זה לזה, ויתנו תחושה של הבהוב והיעלמות בצורה מתואמת. (I3c339)

שינויים ב-API

  • הוספנו תמיכה ב-fontWeight, ב-fontFamily, ב-fontStyle וב-fontSynthesis ב-CurvedTextStyle, שניתן להשתמש בה ב-curvedText וב-basicCurvedText. אפשר להשתמש בפרמטר הזה כדי לציין את הגופן והסגנון שישמשו בטקסט המעוקל.(Iaa1a8),(I72759)
  • פרמטר ההיסט של Modifier.scrollAway עודכן ל-Dp כדי לשמור על עקביות עם Modifier.offset (קודם הוא היה בפיקסלים). בנוסף, הקוד עבר עיבוד מחדש כ-LayoutModifier לצורך יעילות. (I9f94b)
  • במסגרת ממשק ה-API החדש של אמצעי הבקרה למצב מצב, שינינו את השם של RadioButton’s circleColor ל-ringColor. (I28fa9)
  • הוספנו מתגים מונפשים של Checkbox, ‏ Switch ו-RadioButton לשימוש עם ToggleChip ו-SplitToggleChip. אפשר להשתמש בהם במקום בסמלים הסטטיים שסופקו על ידי ToggleChipDefaults (switchIcon, ‏ checkboxIcon ו-radioIcon). (I8a8c4)

גרסה 1.1.0-alpha06

21 בספטמבר 2022

התכונות androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06 וגם androidx.wear.compose:compose-navigation:1.1.0-alpha06 משוחררות. גרסה 1.1.0-alpha06 מכילה את ההוספות האלה.

תכונות חדשות

  • הוספנו את Modifier.scrollAway, שמגלגלת פריט אנכית לתצוגה או ממנה, על סמך מצב הגלילה (עם עומסי יתר לעבודה עם Column, ‏ LazyColumn ו-ScalingLazyColumn). בדרך כלל משתמשים ב-ScrollAway כדי לגלול TimeText מחוץ לתצוגה כשהמשתמש מתחיל לגלול רשימה של פריטים למעלה. (I61766)

תיקוני באגים

  • עכשיו ה-PositionIndicator ממוקם בגודל המתאים, כך שהוא תופס רק את המרחב הנדרש. לדוגמה, אם מתווסף לו מידע סמנטי, עכשיו קורא המסך קורא את הגבולות הנכונים של PositionIndicator במסך. (Ie6106, ‏ b/244409133)

גרסה 1.1.0-alpha05

7 בספטמבר 2022

התכונות androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05 וגם androidx.wear.compose:compose-navigation:1.1.0-alpha05 משוחררות. גרסה 1.1.0-alpha05 מכילה את ההוספות האלה.

תיקוני באגים

  • הוספנו תפקידים של לחצנים ל-InlineSlider ול-Stepper כדי ש-Talkback יוכל לזהות אותם כלחצנים. (Icb46c, ‏ b/244260275)
  • תיקנו את סדר ה-Z של מיקום וסמלי הדפים ב-Scaffold. מעכשיו, הסמנים יופיעו מעל לוויניאט, כך שהם לא יהיו מוסתרים על ידו אם הוא יופיע. (Ib988f, ‏ b/244207528)

גרסה 1.1.0-alpha04

24 באוגוסט 2022

התכונות androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04 וגם androidx.wear.compose:compose-navigation:1.1.0-alpha04 משוחררות. גרסה 1.1.0-alpha04 מכילה את ההוספות האלה.

שינויים ב-API

  • עדכנו כמה מצבירות ברירת המחדל של MaterialTheme כדי לשפר את הנגישות. לצבעים המקוריים לא הייתה ניגודיות מספקת, ולכן המשתמשים התקשו להבדיל בין הרקעים של הצ'יפים, הכרטיסים והלחצנים לבין צבע הרקע של העיצוב. הצבעים המעודכנים הם surface‏(0xFF202124->0xFF303133), ‏ onPrimary‏(0xFF202124->0xFF303133), ‏ onSecondary‏(0xFF202124->0xFF303133), ‏ primaryVariant‏(0xFF669DF6->0xFF8AB4F8) ו-onError‏(0xFF202124->0xFF000000). השינויים בצבעים, למרות שהם עדינים יחסית, עשויים להשפיע על בדיקות צילומי המסך הקיימות. (81ab09)

תיקוני באגים

  • תיקון באג לוגי ב-ScalingLazyColumn שעלול לגרום לכך שרשימות עם מספר קטן (בדרך כלל 2) של פריטים לא משלימים את האינטליקציה, וכתוצאה מכך הן שקופות. (504347)

גרסה 1.1.0-alpha03

10 באוגוסט 2022

התכונות androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03 וגם androidx.wear.compose:compose-navigation:1.1.0-alpha03 משוחררות. גרסה 1.1.0-alpha03 כוללת את ההוספות האלה.

תכונות חדשות

  • הוספנו סגנון חדש עם קווים חיצוניים ל-Chips ול-Buttons, ורכיבים חדשים של OutlinedChip ו-OutlinedButton שמאפשרים ליצור Chip/Button שקוף עם גבול דק. (Id5972)

שינויים ב-API

  • נוספו עומסי יתר לשינוי צורות של לחצנים (Icccde)

תיקוני באגים

  • תיקנו את הגודל של אזור המתג של ToggleChip כי הוא לא תאם למפרט ממשק המשתמש שלו. במפרט ממשק המשתמש מצוין שצריך להוסיף מרווח של 4dp בין התווית לאזור של סמל המתג בגודל 24x24dp, כך שהרוחב הכולל הוא 28dp. עם זאת, בהטמעה מצוין באופן שגוי 36x24.dp לאזור של מתג הבקרה. כתוצאה מכך, 8.dp משטח התווית של הטקסט לא יהיו זמינים. הערה: תיקון הבאג הזה מאפשר להוסיף מקום לתווית הטקסט, וכתוצאה מכך הוא יכול להשפיע (לטובה) על פריסת הטקסט במקרה של טקסט שחורג מהמסגרת. אם יש לכם בדיקות של צילומי מסך שכוללות את ToggleChips, יכול להיות שתצטרכו לעדכן אותן. (I514c8, ‏ b/240548670)

גרסה 1.1.0-alpha02

27 ביולי 2022

התכונות androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02 וגם androidx.wear.compose:compose-navigation:1.1.0-alpha02 משוחררות. גרסה 1.1.0-alpha02 מכילה את ההוספות האלה.

תכונות חדשות

  • שינינו את יחסי התלות של Compose for Wear OS בספריות הליבה של Compose מ-1.2.0 ל-1.3.0-alpha0X

שינויים ב-API

  • נוספו עומסי יתר לשינוי צורות של צ'יפים (I02e87)

תיקוני באגים

  • הוספנו אנימציה לשקיפות של הוויניטג' כשהתיבה של תיבת הדו-שיח מוצגת או מוסתרת, כדי שהיא תהיה עקבית עם אנימציית השינוי בגודל הקיימת. (Ida33e)
  • תיקנו באג שגרם לחלוקת אפס בהתנהגות מסוימת של תנועה מהירה בזמן גלילה. (I86cb6)
  • תוקן באג ב-ChipDefaults.childChipColor() כדי לוודא שצבע הרקע המושבת שקוף לגמרי. (I2b3c3, ‏ b/238057342)

גרסה 1.1.0-alpha01

29 ביוני 2022

התכונות androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01 וגם androidx.wear.compose:compose-navigation:1.1.0-alpha01 משוחררות. גרסה 1.1.0-alpha01 כוללת את ההוספות האלה.

שינויים ב-API

  • הפרמטר contentDescription של הבורר משמש עכשיו רק לאפשרות שנבחרה בבורר, והוא מקבל מחרוזת nullable (בעבר היה צריך להעביר מיפוי מהאפשרות לתיאור התוכן, אבל רק האפשרות שנבחרה הייתה בשימוש). (Ife6a7)
  • שיפרנו את הנגישות של Picker כך שאפשר לנווט במסכים עם כמה בוררים באמצעות קוראי מסך ותיאור התוכן נגיש (I64edb)

תיקוני באגים

  • עדכנו את כללי פרופיל הבסיס שכלולים בחבילה של ספריית Wear Compose‏ (I9c694)
  • תיקנו את הכיוון של העברה מדורגת (גרדיאנט) של צ'יפים במצב 'ימין לשמאל'. הייתה שמאל למעלה > ימין למטה, עכשיו היא שמאל למעלה > שמאל למטה. (Ic2e77)
  • עדכנו את מעברי הצבע שמוגדרים כברירת מחדל ב-Chip/ToggleChip/Card כדי שיתואמו למפרט העדכני ביותר של חוויית המשתמש. ChipDefaults.gradientBackgroundChipColors עודכן כך שיתחיל מ-50% מהצבע הראשי במקום מ-32.5%. CardDefaults.cardBackgroundPainter עודכן כך שיתחיל מ-30% מהצבע הראשי וייגמר ב-20% מ-onSurfaceVariant (קודם היה 20% עד 10% onSurfaceVariant). ToggleChip.toggleChipColors משתנה ממישור ליניארי של 75% פני שטח ל-32.5% צבע ראשי ל-0% פני שטח ל-50% צבע ראשי. (I43bbd)
  • הוספנו צבע רקע (MaterialTheme.color.surface) מאחורי Chip/ToggleChips שיש להם רקעים עם שיפוע, כדי לוודא שהם יהיו גלויים כראוי במקרה הנדיר שבו נעשה שימוש בצבע בהיר מאחוריהם. (Ibe1a4, ‏ b/235937657)
  • עכשיו הפריטים בבורר תמיד מותאמים למרכז. תיקון באג שבו הגדרת gradientRatio לאפס גרמה לשינוי ההתאמה. (I712b8)

גירסה 1.0

גרסה 1.0.2

7 בספטמבר 2022

התכונות androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2 וגם androidx.wear.compose:compose-navigation:1.0.2 משוחררות. גרסה 1.0.2 כוללת את השמירות האלה.

תיקוני באגים

  • תיקנו את סדר ה-Z של מיקום וסמלי הדפים ב-Scaffold. מעכשיו, הסמנים יופיעו מעל לוויניאט, כך שהם לא יהיו מוסתרים על ידו אם הוא יופיע. (Ib988f, ‏ b/244207528)

גרסה 1.0.1

24 באוגוסט 2022

התכונות androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1 וגם androidx.wear.compose:compose-navigation:1.0.1 משוחררות. גרסה 1.0.1 מכילה את השמירות האלה.

תיקוני באגים

  • תיקון באג לוגי ב-ScalingLazyColumn שעלול לגרום לכך שרשימות עם מספר קטן (בדרך כלל 2) של פריטים לא משלימים את האינטליקציה, וכתוצאה מכך הן שקופות. (076c61)

גרסה 1.0.0

27 ביולי 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0 וגם androidx.wear.compose:compose-navigation:1.0.0 משוחררות. גרסה 1.0.0 כוללת את ההצהרות האלה.

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

  • זוהי הגרסה היציבה הראשונה של Compose ל-Wear OS (מידע נוסף).
  • Compose for Wear OS מבוסס על ספריות הליבה של Compose, ומספק רכיבים נוספים שספציפיים למכשירים לבישים, ובמקרים המתאימים, הטמעות חלופיות של רכיבי הליבה של Compose שמותאמים למכשירים לבישים.
  • רשימה של הרכיבים העיקריים ב-Wear Compose מופיעה בהערות המוצר של Compose for Wear OS Beta01.

תיקוני באגים

  • הוספנו אנימציה לשקיפות של הוויניטג' כשהתיבה של תיבת הדו-שיח מוצגת או מוסתרת, כדי שהיא תהיה עקבית עם אנימציית השינוי בגודל הקיימת. (Ida33e)
  • תיקנו באג שגרם לחלוקת אפס בהתנהגות מסוימת של תנועה מהירה בזמן גלילה. (I86cb6)
  • תוקן באג ב-ChipDefaults.childChipColor() כדי לוודא שצבע הרקע המושבת שקוף לגמרי. (I2b3c3, ‏ b/238057342)

גרסה 1.0.0-rc02

22 ביוני 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02 וגם androidx.wear.compose:compose-navigation:1.0.0-rc02 משוחררות. גרסה 1.0.0-rc02 כוללת את ההצהרות האלה.

תיקוני באגים

  • תיקנו את הכיוון של העברה מדורגת בכרטיסים במצב 'ימין לשמאל' (RTL). הוא היה בפינה השמאלית העליונה > בפינה השמאלית התחתונה, ועכשיו הוא בפינה השמאלית העליונה > בפינה הימנית התחתונה. (Ic2e77)
  • עדכנו את מעברי הצבע שמוגדרים כברירת מחדל ב-Chip/ToggleChip/Card כדי שיתואמו למפרט העדכני ביותר של חוויית המשתמש. ChipDefaults.gradientBackgroundChipColors עודכן כך שיתחיל מ-50% מהצבע הראשי במקום מ-32.5%. הערך של CardDefaults.cardBackgroundPainter עודכן כך שיתחיל מ-30% מהערך הראשי ויסתיים ב-20% מ-onSurfaceVariant (קודם היה 20% עד 10% ב-onSurfaceVariant). ToggleChip.toggleChipColors משתנה ממישור לינארי של 75% שטח ל-32.5% ראשי ל-0% שטח ל-50% ראשי. (I43bbd)
  • הוספנו צבע רקע (MaterialTheme.color.surface) מאחורי Chip/ToggleChips שיש להם רקעים עם שיפוע, כדי לוודא שהם יהיו גלויים כראוי במקרה הנדיר שבו נעשה שימוש בצבע בהיר מאחוריהם. (Ibe1a4, ‏ b/235937657)
  • עדכנו את כללי פרופיל הבסיס שכלולים בחבילה של ספריית Wear Compose‏ (I9c694)

גרסה 1.0.0-rc01

15 ביוני 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01 וגם androidx.wear.compose:compose-navigation:1.0.0-rc01 משוחררות. גרסה 1.0.0-rc01 כוללת את השמירות האלה.

שינויים ב-API

  • ממשקים בספריות compose נוצרים עכשיו באמצעות שיטות ברירת המחדל של ממשק jdk8‏ (I5bcf1)

תיקוני באגים

  • הסרנו את הקריאה המפורשת ל-fillMaxWidth() בכותרת הרשימה כי היא לא נדרשת ויכולה לגרום לבעיות אם ScalinglazyColumn מכיל שילוב של רכיבי ListHeader() ו-Chip(), כי הרוחב נוטה לגדול או להתכווץ כאשר גוללים פריטים של ListHeader אל המסך או ממנו. (I37144, ‏ b/235074035)
  • תיקנו באג ב-ScalingLazyColumn שעלול לגרום לכך שפריטי הרשימה לא יתוארו בצורה נכונה עד שגוללים, אם פריט הרשימה ה-0 היה גדול מספיק (כולל ריפוד) (Ic6159, b/234328517)
  • ביצענו התאמה קלה בתנועה האיטית ScalingLazyColumn כשהפריטים מגיעים לקצה המסך, כדי להתאים לעדכונים במפרט של חוויית המשתמש. ערכים ישנים CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> ערכים חדשים CubicBezierEasing(0.3f, 0f, 0.7f, 1f). כדי לשמור על ההתנהגות הישנה, אפשר לשנות את הערך של scalingParams ב-ScalingLazyColumn (Ie375c)
  • הוספנו מרווחים פנימיים ל-CompactChip כדי לוודא שגודל משטח המגע שלו הוא לפחות 48dp גובה, בהתאם להנחיות הנגישות של Material. זה עשוי להשפיע על כל הפריסות שבהן אתם משתמשים ב-CompactChips, כי הן יתפסו מקום נוסף. (I3d57c)

גרסה 1.0.0-beta03

1 ביוני 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03 וגם androidx.wear.compose:compose-navigation:1.0.0-beta03 משוחררות. גרסה 1.0.0-beta03 מכילה את ההוספות האלה.

תכונות חדשות

  • שיפרנו את התמיכה ב-ScalingLazyColumn במצב כתיבת @Preview. (I3b3b6, ‏ b/232947354)

שינויים ב-API

  • שינינו את ערך ברירת המחדל של המאפיין ScalingLazyColumn.horizontalAlignment מ-Start ל-CenterHorizontally כדי להבטיח שאם פריטי הרשימה לא ימלאו את כל רוחב העמודה, הם ייטוו כדי לשפר את החשיפה שלהם. כדי לחזור לקבוצת ההתנהגות הקודמת, מזינים horizontalAlignment = Alignment.Start.‏(I9ed4b)

בעיות מוכרות

  • גובה ההקשה/הנגיעה של CompactChip קטן מהגובה שנקבע בהנחיות הנגישות של Material. הבעיה תטופל במהדורה הבאה (15 ביוני). אם אתם משתמשים ב-CompactChip, השינוי ישפיע על הפריסות שלכם כי ל-CompactChips תהיה עכשיו תוספת של רווח למעלה ולמטה. צריך לשנות ולבדוק את הפריסות או לעיין בתגובות על הבאג כדי למצוא פתרון זמני לשימוש בהתנהגות הקיימת. (b/234332135)

תיקוני באגים

  • הדגמה חדשה להוספה או להסרה של טקסט התחלה ב-TimeText באמצעות אנימציה. (I16d75)
  • הוספת בדיקות ל-HorizontalPageIndicator.PagesState (I64ed0)
  • עדכון TimeText בהתאם למפרטי חוויית המשתמש (Ib7ea1)

גרסה 1.0.0-beta02

18 במאי 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02 וגם androidx.wear.compose:compose-navigation:1.0.0-beta02 משוחררות. גרסה 1.0.0-beta02 כוללת את ההצהרות האלה.

תכונות חדשות

  • הכלי לבחירת אירועים מגיב עכשיו תמיד לאירועי גלילה, גם במצב 'לקריאה בלבד'. כך המשתמשים לא צריכים לבחור תחילה בורר בהקשה כדי שיוכלו לגלול. במצב קריאה בלבד, אפשרויות שאינן האפשרות שנבחרה כרגע מוסתרות על ידי תוסף ב-gradientColor. (I72925)
  • שינינו את התנהגות ממשק המשתמש של Chip/ToggleChip/CompactChip/SplitToggleChip כדי למנוע ממנו לבצע את הפעולה fillMaxWidth כברירת מחדל. במקום זאת, הם יתרחבו בהתאם לתוכן שלהם. כדי לשמור על ההתנהגות הקודמת, פשוט מוסיפים את modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371)

תיקוני באגים

  • ה-constructor של CurvedTextStyle שמקבל TextStyle מתייחס עכשיו גם ל-fontWeight(יכול להיות שהתכונה הזו תתווסף ל-constructor ולשיטות ההעתקה בגרסאות עתידיות של ה-API) (Ieebb9)
  • שיפורים בהחלקה בקצה המסך. כשמשתמשים ב-Modifier.edgeSwipeToDismiss ומפעילים החלקה שמאלה מאזור הקצה, היא לא מפעילה יותר החלקה לסגירה כשכיוון ההחלקה משתנה לימין. בעבר, אפשר היה להפעיל את התכונה 'החלקה כדי לסגור' על ידי החלקה שמאלה ואז החלקה ימינה.(I916ea)
  • HorizontalPageIndicator מציג עכשיו עד 6 דפים במסך. אם יש יותר מ-6 דפים בסך הכול, מוצג אינדיקטור בגודל חצי בצד ימין או שמאל, עם מעבר חלק בין הדפים.(I2ac29)
  • שיפור התנהגות ברירת המחדל של הצמדה ב-ScalingLazyColumn וב-Picker (I49539)
  • שיפורים בהחלקה בקצה המסך. כשמשתמשים ב-Modifier.edgeSwipeToDismiss, אפשר לסגור הודעות רק כשמתחילים לגעת בקצה המסך ומחליקים ימינה. בעבר, אפשר היה לסגור הודעות על ידי החלקה מכל חלק במסך אם הגלילה הגיעה להתחלה.(I8ca2a)

גרסה 1.0.0-beta01

11 במאי 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01 וגם androidx.wear.compose:compose-navigation:1.0.0-beta01 משוחררות. גרסה 1.0.0-beta01 כוללת את ההצהרות האלה.

מה חדש ב-Compose ל-Wear OS 1.0

גרסת 1.0.0-beta01 של Compose for Wear OS היא ציון דרך חשוב, כי הספרייה כוללת את כל התכונות וה-API נעול.

רכיבי Material ב-Wear Compose בגרסה 1.0 כוללים:

  • Material Theme – משמש כתחליף ל-Compose for Mobile MaterialTheme, ומספק את הצבעים, הצורות והטיפוגרפיה ליצירת רכיבים במכשירי Wearables שמטמיעים את ההנחיות של חוויית המשתמש של Material Design ל-Wear באופן מובנה.
  • Button, ‏ CompactButton ו-ToggleButton – הכפתור מציע חריץ אחד לתמונה, לסמל או לטקסט קצר (עד 3 תווים). עגולות, בגדלים מומלצים של לחצני ברירת מחדל, גדולים או קטנים. CompactButton כולל חריץ אחד לתוכן כלשהו (סמל, תמונה או טקסט). הוא עגול בצורתו וגודל הרקע שלו הוא קטן במיוחד. ל-CompactButton יש שוליים שקופים אופציונליים סביב הרקע שמגדילים את האזור שניתן ללחוץ עליו. ToggleButton הוא לחצן עם חריץ אחד לתוכן כלשהו (טקסט קצר, סמל או תמונה), עם מצבים של מצב מופעל/מושבת (מסומן/לא מסומן) עם צבעים וסמלים שונים כדי להראות אם הוא מסומן או לא.
  • כרטיסים – משמשים להצגת מידע על אפליקציות, כמו התראות. עיצוב גמיש לתרחישי שימוש שונים, עם AppCard ו-TitleCard שמספקים פריסות שונות ותמיכה בתמונות כתוכן של כרטיסים או כרקעים.
  • צ'יפים – רכיבים בצורת אצטדיון שדומים ללחצנים, אבל עם שטח גדול יותר ומספר חריצי הצמדה שמאפשרים להוסיף תוויות, תוויות משניות וסמלים. בגדלים שונים ועם תמיכה בתמונות כרקעים.
  • ToggleChips ו-SplitToggleChips – צ'יפ עם סטטוס מסומן/לא מסומן, עם הוספה של חריץ ToggleControl כדי להציג סמל כמו מתג או לחצן רדיו כדי להציג את הסטטוס המסומן של הרכיב. בנוסף, ל-SplitToggleChip יש שני אזורים שניתן להקיש עליהם, אחד שניתן ללחוץ עליו ועוד אחד שניתן להעביר למצב מופעל או מושבת.
  • CircularProgressIndicator – אינדיקטור התקדמות בעיצוב Material ל-Wear עם שתי וריאציות. הראשון מייצג את אחוז השלמת המשימה המתמשכת, ותומך בפער במסלול העגול בין זוויות ההתחלה והסיום. השני מצביע על התקדמות לא ידועה למשך זמן המתנה לא ידוע.
  • curvedText – חלק מ-DSL לתיאור CurvedLayouts, יחד עם curvedRow ו-curvedColumn, כדי למקם רכיבים סביב מכשירים עגולים. פרטים נוספים על CurvedLayout ו-CurvedModifier מופיעים בהמשך בקטע 'בסיס הרכיבים של Wear' (הרכיבים האלה ממלאים תפקיד דומה לזה של המודיפיקרים בעולם הלא מעוגל, ומאפשרים להגדיר היבטים שונים של הפריסה, הריפוד, המעברים הצבעוניים וכו').
  • תיבת דו-שיח, התראה ואישור – תיבת דו-שיח מוצגת במסך מלא, בשכבה מעל כל תוכן אחר, ותומכת בסווייפ לסגירה. הוא תופס משבצת אחת, והתוכן שלו אמור להיות תוכן של תיבת דו-שיח בעיצוב Material של Wear, כמו התראה או אישור. התראה היא תוכן של תיבת דו-שיח עם עמדה מוגדרת מראש, עם משבצות לסמל, לכותרת ולהודעה. יש לו עומסי יתר לשני לחצנים שליליים וחיוביים שמוצגים זה לצד זה, או חריץ לצ'יפ אחד או יותר שנערמים אנכית. אישור הוא תוכן של תיבת דו-שיח עם עמדה מוגדרת מראש, שבו מוצגת הודעה למשך פרק זמן מסוים. יש בו מקום לסמל או לתמונה (שיכולה להיות אנימציה).
  • HorizontalPageIndicator – הצגת מיקום הדף בצורה אופקית באופן שמתאים לגורם הצורה של מכשיר לביש. התצוגה תוכננה למלא את המסך ולהציג אינדיקטור מעוגל במכשירים עגולים. אפשר להשתמש בהם עם הצופה בדף של המלווה.
  • Icon – הטמעה של Icon ב-Wear, שמקבלת את הצבע והאלפא מ-Wear Material Theme. למידע על סמל שניתן ללחוץ עליו, ראו כפתור או צ'יפ.
  • בורר – הצגת רשימה שניתן לגלול בה של פריטים לבחירה. כברירת מחדל, הפריטים יחזרו על עצמם 'ללא הגבלה' בשני הכיוונים. אפשר להציג את הרשימה במצב קריאה בלבד כדי להסתיר אפשרויות שלא נבחרו.
  • PositionIndicator – הצגת מיקום הגלילה או אינדיקציה אחרת למיקום, באופן שמתאים לפורמט של המכשיר לביש. התצוגה תוכננה למסך מלא, ומופיע בה אינדיקטור מעוגל במכשירים עגולים.
  • Scaffold – הטמעה של המבנה הבסיסי של הפריסה החזותית של Wear Material Design. הרכיב הזה מספק ממשק API שמאפשר ליצור כמה רכיבים של Wear Material (כמו TimeText, ‏ PositionIndicator ו-Vignette) שמרכיבים את המסך, לוודא שקיימת אסטרטגיית פריסה מתאימה עבורם ולאסוף את הנתונים הנדרשים כדי שהרכיבים האלה יפעלו יחד בצורה תקינה.
  • ScalingLazyColumn – רכיב של רשימה עם גלילה, עם התאמה לעין הדג (fisheye) או עם התאמה לגודל המסך, שמהווה חלק חשוב בשפה של עיצוב Material ב-Wear. מאפשרת להגדיל את פריטי התוכן ולהוסיף להם אפקטים של שקיפות. ScalingLazyColumn תוכנן כך שיוכל לטפל במספר גדול של פריטי תוכן, שיוצרים ומרכיבים רק לפי הצורך.
  • פס מחליק – מאפשר למשתמשים לבחור מתוך טווח ערכים. טווח האפשרויות מוצג כסרגל, שאפשר להציג עם מפרידים.
  • רכיב של פס צעדים – רכיב במסך מלא שמאפשר למשתמשים לבחור מתוך טווח ערכים באמצעות לחצני הגדלה/הקטנה בחלק העליון והתחתון של המסך, עם חריץ באמצע לטקסט או לצ'יפ.
  • SwipeToDismissBox – טיפול בתנועת החלקה כדי לסגור. הוא תופס משבצת אחת לרקע (שמוצג רק במהלך מחווה החלקה) ולתוכן שבחזית. אפשר לשלב אותה עם ספריית הניווט של androidx באמצעות SwipeDismissableNavHost (ראו בהמשך 'ספריית הניווט של Wear Compose').
  • טקסט – הטמעה של רכיב הטקסט של Material ב-Compose ל-Wear, שמקבל את הצבע והאלפא מעיצוב Material של Wear
  • TimeText – רכיב להצגת השעה וסטטוס האפליקציה בחלק העליון של המסך. התאמה לצורת המסך באמצעות טקסט מעוגל במסכים עגולים.
  • ויניטה – עיבוד מסך לשימוש ב-Scaffold שמטשטש את החלק העליון והתחתון של המסך כשמשתמשים בתוכן שניתן לגלילה.

  • בנוסף, הרכיבים הבאים נכללים מ-Wear Compose Foundation:

  • CurvedLayout –‏ Wear Foundation CurvedLayout הוא פריסה שאפשר ליצור ממנה קומפוזיציות, שממקמת את הצאצאים שלה בקו קשתי ומסתובבת אותם לפי הצורך. התצוגה הזו דומה לפריסה של שורות שמתעגלת לחלק של טבעת. חשוב לציין שהתוכן של CurvedLayout הוא לא פונקציית lambda שאפשר ליצור ממנה רכיבים, אלא שפת DSL (שפה ייעודית לדומיין). כל הרכיבים ב-DSL של CurvedLayout תומכים בפרמטר אופציונלי של שינוי, שנוצר מ-CurvedModifier.

  • basicCurvedText – רכיב ב-DSL של CurvedLayout, ‏ basicCurvedText מאפשר למפתחים לכתוב בקלות טקסט מעוגל בהתאם לעיקול של עיגול (בדרך כלל בקצה של מסך עגול). אפשר ליצור basicCurvedText רק בתוך CurvedLayout כדי להבטיח את חוויית השימוש הטובה ביותר, למשל, אפשרות לציין את המיקום ולהשתמש ב-CurvedModifiers. חשוב לדעת שברוב המקרים כדאי להשתמש ב-curvedText במקום ב-textOnCurve, כי הוא משתמש בנושאי Material.

  • curvedComposable – עטיפה של תוכן קומפוזיציה רגיל כדי שניתן יהיה להשתמש בו עם CurvedLayout. אם curvedComposable מכיל כמה רכיבים, הם יתוארו זה מעל זה (כמו Box). כדי להציב כמה רכיבים מורכבים לאורך עקומה, צריך לעטוף כל אחד מהם ב-curvedComposable.

  • curvedRow ו-curvedColumn – בדומה ל-Row ול-Column, אפשר להטמיע את curvedRow ו-curvedColumn בתוך CurvedLayout כדי למקם רכיבים לפי הצורך. ב-curvedRow, אפשר לציין את כיוון הפריסה הזוויתית ואת ההתאמה הרדיאלית. עבור curvedColumn, אפשר לציין את ההתאמה הזוויתית ואת הכיוון הרדיאלי.

  • CurvedModifier – כל הרכיבים המעוגלים מקבלים פרמטר של פונקציית שינוי (modifier) שאפשר ליצור באמצעות CurvedModifier: יש תמיכה ברקע, בגודל, בעובי ובריבוע ההפרדה.

  • הרכיב הבא נכלל גם בתכונה 'ניווט ב-Compose' ב-Wear:

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

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

שינויים ב-API

  • נוספו פונקציות CurvedModifier.padding*. הם משמשים לציון שטח נוסף שצריך להוסיף סביב רכיב מעוגל. (I4dbb4)
  • הסרת הכיתה הפנימית CompositionLocal (I42490)
  • הוספנו ערכים קבועים לגדלים של הסמלים Button, ‏ CompactButton ו-ToggleButton, כמדריך (I57cab)
  • מוסיפים את הפרמטר enabled ל-AppCard ול-TitleCard. עכשיו יש להם ממשק API דומה לכרטיסי androidx.compose.material. כשהפרמטרים מוגדרים כ-false, לא תהיה אפשרות ללחוץ על הכרטיס. (Idc48d, ‏ b/228869805)

תיקוני באגים

  • לחצני ההקטנה וההגדלה ב-Stepper מושבתים עכשיו כשמגיעים למגבלות התחתונות או העליונות (והתכונה ContentAlpha.disabled חלה על iconColor) (I4be9f)
  • הוספנו מרווח של 1dp סביב התוכן של הבורר כשהוא מצויר בגוון כהה יותר בחלק העליון ובחלק התחתון, כדי למנוע רעידות בטקסט שרואים כשמחליקים. (I0b7b9)
  • הוספת בדיקות של צילומי מסך עבור PositionIndicator‏ (I5e8bc)
  • הוספת בדיקות נוספות ל-AppCard ול-TitleCard (I85391, ‏ b/228869805)

גרסה 1.0.0-alpha21

20 באפריל 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha21 משוחררות. גרסה 1.0.0-alpha21 מכילה את ההוספות האלה.

תכונות חדשות

  • נוספו משתני עקומה חדשים כדי לציין את הרקע של רכיב מעוקל: CurvedModifier.background, ‏ .radialGradientBackground ו-.angularGradientBackground (I8f392)
  • אפשר לציין את מצב הגלילה של טקסט מעוקל (חיתוך/נקודות אליפסיות/גלוי). (I8e7aa)
  • הוספנו את המקש CurvedModifier.weight, בדומה למקש הזה ב-Compose. אפשר להשתמש בזה בצאצאים של curvedRow ו-CurvedLayout (לרוחב) ובצאצאים של curvedColumn (לגובה). (I8abbd)
  • נוספו המשתנים CurvedModifier.size, ‏ .angularSize ו-.radialSize כדי לציין את הגודל של רכיב מעוקל. (I623c7)

שינויים ב-API

  • שינוי הסדר של הפרמטרים כדי לוודא שהרקע מופיע לפני הצבע באופן עקבי ב-Wear Compose API (I43208)
  • הפרמטרים clockwise ו-insideOut הוסרו בכיתות חדשות והוחלפו בערכי קבועים מפורטים יותר. עכשיו אפשר להגדיר את כיוון הפריסה המעוגלת בהתאם ל-LayoutDirection, והוא עובר בירושה אם לא צוין (If0e6a)
  • החלפנו את autoCenter: Boolean ב-autoCenter: AutoCentringParams כדי לפתור בעיה ב-API ב-ScalingLazyColumn. (Ia9c90)
  • שינינו את השם של iconTintColor ו-toggleControlTintColor ל-iconColor ו-toggleControlColor ב-API כולו (Chip/ToggleChip/Dialog/Slider/Stepper/‎...‎), כי הצבע חל על חריץ הסמל/הלחצן להפעלה/השבתה. (Ied238)
  • כתיבה מחדש של הטיפוס בן המנייה (enum) PageIndicatorStyle כמחלקת ערכים (I2dc72)
  • הוספנו את הערך RowScope/ColumnScope/BoxScope לחלק מהמשבצות ב-Composables שלנו כדי לציין למפתחים מהן ההנחות לגבי הפריסות. כך המפתחים יוכלו להשתמש במודיפיקטורים נוספים בחלק מהתוכן בחריצים, ולא יצטרכו לספק רכיבי פריסה נוספים. בנוסף, ביצענו כמה עדכונים קלים בצבעים של כרטיסי האפליקציה/הכותר, כך שהגדרת ברירת המחדל של timeColor ו-appColor היא contentColor. עדיין אפשר לשנות את כל המאפיינים האלה בנפרד לפי הצורך. (I26b59)
  • הגדירו את האובייקט SwipeToDismissBoxState.Companion כפרטי (I39e84)
  • תיקון הסדר של הפרמטרים InlineSlider ו-Stepper. שינוי פשוט בהתאם להנחיות API (I11fec)
  • הסרנו את האובייקט Saver עבור SwipeToDismissBoxState כי לא נעשה בו שימוש. (Ifb54e)
  • עדכנו את CompactChip בהתאם למפרט העדכני ביותר של חוויית המשתמש. המרווחים הוקטנו ל-horizontal = 12.dp ול-vertical = 0.dp. הגופן של התווית השתנה מ-button ל-caption1. הגדלים המומלצים של סמלים הם 20x20 כשמוצגים גם הסמל וגם התווית, ו-24x24 כשמוצג רק סמל בצ'יפ קומפקטי. בתרחיש לדוגמה שבו מוצג רק סמל, הקפדנו גם שהסמל יהיה ממורכז. (Iea2be)
  • הוספנו כמה שדות חדשים ל-ScalingLazyListLayoutInfo כדי לאפשר למפתחים לדעת את הסכום של contentPadding ו-autoCenteringPadding שהוחלו. המפתחות האלה יכולים להיות שימושיים למפתחים בזמן חישוב של תנועה מהירה או גלילה (I7577b)
  • הטמענו מעברים של כניסה/יציאה ל-Dialog. נוספה הפרמטר showDialog, ועכשיו תיבת הדו-שיח קובעת את החשיפה שלה (הדבר מאפשר לתיבת הדו-שיח להפעיל את האנימציות של הפתיח והסיום כשהיא מוצגת או מוסתרת). חשוב לדעת שהאנימציה של הסיום לא מופעלת כשהמשתמש יוצא מתיבת הדו-שיח באמצעות החלקה כדי לסגור אותה. הוספנו גם ערך ברירת מחדל למצב (state) ב-overload של SwipeToDismissBox שנוסף לאחרונה. (I682a0)
  • כדי לשפר את התמיכה ב-i18n וב-a11y, שינינו את ToggleChip ו-SplitToggleChip כך שלא תהיה להם יותר ברירת מחדל למיקום toggleControl. שינינו גם את ToggleChipDefaults כך שהשיטות הבאות מחזירות עכשיו ImageVector במקום Icon (שימו לב: מאחר שהן לא מחזירות יותר @Composables, הן השתנו כך שיתחילו באותיות קטנות), SwitchIcon()->switchIcon(),‏ CheckboxIcon->checkboxIcon() ו-RadioIcon()->radioIcon(). השינוי הזה מאפשר למפתחים ליצור רכיבי Icon() משלהם עם קבוצת contentDescription מתאימה, ומעודד אותם לעשות זאת. (I5bb5b)
  • הוספנו פרמטר SwipeDismissableNavHostState אל SwipeDismissableNavHost. כך אפשר להשתמש בסוויפ מהקצה במסכים המשמשים כיעדים לניווט, כי עכשיו אפשר להעלות את SwipeToDismissBoxState ולהשתמש בו כדי לאתחל גם את SwipeDismissableNavHostState וגם את Modifier.edgeSwipeToDismiss במסכים שדורשים סוויפ מהקצה. (I819f5, ‏ b/228336555)

תיקוני באגים

  • מוודאים שהפריסות המעוגלות מתעדכנות לפי הצורך. (Ie8bfa, ‏ b/229079150)
  • תיקון באג ב-https://issuetracker.google.com/issues/226648931‏ (Ia0a0a, ‏ b/226648931)
  • הוסרו הערות ניסיוניות מיותרות (I88d7e)

גרסה 1.0.0-alpha20

6 באפריל 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha20 משוחררות. גרסה 1.0.0-alpha20 כוללת את ההצהרות האלה.

תכונות חדשות

  • מוסיפים את המשתנה edgeSwipeToDismiss ל-SwipeToDismiss. מאפשרת ל-swipeToDismiss להיות פעיל רק בקצה השמאלי של אזור התצוגה. משמש כאשר מרכז המסך צריך לטפל בגלילה אופקית של דפים, למשל גלילה דו-מימדית במפה או החלקה אופקית בין דפים.(I3fcec, ‏ b/200699800)

שינויים ב-API

  • הטמעה בסיסית של CurvedModifiers. ההטמעה הזו פותחת דרכים להתאמה אישית של תוכן מעוקל (אבל עדיין לא סיפקו CurvedModifiers, והיכולת ליצור משתני עריכה מותאמים אישית עשויה להיות זמינה מאוחר יותר) (I9b8df)
  • EdgeSwipeעדכון של מסמכי העזרה של המשתנים והערכים שמוגדרים כברירת מחדל כדי להבין טוב יותר את הנושא .(I6d00d)
  • הוספת חריץ PageIndicator ל-Scaffold. הוספת PageIndicator ישירות ל-Scaffold תעזור לנו לוודא שהיא תוצג בצורה נכונה במכשירים עגולים. (Ia6042)
  • מסירים את הסמלים שמוגדרים כברירת מחדל מהפרמטרים InlineSlider ו-Stepper. כך המפתחים יוכלו להקפיד יותר על הדרישות בנושא לוקליזציה ונגישות. הדגמות ודוגמאות הראו שימושים בסמלי ברירת המחדל. (I7e6fd)
  • החלפת שמות הפרמטרים Trailing ו-Leading בשמות Start ו-End ב-TimeText (Iaac32)
  • הוספנו עומס יתר של SwipeToDismissBox עם פרמטר onDismissed כדי לתמוך בשימוש הנפוץ של הפעלת אירוע ניווט כשתנועת החלקה מסתיימת. (I50353, ‏ b/226565726)
  • הסרת ההערות של ExperimentalWearMaterialApi מהשימוש ב-TimeText (Ide520)
  • סימנו את הממשקים של ההיקף והמידע של ScalingLazyList/Column כסגורים, כי הם לא מיועדים להטמעה על ידי מפתחים חיצוניים. כך נוכל להוסיף אליהם חברים חדשים בעתיד בלי שינויים בינאריים שמשביתים את הקוד. (I7d99f)
  • הוספנו מאפיין flingBehaviour חדש לבורר ושיטה PickerDefaults.flingBehaviour() כדי לאפשר הגדרה של התנהגות התנודות, כמו הוספת תמיכה ב-RSB. PickerState מטמיע עכשיו את הממשק ScrollableState. (Ib89c7)

תיקוני באגים

  • עדכון הכללים של פרופיל הבסיס של Android Runtime‏ (ART) לספריות של Wear Compose. ART יכול להשתמש בכללי הפרופיל במכשירים כדי לקמפל מראש קבוצת משנה ספציפית של האפליקציה, וכך לשפר את הביצועים שלה. חשוב לזכור שלא תהיה לכך השפעה על אפליקציות שניתן לנפות באגים בהן. (Iaa8ef)
  • שיפור מסמכי התיעוד (I2c051)

גרסה 1.0.0-alpha19

23 במרץ 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha19 משוחררות. גרסה 1.0.0-alpha19 מכילה את ההוספות האלה.

שינויים ב-API

  • שינינו את השם של CurvedRow ל-CurvedLayout ועבדנו מחדש עליו כדי שיהיה היקף עם שפת DSL. באמצעות ה-DSL הזה, אפשר לציין פריסות עקומות מורכבות יותר באמצעות סדרה של curvedRow ו-curvedColumn בתצוגת עץ (אלה המקבילות של שורה ועמודה בפריסה עקומה). בתוך רכיבי הפריסה האלה אפשר להשתמש בשלושה רכיבים: curvedComposable (כדי להוסיף כל @Composable),‏ basicCurvedText (טקסט מעוקל של ה-Foundation) ו-curvedText (טקסט מעוקל מותאם לחומרים של Wear). (Ib776a)
  • מגדירים את הצד של PositionIndicator כניתן להתאמה אישית. עכשיו אפשר להגדיר את המיקום הבסיסי של PositionIndicator כ-End (בהתאם לכיוון הפריסה), כ-OppositeRsb (לוקח בחשבון את סיבוב המסך כדי למקם את עצמו מול ה-RSB הפיזי) או כ-Left ו-Right (מיקומים מוחלטים). (I2f1f3)
  • ב-SwipeToDismissBox, שינינו את השם של SwipeDismissTarget.Original ל-SwipeToDismissValue.Default ואת השם של SwipeDismissTarget.Dismissal ל-SwipeToDismissValue.Dismissed. כמו כן, הועברנו את SwipeToDismissBoxDefaults.BackgroundKey ו-SwipeToDismissBoxDefaults.ContentKey אל SwipeToDismissKeys.Background ו-SwipeToDismissKeys.Content, בהתאמה. (I47a36)
  • הוספנו למצב 'בורר' מצב קריאה בלבד, למסכים עם כמה בוררים שבהם אפשר לערוך רק בורר אחד בכל פעם. כשהבורר מוגדר לקריאה בלבד, מוצגת בו האפשרות שנבחרה כרגע ותווית, אם סיפקו אותה. (I879de)
  • SwipeToDismissBoxState עבר שינוי מבני כדי להגביל את ההיקף של ExperimentalWearMaterialApi ל-Modifier.swipeable ול-SwipeableState, שבהם נעשה שימוש פנימי עכשיו. SwipeToDismissBoxState כולל עכשיו את המאפיינים currentValue, ‏ targetValue, ‏ isAnimationRunning ו-snapTo כדי לתמוך בתרחישי שימוש נפוצים. אפשר להודיע לנו אם יש לך צורך במאפיינים נוספים. תוקן גם ההתנהגות של SwipeableState במקרה שבו ההיסט של החלקה נמצא בתוך שגיאת עיגול של עוגן. (I58302)

תיקוני באגים

  • קוד פשוט וקבוע לזיהוי אם אפשר לגלול בתוכן של ScalingLazyColumn (משמש כדי להחליט אם להציג פס גלילה או לא) (I7bce0)
  • תוקנה באג באינדיקטור המיקום כשמשתמשים בו עם יותר ממצב אחד ומחליפים ביניהם (I320b5)
  • עדכנו את הגופנים/הטיפוגרפיה של נושא ברירת המחדל של Compose ל-Wear OS בהתאם להנחיות העדכניות ביותר שלנו בנושא חוויית משתמש. חשוב לציין ש-display1‏ (40.sp) ו-display2‏ (34.sp) קטנים עכשיו מהערכים הקודמים שלהם, וכן בוצעו עדכונים קלים נוספים לגובה השורה ולמרווח בין השורות. (Ie3077)
  • הוספנו התנגדות ל-SwipeToDismissBox כדי שהתנועה תתבצע רק כשמחליקים כדי לסגור, ולא בכלל בכיוון ההפוך. (Ifdfb9)
  • שינינו חלק מערכי ברירת המחדל של הפרמטרים לפונקציות CircularProgressIndicator כדי ליישר קו עם ההנחיות של Wear Material Design לממשק המשתמש. בגרסה של Spinner/Indeterminant, הגודל (40->24.dp), indicatorColor (primary->onBackground), השקיפות של trackColor (30%->10%) ורוחבו של הקו (4->3dp) עודכנו. בגרסה Progress/Determinate, השקיפות של trackColor (30%->10%) עודכנה. (I659cc)
  • עדכנו את הפרמטרים של ברירת המחדל להתאמה לעיצוב של ScalingLazyColumn בהתאם למפרטי חוויית המשתמש העדכניים ביותר של Material Design ל-Wear. מבחינה חזותית, התוצאה היא שפריטי הרשימה מתחילים להתכווץ קרוב יותר למרכז הרשימה, אבל להתכווץ פחות בקצה הרשימה בהשוואה לעבר. (Ica8f3)
  • ביצענו כמה שינויים ב-ScalingLazyColumnDefaults.snapFlingBehavior כדי לשפר את הסוף של האנימציה (If3260)

גרסה 1.0.0-alpha18

9 במרץ 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha18 משוחררות. גרסה 1.0.0-alpha18 מכילה את ההצהרות האלה.

שינויים ב-API

  • כמה שיפורים ב-PositionIndicator: שם הפרמטר ShowResult השתנה ל-PositionIndicatorVisibility. שיפורים מסוימים בביצועים כדי למנוע חישובים חוזרים כשאין צורך (Iaed9d)
  • הצביעה המומלצת של SplitToggleChip עודכנה. ל-SplitToggleChip יש עכשיו רקע בצבע אחיד כשהוא מסומן או לא מסומן, והצבע של ToggleControl הוא האינדיקטור הראשי לכך שהרכיב מסומן או לא. הוספנו ToggleDefaults.splitToggleChipColors() חדש כדי לתמוך בסכימת הצבעים החדשה. הפשטנו גם את השיטות של toggleChipColors() והסרנו את splitBackgroundOverlayColor (I7e66e)
  • הוספנו את unadjustedSize ל-ScalingLazyListItemInfo כי לא בטוח לחשב את גודל הפריט המקורי באמצעות הגודל המותאם וגורם ההתאמה, בגלל הדיוק של החישובים במתמטיקה של float. (I54657, ‏ b/221079441)
  • מוסיפים את HorizontalPageIndicator. הוא מייצג את המספר הכולל של הדפים ואת הדף שנבחר. יכול להיות לינארי או מעוגל, בהתאם לצורת המכשיר. הוא תומך גם בצורת מחוון בהתאמה אישית, שמגדירה את האופן שבו כל מחוון מיוצג באופן חזותי. (Iac898)
  • עדכנו את PickerState כדי שניתן יהיה לעדכן את numberOfOptions. כך אפשר לתמוך בתרחישי שימוש כמו DatePicker, שבהם מספר הימים בחודש משתנה בהתאם לחודש שנבחר. הפרמטר של ה-constructor ל-PickerState השתנה בהתאם ל-initialNumberOfOptions. (Iad066)
  • הסתרת PositionIndicator כשיש סרגל גלילה ולא ניתן לגלול. (Id0a7f)
  • כדי לשמור על עקביות עם Scaffold, עכשיו מוצגים PositionIndicator ו-Vignette ברכיב התיבת הדו-שיח במסך מלא. אנחנו משתמשים עכשיו גם ב-ScalingLazyColumn במקום ב-Column, כלומר תוכן התיבת הדו-שיח נמצא עכשיו ב-ScalingLazyListScope (ובדרך כלל צריך להקיף אותו בפריט { /* content */ }). בהתאם, תיבת הדו-שיח תומכת בפרמטר verticalArrangement. (Idea13)
  • שינינו את השם של נכס toggleIcon של ToggleChip ו-SplitToggleChip ל-toggleControl כדי להתאים אותו יותר ל-Material Design, וכדי לעזור למעצבים ולמפתחים לנווט ב-API. (If5921, ‏ b/220129803)
  • הוספנו את הכיתוב caption3 למערכת הסיווג של נושאי העיצוב של Wear Material.caption3 הוא גופן קטן שמשמש לכתיבה ארוכה במיוחד, כמו טקסטים משפטיים. (I74b13, ‏ b/220128356)

תיקוני באגים

  • מפסיקים את אנימציית הצמדת התמונה כשמגיעים אליה. (Idb69d)
  • אנימציה של שינויים ב-PositionIndicator. (I94cb9)
  • על סמך משוב לגבי ממשק המשתמש או חוויית המשתמש, שינינו את ה-autoCentering של ScalingLazyColumn כך שיהיה מספיק מקום רק כדי לוודא שאפשר יהיה לגלול את הפריטים עם המדד ScalingLazyListState.initialCenterItemIndex ומעלה עד למרכז אזור התצוגה. כך המפתחים יכולים למקם בהתחלה פריט אחד או שניים לגבי הפריט במרכז, שלא ניתן לגלול אליהם. המשמעות היא ש-ScalingLazyColumn עם autoCenter לא יוכל לגלול מעל initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2)
  • הוספנו הדגמה לבורר תאריכים ותיקנו באג ב-PickerState שבו האפשרות initiallySelectedOption לא הופעלה עד שהבורר הוצג. (Id0d7e)
  • כדי לצמצם את החיתוך של פריטים רחבים יותר מסוג ScalingLazyColumn במסכים עגולים, הגדלת את ברירת המחדל של הרווח האופקי של התוכן מ-8 ל-10dp. (I0d609)
  • מוודאים שהסמל PositionIndicator מוצג בזמן הגלילה. (Ied9a2)

גרסה 1.0.0-alpha17

23 בפברואר 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha17 משוחררות. גרסה 1.0.0-alpha17 מכילה את ההצהרות האלה.

תכונות חדשות

  • הוספנו תמיכה ב-Snap שאפשר להשתמש בה עם ScalingLazyColumn. מגדירים את flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) כדי להפעיל תמיכה ב-Snap. (I068d3, ‏ b/217377069)
  • הוספנו הדגמות ל-Picker, שמשמש לבחירת שעה בפורמט של 24 שעות או 12 שעות. (Ie5552)

שינויים ב-API

  • תיקון בעיה בגופנים ובסגנונות מותאמים אישית של TimeText במכשיר מרובע (Iea76e)
  • עכשיו ל-ScalingLazyListLayoutInfo יש את המאפיינים reverseLayout, ‏ viewportSize ו'כיוון' שתואמים לאלה של LazyListLayoutInfo (I4f258, ‏ b/217917020)
  • ל-ScalingLazyColumn יש עכשיו מאפיין userScrollEnabled שתואם למאפיין של LazyList (I164d0, ‏ b/217912513)
  • בוררי הבחירה כוללים עכשיו שינוי הדרגתי בחלק העליון והתחתון כברירת מחדל (Iab92a)

תיקוני באגים

  • שינינו את ScalingLazyColumn כך שהוא לא ימלא יותר את כל המרחב של הרכיב ההורה שלו. במקום זאת, הגודל שלו ייקבע לפי גודל התוכן שלו. כך היא תואמת להתנהגות של LazyColumn. אם רוצים להחזיר את ההתנהגות הישנה, מעבירים את הערך Modifier.fillMaxWidth()/width()/widthIn() ל-ScalingLazyColumn (I51bf8)
  • שיפרנו את הודעת החריגה ב-SwipeDismissableNavHost.kt שהופיעה אם סטאק החזרה לאחור של הניווט היה ריק. (I1b1dc)

גרסה 1.0.0-alpha16

9 בפברואר 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha16 משוחררות. גרסה 1.0.0-alpha16 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

תכונות חדשות

  • מוסיפים את CircularProgressIndicator. אינדיקטורים של התקדמות מציגים את משך התהליך או זמן המתנה לא ידוע. תמיכה בפער (חור) ל-TimeText או לרכיבים אחרים אם משתמשים במסך מלא. (Iab8da)

שינויים ב-API

  • לבוררי הבחירה יש עכשיו פרמטר flingBehavior, וערך ברירת המחדל גורם להם להיצמד לאפשרות הקרובה ביותר בזמן גלילה או החלקה. (I09000)
  • ממשק API נוסף של מספר שלם ל-InlineSlider ול-Stepper (I1b5d6)

תיקוני באגים

  • שינינו את ברירת המחדל של initialCenterItemIndex עבור ScalingLazyListState מ-0 ל-1. המשמעות היא שאם לא תתבצע שינוי במהלך יצירת המצב באמצעות ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), פריט הרשימה השני (index == 1) יוצב במרכז אזור התצוגה בזמן האתחול, והפריט הראשון (index == 0) יוצב לפניו. כך אפשר ליהנות מאפקט חזותי טוב יותר כברירת מחדל, כי רוב אזור התצוגה יאוכלס בפריטי הרשימה. (I0c623, ‏ b/217344252)
  • כדי לוודא שיש מספיק פריטים ברשימה שאפשר לצייר (גם כשאנחנו מקטינים את הגודל של חלק מהם), הפחתנו את ScalingLazyColumn extraPadding שמוגדרת כברירת מחדל מ-10% ל-5%. כך תוכלו להימנע מהרכבת פריטים נוספים ברשימה שעשויים שלא להופיע בחלון התצוגה. אם נעשה שימוש ב-scalingParams לא סטנדרטיים (למשל, שינוי קיצוני יותר של התצוגה), המפתח יכול לשנות את הרווח הנוסף באמצעות viewportVerticalOffsetResolver. (I76be4)
  • תוקנה בעיה ב-TimeText בכמה שורות במכשיר מרובע (Ibd3fb)
  • שינינו את ScalingLazyColumn כך שהוא לא ימלא יותר את כל המרחב של הרכיב ההורה שלו. במקום זאת, הגודל שלו ייקבע לפי גודל התוכן שלו. כך היא תואמת להתנהגות של LazyColumn. אם רוצים להחזיר את ההתנהגות הישנה, מעבירים את Modifier.fillMaxSize() אל ScalingLazyColumn – הערה: השינוי הזה לא הושלם, והוא יטופל בשינוי נוסף במהדורת האלפא הבאה. (I3cbfa)

גרסה 1.0.0-alpha15

26 בינואר 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha15 משוחררות. גרסה 1.0.0-alpha15 מכילה את ההצהרות האלה.

שינויים ב-API

  • הוספנו נכס חדש, autoCentering, ל-ScalingLazyColumn. כשהערך הוא true (ברירת המחדל), אפשר לגלול את כל הפריטים, כולל הראשון והאחרון, כדי שהם יופיעו במרכז אזור התצוגה של הרשימות. הערה: אם משתמשים ביישור אוטומטי, מומלץ להגדיר את הרווח האנכי של התוכן ל-0.dp. אם תספקו גם מרכוז אוטומטי וגם תוספת מרווח לתוכן האנכי, שתי התכונות האלה יגרמו ליצירת מקום נוסף לפני הפריט הראשון ואחרי הפריט האחרון ברשימה, כך שאפשר יהיה לגלול עוד יותר. (I2a282, ‏ b/214922490)
  • הוספנו רכיב Dialog שמאפשר לכל רכיב מורכב להפעיל תיבת דו-שיח במסך מלא שמופיעה מעל תוכן אחר. כשתיבת הדו-שיח מוצגת, אפשר לסגור אותה בתנועת החלקה, ובמהלך החלקת האצבע תוצג ברקע תיבת הדו-שיח של ההורה. תוכן התיבת הדו-שיח אמור להיות Alert או Confirmation (ששינו את השם מהרכיבים הקודמים AlertDialog ו-ConfirmationDialog) – Alert, ‏ Confirmation ו-Dialog נמצאים כולם בחבילה androidx.wear.compose.material.dialog. אפשר להשתמש בהתראות ובאישורים כיעדי ניווט. בנוסף, הוספנו את ColumnScope לפרמטרים של התראות ואישורים לפי הצורך. (Ia9014)
  • הסרנו את onSurfaceVariant2 מהצבעים של נושא Material ב-Compose for WearOS והחלפנו את השימושים בספרייה ב-onSurfaceVariant. (Icd592)
  • הוספנו שיטה לבחירת אפשרות באופן פרוגרמטי ב-PickerState. אפשר גם לציין את האפשרות שנבחרה בהתחלה כשיוצרים PickerState. (I92bdf)
  • הוספנו תמיכה בהתאמה אישית של התנהגות ה-fling של ScalingLazyColumn. (I1ad2e, ‏ b/208842968)
  • הוספנו את NavController.currentBackStackEntryAsState() לספרייה Wear.Compose.Navigation. (If9028, ‏ b/212739653)
  • נוספו Modifier.onRotaryScrollEvent() ו-Modifier.onPreRotaryScrollEvent() למכשירי Wear עם לחצן צד מסתובב.(I18bf5, ‏ b/210748686)

גרסה 1.0.0-alpha14

12 בינואר 2022

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha14 משוחררות. גרסה 1.0.0-alpha14 מכילה את ההצהרות האלה.

תכונות חדשות

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

    כחלק מהשינוי הזה, שינינו גם את ScalingLazyList כך שיהיה מכוון סביב מרכז אזור התצוגה של ScalingLazyList, ולא לתחילת אזור התצוגה.

    נוסף נכס חדש anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter ל-ScalingLazyList כדי לקבוע אם מרכז התמונה (ScalingLazyListAnchorType.ItemCenter) או Edge (ScalingLazyListAnchorType.ItemStart) ייושרו לקו המרכזי של אזור התצוגה.

    כתוצאה מכך, הערכים של ScalingLazyListItemInfo.offset ו-ScalingLazyListItemInfo.adjustedOffset השתנו, והם ישקפו עכשיו את ההיסט של הפריט ביחס למיקום של פריט הרשימה וגם ביחס ל-anchorType של הרשימה. לדוגמה, עבור ScalingLazyColumn עם anchorType של ItemCenter ופריט ברשימה שממוקם במרכז של ציר מרכז המסך, ההיסט יהיה 0.

    השיטות החדשות הן scrollTo,‏ animatedScrollTo,‏ centerItemIndex ו-centerItemOffset. (I61b61)

  • הוספנו טיפול בכפתור 'הקודם' ל-SwipeDismissableNavHost, כך שלחיצה על 'הקודם' תעביר אתכם לרמה הקודמת בהיררכיית הניווט. (I5b086, ‏ b/210205624)

גרסה 1.0.0-alpha13

15 בדצמבר 2021

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha13 משוחררות. גרסה 1.0.0-alpha13 מכילה את ההצהרות האלה.

שינויים ב-API

  • הפכנו את RangeIcons לפנימי (הפנייה פנימית אליו היא InlineSlider ו-Stepper). (I927ec)

תיקוני באגים

  • תוקנה בעיה שבה SwipeDismissableNavHost הוסיף יעד להיררכיית Compose לפני שהוא הגיע למצב CREATED במחזור החיים, וכתוצאה מכך נוצר IllegalStateException. התיקון הזה היה תנאי מוקדם לעדכון התלות ב-navigation-compose ל-2.4.0-beta02 ואילך. (I40a2b, ‏ b/207328687)

  • נוספה ספריית enum של Drawables לקבלת משאבי drawable בספריית Wear Compose, כך שאין יותר צורך בהשתקפות. התיקון הזה מטפל בבאג שבו פריטים גרפיים בספרייה הוסרו כשהופעלו הפונקציות minifyEnabled=true או shrinkResources=true). (Ib2a98)

  • נוספו בדיקות ל-Stepper ב-Wear Compose‏ (I2d03a)

  • נוספו דוגמאות ל-SwipeDismissableNavHost בתכונה 'ניווט בזמן כתיבת הודעות' ב-Wear. (I85f06)

גרסה 1.0.0-alpha12

1 בדצמבר 2021

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha12 משוחררות. גרסה 1.0.0-alpha12 מכילה את ההוספות האלה.

תכונות חדשות

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

  • הוספנו 2 רכיבים חדשים ליצירת רכיבים מורכבים להצגת תיבות דו-שיח: AlertDialog ממתין לתגובה מהמשתמש ומציג כותרת, סמל, הודעה ואת אחת מהאפשרויות הבאות: א) שני לחצנים לבחירות פשוטות של 'כן' או 'לא', או ב) צ'יפים מוערמים אנכית או צ'יפים של מתגים לבחירות גמישות יותר. ConfirmationDialog מציג אישור עם זמן קצוב לתפוגה. לתיבת הדו-שיח הפשוטה הזו יש משבצות לכותרת ולסמל (אנימציה). (Ic2cf8)

שינויים ב-API

  • מוסיפים יחידות (מיליסקונד) לערכים המוצעים של משך הזמן של תיבת הדו-שיח. (I09b48)

גרסה 1.0.0-alpha11

17 בנובמבר 2021

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha11 משוחררות. גרסה 1.0.0-alpha11 מכילה את ההצהרות האלה.

תכונות חדשות

  • הוספנו רכיב לבחירת פריטים שמאפשר למשתמש לבחור פריט מתוך רשימה שאפשר לגלול בה. כברירת מחדל, רשימת הפריטים שאפשר לבחור חוזרת על עצמה 'ללא הגבלה' בשני הכיוונים, כדי ליצור רושם של גליל מסתובב שנראה מהצד. שתי תכונות נוספות יתווספו במהדורות מאוחרות יותר: הצמדה לערך אחרי החלקה או תנועה מהירה, והוספת פונקציה ל-PickerState כדי להגדיר את הערך הנוכחי או לגלול אליו. (I6461b)

שינויים ב-API

  • נוספו ScalingLazyItemScope ומשתני אופן הצגה חדשים fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight כדי לאפשר שינוי הגודל של פריטים ברשימה בהתאם לגודל של מאגר הפריטים ההורה. אפשר להגדיר שהפריטים ימלאו את כל הגודל של האב או חלק ממנו. כך אפשר להציג פונקציונליות שכבר זמינה ב-LazyRow/Column (I4612f)
  • נוספה תמיכה ב-ScalingLazyColumn כדי לאפשר לפריטים שיהיה להם מפתח. הוספנו גם שיטות נוחות שמאפשרות להוסיף פריטים ממערכי נתונים ומרשימות. (Ic1f89)

תיקוני באגים

  • דוגמאות נוספות ל-TimeText‏ (I8cb64)

גרסה 1.0.0-alpha10

3 בנובמבר 2021

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha10 משוחררות. גרסה 1.0.0-alpha10 מכילה את ההצהרות האלה.

תכונות חדשות

  • הוספנו רכיב InlineSlider ל-Compose ב-Wear. InlineSlider מאפשר למשתמשים לבחור מתוך טווח ערכים. טווח האפשרויות מוצג כסרגל בין הערכים המינימלי והמקסימלי של הטווח, וממנו המשתמשים יכולים לבחור ערך יחיד. (If0148)

  • כדאי לעיין בCodelab החדש של Compose ל-WearOS.

שינויים ב-API

  • עכשיו ל-Macrobenchmark יש minSdkVersion של 23. (If2655)

תיקוני באגים

  • עדכון הטיפול במעברים ב-SwipeDismissableNavHost ב-SideEffect‏ (I04994, ‏ b/202863359)
  • עדכון הטיפול במעברים ב-SwipeDismissableNavHost‏ (I1cbe0, ‏ b/202863359)

גרסה 1.0.0-alpha09

27 באוקטובר 2021

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha09 משוחררות. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.

תכונות חדשות

  • השקנו את גרסת ה-Developer Preview של Compose ב-Wear OS. בפוסט הזה בבלוג אנחנו מפרטים על הרכיבים העיקריים של Compose ומציינים קישורים למשאבים נוספים שיעזרו לכם להתחיל להשתמש בהם.

שינויים ב-API

  • הוספנו תמיכה למפתחים כדי שיוכלו להתאים אישית את כל הצבעים של עיצוב הצבעים של Material Design ב-Wear. (I4759b, ‏ b/199754668)

תיקוני באגים

  • נוספו דוגמאות ל-SwipeToDismissBox שמשמרות את המצב (Ibaffe)
  • הוספנו קישורים למדריכים ב-developer.android.com מ-KDocs עבור CurvedText, ‏ TimeText ו-SwipeToDismissBox. (I399d4)
  • SwipeDismissableNavHost מפעיל עכשיו שגיאה אם אין יעד נוכחי (המשמעות היא ש-NavGraph לא נוצר באמצעות פונקציית השירות wear.compose.navigation.composable) (I91403)
  • נוספו מסמכים ומקרים לדוגמה לגבי שימוש במקור זמן ב-TimeText (I4f6f0)

גרסה 1.0.0-alpha08

13 באוקטובר 2021

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha08 משוחררות. גרסה 1.0.0-alpha08 מכילה את ההצהרות האלה.

שינויים ב-API

  • שינינו את השם של המאפיינים body של AppCard ו-TitleCard ל-content והעברנו אותם לסוף רשימת הנכסים כדי לאפשר לספק אותם כפונקציית lambda עוקבת. השם של bodyColor השתנה גם ל-contentColor כדי לשמור על עקביות עם שמות המשבצות החדשים. (I57e78)

תיקוני באגים

  • נוספו קישורים למדריכים של KDocs ב-developer.android.com לגבי רכיבים של כפתור, כרטיס, צ'יפ, עיצוב, אינדיקטור מיקום ורכיבים של עמודות עיכובי התאמה. (I22428)
  • תיקון באג ב-WearOS שבו לפעמים לא ניתן לסמן פריטים בתנועת החלקה. (I9387e)
  • נוספו דוגמאות ל-Button,‏ CompactButton,‏ Chip,‏ CompactChip,‏ AppCard,‏ TitleCard,‏ ToggleButton,‏ ToggleChip ו-SplitToggleChip (Iddc15)
  • הוספנו בדיקות ביצועים של מיקרו-ביצועים ל-Card, ‏ Chip, ‏ ToggleChip, ‏ TimeText ו-ScalingLazyColumn. (If2fe9)

גרסה 1.0.0-alpha07

29 בספטמבר 2021

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha07 משוחררות. גרסה 1.0.0-alpha07 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

תכונות חדשות

  • הוספנו את הרכיב CurvedText ב-Material. הרכיב הזה מאפשר למפתחים לכתוב בקלות טקסט מעוקל בהתאם לעיקול של עיגול (בדרך כלל בקצה של מסך עגול). (I19593)

שינויים ב-API

  • נוספו בדיקות ל-TimeText‏ (Idfead)
  • הפיכת ArcPaddingValues לממשק. (Iecd4c)
  • נוספה אנימציה ל-SwipeToDismissBox‏ (I9ad1b)
  • הוספנו את הפרמטר hasBackground ל-API של SwipeToDismissBox כדי שאפשר יהיה להשבית את מחוות החלקה כשאין תוכן רקע שאפשר להציג. (I313d8)
  • הפונקציה rememberNavController() מקבלת עכשיו קבוצה אופציונלית של מכונות Navigator שיתווספו ל-NavController המוחזר, כדי לתמוך טוב יותר בנווטים אופציונליים כמו אלה מ-Accompanist Navigation Material. (I4619e)
  • הפניה ל-NamedNavArgument מ-navigation-common והסרת העותק מ-wear.compose.navigation. (I43af6)

תיקוני באגים

  • תוקנו בעיות לא עקביות בבדיקת CurvedRow במכשירים קטנים יותר. (If7941)
  • תוקנה בעיה של הבהוב אפשרי ב-CurvedRow כשהתוכן מתעדכן, ולוודא שהשורה המעוקלת נמדדת מחדש (Ie4e06)
  • הפונקציה ChipDefaults.gradientBackgroundChipColors() עודכנה בהתאם לשינויים במפרט חוויית המשתמש. עכשיו, העברה הצבעונית מתחילה ב-MaterialTheme.colors.primary עם אלפא של 32.5% ומסתיימת ב-MaterialTheme.colors.surface עם אלפא של 0% מעל רקע של MaterialTheme.colors.surface עם אלפא של 75%. (Id1548)
  • עדכנו את הצבעים של ToggleChips במצב שנבחר, כך שיתאימו להנחיות העדכניות ביותר לגבי מפרט ממשק המשתמש של Material Design ב-Wear. כאשר מסמנים ToggleChips, הם כוללים עכשיו רקע עם שיפוע מ-MaterialTheme.color.surface עם אלפא של 0% בפינה הימנית העליונה, ל-MaterialTheme.color.primary עם אלפא של 32% בפינה הימנית התחתונה, מעל רקע של MaterialTheme.color.surface עם אלפא של 75%. כך נוצר הבדל עדין יותר בין מצב מסומן למצב לא מסומן של ToggleChip. (Idd40b)

גרסה 1.0.0-alpha06

15 בספטמבר 2021

התכונות androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06 וגם androidx.wear.compose:compose-navigation:1.0.0-alpha06 משוחררות. גרסה 1.0.0-alpha06 מכילה את ההוספות האלה.

תכונות חדשות

  • הוספנו את Scaffold – רכיב מורכב ברמת האפליקציה שמספק מבנה לטיפול במיקום של אינדיקטורים של מיקום (כמו גלילה או עוצמת קול), אזור בחלק העליון של המסך להצגת השעה וסטטוס האפליקציה, ותמיכה גם בווינייט (Vignette) כדי לטשטש את הקצה העליון והתחתון של המסך עבור תוכן שניתן לגלילה. האזור הראשי של ה-Scaffold הוא המקום שבו מוצבים תוכן האפליקציה. (I5e0bf)
  • נוספה הטמעה של TimeText ל-Wear Compose (I5654c)

ספריית הניווט של Wear Compose

  • הוספנו את הגרסה הראשונה של ספריית הניווט של Wear Compose, שמספקת שילוב בין ספריות Wear Compose ו-Androidx Navigation. הוא מספק דרך פשוטה לנווט בין פונקציות @Composable בתור היעדים באפליקציה.

  • הגרסה הראשונית הזו כוללת:

    • רכיב SwipeDismissableNavHost שאפשר ליצור ממנו קומפוזיציות, שמארח תרשים ניווט ומאפשר ניווט לאחור באמצעות תנועות החלקה
    • תוסף NavGraphBuilder.composable שעוזר ביצירת תרשימי ניווט
    • rememberSwipeDismissableNavController() כדי לאפשר העלאת הרמה של מצב
  • דוגמה לשימוש שבו יוצרים שני מסכים ומנווטים ביניהם:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • רכיב הניווט של Wear Compose נארז כספרייה נפרדת, כך שאפליקציות פשוטות של WearCompose שמטמיעות ניווט משלהם לא צריכות להסתמך על ספריית הניווט של Androidx.

שינויים ב-API

  • עדכנו את SwipeDismissableNavHost כך שתתמוך ב-rememberSaveable על ידי הגדרת זהות המפתח לרקע ולתוכן (I746fd)
  • הוספנו מתאם PositionIndicator שיכול לטפל ב-LazyListState (I21b88)
  • עדכנו את SwipeToDismissBox כך שיתמוך ב-rememberSaveable (Ie728b)
  • הוספנו תמיכה ב-reverseLayout ל-ScalingLazyColumn. כך אפשר להפוך את כיוון הגלילה ואת הפריסה (I9e2fc)
  • performGesture ו-GestureScope שהוצאו משימוש, והוחלפו ב-performTouchInput וב-TouchInjectionScope. (Ia5f3f, ‏ b/190493367)
  • שינינו את השם של VignetteValue ל-VignettePosition, ואת השם של VignetteValue.Both ל-VignettePosition.TopAndBottom. (I57ad7)
  • שינינו את השם של ScalingLazyColumnState ל-ScalingLazyListState, את השם של ScalingLazyColumnItemInfo ל-ScalingLazyListItemInfo, את השם של ScalingLazyColumnLayoutInfo ל-ScalingLazyListLayoutInfo ואת השם של ScalingLazyColumnScope ל-ScalingLazyListScope, למקרה שנחליט להוסיף הטמעה של ScalingLazyRow בעתיד. (I22734)

תיקוני באגים

  • עדכנו את המסמכים של CompactChip כדי לתאר מה קורה אם לא מציינים סמל או תווית. (I4ba88)
  • ביצענו כמה שינויים ברכיבים של הכרטיסים ב-Wear. (I6b3d0)
    1. המרווח בין הכותרת לגוף בכרטיס TitleCard הופחת מ-8dp ל-2dp.
    2. גופן הכותרת של TitleCard השתנה מ-body ל-title3.
    3. שינינו את ההדרגה של הרקע בכרטיס כדי שהרקע ייראה כהה יותר.

גרסה 1.0.0-alpha05

1 בספטמבר 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha05 ו-androidx.wear.compose:compose-material:1.0.0-alpha05 משוחררים. גרסה 1.0.0-alpha05 מכילה את ההצהרות האלה.

שינויים ב-API

  • סימון ArcPaddingValues בתור @Stable (I57deb)
  • ScalingLazyColumnState מטמיע עכשיו את הממשק ScrollableState, שמעניק למפתחים גישה פרוגרמטית לגלילה ברכיב. (I47dbc)

תיקוני באגים

  • צמצמנו את הריווח בין הסמל לטקסט ב-Chip וב-ToggleChip כדי להתאים אותם לעדכונים במפרט ממשק המשתמש. (I83802)

גרסה 1.0.0-alpha04

18 באוגוסט 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha04 ו-androidx.wear.compose:compose-material:1.0.0-alpha04 משוחררים. גרסה 1.0.0-alpha04 מכילה את ההצהרות האלה.

תכונות חדשות

  • נוספו SwipeToDismissBox ו-modifier שניתן להחליק, שאפשר להשתמש בהם כדי לתמוך בתנועת החלקה שמאלה לימין לסגירה. הרכיב הזה לא תלוי ברכיבי הניווט, אבל הוא אמור לשמש כדי לצאת ממסך אחד ולעבור למסך אחר. הוספנו בדיקות אינטגרציה כדי להדגים את התכונה 'החלקה כדי לסגור'. (I7bbaa)
  • הוספנו את הממשקים ScalingLazyColumnItemInfo ו-ScalingLazyColumnLayoutInfo לכיתה ScalingLazyColumnState כדי לאפשר למפתחים לדעת מהן המיקומים והגדלים בפועל של הפריטים ב-ScalingLazyColumn אחרי החלת השינוי. תיקנו גם באג בדרך שבה חישובי הגודל התבצעו כשהחפיפה של התוכן 'top' חלה על ScalingLazyColumn. (I27c07)

שינויים ב-API

  • הוספת הכיתה CurvedTextStyle כדי לציין אפשרויות לעיצוב טקסט מעוקל. דומה ל-TextStyle, אבל עכשיו יש תמיכה רק ב-color, ב-fontSize וב-background. בעתיד נוסיף עוד אפשרויות עיצוב. (I96ac3)
  • הוספנו את הממשקים ScalingLazyColumnItemInfo ו-ScalingLazyColumnLayoutInfo לכיתה ScalingLazyColumnState כדי לאפשר למפתחים לדעת מהן המיקומים והגדלים בפועל של הפריטים ב-ScalingLazyColumn אחרי החלת השינוי. תיקנו גם באג בדרך שבה חישובי הגודל התבצעו כשהחפיפה של התוכן 'top' חלה על ScalingLazyColumn. (I27c07)
  • הוספנו את הערך @ExperimentalWearMaterialApi למערך הערכים SwipeDismissTarget, שהוא חלק מ-API של SwipeToDismissBox. (I48b5e)

תיקוני באגים

  • נוספו חומרי בדיקה ל-SwipeToDismissBox‏ (I9febc)

גרסה 1.0.0-alpha03

4 באוגוסט 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha03 ו-androidx.wear.compose:compose-material:1.0.0-alpha03 משוחררים. גרסה 1.0.0-alpha03 מכילה את ההצהרות האלה.

שינויים ב-API

  • הוספנו את הרכיב CurvedText, שמאפשר למפתחים לכתוב טקסט בקלות בהתאם לעיקול של עיגול (בדרך כלל בקצה של מסך עגול) (Id1267)
  • שינינו את השם של CardDefaults.imageBackgroundPainter() ל-CardDefaults.imageWithScrimBackgroundPainter() כדי להבהיר שתמונה הרקע תהיה עם ציור של ריבוע שקוף מעלייה. (I53206)
  • הוספת הרכיב ScalingLazyColumn, שמספק רכיב רשימה ל-Material ב-Wear, שמציג תצוגת עין הדג שבה תוכן הרשימה קטן ונהיה שקוף ככל שהוא מתקרב לקצה הרכיב. (I7070c)

תיקוני באגים

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

גרסה 1.0.0-alpha02

21 ביולי 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha02 ו-androidx.wear.compose:compose-material:1.0.0-alpha02 משוחררים. גרסה 1.0.0-alpha02 מכילה את ההצהרות האלה.

תכונות חדשות

  • הוספנו את הכיתה החדשה CurvedRow כדי להציג רכיבים מורכבים בפריסה של קשת (I29941)
  • הוספנו סוג חדש של כרטיס לשימוש באפליקציות (TitleCard). הוספנו גם תמיכה בשימוש בתמונות כרקע של כרטיסים כדי להדגיש את התוכן שלהם (I53b0f)

שינויים ב-API

  • הוספת תמיכה בחיבור רדיאלי ל-CurvedRow (בדומה לחיבור האנכי בשורה) (Id9de5)
  • הוספת הכיתה החדשה CurvedRow לרכיבים מורכבים שמופיעים בפריסה בצורת קשת (I29941)
  • הוספנו סוג חדש של כרטיס לשימוש באפליקציות (TitleCard). הוספנו גם תמיכה בשימוש בתמונות כרקע של כרטיסים כדי להדגיש את התוכן שלהם (I53b0f)
  • הוספנו סמלי החלפת מצב (תיבת סימון, מתג ולחצני בחירה) ל-ToggleChipDefaults כדי להקל על המפתחים להגדיר ToggleChip ו-SplitToggleChips (I7b639)
  • הוספת התוכן בתחילת הצ'יפ ובסופו עודכנה כך שתהיה עקבית ב-14dp, ללא קשר אם יש לצ'יפ סמל או לא (קודם היה 12dp אם יש סמל ו-14dp אם אין) (I34c86)

תיקוני באגים

  • הוספת בדיקות ל-CurvedRow‏ (I93cdb)
  • קישור יחסי התלות של Wear Compose ל-Compose 1.0.0-rc01. (Ie6bc9)
  • שינינו את האופן שבו מתבצעת הצביעה של תמונות הרקע בכרטיסים ובצ'יפים, כך שהתמונה תוחתוך במקום להתמתח כדי לשמור על הפרופורציות שלה. (I29b41)
  • נוספו עוד הדגמות ובדיקות שילוב ל-Button ול-ToggleButton. (5e27ed2)
  • הוספנו עוד בדיקות צ'יפים כדי לכסות את צבעי התוכן של imageBackgroundChips‏ (Ia9183)

גרסה 1.0.0-alpha01

1 ביולי 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha01 ו-androidx.wear.compose:compose-material:1.0.0-alpha01 משוחררים. גרסה 1.0.0-alpha01 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

תכונות חדשות

Wear Compose היא ספרייה מבוססת-Compose ב-Kotlin שתומכת בעיצוב Material Design ל-Wear, תוסף של Material Design למכשירים לבישים של WearOS. הגרסה הראשונה של האלפא כוללת הטמעות פונקציונליות מוקדמות של האפשרויות הבאות:

  • עיצוב Material – מגדיר את הצבעים, הגופנים והצורות באופן עקבי בכל הרכיבים שבהם נעשה שימוש מהספרייה הזו.
  • צ'יפ, צ'יפ קומפקטי – הצ'יפים הם בצורת אצטדיון ויש וריאציות שאפשר להשתמש בהן כדי להציג תוכן של סמל, תווית ותווית משנית.
  • - ToggleChip,‏ SplitToggleChip – סוג מיוחד של צ'יפ שכולל חריץ לסמל החלפת מצב דו-מצבי, כמו לחצן רדיו או תיבת סימון. בנוסף, ל-SplitToggleChip יש שני אזורים שניתן להקיש עליהם, אחד שניתן ללחוץ עליו והשני שניתן להחליף את המצב שלו.
  • Button, ‏ CompactButton – לחצנים בצורת עיגול, עם חריץ תוכן יחיד לסמל או לטקסט מינימלי (עד 3 תווים).
  • ToggleButton – לחצן שמפעיל או משבית פעולה, עם חריץ אחד לסמל או לטקסט מינימלי (עד 3 תווים).
  • כרטיס, כרטיס אפליקציה – צורת כרטיס מלבנית עם פינות מעוגלות, עם שטחי תוכן כמו סמל האפליקציה, זמן, כותרת וגוף.

בגרסאות עתידיות נרחיב את קבוצת הווידג'טים ונוסיף תמיכה בבוררי Wear Material Design, בסליידרים, ברשימות, באינדיקטורים של דפים, בתיבת דו-שיח, באינדיקטורים של פס גלילה, בהודעות קצרות ובעוד רכיבים.

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

העיצוב של Wear Compose Material מבוסס על אותם עקרונות כמו Compose Material, אבל הוא מיועד למכשירי לבישה. כשמפתחים אפליקציה למכשיר לבישה, צריך להשתמש בספריית Wear Compose Material במקום בספריית Compose Material.

שתי הספריות 'Material' הן ספריות נפרדות, ואין לשלב אותן באותה אפליקציה. אם מפתחים מוצאים את עצמם כוללים את ספריית Material של Compose ביחסי התלות שלהם, המשמעות היא שאחד מהמצבים הבאים מתקיים: א) חסרים רכיבים בספריית Material של Wear Compose. אפשר להודיע לנו מה חסר, או ב) הם משתמשים ברכיב שאנחנו לא ממליצים להשתמש בו במכשיר לביש.