כתיבת בסיס

כתיבת אפליקציות ב-Jetpack פיתוח נייטיב עם אבני בניין מוכנות לשימוש והרחבת היסודות לבניית חלקים משלכם במערכת העיצוב.
העדכון האחרון גרסה יציבה מועמד לגרסה גרסת בטא גרסת אלפא
24 ביולי 2024 1.6.8 - 1.7.0-beta06 -

מבנה

תהליך הכתיבה הוא שילוב של 7 מזהי קבוצות Maven בתוך androidx. כל קבוצה מכיל קבוצת משנה מטורגטת של פונקציונליות, שלכל אחת מהן יש גרסה משלה הערות.

בטבלה הזו מוסבר על הקבוצות והקישורים לכל קבוצה של נתוני גרסה.

קיבוץתיאור
compose.animationיוצרים אנימציות באפליקציות 'Jetpack פיתוח נייטיב' כדי להעשיר את חוויית המשתמש.
compose.compilerשינוי פונקציות @Composable והפעלת אופטימיזציות באמצעות פלאגין מהדר של Kotlin.
compose.foundationכתיבת אפליקציות ב-Jetpack פיתוח נייטיב עם אבני בניין מוכנות לשימוש והרחבת היסודות לבניית חלקים משלכם במערכת העיצוב.
compose.materialבניית ממשקי משתמש ב-Jetpack פיתוח נייטיב עם רכיבים מוכנים לשימוש ב-Material Design. זו נקודת הכניסה ברמה הגבוהה יותר של 'כתיבה', שנועדה לספק רכיבים שתואמים לאלה שמתוארים באתר www.material.io.
compose.material3בניית ממשקי משתמש ב-Jetpack פיתוח נייטיב עם רכיבי Material Design 3, הפיתוח הבא של עיצוב Material Design. Material 3 כולל עיצוב ורכיבים מעודכנים ותכונות התאמה אישית של Material You, כמו צבעים דינמיים, ונועד להיות אחיד עם הסגנון החזותי החדש של Android 12 וממשק המשתמש של המערכת.
compose.runtimeאבני הבניין הבסיסיות של מודל התכנות וניהול המצבים של Compose, ושל זמן הריצה העיקרי של הפלאגין Compose Compiler לטירגוט.
compose.uiרכיבים בסיסיים בממשק המשתמש של הרכבה שנדרשים לאינטראקציה עם המכשיר, כולל פריסה, שרטוט וקלט.

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

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

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

מגניב

dependencies {
    implementation "androidx.compose.foundation:foundation:1.6.8"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.foundation:foundation:1.6.8")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

משוב

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

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

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

גרסה 1.7

גרסה 1.7.0-beta06

24 ביולי 2024

androidx.compose.foundation:foundation-*:1.7.0-beta06 משוחרר. גרסה 1.7.0-beta06 כוללת את ההתחייבויות האלה.

גרסה 1.7.0-beta05

10 ביולי 2024

androidx.compose.foundation:foundation-*:1.7.0-beta05 משוחרר. גרסה 1.7.0-beta05 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תיקון לטיפול בערכי נאן בSnapFlingBehavior ובזימונית.

גרסה 1.7.0-beta04

26 ביוני 2024

androidx.compose.foundation:foundation-*:1.7.0-beta04 משוחרר. גרסה 1.7.0-beta04 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • מניעת קריסות כשמודדים שורות טקסט גדולות מאוד (למשל, 10,000 תווים) (8157ab)
  • תיקון המדידה של טקסט גדול מאוד שגורם לקריסה בגרסה החדשה של BasicTextField (6b7575)
  • ביטול של שינוי התנהגות במדידת שורות/עמודה, שמשפיע על השימוש בטקסט בתרחישים מסוימים (69e8ba)

גרסה 1.7.0-beta03

12 ביוני 2024

androidx.compose.foundation:foundation-*:1.7.0-beta03 משוחרר. גרסה 1.7.0-beta03 כוללת את ההתחייבויות האלה.

גרסה 1.7.0-beta02

29 במאי 2024

androidx.compose.foundation:foundation-*:1.7.0-beta02 משוחרר. גרסה 1.7.0-beta02 כוללת את ההתחייבויות האלה.

שינויים ב-API

  • הוספת API ניסיוני להגדרת התנהגות השליפה מראש (prefetch) של LazyGrids, בדומה ל-API הניסיוני הקיים של LazyLists. זה כולל תמיכה בשליפה מראש של פריטים בLazyGrids מקונן. בדומה ל-LazyListPrefetchStrategy, ברירת המחדל של ההטמעה היא שליפה מראש (prefetch) של 2 הפריטים הראשונים בכל רשת, אבל אפשר להגדיר זאת באמצעות ממשקי ה-API החדשים של LazyGridPrefetchStrategy(nestedPrefetchItemCount) ושל LazyListPrefetchStrategy#onNestedPrefetch. (I591c4)
  • השם של SemanticsProperties.Editable השתנה ל-IsEditable ומשנה את SemanticsPropertyReceiver.editable לערך isEditable. הנכס מוגדר עכשיו לערך בוליאני ותמיד מצוין בשדות טקסט. (I8acd8)
  • basicMarquee ערכי ברירת מחדל הועברו לאובייקט MarqueeDefaults. (I12ff6)
  • השם של הפרמטר basicMarquee delayMillis שונה ל-repeatDelayMillis. (I12ff6)
  • עדכון API לעיצוב הקישורים: השדה TextLinkStyles הועבר ל-TextStyle והסיר את TextDefaults מהחומר (I5477b)

תיקוני באגים

  • כדי לשקף טוב יותר את המטרה של הקובץ, השם LayoutCoordinates.introducesFrameOfReference שונה. השם החדש הוא LayoutCoordinates.introducesMotionFrameOfReference. שינו את השם של הפונקציה הקשורה כדי לחשב קואורדינטות על סמך הדגל הזה. (I3a330)
  • האפשרות 'ברירת מחדל' הוסרה מהמאפיינים MarqueeDefaults. (I1d8a0)
  • השדה 'Marquee' הוסר מ-MarqueeDefaults נכסים. (Iad4f4)
  • הסרת את TextLinkStyles מהכיתה TextStyle. במקום זאת, TextLinkStyles הוא חלק מה-constructor של LinkAnntation ומה-method AnnotatedString.fromHtml (I90b2b)
  • תוקן באג שגרם להצמדה של זימונית כשהיא נעה לעבר גבול כשהיא כבר התייצב. (I9f373, b/339171222)
  • ל-BTF2 יש עכשיו תנועות נכונות לבחירת העכבר. (Ibe8c6)

תרומה חיצונית

  • שליחה מחדש של בנושא 'הגדרה של חישוב זמן הכתיבה/מדידה של סוג התוכן על סמך שליפה מראש (prefetch) כדי לשפר את הדיוק' (Iea622)
  • הגדרת סוג התוכן של חישוב זמן הכתיבה/מדידה על סמך שליפה מראש (prefetch) כדי לשפר את הדיוק (Ibccb1)
  • הגדרת מגבילי התאמה של WindowInsetsPadding כזמינים מקבוצת מקורות משותפת (I070b2)

גרסה 1.7.0-beta01

14 במאי 2024

androidx.compose.foundation:foundation-*:1.7.0-beta01 משוחרר. גרסה 1.7.0-beta01 כוללת את ההתחייבויות האלה.

שינויים ב-API

  • הנכס KeyboardOptions.shouldShowKeyboardOnFocus נוסף חזרה כנכס שהוצא משימוש לצורך תאימות בינארית. (I15cfe)
  • Modifier.anchoredDraggable עכשיו מבטל את השינויים בגרירה כברירת מחדל עבור רכיבים עם כיוון אופקי כשמשתמשים בפריסת RTL. (I3c6d9)
  • AnnotatedString.hasEqualsAnnotations נקראת עכשיו hasEqualAnnotations. (I685c0)
  • ה-API עודכן לצורך קבלת קישורים מעוצבים בטקסט. באופן ספציפי, הסרנו את השיטות מ-TextDefaults לבניית LinkAnnotations בנושא מסוים ולניתוח HTML עם קישורים מעוצבים. במקום זאת, הוספנו מחלקה TextLinkStyles שמאפשרת לעצב את הקישורים כפרמטר לתוכן הקומפוזבילי של טקסט. (I31b93)
  • onDragStarted ו-onDragStopped הוחלפו בקריאות חוזרות (callback) שלא הושעו. (I59de8)

תיקוני באגים

  • תוקן באג שגרם לקריסת זימונית כשהcontentPadding היה גדול יותר מהמגבלות הנכנסות. מעכשיו, זימונית מאלצת ערכים שליליים שמוחזרים מ-PageSize ל-0. (Iba5d8, b/314008560)

גרסה 1.7.0-alpha08

1 במאי 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha08 משוחרר. גרסה 1.7.0-alpha08 מכילה את התחייבויות אלה.

תכונות חדשות

  • תפריט ההקשר של לחיצה ימנית נוסף אל BasicTextField ו-SelectionContainer עם פריטים לביצוע פעולות של גזירה, העתקה, הדבקה ובחירת הכול. (If8c93, Ia2b49, I6f268)

שינויים ב-API

  • LazyLayout בקשות לשליפה מראש (prefetch) יכולות להיות מסומנות עכשיו כדחופות, כלומר אנחנו צופים שהפריט הזה יהיה נחוץ במסגרת הבאה, ואנחנו רוצים להתעלם מתקציב המסגרת כדי להבטיח יותר עבודה מראש (Id513f)
  • השם של isPositionedByParentWithDirectManipulation השתנה. השם החדש הוא introducesFrameOfReference. הערה: עכשיו יש לה את ההשפעה ההפוכה. כלומר, כברירת מחדל, רוב LayoutCoordinates כוללים מסגרת של הפניה. בנוסף, רק כשמציבים את הסמן שלה על ידי מניפולציה ישירה, הנכס יוגדר כ-FALSE. כדי לבצע שאילתה על מיקום רק עם מיקומים שמציגים מסגרת התייחסות, יש להשתמש ב-positionInLocalFrameOfReference(...). או positionInLocalLookaheadFrameOfReference מ-LookaheadScope. (Ifc5f7)
  • השם של onClicked שונה ל-onClick בתוך LinkInteractionListener (Iaa35c)
  • שינוי הפעולה lambda עבור getScrollViewportLength בהתאם למשוב של מועצת ה-API. (Ibc74a)
  • שינינו את השם של ממשקי ה-API להענקת גישה לכתיבה ידנית בסטיילוס. (Ica45f, b/327271923)
  • שינוי השם של TextInclusionStrategy.isInside לשם isIncluded. הגדרת סוג ההחזרה Paragraph/MultiParagraph#getRangeForRect() כ-null. (I51f26)

תיקוני באגים

  • האפשרות 'בחירת הכול' נוספה לכל תפריטי הטקסט לפי הקשר בSelectionContainer (Ib750e, b/240143283)
  • תוקן צילום המסך הארוך של מאגרי גלילה באמצעות reverseScrolling=true. (I7c59c)
  • תוקנה בעיה שבה ערך currentValue של AnchoredDraggableState השתנה כשהתקרב לגבולות המדינה. (Iea30b, b/333846848)

תרומה חיצונית

  • שינית את השם של PrefetchExecutor -> PrefetchScheduler כדי לשקף טוב יותר את תחומי האחריות שלו. (Ib9154)
  • נוספה תמיכה באחזור מראש של פריטים בLazyLists מקונן (למשל LazyColumn שמעבד LazyRows מקונן). השינוי הזה צפוי לצמצם ירידות פריימים במהלך הגלילה בLazyLists האלה. ברירת המחדל של ההטמעה היא שליפה מראש (prefetch) של 2 הפריטים הראשונים שהוצבו בו. עם זאת, אפשר לשלוט בהתנהגות הזו באמצעות ממשקי ה-API החדשים מסוג LazyLayoutPrefetchStrategy(nestedPrefetchItemCount) ו-LazyListPrefetchStrategy#onNestedPrefetch. (I51952)

גרסה 1.7.0-alpha07

17 באפריל 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha07 משוחרר. גרסה 1.7.0-alpha07 מכילה את התחייבויות אלה.

תכונות חדשות

  • נוסף אובייקט TextDefaults שמכיל methods ליצירת LinkAnnotation ולניתוח מחרוזת מתויגת ב-HTML שמחילה את MaterialTheme על הקישורים. (I98532, b/139312671)
  • נוספה תמיכה במראה של פריטים ובאנימציית היעלמות אל LazyVerticalGrid ו-LazyHorizontalGrid. בעבר היה אפשר להוסיף תכונת שינוי של Modifier.animateItemPlacement() כדי לתמוך באנימציות מיקום (סידור מחדש). הוצאנו משימוש את תכונת הצירוף הזו והוספנו תכונת שינוי לא ניסיונית חדשה בשם Modifier.animateItem(), שמאפשרת לתמוך בכל שלושת סוגי האנימציה: מראה (עמעום), היעלמות (הדרגתיות) וסידור מחדש. (Ib7d12, b/330510929)
  • נוספה תמיכה באנימציה של תצוגת פריטים והיעלמות אל LazyVerticalStaggeredGrid ו-LazyHorizontalStaggeredGrid. בעבר היה אפשר להוסיף תכונת שינוי של Modifier.animateItemPlacement() כדי לתמוך באנימציות מיקום (סידור מחדש). הוצאנו משימוש את תכונת הצירוף הזו והוספנו תכונת שינוי לא ניסיונית חדשה בשם Modifier.animateItem(), שמאפשרת לתמוך בכל שלושת סוגי האנימציה: מראה (עמעום), היעלמות (הדרגתיות) וסידור מחדש. (I69bc9, b/330511290)

שינויים ב-API

  • הפונקציה מוסיפה את ContextMenuColors ואת LocalContextMenuTheme ProvidableCompositionLocal המשויכים. כדי לשנות את הצבעים של תפריט ההקשר בשדות טקסט וטקסט שניתן לבחור, אפשר להגדיר את הקומפוזיציה באופן מקומי. (Ifa154)
  • בוצעה לחיצה על האפשרות של עיצוב מצב בקישורי טקסט בנוסף לעיצוב הרגיל, העברת העכבר מעל והתמקדות. (I5f864, b/139312671)
  • הצגת ViewConfiguration.HandwritingGestureLineMargin לתנועות של כתב יד. תמיכה בתנועה לכתיבה ידנית בBasicTextField. (Ie6e13, b/325660505)
  • המדיניות DelegatableNode.scrollIntoView הוסרה לגרסה 1.7 כי לא היה לנו זמן לסיים לייצב את שאר פלטפורמת ה-API הקשורה. הפונקציה תוחזר לגרסה 1.8 (I6cf61, b/333421581, b/332900232)
  • כשמפעילים שאילתות לגבי קואורדינטות פריסה, אפשר עכשיו להשתמש בארגומנט excludeDirectManipulationOffset כדי להחריג את ההיסט שהוגדר על ידי פריסות הורה שהוצבו בהן באמצעות Placeable.PlacementScope.withDirectManipulationPlacement. באופן דומה, פריסה שמשנה את מיקום הצאצאים שלה לעיתים קרובות יכולה עכשיו למקם אותם באמצעות withDirectManipulationPlacement (כמו Scroll, מיושם כברירת מחדל). כך אנימציות מבוססות approachLayout יכולות להיות יותר אינטואיטיביות, כך שיש עכשיו הזדמנות להבחין בין ההיסט להנפשה ומה צריך ליישם ישירות כשמחליטים ליצור אנימציה. (I60ec7)
  • הצגה של requestScrollToItem ל-LazyStaggeredGrid. עבור כל אישור מדידה, הלקוח יכול עכשיו לבטל את ההסכמה לשמירת האינדקס על סמך המפתח באמצעות התקשרות אל requestScrollToItem. הפעולה הזו לא תשנה את ההתנהגות הקיימת בשום צורה, אלא אם תתבצע קריאה ל-requestScrollToItem. I63983
  • הצגה של requestScrollToPage בזימונית. עבור כל אישור מדידה, הלקוח יכול עכשיו לבטל את ההסכמה לשמירת האינדקס על סמך המפתח באמצעות התקשרות אל requestScrollToPage. הפעולה הזו לא תשנה את ההתנהגות הקיימת בשום צורה, אלא אם תתבצע קריאה ל-requestScrollToPage. (Ic4213)
  • הצגה של requestScrollToItem ל-LazyGrids. עבור כל אישור מדידה, הלקוח יכול עכשיו לבטל את ההסכמה לשמירת האינדקס על סמך המפתח באמצעות התקשרות אל requestScrollToItem. הפעולה הזו לא תשנה את ההתנהגות הקיימת בשום צורה, אלא אם תתבצע קריאה ל-requestScrollToItem. (I0a7a0)
  • המוצר ClickableText מסומן כהוצאה משימוש. כדי להוסיף קישורים לטקסט, צריך ליצור AnnotatedString עם LinkAnnotation שתואם לקישור שלך ולהעביר את AnnotatedString הזה לתוכן הקומפוזבילי Text (I34d4b, b/323346994)
  • ההוראה UrlAnnotation הוצאה משימוש. במקומה צריך להשתמש במדיניות LinkAnnotation.Url. אם משתמשים בעיצוב מהותי, אז משתמשים באובייקט TextDefaults כדי ליצור את ההערה עם עיצוב מהותי (I8d180, b/323346545)
  • השם של String.parseAsHtml השתנה ל-AnnotatedString.Companion.fromHtml (I43dcd)
  • נוספו ארגומנטים מסוג סגנון (linkStyle, focusedLinkStyle, hoveredLinkStyle) ומאזינים לאינטראקציה עם קישור ל-method parseAsHtml. כשמנתחים את המחרוזת המתויגת ב-HTML באמצעות תגי <a>, השיטה תיצור LinkAnnotation.Url לכל תג כזה ותעביר את האובייקטים של העיצוב ואת ה-listener לאינטראקציה של הקישור לכל הערה. (I7c977)
  • עכשיו LinkAnnotation לוקחת את הארגומנטים של סגנון מבוסס-מצב ואת הפונקציה LinkInteractionListener. יש להוסיף את ההערה הזו אל AnnotatedString כדי לקבל היפר-קישור. העברה של focusedState ו/או hoveredState מאפשרת להגדיר את התצורה החזותית של קישורים כשהם ממוקדים או מעבירים את העכבר מעל לקישורים. (I81ce4, b/139312671)
  • סימון התכונה עבור צילומי מסך ארוכים הוסר. (I28648, b/329128246)
  • LazyColumn יעבד עכשיו כותרות במיקום קבוע בצילומי מסך ארוכים. (I8d239, b/329296635)
  • התייצב רוב ממשקי ה-API הניסיוניים שנותרו שהושקו עם BasicTextField החדש. (I714e2)
  • נוסף הפרמטר textObfuscationCharacter ל-BasicSecureTextField שקובע באיזה תו להשתמש בזמן ערפול התוכן (obfuscation). (I0588b)
  • NestedScroll מקורות 'גרירה והיפוך' מוחלפים ב-UserInput וב-SideEffect כדי להתאים להגדרה המורחבת של המקורות האלה, שכוללים עכשיו אנימציות (אפקט צד) וגלגל העכבר ומקלדת (UserInput). (I40579)
  • הצגה של LocalBringIntoViewSpec, התנהגות גלילה שתלויה בפלטפורמה ומופעלת בשכבה של מקש הצירוף שניתן לגלילה. (I27aa5, b/317453911)
  • בוצעה הסרה של TextFieldCharSequence. TextFieldBuffer.originalValues מוחלף ב-TextFieldBuffer.originalText וב-TextFieldBuffer.originalSelection. (I2c7d6)
  • הערך של ImeOptions.hintLocales כבר לא יכול להיות null. אם ברצונך להעביר רשימת לוקאלים ריקה, צריך להשתמש ב-LocaleList.Empty. (Ic5bc4)
  • השם של getOffsetFractionForPage השתנה. השם החדש הוא getOffsetDistanceInPages. (Ia05e2)

תיקוני באגים

  • עכשיו, כשמצרפים את InputTransformations עם next, הערכים של KeyboardOptions שלהם ממוזגים כמו שצריך לפי אפשרויות נפרדות באמצעות השיטה החדשה KeyboardOptions.merge. (Ie5304, b/295951492)
  • הפונקציה targetValue של AnchoredDraggableState לא מביאה בחשבון יותר ערכי סף תלויי מיקום. עכשיו יש לו סף משתמע של 50%, כלומר הערך של targetValue משתנה בנקודת האמצע בין שני ישויות עוגן. (I82c2c)

תרומה חיצונית

  • שני ממשקי API לגלילה שהשתנו (I56a75)

גרסה 1.7.0-alpha06

3 באפריל 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha06 משוחרר. גרסה 1.7.0-alpha06 מכילה את התחייבויות אלה.

תכונות חדשות

  • נוספה תמיכה באנימציה של תצוגת פריטים והיעלמות אל LazyColumn ו-LazyRow. בעבר היה אפשר להוסיף תכונת שינוי של Modifier.animateItemPlacement() כדי לתמוך באנימציות מיקום (סידור מחדש). הוצאנו משימוש את תכונת הצירוף הזו והוספנו תכונת שינוי לא ניסיונית חדשה בשם Modifier.animateItem(), שמאפשרת לתמוך בכל שלושת סוגי האנימציה: מראה (עמעום), היעלמות (הדרגתיות) וסידור מחדש. (I2d7f7, b/150812265)
  • לקוחות של LazyColumn/LazyRow יכולים עכשיו לבטל את ההסכמה לתחזק אינדקס שמבוסס על המפתח למעבר המדידה הבא באמצעות הפעלה של LazyListState.requestToScroll ללא השעיה. (I98036, b/209652366)
  • נוספה שיטת parseAsHtml למחרוזות מעוצבות: היא מאפשרת להמיר מחרוזת שמסומנת בתגי HTML ל-AnnotatedString. לתשומת ליבכם: לא כל התגים נתמכים. לדוגמה, עדיין לא תוכלו להציג רשימות של תבליטים. (I84d3d)
  • הוטמעה תמיכה ניסיונית בצילומי מסך ארוכים בקונטיינרים של גלילה לכתיבת הודעות באמצעות ה-Android API הרשמי (ScrollCaptureCallback). התכונה הזו ניסיונית ויכול להיות שבשלב הזה לא תטפל כראוי בכל המקרים. לכן היא מושבתת כרגע כברירת מחדל. כדי להביע הסכמה, מגדירים את הדגל ComposeFeatureFlag_LongScreenshotsEnabled כ-true. הסימון הזה יוסר לפני גרסת בטא 1.7. (I2b055, b/329296471)
  • אנחנו משיקים API חדש של GraphicsLayer שיספק יותר גמישות במיקום וברינדור של מכונות GraphicsLayer, ויתמוך בתכונות רינדור פנימיות בלי שיהיה צורך לתאם עם הטמעות קומפוזביליות כדי לציין מופעים של מגבילי GraphicsLayer.

שינויים ב-API

  • כברירת מחדל, כל הפרמטרים מסוג KeyboardOptions כוללים עכשיו ערך לא מוגדר. השיטה KeyboardOptions.merge נוספה.
  • שיניתם את השם של KeyboardOptions.autoCorrect ל-autoCorrectEnabled והפכו את השם ל-null. הערך null מציין שלא צוין ערך. (Ia8ba0, b/295951492)
  • השם של outOfBoundsPageCount השתנה. השם החדש הוא beyondViewportPageCount. (I129c6)
  • הערך בעמודה fun ClipEntry.getMetadata() השתנה ל-val ClipEntry.clipMetadata. (I50155)
  • בוצעה הסרה של TextFieldState.valueAsFlow(). העדפה להשתמש ב-snapshotFlow { state.text } או ב-snapshotFlow { TextFieldCharSequence(state.text, state.selection) } (I7d629)
  • הפרמטרים של InputTransformation.transformInput אורגנו מחדש. בוצעה הסרה של originalValue: TextFieldCharSequence. במקום זאת, המשתנה TextFieldBuffer נושא עכשיו את אותו שם. בנוסף, הוסר הפרמטר valueWithChanges: TextFieldBuffer. עכשיו TextFieldBuffer הוא היקף המקלט בפונקציה. (I919cc)
  • בווריאנט BasicTextField(state) וב-BasicSecureTextField משתמשים עכשיו ב-KeyboardActionHandler במקום ב-KeyboardActions כדי לעבד פעולות שבוצעו על ידי מקלדת התוכנה. (I58dda)
  • ממשקי API להענקת גישה לכתיבה ידנית בסטיילוס לתמיכה בכתיבה ידנית בסטיילוס במצב "זיוף" בשדות של קלט הטקסט. (I9c09c, b/327271923)
  • השם של KeyboardOptions.shouldShowKeyboardOnFocus השתנה. השם החדש הוא showKeyboardOnFocus. (Ib4b7a, b/295951492)
  • הפרמטר hintMediaTypes הוסר מהפרמטר Modifier.contentReceiver. אנחנו כבר ממליצים למפתחים לבדוק את סוג המדיה של TransferableContent שהתקבל כי יכול להיות שהוא לא תואם ל-hintMediaTypes שהוגדר. (I82f99)
  • סדר הפרמטרים של BasicSecureTextField השתנה. הוסרו הפרמטרים keyboardType ו-imeAction לטובת מחלקה מלאה KeyboardOptions תוך שמירה על ברירות המחדל הרלוונטיות עבור BasicSecureTextField. בנוסף, הוסר הפרמטר scrollState. (Ibfa9)
  • הסוג של TextFieldState.text השתנה מ-TextFieldCharSequence ל-CharSequence בלבד. לכן, הוסיפו את TextFieldState.selection: TextRange ואת TextFieldState.composition: TextRange? כדי לקרוא את ערכי הבחירה וההרכבה הנוכחיים ישירות מאובייקט המצב.
  • בוצעה הסרה של TextFieldState.forEachTextValue. (Idb2a2)
  • הפונקציות ClipboardManager.getClipMetadata ו-ClipboardManager.hasClip הוסרו. יש להשתמש ב-clipEntry.getMetadata() כדי לקרוא את המטא-נתונים של רשומת הקליפ הנוכחית. צריך גם לבדוק את התוצאה של ClipboardManager.getClip אם היא ריקה או לא כדי להבין אם יש קליפ נוכחי בלוח. (I50498)
  • האפליקציה ClipboardManager.setClip מקבלת עכשיו את הערך null כדי לנקות את הלוח. (I7d2e9)
  • הפונקציה ReceiveContentListener מומרה לממשק פונקציה. גם עומס יתר של Modifier.receiveContent שלוקח lambda הוסר כי ReceiveContentListener הוא ממשק פונקציה.
  • השם של Modifier.receiveContent השתנה ל-Modifier.contentReceiver. (I1e6af)
  • השם של TransferableContent.consumeEach השתנה. השם החדש הוא TransferableContent.consume. (I1e462)
  • הסתיים השדרוג של rememberTextFieldState ל-API יציב. (I37999)

תיקוני באגים

  • תוקן באג שבו וריאנט אחד (BasicTextField(state)) לא עבד במקלדות CJK (מבוססות על הרכב). (I54425)
  • תוקן באג שבו Modifier.dragAndDropTarget() יכול להפנות לנתונים לא פעילים בתרחישים מסוימים, תוך Modifier.Node בשימוש חוזר. (I05bb1)
  • בוטל שינוי בחוזה שהתבצע לאחרונה, שבו שיחות AnchoredDraggableState#anchoredDrag יקובצו בסיום פעולה של anchoredDrag. (I95715)

גרסה 1.7.0-alpha05

20 במרץ 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha05 משוחרר. גרסה 1.7.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוסרה יצירה מקומית ניסיונית מסוג LocalTextLinkStyle לעיצוב היפר-קישורים. (Iebfa7)
  • הוסר שינוי ניסיוני של BasicText עם ארגומנט onLinkClicked. בעתיד נוסיף ממשק API חלופי לתמיכה בהיפר-קישורים. (I107d5)
  • הוסרו שיטות ומאפיינים שקשורים לנקודות קוד בקטע TextFieldState ו-TextFieldBuffer. הוסרו גם הסיומות inChars מממשקי ה-API הנותרים שקשורים לבחירה וליצירה. (Ief7ce)
  • עכשיו המדיניות currentValue של AnchoredDraggable תתעדכן כשיעברו דרך נקודת עוגן. אפשר להשתמש ב-settledValue כדי לקבל את הסמנטיקה הקודמת של currentValue. אפשר לעדכן רק כשמציבים עוגן. ההתקדמות מוצגת עכשיו כפונקציה (נדרשת נקודת התחלה וסיום) במקום נכס. (Ibe6e8, b/318707189, b/298271489, b/294991954)
  • BasicTextField(state), TextFieldState, InputTransformation, OutputTransformation, TextFieldLineLimits ו-TextFieldDecorator שודרגו ליציבות. (I9582b)
  • הצגת InterceptPlatformTextInput לעזרה בכתיבת מבחנים ברמה נמוכה שקשורים ל-IME ותרחישים אחרים לשימוש ב-IME ברמה נמוכה. האפשרות PlatformTextInputTestOverride הוצאה משימוש. (I862ed, b/322680547)
  • פיצול של restrictedConstraints() לשתי שיטות: fitPrioritizingWidth() ו-fitPrioritizingHeight() (I6d7fd)

תרומה חיצונית

  • נוספו 2 ממשקי API חדשים isLastScrollForward/isLastScrollBackward כדי לבדוק את כיוון הגלילה לגבי פעולת הגלילה האחרונה. אם עוד לא הייתה פעולת גלילה, המערכת מחזירה FALSE. (I63a0e)

גרסה 1.7.0-alpha04

6 במרץ 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha04 משוחרר. גרסה 1.7.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • תמיכה בתכונה לכתיבה ידנית בסטיילוס במכשירים אחרי Android U. (I002e4)
  • הוספת את hintLocales אל KeyboardOptions כדי לספק ל-TextFields את היכולת לרמוז על עורכי שיטות קלט (IME) עם לוקאלים ספציפיים להגדרה מראש של שפה מועדפת. (Id18c2)
  • הוסרו עומסי היתר הניסיוניים BasicTextField2 ו-BasicSecureTextField שכללו את הפרמטרים value: String ו-onValueChange: () -> String. (I568b4)
  • מוסיפים פונקציית applySemantics אופציונלית ל-InputTransformation כדי להשפיע על הסמנטיקה של BasicTextField2 שעליהם היא חלה. (I74a2f, b/170648072)
  • ב-CL הזה אנחנו מוסיפים את הפעולה הסמנטית GetScrollViewportLength כדי שנוכל להעביר למערכת a11y מידע על הרכיבים שנגללים במקומם. מדיניות ה-CL הזו מחילה גם את השימוש בנכס שצוין ברשימות הבסיס לגלילה. (Ic5fa2)
  • השם של BasicTextField2 השתנה ל-BasicTextField. (Ie5713)
  • FocusRequester.createRefs יציב עכשיו (I4d92c, b/261436820)
  • הוספה של DelegatableNode.scrollIntoView() מאפשרת לצמתים עם מגביל לשלוח בקשות scrollIntoView ישירות. (I2b3b7, b/299939840)
  • הוספנו את התכונה DelegatableNode.requireView() כדי לאפשר לצמתי מגביל לקבל את הגרסה הנוכחית של Android View בלי לקרוא יצירה מקומית של היצירה. (I40768)
  • חדש: מידע על פריסה לפי הקשר בהיקף השורות של הזרימה לפי הקשר ובהיקף העמודות של הזרימה לפי הקשר, כולל אינדקס קו, מיקום ומגבלות על רוחב וגובה מקסימליים כדי להישאר במיקום שצוין. פריטים שחורגים מהרוחב/גובה המקסימלי עשויים לזרום לשורה הבאה, או שהם יושמטו בהתאם להגדרות הגלישה. (Id13f8, b/292114798)

תיקוני באגים

  • תוקן באג שבו במצבים מסוימים ההחלפה של מאפייני enabled או readOnly של TextField הייתה גורמת לקריסה. (Iae17b)

גרסה 1.7.0-alpha03

21 בפברואר 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha03 משוחרר. גרסה 1.7.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • השקנו את DelegatableNode.requireLayoutCoordinates() כדרך לקבל את הערך בשדה LayoutCoordinates הנוכחי של Modifier.Node, בלי שיהיה צורך לשנות את הערך של onPlaced ולאחסן את הקואורדינטות בנכס בעצמכם. (Ia8657)
  • השקנו את DelegatableNode.currentLayoutCoordinates כדרך לקבל את הערך בשדה LayoutCoordinates הנוכחי של Modifier.Node, בלי שיהיה צורך לשנות את הערך של onPlaced ולאחסן את הקואורדינטות בנכס בעצמכם. (Iaebaa)
  • אופטימיזציה של ביצועים בDraggableAnchors ששימשה את AnchoredDraggable. (I89cff)
  • BasicTextField2 וממשקי API קשורים בחבילה androidx.compose.foundation.text2 מועברים אל androidx.compose.foundation.text. (I9f635)
  • הפרמטר BasicTextField2 לא מקבל יותר את הפרמטר CodepointTransformation. משתמשים ב-BasicSecureTextField או ב-OutputTransformation. (Id34ff)
  • נוספה שיטה להשוואה רק בין ההערות של שני AnnotatedStrings. (I32659)
  • חדש: ContextualFlowRow ו-FlowRow/Column משופר עם MaxLines ו-Overflow. אנחנו שמחים להכריז על שיפורים ב-FlowRow וב-FlowColumn הניסיוניים, שכוללים עכשיו את maxLines ואפשרויות נוספות לתמיכה, לצד הבכורה של ContextualFlowRow ו-ContextualFlowColumn. העדכון הזה נועד לספק רכיבים שמשפרים את הביצועים, כי ContextualFlow* הוא מושלם למספר גדול של פריטים עם הגדרת maxLines קטנה ואפשרות דינמית של +N להצגת לחצנים נוספים. כמו כן, FlowRow ו-FlowColumn מושלמים למספר קטן של פריטים – פחות מ-100 פריטים. חשוב: כדי לשמור על ההתנהגות הקיימת ב-FlowRow או ב-FlowColumn שבהם כל הפריטים מחוברים ללא קשר אם הם מתאימים למגבלה המקסימלית של ציר הציר, צריך להגדיר את overflow ל-FlowRowOverflow.Visible או FlowColumnOverflow.Visible במהלך האתחול. אפשר לעיין ב-ContextualFlowRowSample וב-FlowRowSample כדי לראות דוגמאות של התכונות החדשות האלה בפעולה. (Ib9135, b/293577082)

תיקוני באגים

  • אנימציית הסמן כבר לא מבקשת פריימים בין מצבי ההפעלה והכיבוי. (Ia2253)
  • KeyboardOptions רגל ב-constructors של עותק שהוצאו משימוש, יעתיקו עכשיו בצורה נכונה את כל המאפיינים. (If12de)

גרסה 1.7.0-alpha02

7 בפברואר 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha02 משוחרר. גרסה 1.7.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • HorizontalPager, VerticalPager ו-PagerState קודמו ליציבות. (I67660, b/316966909)
  • נוספה יצירה מקומית מסוג LocalTextLinkStyle שמאפשרת לשנות את סגנון הקישורים בטקסט בכל האפליקציה. אם אתם משתמשים בעיצוב משלכם באפליקציה, עליכם להגדיר את הקומפוזיציה הזו באופן מקומי בהתאם לנושא שלכם. כשמשתמשים בעיצוב Material, הצבע של הקישור יוגדר כברירת מחדל כצבע הראשי של Material. (I7eb10)
  • הוספנו תכונה חדשה של receiveContent שמאפשרת למפתחים לקבל תוכן עשיר ב-Jetpack פיתוח נייטיב.
  • receiveContent משתלב עם BasicTextField2 כדי לקבל תוכן עשיר שסופק על ידי מקלדת התוכנה או באמצעות פעולת הדבקה מהלוח. (I81b72)
  • במסגרת השינוי הזה, אנחנו מחליפים את SnapFlingBehavior באפליקציה TargetedFlingBehavior בתצוגת דפים כדי לאפשר שימוש בתרחישים אחרים וליהנות מגמישות רבה יותר. (I762ea)
  • במסגרת השינוי, אנחנו הופכים את ממשקי Snapping API ליציבים. אנחנו גם מנקים חלק מקוד הבדיקה ומוסיפים עוד דוגמאות ל-Snapping. (Id8da9)
  • הצגה של TargetedFlingBehavior, FlingBehavior שמאפשר להפיץ מידע על מצב האנימציה המתמשכת ועל היסט הגלילה של היעד. (I6a207)

תיקוני באגים

  • BasicTextField2 משאיר את הסמן בתצוגה בזמן ההקלדה – אם הוא נגלל מחוץ לתצוגה או יוצא מהתצוגה עקב קלט. (Ieb856, b/237190748)

תרומה חיצונית

  • הוספת API ניסיוני להגדרת התנהגות של שליפה מראש (prefetch) של LazyLists. (I022a4)

גרסה 1.7.0-alpha01

24 בינואר 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha01 משוחרר. גרסה 1.7.0-alpha01 מכילה את התחייבויות אלה.

תכונות חדשות

  • נוסף Indication API חדש, IndicationNodeFactory. כתוצאה מכך, הטמעות Indication שמניבות ביצועים טובים יותר בהשוואה לממשק ה-API הקודם של rememberUpdatedInstance (שיצא משימוש). מידע על ההעברה זמין בכתובת developer.android.com.
  • clickable / combinedClickable / selectable / toggleable מקבל עכשיו פרמטר MutableInteractionSource שאינו יכול להיות null. אם הערך הוא null והשדה Indication שצוין הוא IndicationNodeFactory, אפשר ליצור את Indication באופן מדורג רק במקרה הצורך. הפעולה הזו משפרת את הביצועים. אם לא מתבצעת העלאה ומשתמשים ב-MutableInteractionSource, מומלץ להעביר ערך null.

שינויים ב-API

  • הזנה של DecayAnimation ב-AnchoredDraggable. השינוי הזה מוסיף פרמטר decayAnimationSpec ל-AnchoredDraggable, שמאפשר להשתמש באנימציה של דעיכה כשמתבצע חיבור לאחד מהעוגנים. השינוי כולל גם את שינוי השם של animationSpec הקיים ל-snapAnimationSpec כדי לעזור בהבנת התרחיש לדוגמה של כל מפרט.
  • BasicTextField2 זמין לשימוש ניסיוני. הוא צריך להיות תואם בערך לתכונות עם BasicTextField, וההתנהגות צריכה להיות מוכנה לייצור. עם זאת, נכון לעכשיו ה-API עדיין ניסיוני. לפני הייצוב, השם שלו ישתנה ל-BasicTextField ויועבר לאותה חבילה.
  • הוצגה הטיוטה הראשונה של ה-API של OutputTransformation ל-BasicTextField2. ה-API הזה מחליף את רוב התרחישים לדוגמה של VisualTransformation בגרסה הישנה של BasicTextField. אמנם התהליך עדיין לא הושלם, ויש דברים שלא יפעלו בצורה תקינה, אבל נבקש ממך משוב לגבי נוחות השימוש של ה-API בתרחישים לדוגמה שלך. (aosp/2708848)
  • הוספנו את המוצר LinkAnnotation שמאפשר להוסיף לטקסט קישורים וקישורים לחיצים. יצירת הקישורים עדיין לא הושלמה, בקרוב צפויים שינויים נוספים ב-API.
  • הוספנו תכונה חדשה של receiveContent שמאפשרת למפתחים לקבל תוכן עשיר ב-Jetpack פיתוח נייטיב.
  • receiveContent משתלב עם BasicTextField2 כדי לקבל תוכן עשיר שמסופק על ידי מקלדת התוכנה או באמצעות הדבקה מהלוח.
  • KeyboardOptions.shouldShowKeyboardOnFocus מאפשר להשבית את התנהגות ברירת המחדל של BasicTextField כשמפעילים בקשה להתמקדות במקלדת תוכנה.
  • TextInputService ו-LocalTextInputService הוצאו משימוש. במקום זאת, צריך להשתמש ב-PlatformTextInputModifierNode כדי לשלב ישירות עם ממשקי API של IME של הפלטפורמה. (aosp/2862698)
  • האפשרות Indication#rememberUpdatedInstance הוצאה משימוש. לקמפיין יש קנס גבוה ובלתי נמנע על הביצועים, והוא מונע פעולות אופטימיזציה אחרות. במקום זאת, צריך להשתמש ב-API החדש של IndicationNodeFactory.

תיקוני באגים

  • עכשיו BasicTextField יבצע אימות מראש של מבחר קטן של מיפויי היסט אחרי VisualTransformation. כך תוכלו לזהות שגיאות תכנות נפוצות שמובילות לחריגות שאי אפשר לשחזר במדידה או בציור כרטיסים מאוחר יותר. בגלל השלכה במהלך הרכבה, סביר יותר שהמפתחים יראו את השגיאות האלה במהלך הפיתוח כדי להימנע מקריסות של סביבת הייצור. (I0fd42)
  • VisualTransformation לא יזרק אם תחזיר אינדקס לא חוקי עבור אינדקס לא חוקי (b/316401857 )

גרסה 1.6

גרסה 1.6.8

12 ביוני 2024

androidx.compose.foundation:foundation-*:1.6.8 משוחרר. גרסה 1.6.8 כוללת את ההתחייבויות האלה.

גרסה 1.6.7

1 במאי 2024

androidx.compose.foundation:foundation-*:1.6.7 משוחרר. גרסה 1.6.7 כוללת את ההתחייבויות האלה.

גרסה 1.6.6

17 באפריל 2024

androidx.compose.foundation:foundation-*:1.6.6 משוחרר. גרסה 1.6.6 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקן באג שבו במצבים מסוימים ההחלפה של מאפייני enabled או readOnly של TextField הייתה גורמת לקריסה. (Iae17b)

גרסה 1.6.5

3 באפריל 2024

androidx.compose.foundation:foundation-*:1.6.5 משוחרר. גרסה 1.6.5 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • הוספת יומני ניפוי באגים לבאגים שקשה לשחזר בשורה/עמודה: (b/300280216 וגם b/297974033)

גרסה 1.6.4

20 במרץ 2024

androidx.compose.foundation:foundation-*:1.6.4 משוחרר. גרסה 1.6.4 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תנועת בחירה בלחיצה ארוכה ולאחר מכן גרירה, שיוצאת מגבולות הפריסה של הטקסט בפריים הראשון של הגרירה, כבר לא קורסת. (Icdf90, b/325307463)

גרסה 1.6.3

6 במרץ 2024

androidx.compose.foundation:foundation-*:1.6.3 משוחרר. גרסה 1.6.3 כוללת את ההתחייבויות האלה.

גרסה 1.6.2

21 בפברואר 2024

androidx.compose.foundation:foundation-*:1.6.2 משוחרר. גרסה 1.6.2 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • צריך לתקן את השגיאה AnimateContentSize שלא מתאפסת כמו שצריך. (I07051)
  • פתרון בעיה שבה intrinsicHeight של טקסט נשמר במטמון יותר מדי בנסיבות מסוימות. (3cd398, b/217910352)

גרסה 1.6.1

7 בפברואר 2024

androidx.compose.foundation:foundation-*:1.6.1 משוחרר. גרסה 1.6.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תיקון מידה של רשת מדורגת כשגוללים מעבר למגבלה. (bffc39)
  • כדאי לבדוק אם יש פריסה במידות גדולות. (e74af5)
  • קביעת המיקום של 0 פריטים בתחילת הרשת המדורגת. (785f94)
  • מפעילים את אפשרות הקריאה החוזרת (callback) באותו סדר כמו ב-Forgotten. (31ce3b)

גרסה 1.6.0

24 בינואר 2024

androidx.compose.foundation:foundation-*:1.6.0 משוחרר. גרסה 1.6.0 כוללת את ההתחייבויות האלה.

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

  • מגביל חדש Modifier.anchoredDraggable שמעניק את היכולת לגרור ולהנפיש בין קבוצות עוגנים שהוגדרו מראש. הכלי לשינוי הזה נועד להחליף את Modifier.swipeable. במדריך להעברת נתונים אפשר לקרוא איך להשתמש בו ולעבור מ-Modifier.swipeable.
  • נוספה פונקציונליות של גרירה ושחרור בין אפליקציות ורכיבים. כדי להתחיל, כדאי לעיין ב-DragAndDropTarget, ב-Modifier.dragAndDropSource ובממשקי API אחרים
  • Modifier.draggable2D הוא המגביל החדש שמאפשר תמיכה בגרירה דו-ממדית בקלות. ראו דוגמה.
  • AndroidExternalSurface ו-AndroidEmbeddedExternalSurface נוספו כדי שיהיה קל יותר להוסיף רכיבים מבוססי-שטח לכתיבה
  • שינויים ושיפורים שונים בממשקי API ב-Pager וב-snapFlingBehaviour
  • ממשקי API שונים של התמקדות, טקסט ורכיבים שונים קודמו לממשקי API יציבים

גרסה 1.6.0-rc01

10 בינואר 2024

androidx.compose.foundation:foundation-*:1.6.0-rc01 משוחרר. גרסה 1.6.0-rc01 מכילה את שמירות האלה.

שינויים ב-API

  • בנאי התוספים של DragAndDropTarget() הוסר. יוצרים מכונה חדשה באמצעות object: DragAndDropTarget {}. (I32318)

גרסה 1.6.0-beta03

13 בדצמבר 2023

androidx.compose.foundation:foundation-*:1.6.0-beta03 משוחרר. גרסה 1.6.0-beta03 מכילה את התחייבויות אלה.

תיקוני באגים

  • תיקון קריסה שהשפיעה על טקסט גדול מאוד שנמדד ללא הגבלה. (I1a7df, b/312294386)
  • עכשיו PlatformImeOptions הוא מחלקה קונקרטית במקום ממשק. (If40a4)

גרסה 1.6.0-beta02

29 בנובמבר 2023

androidx.compose.foundation:foundation-*:1.6.0-beta02 משוחרר. גרסה 1.6.0-beta02 מכילה את התחייבויות אלה.

תיקוני באגים

  • הפתרון לבעיה canScroll לא מתעדכן אחרי גלילה בממסר בלבד. (I60a86)
  • תיקון עבור Modifier.animateItemPlacement() ו-LookaheadScope לאחר גלילות קטנות. (I3a2b7)

גרסה 1.6.0-beta01

15 בנובמבר 2023

androidx.compose.foundation:foundation-*:1.6.0-beta01 משוחרר. גרסה 1.6.0-beta01 מכילה את התחייבויות אלה.

שינויים ב-API

  • מגביל ה-DragAndDropTarget מקבל עכשיו את ה-DragAndDropTarget המקבל באופן מפורש, וכולל lambda להצטרפות לסשן גרירה ושחרור. עכשיו יש שתי פעולות המקוריות לDragAndDropModifierNode. אחד לקבלת העברות ואחד להעברת נתונים (I69481)
  • maximumFlingVelocity עודכן כך שמיוצג כ-Float. המסמכים עודכנו כדי להיות ברורים יותר על האחדות maximumFlingVelocity. (I8adc7)
  • onDragAndDropStart בDragAndDropModifierNode שם המפעל השתנה ל-acceptDragAndDropTransfer.

    acceptsDragAndDropTransfer נוסף אל dragAndDropTarget Modifier כדי לאשר באמצעות גרירה ושחרור. lambda כזה מחזיר DragAndDropTarget אם מעניין אותך בסשן של גרירה ושחרור. פונקציות lambda אחרות לעיבוד אירועי גרירה הוחלפו בכלי הזה.

    פונקציה זו של היצרן DragAndDropTarget נוספה לקבלה מהפעלות גרירה ושחרור (Iebf3a)

  • חשיפת startDragImmediately ב-AnchoredDraggable מעניקה שליטה בזיהוי תנועות גרירה כשמשתמשים בו. מומלץ להגדיר אותו כאשר הווידג'ט יוצר אנימציה לעוגן יעד. ראו דוגמה. (Ie6d13, b/285139987)

  • ממשקי ה-API של הסבר קצר על בסיס הם עכשיו @ExperimentalFoundationApi (I30b0b)

  • הסרת DragAndDropInfo מסוג DragAndDropModifierNode.drag שניתן להוסיף עכשיו פרמטרים ל-transferData, גודל קישוט ועיטור גרירה DrawScope lambda

    ל-DragAndDropTarget יש שיטות לאירועי גרירה ושחרור ספציפיים במקום להיות שיטה מופשטת אחת

    השם של onDragAndDropEvent בפונקציית היצרן של DragAndDropModifierNode שונה ל-onDragAndDropStart כדי ליידע טוב יותר שה-DragAndDropTarget שסופק תקף לסשן נתון של גרירה ושחרור בלבד

    ה-DragAndDropEventType הוסר (I645b1)

  • השם של PlatformTextInputModifierNode.runTextInputSession השתנה. השם החדש הוא establishTextInputSession. I03cd0

  • מחליפים את OriginalText ב-TextSubstitution. (Ifa5a8)

  • השם של PlatformTextInputModifierNode.textInputSession השתנה. השם החדש הוא runTextInputSession. (Ie9c6b)

  • הצאצאים של SubcomposeLayout (ופריסות המבוססות על LazyColumn) שנשמרות לשימוש חוזר בעתיד נחשבות מושבתות. הושק assertIsDeactivated() API חדש לבדיקה כדי לבדוק צמתים כאלה. כברירת מחדל, שאר ממשקי ה-API לבדיקה יסוננו צמתים מושבתים. (I2ef84, b/187188981)

  • השם של הפרמטר clippingEnabled של Modifier.magnifier השתנה ל-clip.

  • הפרמטר magnifierCenter של Modifier.magnifier מוגדר כ-null תוך שמירה על אותה התנהגות המוגדרת כברירת מחדל. (I6aa66)

  • ממשקי API מהותיים מסוג SwipeToReveal (לכרטיסים וצ'יפים) מסתמכים עכשיו על API מבוסס משבצות (לפי ההמלצה של Compose) במקום על מכונות שמבוססות על סיווג נתונים כדי ליצור את המקומות האלה. זהו שינוי תוכנה שעלול לגרום לכשל. אפשר לעיין בהדגמה ובקוד לדוגמה כדי לראות דוגמאות לשימוש ב-API החדש. (Ia8943)

תיקוני באגים

  • הטמעה של השווה ו-hashcode עבור PageSize.Fixed. (Ie3ede, b/300134276)
  • תוקן באג שגרם לא להתכווץ של הפריסה BasicText כששינוי של minWidth ו-minWidth פחות ממגבלות המדידה הראשונית maxWidth (Idb19c)
  • הוספת תמיכה בכלי לרינדור עבור Sweep Gradient ב-ArcLine. (I4d5b)
  • פתרון של בעיית תאימות בינארית עם שינוי Inset של חלון (Iee695)
  • הסרת שכבת הליבה של החומר עבור צ'יפ/לחצן של Material3, כי המיקרו-בנצ'מרקים מראים ביצועים טובים יותר בלעדיה. (I55555)

גרסה 1.6.0-alpha08

18 באוקטובר 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha08 משוחרר. גרסה 1.6.0-alpha08 מכילה את התחייבויות אלה.

תכונות חדשות

  • Modifier.draggable2D הוא הצירוף החדש שמאפשר תמיכה בגרירה דו-ממדית בקלות. ראו דוגמה (Id95f5, b/214412658)

שינויים ב-API

  • השם של Modifier.dragAndDrawSource השתנה ל-onDrawDragShadow lambda ל-drawDragDecoration, ו-DragAndDropInfo שונה מפרמטר הגודל ל-dragDecorationSize. (Id0e30, b/303904810)
  • השם של הפרמטר decorationBox של BasicTextField2 השתנה ל-decorator. גם הסוג שלו משתנה לממשק מקביל בסגנון כיפי TextFieldDecorator. (I23c1c)

תיקוני באגים

  • תיעוד משופר ב-BasicTextField לגבי הדרישות של onValueChange. (I90fc9, b/160257648)

גרסה 1.6.0-alpha07

4 באוקטובר 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha07 משוחרר. גרסה 1.6.0-alpha07 מכילה את התחייבויות אלה.

שינויים ב-API

  • הושק PlatformTextInputMethodTestOverride לכתיבה של בדיקות לעורכי טקסט בהתאמה אישית. (Id159b)
  • השם של GraphicsSurface שונה ל-AndroidExternalSurface (I11680)
  • נוסף סימון זמני DisableNonLinearFontScalingInCompose כדי להשבית שינוי גודל גופנים לא לינארי. אם דרושה לך זמן לנקות אותם, אפשר להגדיר את DisableNonLinearFontScalingInCompose = true בבדיקות שלך. הדגל הזה יוסר בכתיבה שלך בגרסה 1.6.0-beta01. (Ic9486)
  • נוספו אוספים ColorList ו-ColorSet שלא כוללים הקצאות. (I744bd)
  • השינוי הזה מסיר את shortSnapVelocityThreshold, שהפך לפרטי הטמעה של SnapLayoutInfoProvider. (I65f6d)
  • מוסיף את המתאם dragAndDropSource להתחלת סשנים של גרירה ושחרור, ואת המתאם dragAndDropTarget לקבלת מסשנים של גרירה ושחרור (Ib7828, b/286038936)
  • עדכון מסמכי התיעוד ושיטת המיקום של SnapPositionInLayout. הצגה של מרווחים פנימיים של תוכן בשיטת המיקום ב-SnapPositionInLayout. (Id7938, b/300116110)
  • הוספת את UndoState אל TextFieldState כדי לאפשר ביטול או ביצוע מחדש של השינויים שהמשתמש ביצע. (Icc024)

תיקוני באגים

  • תוקנה האנימציה של basicMarquee אחרי שינוי המהירות. (Id2e77, b/297974036)

גרסה 1.6.0-alpha06

20 בספטמבר 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha06 משוחרר. גרסה 1.6.0-alpha06 מכילה את התחייבויות אלה.

תכונות חדשות

  • רכיבי wrapper חדשים של SurfaceView וגם TextureView: GraphicsSurface() ו-EmbeddedGraphicsSurface(). זהו API ניסיוני והוא עשוי להשתנות ולשינויים. (I9ddb2)
  • Modifier.magnifier() הוא עכשיו API יציב. זה כולל הסרה של MagnifierStyle לטובת פרמטרים בתוך השורה בהתאמה עצמה. (I83bec, b/298381260, b/262367109, b/261438887)

שינויים ב-API

  • הצגנו את updateCurrentPage ו-updateTargetPage ב-ScrollScope. אלה הקטעים האחרונים שדרושים כדי לאפשר התאמה אישית של גלילה מונפשת עד PagerState.scroll. (I9cad5, b/267744105, b/243786897)
  • הסרת הצפיפות מ-SnapFlingBehavior. בכל האפליקציות של SnapLayoutInfoProvider כבר יש דרך לגשת לצפיפות. אפשר להסיר את היקף המקלט, דבר שעלול להוביל להטמעה פחות מורכבת של SnapFlingBehavior ושל SnapLayoutInfoProviders. (I153c3)
  • עוד מגבילי התאמה סומנו כיציבים. (I56af1, b/298046462)
  • המשתמש SnapStepSize הוסר מהמרחב המשותף 'SnapLayoutInfoProvider'. יש לבצע את החישוב באמצעות פרטי הפריסה, ולהינתן באמצעות גישה או קיזוזי הצמדה. (If320c)

שינויים בהתנהגות

  • התכונה 'כתיבה' משתמשת עכשיו בשינוי לא לינארי של גופנים, כדי לשפר את הקריאוּת והנגישות שלה. במקרה של שינוי קנה מידה של גופן > 100% בהגדרות המערכת: טקסט קטן יגדל כרגיל, וטקסט גדול יותר יגדל במידה מועטה בלבד. כמו כן, גובהי השורות שמוגדרים ב-SP יותאמו אוטומטית כדי להישאר פרופורציונליים לגובה המיועד של 100%. למידע נוסף, ראו שיטות מומלצות להתאמת הגופנים לגודל הגופן. (I11518)

תיקוני באגים

  • צריך להסיר את השימוש בrememberSaveable כדי לקבל הסברים קצרים. (Icc131, b/299500338)

גרסה 1.6.0-alpha05

6 בספטמבר 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha05 משוחרר. גרסה 1.6.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

  • צריך להוסיף עומסי יתר עבור BasicSecureTextField שמקבלים ערך שלא ניתן לשינוי וקריאה חוזרת כדי לשנות את הערך הזה, בדיוק כמו ב-API הנוכחי של BasicTextField. (Ia4882)
  • צריך להוסיף את Modifier.preferKeepClear() כדי לסמן כתוכן קומפוזבילי כהעדפה, כדי להימנע מחלונות צפים ב-API 33 ואילך. (Ib51d5, b/297260115)
  • מהירויות התנועה ברכיבים בתצוגה, כמו ScrollView ו-RecyclerView, מוגבלות ב-ViewConfiguration.ScaledMaximumFlingVelocity. ההצעות לכתיבה מכילות עכשיו גרסה משלה של maximumFlingVelocity שחלה עכשיו על Draggable. (Ibf974)
  • הוסרו עומסי יתר של Pager ו-PagerState שהוצאו משימוש. (Iea07e)
  • הוספנו את BasicTooltipBox אל compose.foundation, ועדכנו את PlainTooltipBox ואת RichTooltipBox לשימוש ב-TooltipBox עם תכנים קומפוזביליים חדשים של PlainTooltip ו-RichTooltip. (I79e1d)

גרסה 1.6.0-alpha04

23 באוגוסט 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha04 משוחרר. גרסה 1.6.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת ממשק ReusableComposition לניהול מחזור חיים ושימוש חוזר בהרכבת משנה. (I812d1, b/252846775)
  • Modifier.focusGroup קודמה לממשקי API יציבים. (I7ffa3)
  • צריך להוסיף עומסי יתר עבור BasicTextField2 שמקבלים ערך שלא ניתן לשינוי וקריאה חוזרת כדי לשנות את הערך הזה, בדיוק כמו ב-API הנוכחי של BasicTextField. (I3f2b8)
  • GridItemSpan::currentLineSpan הוא עכשיו API יציב. (Icc29c)
  • לוח הציור שתומך ב-contentDescription הוא עכשיו API יציב. (Ib3d29)
  • הוספנו את viewportSize ב-ScrollState, דרך לדעת מה הגודל של viewPort של הרכיב שמשתמש ב-ScrollState אחרי שהמדידה מתרחשת. (I8b85a, b/283102682)
  • תוקנה בעיה שבה השליפה מראש (prefetch) ב-Pager לא תאמה להתנהגות בתצוגות. (I93352, b/289088847)
  • המכשיר Modifier.consumeWindowInsets(PaddingValues) יציב עכשיו.
    • ממשק ה-API Deprecated Modifier.consumedWindowInsets הוסר. במקומה צריך להשתמש במדיניות Modifier.consumeWindowInsets. (Id72b)

גרסה 1.6.0-alpha03

9 באוגוסט 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha03 משוחרר. גרסה 1.6.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוסף עומס יתר של LazyLayout, הוא מקבל lambda של LazyLayoutItemProvider, לא אובייקט פשוט כמו קודם. עומס היתר הקודם הוצא משימוש. (I42a5a)
  • נוספה תמיכה בהגדרת privateImeOptions (Idb772)

תיקוני באגים

  • שדות טקסט תוקנו שמציגים את המקלדת ויכולים לערוך אותם כאשר הערך של readOnly מוגדר כ-True. תוקנה גם המקלדת שלא מוצגת כשמשנים את readOnly מ-True ל-False בזמן המיקוד. (I34a19, b/246909589)

גרסה 1.6.0-alpha02

26 ביולי 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha02 משוחרר. גרסה 1.6.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • PagerLayoutInfo הוצג עם מידע שנאסף אחרי שעבר בהצלחה מדידה בPager. הוספנו גם את PageInfo, המידע על דף יחיד שנמדד ב-Pager. (Iad003, b/283098900)
  • הערות נוספות שמציינות ערכי קלט מותרים לתכנים קומפוזביליים (I51109)
  • הוספנו את SemanticsNodeInteraction.requestFocus כדרך נוחה יותר וגלויה יותר לבקשת התמקדות בבדיקות. (Ie8722)
  • ממשק ה-API של PlatformTextInput* השתנה לגמרי. (I6c93a, b/274661182, b/267235947, b/277380808)
  • התכונות SoftwareKeyboardController ו-LocalSoftwareKeyboardController כבר לא ניסיוניות. LocalSoftwareKeyboardController הוא גם CompositionLocal עכשיו כמו שצריך. (I4c364)
  • עכשיו הפונקציה Modifier.transformable מספקת עכשיו את האפשרות 'הזזה בצילום משהו שנע' בפרמטר canPan כדי לעזור לקבוע את כיוון התנועה. (I692aa, b/266829800)
  • עדכון המגביל consumeWindowInsets כדי להרחיב את מחלקת העל AbstractComposeView (Iacd74, b/269479941)

גרסה 1.6.0-alpha01

21 ביוני 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha01 משוחרר. גרסה 1.6.0-alpha01 מכילה את התחייבויות אלה.

תכונות חדשות

  • השקת API חדש של AnchoredDraggable ב-Fundamentals. אפשר להשתמש בו כדי לבנות רכיבים שאפשר לגרור בין מצבים נפרדים, כמו גיליונות תחתון של מודל מודאלי. ה-API הזה מחליף את ה-API Swipeable של Material. (I4a2ed)

שינויים ב-API

  • תמיכה ב-InputConnection#requestCursorUpdates (I0c69b)
  • הוספנו את scrollAnimationSpec כדי לאפשר שימוש במפרטים של אנימציה בהתאמה אישית. ההגדרה של BringIntoViewCalculator עודכנה ועכשיו היא BringIntoViewScroller. (Idb741)
  • צריך להוסיף סוג ResourceResolutionException לאריזה של פריטים שנזרקים לאריזה כשמנסים לטעון נכסי מפת סיביות (bitmap) עם תיאור של נתיב הנכס שלא נטען. (I19f44, b/230166331, b/278424788)
  • נוספו מאפייני סמנטיקה ופעולות לתמיכה בתרגום טקסט. (I4a6bc)
  • השקנו API של BringIntoViewCalculator שיכול לשמש להתאמה אישית של האופן שבו רכיבים כמו Scrollable מגיבים לבקשות של bringIntoView. שיניתם את עומס יתר של מודעות שאפשר לגלול כדי לאשר מופע של BringIntoViewCalculator. (Iaf5af)

תיקוני באגים

  • נוספה בדיקת שגיאות בקוד כדי להזהיר אם יוצרים MutableInteractionSource בקומפוזיציה בלי לזכור אותו, בדומה לבדיקות לאיתור שגיאות בקוד ליצירת מצב שניתן לשינוי / Animatable. (I5daae)
  • נוספה תמיכה בבחירה באמצעות העכבר. בחירה מבוססת מגע תתרחב במילים ותתכווץ לפי תו. (Ic0c6c, b/180639271)
  • נוסף ממשק FocusTargetModifierNode שניתן להשתמש בו כדי ליצור FocusTarget בהתאמה אישית. (I9790e)

גירסה 1.5

גרסה 1.5.4

18 באוקטובר 2023

androidx.compose.foundation:foundation-*:1.5.4 משוחרר. גרסה 1.5.4 כוללת את ההתחייבויות האלה.

גרסה 1.5.3

4 באוקטובר 2023

androidx.compose.foundation:foundation-*:1.5.3 משוחרר. אין שינויים בגרסה הזו.

גרסה 1.5.2

27 בספטמבר 2023

androidx.compose.foundation:foundation-*:1.5.2 משוחרר. גרסה 1.5.2 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקן באג בטקסט שגרם לקריסות בנסיבות מסוימות שבהן הסמנטיקה בוטלה.

גירסה 1.5.1

6 בספטמבר 2023

androidx.compose.foundation:foundation-*:1.5.1 משוחרר. גרסה 1.5.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • שדות טקסט תוקנו שמציגים את המקלדת ויכולים לערוך אותם כאשר הערך של readOnly מוגדר כ-True. תוקנה גם המקלדת שלא מוצגת כשמשנים את readOnly מ-True ל-False בזמן המיקוד. (I34a19, b/246909589)

גרסה 1.5.0

9 באוגוסט 2023

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

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

  • מגבילי התאמה בסיסיים רבים, כולל Modifier.clickable,Modifier.draggable, Modifier.scrollable, מגביל פריסה ועוד הועברו ל-API של Modifier.Node, מה שמקטין את התקורה על ההרכבה הראשונית.
  • שיפורים ביציבות של Pagers. הרבה באגים טופלו.
  • פרמטרים של pageCount נמצאים עכשיו ב-PagerState במקום בזימונית עצמה

גרסה 1.5.0-rc01

26 ביולי 2023

androidx.compose.foundation:foundation-*:1.5.0-rc01 משוחרר. גרסה 1.5.0-rc01 מכילה את ההתחייבויות האלה.

תיקוני באגים

  • אפשר לבצע בדיקה אופציונלית כדי להמליץ על מיגרציה של קריאות mutableStateOf() לסוגים ספציפיים של קריאות פרימיטיביים. המזהה של איתור השגיאות בקוד הוא AutoboxingStateCreation. בעבר, הבדיקה הזו הופעלה כברירת מחדל בכל הפרויקטים. כדי לראות את האזהרה הזו בעורך של Android Studio ובפלט של איתור השגיאות בקוד, צריך לשנות את חומרת האזהרה מ'אינפורמטיבית' ל'אזהרה' (או גבוהה יותר). לשם כך, צריך להצהיר על warning "AutoboxingStateCreation" בהגדרות build.gradle או build.gradle.kts של המודול כפי שמוצג (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

גרסה 1.5.0-beta03

28 ביוני 2023

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

גרסה 1.5.0-beta02

7 ביוני 2023

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

גרסה 1.5.0-beta01

24 במאי 2023

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

שינויים ב-API

  • צריך להטמיע PlatformDataProvider כדי למדוד את הדופק ומספר הצעדים היומיים. הממשק SensorGateway הוסר מה-API הציבורי. (I55b84)

תיקוני באגים

  • הפחתת ההקצאות של רשימות עצלות/רשתות עצלניות וכו' מדידות (Iaf9e2)
  • הקצאות מופחתות בעת החלת תמונות מצב (I65c09)
  • הקצאות שהוסרו מאנימציות אביב (Ie9431)
  • הוסרה ההקצאה מ-TextLayout (I0fd11)
  • הוסרו הקצאות מרובות במעקב אחר מהירות המצביע (I26bae)

גרסה 1.5.0-alpha04

10 במאי 2023

androidx.compose.foundation:foundation:1.5.0-alpha04 ו-androidx.compose.foundation:foundation-layout:1.5.0-alpha04 שוחררו. גרסה 1.5.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה אופטימיזציה של TextStyle.merge(...) עם רשימת הפרמטרים המלאה. (Iad234, b/246961787)
  • כאן מציגים SnapLayoutInfoProvider שאפשר להשתמש בו עם LazyGridState. (I92134, b/269237141, b/260914964)
  • הניסוי הניסיוני Modifier.animateItemPlacement() נוסף להיקף הפריטים של רשתות מדורגות מדורגת. ניתן להחיל אותה על הפריטים כדי להשיג את שינוי המיקום האוטומטי או שינוי הסדר של האנימציות. (I4b62d, b/257034719)
  • קידום של GridCells.FixedSize ליציבות. FixedSize מגדיר LazyGrid שבו כל תא מקבל גודל מדויק על צירים שונים, כאשר השטח הנותר מחולק לפי סידור בצירים שונים. (I8542f)
  • נוסף היקף המקבל PagerScope לזימונית ופונקציית עזר לחישוב היסט נתון של דף. (If2577)
  • יש להציג את snapPositionalThreshold כשיוצרים התנהגות של הנפה מהירה. משתמשים בפרמטר הזה כדי לציין סף מיקום להצמדה קצרה ב-Pager. (If8f7f)
  • הטקסט SnapLayoutInfoProvider.calculateSnappingOffsetBounds הוחלף בטקסט calculateSnappingOffset. בשיטה החדשה הזו, אנחנו פשוט מבקשים את ההיסט הבא שאליו תתבצע הצמדה. חישוב הגבולות צריך להתבצע ברמת ההטמעה, מכיוון שהדבר עשוי להשתנות בהתאם לאופן שבו צריך להצמיד את הגבולות. (I923a4)
  • LazyStaggeredGrid ממשקי API קודמו ליציבות. (I633a5)
  • הסרה של pageCount מהחשבון Horizontal/VerticalPager. צריך לספק את המזהה בתהליך יצירת המדינה. עודכנו PagerState ו-rememberPagerState כדי לאשר את pageCount. (Ieb52d, b/266965072)
  • הסרה של pageCount מהחשבון Horizontal/VerticalPager. צריך לספק את המזהה בתהליך יצירת המדינה. עודכנו PagerState ו-rememberPagerState כדי לאשר את pageCount. (Ifa3cb, b/266965072)
  • הצגה של shortSnapVelocityThreshold בSnapFlingBehavior של זימונית. (I7379e, b/275579012)
  • הפונקציה מוסיפה FlowRowScope ו-FlowColumnScope. (I54fe2)

תיקוני באגים

  • קריאות לקבלת סמנטיקה ב-Text כאשר האילוצים כוללים minWidth ו-minHeight כבר לא קורסות. (Ibd072)
  • תוקנה רגרסיה שבה המקלדת לא הוצגה עבור שדות טקסט בתיבות דו-שיח שלא נוצרו על ידי התוכן הקומפוזבילי Dialog. (I82551, b/262140644)

גרסה 1.5.0-alpha03

19 באפריל 2023

androidx.compose.foundation:foundation:1.5.0-alpha03 ו-androidx.compose.foundation:foundation-layout:1.5.0-alpha03 שוחררו. גרסה 1.5.0-alpha03 מכילה את התחייבויות אלה.

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

אם מופיעים שינויים בטקסט שעבר רינדור, אפשר לנפות באגים על ידי הגדרה של NewTextRendering1_5 = false כדי לאשר את ההבדל בהתנהגות. הגדרת האפשרות הזו תאלץ הרכבה מחדש. אם יש הבדלים בהתנהגות, צריך לציין אותם כבאגים.

סימון ניפוי הבאגים יוסר לפני גרסת בטא 1.5 בטא.(Iada23, b/246960758)

שינויים ב-API

  • הגדירו את FlowColumn/FlowRow בתוך שורה. (Idab37)

גרסה 1.5.0-alpha02

5 באפריל 2023

androidx.compose.foundation:foundation:1.5.0-alpha02 ו-androidx.compose.foundation:foundation-layout:1.5.0-alpha02 שוחררו. גרסה 1.5.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה תמיכה בתאים בגודל קבוע בתוך LazyGrid וסידור שלהם לפי צירים שונים. (I83ed9, b/235121277, b/267942510)
  • נוספה תמיכה בנתיבים בגודל קבוע בLazyStaggeredGrid וסידור שלהם לפי צירים שונים. (I7d519)
  • עכשיו אפשר לפתוח UrlAnnotation באפליקציות AnnotatedString באמצעות שירותי נגישות כמו TalkBack. (If4d82, b/253292081)
  • נוספה פעולת הסמנטיקה InsertTextAtCursor לשדות טקסט. (I11ed5)
  • פעולות בדיקה הקשורות לטקסט (למשל performTextInput) יבקשו מעכשיו להתמקד ישירות באמצעות הפעולה הסמנטית, במקום ללחוץ על השדה. (I6ed05)
  • נוספה תמיכה ברווחים/סידור בין צירים באמצעות verticalArrangement ב-FlowRow ו-horizontalArrangement ב-FlowColumn. אנחנו מסירים גם את verticalAlignment ואת horizontalAlignment ברמה העליונה בFlowRow/FlowColumn. מפתחים יכולים להשתמש ב-Modifier.align במקום זאת. כך אפשר להפחית את הבלבול בין המוסכמות מתן השמות של verticalAlignment ושל verticalArrangement. (I87b60, b/268365538)

גרסה 1.5.0-alpha01

22 במרץ 2023

androidx.compose.foundation:foundation:1.5.0-alpha01 ו-androidx.compose.foundation:foundation-layout:1.5.0-alpha01 שוחררו. גרסה 1.5.0-alpha01 מכילה את התחייבויות אלה.

שינויים ב-API

  • הפורמט של הטקסט ו-BasicText משתנה בהתאם למערכת הצירוף החדשה. במקרים רבים, העדכון הזה מוביל לשיפורים משמעותיים בביצועים. שינויים לא צריכים להיות גלויים. (If1d17, b/246961435)
  • נוספה פעולת הסמנטיקה PerformImeAction כדי להפעיל את הפעולה IME בצמתים של עורך טקסט. (Ic606f, b/269633506)

תיקוני באגים

  • עודכנו הפנימיים של Modifier.hoverable. הצירוף hoverable יוצג בכלי הבדיקה רק אם הוא מופעל. (I82103)

גרסה 1.4

גרסה 1.4.3

3 במאי 2023

androidx.compose.foundation:foundation:1.4.3 ו-androidx.compose.foundation:foundation-layout:1.4.3 שוחררו ללא שינויים (רק שדרוג של גרסה).

גרסה 1.4.2

19 באפריל 2023

androidx.compose.foundation:foundation:1.4.2 ו-androidx.compose.foundation:foundation-layout:1.4.2 שוחררו. גרסה 1.4.2 כוללת את ההתחייבויות האלה.

גרסה 1.4.1

5 באפריל 2023

androidx.compose.foundation:foundation:1.4.1 ו-androidx.compose.foundation:foundation-layout:1.4.1 שוחררו. גרסה 1.4.1 כוללת את ההתחייבויות האלה.

גרסה 1.4.0

22 במרץ 2023

androidx.compose.foundation:foundation:1.4.0 ו-androidx.compose.foundation:foundation-layout:1.4.0 שוחררו. גרסה 1.4.0 כוללת את ההתחייבויות האלה.

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

  • נוסף שילוב תואם לאמוג'י לText ולTextField, וכן לפסקה ברמה התחתונה. היא מופעלת כברירת מחדל כשמוגדרת תאימות אמוג'י.
  • אפשר להגדיר את EmojiCompat בטקסט ספציפי באמצעות PlatformParagraphStyle.
  • נוספה תמיכה בהיקף שורה מלא ל-LazyStaggeredGrid(I28252)
  • הוספת onHover לניסוי הניסיוני אל ClickableText (I6938f)
  • הוספנו עומסי יתר ניסיוניים חדשים לפונקציה runComposeUiTest ולפונקציות create*ComposeRule שמקבלות פרמטרים של CoroutineContext. ההקשר ישמש ליצירה לבדיקה ולכל מופע של LaunchedEffect ו-rememberCoroutineScope() בהרכבה עצמו. (I10614, b/265177763)
  • FlowRow ו-FlowColumn זמינים עכשיו בתור @ExperimentalFoundationApi, ומאפשרות פריסה גמישה יותר שמבוססת על שורות ועמודות, של הרכיבים שיתפצלו לשורה חדשה אם אין מספיק מקום בציר הראשי. (I3a7b2)
  • Modifier.basicMarquee() זמין כניסיוני להצגת תוכן עם אפקט הבלטה של גלילה. (I2df44, b/139321650)

גרסה 1.4.0-rc01

8 במרץ 2023

androidx.compose.foundation:foundation:1.4.0-rc01 ו-androidx.compose.foundation:foundation-layout:1.4.0-rc01 שוחררו. גרסה 1.4.0-rc01 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • הוספת API חדש ברמה נמוכה של PlatformTextInputAdapter לפיתוח הטמעות של קלט טקסט בהתאמה אישית שעוסקות ישירות בממשקי API של הפלטפורמה. (I58df4)
  • הוספת תמיכה בפריסה הפוכה ל-LazyStaggeredGrid. (I3ef4a)

תיקוני באגים

  • פעולת הסמנטיקה של SetText של BasicTextField תעדכן עכשיו את מאגר הטקסט הזמני באמצעות אותו נתיב קוד כמו עדכוני IME ופונקציות הבדיקה (למשל performTextReplacement).
  • הפונקציות לבדיקת טקסט performTextClearance, performTextReplacement ו-performTextSelection משתמשות עכשיו ב-SemanticsActions. (I0807d, b/269633168, b/269624358)

גרסה 1.4.0-beta02

22 בפברואר 2023

androidx.compose.foundation:foundation:1.4.0-beta02 ו-androidx.compose.foundation:foundation-layout:1.4.0-beta02 שוחררו. גרסה 1.4.0-beta02 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה קריאה חוזרת של Modifier.Node.onReset() שמאפשרת לאפס מצב מקומי מסוים כדי לטפל כראוי בפנייה כשנעשה שימוש חוזר ב-Layout (לדוגמה, כפריט של LazyColumn). בוצע תיקון ב-FocusTargetModifierNode כדי לאפס כראוי את מצב המיקוד. (I65495, b/265201972)
  • הפרמטר BlendMode נוסף לשיטות DrawScope.drawText, Paragraph.paint ו-MultiParagraph.paint כדי לתמוך באלגוריתמים שונים של מיזוג בעת ציור טקסט על קנבס. (I57508)
  • ה-API של modifierElementOf() הוסר. במקום זאת, יש לעבור מ-ModifierNodeElement ישירות. (Ie6d21)

תיקוני באגים

  • אי אפשר יותר לשנות את כינויי הבחירה בתו חלקי. (Idedd1)
  • תיקון הקריסה בזמן יצירת טקסט באמצעות Ctrl+מקש backspace ב-TextField ריק (I0427f, b/244185537)

גרסה 1.4.0-beta01

8 בפברואר 2023

androidx.compose.foundation:foundation:1.4.0-beta01 ו-androidx.compose.foundation:foundation-layout:1.4.0-beta01 שוחררו. גרסה 1.4.0-beta01 מכילה את התחייבויות אלה.

תכונות חדשות

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

שינויים ב-API

  • נוספה הטמעה משותפת של API PinnableContainer שמשמשת בכל LazyLayouts כדי לשמור פריטים שיוצאים מההרכבה, אבל עדיין צריכים להיות פעילים. (If45a4)
  • השם של PinnableContainer.PinnedHandle.unpin() השתנה ל-release() (I4667a)

תרומה חיצונית

  • נוסף נכס mainAxisItemSpacing ל-LazyListLayoutInfo, ל-LazyGridLayoutInfo ול-LazyStaggeredGridItemInfo (I52fad)

גרסה 1.4.0-alpha05

25 בינואר 2023

androidx.compose.foundation:foundation:1.4.0-alpha05 ו-androidx.compose.foundation:foundation-layout:1.4.0-alpha05 שוחררו. גרסה 1.4.0-alpha05 מכילה את התחייבויות אלה.

תכונות חדשות

  • נוספה תמיכה בהיקף שורה מלא ל-LazyStaggeredGrid (I28252)
  • הוספת onHover ניסיונית ל-ClickableText (I6938f)
  • הוספנו עומסי יתר ניסיוניים חדשים לפונקציה runComposeUiTest ולפונקציות create*ComposeRule שמקבלות פרמטרים של CoroutineContext. ההקשר ישמש ליצירה לבדיקה ולכל מופע של LaunchedEffect ו-rememberCoroutineScope() בהרכבה עצמו. (I10614, b/265177763)

שינויים ב-API

  • מיזוג ממשקי ה-API לפני/פרסום של OverscrollEffect ל-'decorator' משולב הפונקציה applyToScroll ו-applyToFling. בדוגמאות המעודכנות שבמסמכי התיעוד מפורטות דוגמאות לאופן שבו ניתן ליישם אפקט גלילה מעבר לקצה עם צורת ה-API החדשה. (I8a9c4, b/255554340)
  • עוד סוג/יכולת null של פונקציות inline/הוצא משימוש (I24f91)
  • ממשקי ה-API של LineBreak ו-Hyphens ב-TextStyle קיבלו דירוג יציב. (Ic1e1d)

תיקוני באגים

  • עכשיו הסמן בשדות הטקסט ימשיך להבהב גם כשהאנימציות מושבתות. (I95e70, b/265177763)
  • Modifier.basicMarquee מציג עכשיו אנימציה גם אם האנימציות מושבתות בהגדרות המערכת. (I23389, b/262298306, b/265177763)

תרומה חיצונית

  • השיטות notifyFocusedRect ב-TextInputSession וב-TextInputService לא הוצאו שוב משימוש. (I23a04, b/262648050)

גרסה 1.4.0-alpha04

11 בינואר 2023

androidx.compose.foundation:foundation:1.4.0-alpha04 ו-androidx.compose.foundation:foundation-layout:1.4.0-alpha04 שוחררו. גרסה 1.4.0-alpha04 מכילה את התחייבויות אלה.

תכונות חדשות

  • FlowRow ו-FlowColumn זמינים עכשיו בתור @ExperimentalFoundationApi, ומאפשרות פריסה גמישה יותר שמבוססת על שורות ועמודות, של הרכיבים שיתפצלו לשורה חדשה אם אין מספיק מקום בציר הראשי. (I3a7b2)
  • התכונה Modifier.basicMarquee() זמינה כניסיונית להצגת תוכן עם אפקט של הבלטת גלילה. (I2df44, b/139321650)

שינויים ב-API

  • FocusRequesterModifierFocusRequesterNode
  • ה-constructor של AndroidFont עם variationSettings הוא עכשיו API יציב, ואפשר להשתמש בו כדי ליצור סוגים חדשים של תיאורי גופנים. (I5adcc, b/261565807)
  • הושק ממשק ה-API של PinnableContainer שהופץ על ידי רשימות מושהות באמצעות שילוב מקומי שמאפשר להצמיד את הפריט הנוכחי. כלומר, פריט שכזה לא יסולק אם נגללו אל מחוץ לתצוגה. לדוגמה, באמצעות המנגנון הזה, תצמיד Modifier.focusable() את הפריט הנוכחי שבו מתמקדים. (Ib8881, b/259274257, b/195049010)
  • שכתבו את האופן שבו מודעות עם גלילה מגיבות לbringIntoViewRequesters ולמודעות למיקוד, כדי לבנות מודל טוב יותר של הפעולות האלה ולטפל ביותר מקרי קצה. (I2e5fe, b/241591211, b/192043120, b/237190748, b/230756508, b/239451114)
  • עוד ערכי null של פונקציות מוסתרות שהוצאה משימוש (Ibf7b0)
  • הניסוי הניסיוני TextMotion נוסף אל TextStyle כדי להגדיר את הטקסט כ'Static(default)' או כ'אנימציה'. אם רוצים לשנות את גודל הטקסט, לתרגם או לסובב אותו באמצעות אנימציה, יש להשתמש ב-TextMotion.Animated. (I24dd7)
  • צריך להוסיף TextFieldFocusModifier כדי לתקן התנהגות של ניווט ממוקד בפלטפורמת Android (I00303)
  • הארגומנט maxSize: IntSize ב-drawText הוחלף בארגומנט size: Size כדי לחפוף לפונקציות DrawScope אחרות. כברירת מחדל, size מוגדר לערך Size.Unspecified, ולכן התנהגות ברירת המחדל הקודמת לא אמורה לשנות. (Icd27d)

תיקוני באגים

  • כוונונים בפיזיקה הקודת של SnapFlingBehaviour לתחושה טבעית יותר.

בעיה ידועה

  • בעדכון מ-androidx.compose.foundation:1.4.0-alpha03 ל-androidx.compose.foundation:1.4.0-alpha04, יכול להיות שתופיע הודעת השגיאה java.lang.NoSuchFieldError. כאן הבעיה דווחה בארגון. נשלח תיקון, ויהיה זמין בעדכון הבא של 'כתיבה'. כדי לעקוף את הבעיה, עליך לעדכן את הספריות androidx.compose.material ו-androidx.compose.material3 לגרסה האחרונה(1.1.0-alpha04) או לשדרג לאחור את androidx.compose.foundation ל-1.4.0-alpha03.

גרסה 1.4.0-alpha03

7 בדצמבר 2022

androidx.compose.foundation:foundation:1.4.0-alpha03 ו-androidx.compose.foundation:foundation-layout:1.4.0-alpha03 שוחררו. גרסה 1.4.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • בבדיקות ממשק משתמש שנעשה בהן שימוש בכלל 'כתיבה', המשיכות יופעלו מחדש במהלך withFrameNanos קריאה חוזרת (callback) רק אחרי שכל הקריאות החוזרות לפריימים יפסיקו לפעול. ההגדרה הזו תואמת להתנהגות של כתיבת הודעה בזמן הפעלה רגילה. עם זאת, בדיקות שמסתמכות על ההתנהגות הישנה עלולות להיכשל. הפעולה הזו אמורה להשפיע רק על קוד שקורא ישירות ל-withFrameNanos או withFrameMillis, ושהלוגיקה מחוץ לקריאה החוזרת מועברת לפונקציות האלה שצריך להעביר בתוך הקריאות החוזרות. אפשר לראות את השינויים בבדיקת האנימציה ב-CL הזה לקבלת דוגמאות.
  • הפרמטר onPerformTraversals: (Long) -> Unit האופציונלי נוסף ל-constructor ולפונקציית היצרן של TestMonotonicFrameClock כדי להריץ את הקוד אחרי התקשרות חזרה של withFrameNanos, אבל לפני המשך הפעולה של המתקשרים וקורוטינים. (Idb413, b/254115946, b/222093277, b/255802670)
  • הוספה של פעולות נגישות בדף: PageUp, PageDown, PageLeft, PageRight. לתשומת ליבכם: המדדים האלה זמינים רק ב-API 29. (Ida4ab)
  • אנחנו שמחים להציג את HorizontalPager ואת VerticalPager, דרך להציג תכנים קומפוזביליים בצורה של זימונית. התכונה PagerState הופעלה כדי לשלוט בזימונית וגם בפרטי השאילתות לגבי המצב הנוכחי של הזימונית. השקנו את PageSize, דרך לשלוט בגודל הדף של זימונית. באמצעותה אפשר ליצור קרוסלה כמו זימונית. השקנו את PagerSnapDistance, דרך שמאפשרת לשלוט באופן הפעולה של ההצמדה בהתנהגות ההחלקה של זימונית. (I01120)
  • הצגנו עומס יתר ב-SnapFlingBehavior.performFling כדי לעזור להבין איפה יתפקדו הנפילות. (I569f6)
  • בוצעה הסרה של OverscrollEffect#isEnabled. במקום שתצטרכו לזכור ולהגדיר את הסימון הזה, פשוט אל תשלחו אירועים לאפקט גלילת יתר במקרים שבהם אתם לא רוצים שיוצג גלילת יתר (לדוגמה, אם ScrollableState#canScrollForward/backward גם מחזירה FALSE). (I1a4b0, b/255554340, b/255557085)
  • נוספו ScrollableState#canScrollForward ו-ScrollableState#canScrollBackward לשאילתה אם לפרמטר ScrollableState יש מקום לגלול בכל אחד מהכיוונים (בין אם זה הטווח המינימלי או המקסימלי). הגדרת ברירת המחדל היא True לתאימות לאחור עם הטמעות קיימות של ScrollableState. צרכנים יכולים להשתמש באפשרות הזו כדי להציג למשתמש אינדיקציה לכך שעדיין יש מקום לגלול, ואפשר גם להשתמש באפשרות הזו כדי למנוע שליחת דלתא אל ScrollableStates שאין בהן מקום לגלול בכיוון מסוים, כדי לצמצם עבודה מיותרת. (Idf1a0, b/255557085)
  • נוסף ממשק API של Modifier להרצת שאילתות על פרטי גלילה של ישויות אב. (I2ba9d, b/203141462)
  • נעשה שימוש ב-Clickable כדי לעכב באופן תקין אינטראקציות עם העיתונות, כאשר תנועות עשויות להפוך לאירועי גלילה.
  • בוצע תיקון של Clickables לעיכוב תקין של הדים בזמן שימוש בתוך Scrollable ViewGroup.
  • חלונית ההזזה ו-Sheets עודכנו כדי להשהות לחיצות בצורה נכונה במקרה שתנועות יכולות להפוך לאירועי גלילה.
  • צריך לעדכן את השם של snapStepSize בהתאם לשיטות אחרות ב-SnapLayoutInfoProvider. (Ife67c)
  • הוספת את EmojiCompat אל Compose (Ibf6f9, b/139326806)
  • שינית את השם של consumedWindowInsets(). השם החדש הוא consumeWindowInsets() ואת השם withConsumedWindowInsets() לשם onConsumedWindowInsetsChanged(). המשנים הפכו לגלויים לכולם. (Ie44e1)

תיקוני באגים

  • הקריסה ברשת Modifier.animateItemPlacement() וברשתות 'לאזיות' תוקנה. הדבר קרה בתנאים מסוימים, כאשר מספר הפריטים החדשים קטן יותר ממספר הפריטים הקודם. (I0bcac, b/253195989)

גרסה 1.4.0-alpha02

9 בנובמבר 2022

androidx.compose.foundation:foundation:1.4.0-alpha02 ו-androidx.compose.foundation:foundation-layout:1.4.0-alpha02 שוחררו. גרסה 1.4.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • awaitFirstDown ו-waitForUpOrCancellation מקבלים עכשיו PointerEventPass כדי ליהנות מגמישות רבה יותר. (I7579a, b/212091796)
  • ביטול השינויים ב-API של beyondBoundCount מממשקי API של Lazy* (I12197)
  • נוסף פרמטר ב-Lazy APIs כדי לכתוב ולהציב מחוץ לפריטי התצוגה (I69e89, b/172029355)
  • הפרמטר minLines נוסף לערכי BasicText ול-BasicTextField. הוא מאפשר להגדיר את הגובה המינימלי של תכנים קומפוזביליים כאלה מספר השורות (I24294, b/122476634)

גרסה 1.4.0-alpha01

24 באוקטובר 2022

androidx.compose.foundation:foundation:1.4.0-alpha01 ו-androidx.compose.foundation:foundation-layout:1.4.0-alpha01 שוחררו. גרסה 1.4.0-alpha01 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה שיטה חדשה, awaitEachGesture(), למזהי תנועות. היא פועלת באופן דומה ל-forEachGesture(), אבל הלולאה מעל התנועות פועלת במלואה בתוך AwaitPointerEventScope, כך שאי אפשר לאבד אירועים בין החזרות.
  • השיטה forEachGesture() הוצאה משימוש לטובת awaitEachGesture() כי היא מאפשרת אירועים שאבדו בין התנועות. (Iffc3f, b/251260206)
  • נוספו WindowInsets.imeAnimationSource ו-WindowInsets.imeAnimationTarget כדי לקבוע את התקדמות האנימציה ולדעת איפה ה-IME יהיה לאחר סיום האנימציה. (I356f1, b/217770337)

גרסה 1.3

גרסה 1.3.1

9 בנובמבר 2022

androidx.compose.foundation:foundation:1.3.1 ו-androidx.compose.foundation:foundation-layout:1.3.1 שוחררו. גרסה 1.3.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • פתרון בעיה בביצועים ב-BeyondBoundsLayout (aosp/2255266)
  • ContentInViewModifier לא יקרא את קואורדינטות הפריסה אלא אם הוא מצורף (aosp/2241316)

גרסה 1.3.0

24 באוקטובר 2022

androidx.compose.foundation:foundation:1.3.0 ו-androidx.compose.foundation:foundation-layout:1.3.0 שוחררו. גרסה 1.3.0 כוללת את ההתחייבויות האלה.

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

  • הושקו גרסאות ניסיוניות של LazyVerticalStaggeredGrid ושל LazyHorizontalStaggeredGrid.
  • SnapFlingBehavior, rememberSnapFlingBehavior וממשקי API תואמים אחרים נוספו כממשקי API ניסיוניים.
  • Modifier.clickable, Modifier.toggleable ו-Modifier.selectable מציגים עכשיו הדים אם לוחצים עליהם באמצעות המקלדת או מקשי החיצים (d-pad).

גרסה 1.3.0-rc01

5 באוקטובר 2022

androidx.compose.foundation:foundation:1.3.0-rc01 ו-androidx.compose.foundation:foundation-layout:1.3.0-rc01 שוחררו. גרסה 1.3.0-rc01 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • התכונה lowVelocityAnimationSpec הופעלה בשלב הגישה כשאין מספיק מהירות הטיה כדי להתרוקן. (Iaeb27)
  • נוספו מקפים ניסיוניים חדשים של API כדי לתמוך במקף אוטומטי בטקסט (Iaa869)

גרסה 1.3.0-beta03

21 בספטמבר 2022

androidx.compose.foundation:foundation:1.3.0-beta03 ו-androidx.compose.foundation:foundation-layout:1.3.0-beta03 שוחררו. גרסה 1.3.0-beta03 מכילה את התחייבויות אלה.

שינויים ב-API

  • אפשר להוסיף אפשרויות להתאמה אישית של שבירת שורה בטקסט. (I86907)
  • עכשיו גורמים BringIntoViewResponder יכולים לקבל את הגבולות העדכניים ביותר של בקשה בזמן העיבוד שלה. (If86a5, b/241591211)
  • הוספת תמיכה ברווחים בין פריטים לניסוי Staggered Grid (I10b82)
  • הוספה של מרווח פנימי של תוכן לStaggered Grid (I342ea) ניסיוני
  • ארגומנט size:IntSize השתנה עם constraints: Constraints בשיטה TextMeasurer.measure כדי לתמוך במגבלות רוחב מינימליות. (I37530, b/242707525)
  • הוספת את Modifier.withConsumedWindowInsets() כדי לקבל נפח של WindowInsets לשימוש מחוץ ל-windowInsetsPadding.
  • הוספת את MutableWindowInsets כדי לאפשר שינוי קל של WindowInsets ללא הרכבה מחדש. (I7fd28, b/237019262, b/243119659)

גרסה 1.3.0-beta02

7 בספטמבר 2022

androidx.compose.foundation:foundation:1.3.0-beta02 ו-androidx.compose.foundation:foundation-layout:1.3.0-beta02 שוחררו. גרסה 1.3.0-beta02 מכילה את התחייבויות אלה.

שינויים ב-API

  • גרסה ראשונית של StaggeredGrid (Ia48be)
  • שינו את השם של FocusDirection.In ושל FocusDirection.Out ל-FocusDirection.Enter ול-FocusDirection.Exit (Ia4262, b/183746982)
  • הוספנו עומס יתר של rememberSnapFlingBehavior שמאפשר להפעיל Snaps ב-LazyLists במהירות. (Ifb48a)
  • המפעל snapFlingBehavior הוחלף בסיווג SnapFlingBehavior מבטון. היקף ההרשאות: SnapLayoutInfoProvider שיטות לצפיפות כדי להקל על משתמשי ה-API לבצע המרות מ-Dp<->Px. (I54a11)
  • צריך לעדכן את השדה LazyLayoutMeasureScope.measure כדי להחזיר רשימה של פריטי מיקום ומודגשים בהם השינויים הרצויים בערך המוחזר. (I48b7c)
  • הושקה השיטה SnapLayoutInfoProvider, שלוקחת LazyListState ליצור מכונה של SnapLayoutInfoProvider שאפשר להשתמש בה כדי להפעיל הצמדה FlingBehavior ל-LazyLists. (I2dd10)

תיקוני באגים

  • גורמים מחדש של AwaitPointerEventScope#awaitLongPressOrCancellation כדי להתאים לפונקציות המתנה אחרות (I646e6)

גרסה 1.3.0-beta01

24 באוגוסט 2022

androidx.compose.foundation:foundation:1.3.0-beta01 ו-androidx.compose.foundation:foundation-layout:1.3.0-beta01 שוחררו. גרסה 1.3.0-beta01 מכילה את התחייבויות אלה.

שינויים ב-API

  • בוצעה הסרה של pointerPosition מהאפשרות OverscrollEffect – אפקטים שחשובים למיקום הסמן יכולים להשתמש ב-Modifier.pointerInput { } ב-effectModifier כדי לקבל את מיקום הסמן הנוכחי. (I9f606, b/241239306)
  • חשיפה של AwaitPointerEventScope#awaitLongPressOrCancellation כאבן בניין נוספת לזיהוי תנועה מורכב יותר (I04374, b/181577176)
  • הגדרה של lazyListSnapLayoutInfoProvider להפעלת הצמדה ב'רשימות עצלות'. (I3ecdf)
  • הוספנו את SnapFlingBehavior, התנהגות של החלקה שמאפשרת הצמדה של רשימות. עליך לספק מופע של SnapLayoutInfoProvider עם מידע על פריסת Snaps שלך. (Ie754c)

גרסה 1.3.0-alpha03

10 באוגוסט 2022

androidx.compose.foundation:foundation:1.3.0-alpha03 ו-androidx.compose.foundation:foundation-layout:1.3.0-alpha03 שוחררו. גרסה 1.3.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • בגופנים של משאבים יש עכשיו תמיכה בהגדרה של וריאציות של גופן (API מגרסה 26 ואילך). (I900dd, b/143703328)
  • תמיכה בגופנים של משתנים ב-DeviceFontFamilyNameFont (Ic1279, b/143703328)
  • הערה ניסיונית הוסרה מ-PlatformTextStyle ומ-LineHeightStyle. (I64bef)
  • מעכשיו, שדות טקסט יקפיצו חריגים מפורטים יותר כשה-OffsetMapping שסופק על ידי VisualTransformation יחזיר מדדים לא חוקיים. (Ie73f9, b/229378536)
  • הצגת ממשקי API ניסיוניים לשיתוף לוגיקה של ספקי פריטים בין פריסות Lazy. (Ic891c)
  • ScrollableDefaults.reverseDirection() כבר לא ניסיונית. (Iba646)
  • הוצאנו משימוש את SemanticsModifier.id והעברנו את מזהה הסמנטיקה ל-LayoutInfo.semanticsId. (Iac808, b/203559524)
  • checkScrollableContainerConstraints() כבר לא ניסיונית. (I2c290)
  • Modifier.clipScrollableContainer() כבר לא ניסיונית. (Ia2b44)
  • הוצאה משימוש של TextInputService.show|hideSoftwareKeyboard. במקומו יש להשתמש ב-SoftwareKeyboardController בקוד האפליקציה וב-TextInputSession בקוד ניהול IME. (I14e4c, b/183448615)

גרסה 1.3.0-alpha02

27 ביולי 2022

androidx.compose.foundation:foundation:1.3.0-alpha02 ו-androidx.compose.foundation:foundation-layout:1.3.0-alpha02 שוחררו. גרסה 1.3.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה פונקציית התוסף drawText ב-DrawScope כדי לספק דרך לצייר טקסט במגוון סגנונות באמצעות תכנים קומפוזביליים ומגבילים שפועלים על DrawScope כמו Canvas ו-drawBehind. (I16a62, b/190787898)

תיקוני באגים

  • המקלדת הרכה תוסתר עכשיו כששדה טקסט יושבת בזמן המיקוד. (I6e3e4, b/237308379)
  • כשמוסיפים אירועי InputEventChange ל-Velocity Tracker, אנחנו נביא בחשבון עכשיו ערכי דלתא במקום מיקומים, כדי להבטיח שהמהירות תחושב נכון לכל המקרים, גם אם רכיב היעד זז (Icea9d, b/216582726, b/223440806, b/227709803)
  • מעכשיו, כשמוצגת ילד או ילדה שמתמקדים בגלילה, הם יכולים לגלול בצורה תקינה כדי שיראו את הילד או הילדה המודגשים גם כשגודלם מוקטן, גם כשמוצגת להם אנימציה. (I80867, b/230756508, b/220119990)
  • תוקנה קריסה שבה TextField נוקה וממולא מחדש בזמן שהבחירה פעילה. (I1235b, b/208655565, b/214253689)

גרסה 1.3.0-alpha01

29 ביוני 2022

androidx.compose.foundation:foundation:1.3.0-alpha01 ו-androidx.compose.foundation:foundation-layout:1.3.0-alpha01 שוחררו. גרסה 1.3.0-alpha01 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספנו את סוג ההערה UrlAnnotation ואת השיטות המשויכות לתמיכה בתמיכה בקישור TalkBack ב-AnnotatedString. (I1c754, b/231495122)

תיקוני באגים

  • עכשיו אפשר להפעיל אנימציה של BasicTextField cursorBrush בלי להפעיל מחדש את הטיימר של הסמן. (I812e6, b/236383522)

גרסה 1.2

גרסה 1.2.1

10 באוגוסט 2022

androidx.compose.foundation:foundation:1.2.1 ו-androidx.compose.foundation:foundation-layout:1.2.1 שוחררו. גרסה 1.2.1 כוללת את ההתחייבויות האלה.

גרסה 1.2.0

27 ביולי 2022

androidx.compose.foundation:foundation:1.2.0 ו-androidx.compose.foundation:foundation-layout:1.2.0 שוחררו. גרסה 1.2.0 כוללת את ההתחייבויות האלה.

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

  • LazyVerticalGrid ו-LazyHorizontalGrid יציבים עכשיו.
  • עכשיו אפשר לציין סוג תוכן לפריטים ברשימות וברשתות של 'עצלנים'. כך הרכיבים יוכלו לעשות שימוש חוזר ברכיבים בצורה יעילה יותר.
  • ברשימות ובתצוגות רשת עצלות יש עכשיו פרמטר אחד (userScrollEnabled) שמאפשר להשבית את הגלילה באמצעות תנועות המשתמש.
  • נוסף API ניסיוני חדש בשם LazyLayout. זהו ה-API שבו אנחנו משתמשים באופן פנימי כדי להפעיל רשתות ורשימות של עצלנים.
  • ממשק ה-API של OverscrollEffect הושק כניסיוני. ניתן להגדיר אפקטים מותאמים אישית לגלילה מעבר לקצה וגם להוסיף פלטפורמה סטנדרטית אחת לקונטיינרים בהתאמה אישית שניתנים לגלילה.
  • הושקו ממשקי API ליכולת פעולה הדדית של גלילה בתוך גלילה כדי לאפשר יכולת פעולה הדדית בין תצוגות לבין כתיבה של גורמי גלילה.
  • גלילה באמצעות עכבר ומשטח מגע נוספה לכל מאגרי הגלילה.

גרסה 1.2.0-rc03

29 ביוני 2022

androidx.compose.foundation:foundation:1.2.0-rc03 ו-androidx.compose.foundation:foundation-layout:1.2.0-rc03 שוחררו. גרסה 1.2.0-rc03 מכילה את שמירות האלה.

  • לא בוצעו שינויים מאז 1.2.0-rc02.

גרסה 1.2.0-rc02

22 ביוני 2022

androidx.compose.foundation:foundation:1.2.0-rc02 ו-androidx.compose.foundation:foundation-layout:1.2.0-rc02 שוחררו. גרסה 1.2.0-rc02 מכילה את שמירות האלה.

גרסה 1.2.0-rc01

15 ביוני 2022

androidx.compose.foundation:foundation:1.2.0-rc01 ו-androidx.compose.foundation:foundation-layout:1.2.0-rc01 שוחררו. גרסה 1.2.0-rc01 מכילה את שמירות האלה.

שינויים ב-API

  • הוספנו OverscrollEffect ניסיוני כדי לאפשר אפקטים מותאמים אישית של גלילת יתר, לצד עומסי-היתר של Modifier.scrollable שמקבלים אותו.
  • LocalOverScrollConfiguration הניסיוני הועבר מ-foundation.gesture לחבילת היסודות ושמו השתנה ל-LocalOverscrollConfiguration (If19fb, b/204650733)
  • ממשקים בספריות הרכבה נוצרים עכשיו באמצעות שיטות ברירת מחדל של jdk8 (I5bcf1)
  • הושק ממשק API ניסיוני checkScrollableContainerConstraints() שמאפשר לבדוק שאנחנו לא מקוננים קונטיינרים שניתנים לגלילה. אפשר להשתמש בתכונה הזו כשיוצרים פריסות עצלות שאפשר לגלול דרך LazyLayout. (Id6fab, b/233352497)
  • הוסרה LazyVerticalGrid שהוצאה משימוש מחבילת androidx.compose.foundation.lazy. ממשק ה-API היציב החדש נמצא ב-androidx.compose.foundation.lazy.grid (I73c76, b/225192009)

גרסה 1.2.0-beta03

1 ביוני 2022

androidx.compose.foundation:foundation:1.2.0-beta03 ו-androidx.compose.foundation:foundation-layout:1.2.0-beta03 שוחררו. גרסה 1.2.0-beta03 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספו IntervalList ו-MutableIntervalList ניסיוניים חדשים. הוא מאפשר לייצג רשימה מסוימת של ערכים באמצעות מספר פרקי זמן. כדאי להשתמש באפשרות הזו כשרוצים להגדיר DNS משלכם, בדומה לזה שמשמש את LazyColumn, שבו ניתן להגדיר פריטים ברשימה באמצעות קריאות מרובות של פריטים או פריטים. (I2d05e, b/228580728)

תיקוני באגים

  • הבהרנו את מסמכי התיעוד בנושא WindowInsets.ime כדי לציין שכניסות של ime נכללות כבר בדוחות של API 23, אבל רק מונפשות מגרסה 30 ואילך. (Ia7fc0, b/230756508)
  • לחיצה על מקש המחיקה קדימה כשהסמן נמצא בסוף שדה טקסט לא תקרוס יותר.
  • עכשיו הארגומנטים של DeleteSurroundingTextCommand ו-DeleteSurroundingTextInCodePointsCommand צריכים להיות לא שליליים. (Ica8e6, b/199919707)

גרסה 1.2.0-beta02

18 במאי 2022

androidx.compose.foundation:foundation:1.2.0-beta02 ו-androidx.compose.foundation:foundation-layout:1.2.0-beta02 שוחררו. גרסה 1.2.0-beta02 מכילה את התחייבויות אלה.

  • רזולוציית הגופן להורדה, שלא משנה את גודל הפריסה של טקסט או TextField לפני כן, לא תוכל לצבוע מחדש, מה שמוביל להצגת גופן לא עדכני. תיקון הבאג הזה מבטיח שפריסת הטקסט תמיד תפעיל שרטוט מחדש (b/229727404). (I1d49e, b/229727404)

גרסה 1.2.0-beta01

11 במאי 2022

androidx.compose.foundation:foundation:1.2.0-beta01 ו-androidx.compose.foundation:foundation-layout:1.2.0-beta01 שוחררו. גרסה 1.2.0-beta01 מכילה את התחייבויות אלה.

תכונות חדשות

  • זוהי גרסת הבטא הראשונה של 1.2!

שינויים ב-API

  • נוסף BeyondBoundsInterval ניסיוני, שאפשר להשתמש בו לפי יישומים מותאמים אישית של LazyList כאשר הם פורסים פריטים מעבר לגבולות התצוגה (Ifabfb, b/184670295)
  • השם של LineHeightBehavior השתנה ל-LineHeightStyle
  • השם של LineVerticalAlignment השתנה ל-LineHeightStyle.Alignment
  • משנה את השם של LineHeightTrim ל-LineHeightStyle.Trim
  • ערכי ברירת המחדל של בנאי מ-LineHeightStyle הוסרו (I582bf, b/181155707)
  • נוספו ערכי ברירת מחדל למשתמשים האופציונליים בממשק של LazyLayoutItemProvider. (Iba8a0)
  • בממשק ה-API של LazyLayoutItemProvider במקום במפעל שמחזיר את ה-lambda הקומפוזבילי לפי אינדקס, עכשיו יש לנו פריט של פונקציה קומפוזבילית פשוטה יותר שמקבל את האינדקס. (Id2196)
  • השם של LazyLayoutItemsProvider השתנה ל-LazyLayoutItemProvider (I0638c)
  • השם של LazyLayoutItemsProvider.itemsCount השתנה ל-itemCount (Id409c)
  • הוספת המברשת ל-TextStyle ול-SpanStyle כדי לספק דרך לשרטוט טקסט עם צבעים הדרגתיים. (I53869, b/187839528)
  • trimFirstLineTop, trimLastLineBottom מאפיינים של הערך של LineHeightBehavior השתנה ל-enum אחד: LineHeightTrim. ל-LineHeightTrim יש ערכים של 4 מצבים המוגדרים על ידי שני בוליאניים: FirstLineTop, LastLineBottom, שניהם ואף אחד (Ifc6a5, b/181155707)
  • נוספה האפשרות LineHeightBehavior אל TextStyle ואל ParagraphStyle. LineHeightBehavior כדי לקבוע אם גובה השורה יחול על החלק העליון של השורה הראשונה ועל החלק התחתון של השורה האחרונה. הוא גם מגדיר את יישור הקו במרחב שסופק על ידי TextStyle(lineHeight).

    לדוגמה, יכול להיות שתתקבל התנהגות שדומה לזו של שירות ה-CSS מוגדר באמצעות LineHeightBehavior(alignment = LineVerticalAlignment.Center, trimFirstLineTop=false, trimLastLineBottom = false).

  • trimFirstLineTop, trimLastLineBottom הגדרות פועלות בצורה תקינה רק כשהערך של includeFontPadding הוא False. (I97332, b/181155707)

  • נוסף מגביל imeNestedScroll() ניסיוני כדי שמפתחים יוכלו לשלוט ב-IME באמצעות גלילה. (I60759)

תיקוני באגים

  • תוקנה רגרסיה שבה שדות טקסט לא היו מסתירים את המקלדת כשמסירים אותה מהיצירה בזמן המיקוד. (I7a410, b/230536793, b/225541817)
  • תמיכה בשלוש נקודות כשהגובה מוגבל ולא מתאים לכל שורות הטקסט (Ie528c, b/168720622)
  • האפליקציה BringIntoViewRequester.bringIntoView יושעה תמיד עד להשלמת הבקשה או עד שמופסקת על ידי בקשה חדשה יותר שאינה חופפת. בקשות חופפות יופיעו בתור. (I43e7f, b/216790855)
  • קריאות BringIntoViewRequester.bringIntoView בו-זמנית למלבנים חופפים לחלוטין יכבדו עכשיו רק את של מלבן גדול יותר. (I34be7, b/216790855, b/184760918)
  • ברירת המחדל של includeFontPadding הופעלה. אפשר להשבית את includeFontPadding באמצעות המאפיין TextStyle.platformTextStyle. בעתיד הקרוב נשנה את התנהגות ברירת המחדל, אבל עד אז, השינוי הזה יאפשר לנו לשלב טוב יותר שיפורים בגובה השורה (aosp/2058653) ולפתור בעיות שקשורות לחיתוך של TextField. (I01423, b/171394808)
  • Modifier.bringIntoViewRequester לא משתמשת יותר ב-onGloballyPositioned. (I630f5)

תרומה חיצונית

  • אם גוללים אנכיים ב-Android, הערך של MouseInjectionScope.scroll(delta = someDelta) משתנה עכשיו (אם הערך של מדד מסוים הוא חיובי, הוא יגלול למטה) (Ifb697, b/224992993)

גרסה 1.2.0-alpha08

20 באפריל 2022

androidx.compose.foundation:foundation:1.2.0-alpha08 ו-androidx.compose.foundation:foundation-layout:1.2.0-alpha08 שוחררו. גרסה 1.2.0-alpha08 מכילה את התחייבויות אלה.

שינויים ב-API

  • הצגת כל המשקלים הזמינים לגופנים במערכות ב-Android כשמשתמשים ב-FontFamily.SansSerif. הפעולה הזו תשתמש בשמות של גופנים חלופיים כמו Sans Serif-medium באופן פנימי ב-API 21-28. זהו שינוי בהתנהגות, מכיוון שבעבר משקללים 400 ו-700 נתמכים ב-API 21-28 בלבד. (I380fe, b/156048036, b/226441992)
  • פיסקה ו-MultiParagraph מקבלים עכשיו את הפרמטר Constraints. ההעברה של Constraints.maxHeight לא מתבצעת כרגע, אבל היא תאפשר: תבצע חישובים בעתיד, כמו אליפסה על סמך הגובה. (I6afee, b/168720622)
  • SubcomposeSlotReusePolicy.getSlotsToRetain() מקבל עכשיו מחלקה מותאמת אישית כמו MutableSet, שלא מאפשרת להוסיף בה פריטים חדשים. (Icd314)
  • האפשרות 'צריכה חלקית (מיקום למטה' או 'מיקום נמוך') הוצאה משימוש ב-PointerInputChange. אפשר להשתמש ב-consume() כדי לקבל את השינוי באופן מלא. אפשר להשתמש ב-isConsumed כדי לבדוק אם מישהו אחר ביצע את השינוי בעבר.
  • מעכשיו, PointerInputChange::copy() תמיד יוצר עותק שטחי שימוש. פירוש הדבר הוא שעותקים של PointerInputChange ייצרוך לאחר מימוש אחד מהעותקים. כדי ליצור PointerInputChange ללא גבולות, צריך להשתמש ב-constructor. (Ie6be4, b/225669674)
  • מוצג API ניסיוני חדש של LazyLayout. כך תוכלו ליצור רכיבים משלכם, כמו LazyColumn של LazyVerticalGrid. הערה: ה-API עדיין נמצא בשלבי פיתוח מוקדמים, ואפשר לשנות אותו בגרסאות עתידיות. (Iba2bc, b/166591700)
  • עכשיו AndroidFont משתמש ב-typefaceLoader כפרמטר של constructor. (I2c971)
  • מודעה נלווית עם WindowInsets חושפת עכשיו את החשיפה (אם היא במסך, בין אם היא מצטלבת עם החלון) ומה הגודל שלה אם היא זמינה במכשיר, אבל לא פעילה כרגע. (I65182, b/217770337)

גרסה 1.2.0-alpha07

6 באפריל 2022

androidx.compose.foundation:foundation:1.2.0-alpha07 ו-androidx.compose.foundation:foundation-layout:1.2.0-alpha07 שוחררו. גרסה 1.2.0-alpha07 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוסף API של PinnableParent שמאפשר צאצאים של פריסות עצלות כדי למנוע את השלכת הפריטים שמרכיבים כרגע (Ibbdd0, b/184670295)
  • ב-LazyListLayoutInfo וב-LazyGridLayoutInfo יש עכשיו שדות של beforeContentPadding ו-afterContentPadding (I3b628, b/200920410)
  • נוספה KeyboardType.Decimal כחלופה ל-Keyboard.Number כדי לכלול באופן ספציפי מפריד עשרוני ב-IME. (Iec4c8, b/209835363)
  • הוספת גופן חדש לתיאור הגופן(DeviceFontFamilyName) אל אם רוצים, אפשר לחפש גופנים שהותקנו על ידי המערכת במהלך שרשראות של גופנים חלופיים. (I30468, b/219754572)
  • PointerEventType.Scroll ו-PointerEvent.scrollDelta הם ממשקי API יציבים עכשיו (I574c5, b/225669674)
  • אפשר לשנות את הגדרת התאימות הזמנית שהוספת ל-includeFontPadding ב-TextStyle/ParagraphStyle. includeFontPadding דרך TextStyle(platformStyle = PlatformTextStyle(includeFontPadding = true/false)). זוהי אפשרות בהגדרה זמנית כדי להפעיל את ההעברה, והיא תוסר. (If47be, b/171394808)
  • FontFamily.Resolver עודכן כדי לשלב את הגדרת הנגישות של טקסט מודגש במערכת כולו (I6c1e7)
  • מאפיין התוסף consumeWindowInsets של ComposeView מאפשר למפתחים להשבית את הצריכה של רכיבי windowInset ב-Android. כך אפשר להפריד בין ComposeViews בהיררכיה לכל אפליקציה של WindowInsets, בלי להפריע זה לזה. (I0ef08, b/220943142)

גרסה 1.2.0-alpha06

23 במרץ, 2022

androidx.compose.foundation:foundation:1.2.0-alpha06 ו-androidx.compose.foundation:foundation-layout:1.2.0-alpha06 שוחררו. גרסה 1.2.0-alpha06 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה פעולה סמנטיקה של RequestFocus כדי לבקש התמקדות ביעד שניתן להתמקד בו. (I17b71)
  • התבצע מיזוג של FocusOrder אל FocusProperties, ועכשיו יש לשירות focusProperties() את כל היכולות של focusOrder(). הוצאנו משימוש את FocusOrder ואת focusOrder(). צריך להחליף את השדה focusOrder() שמקבל את הערך focusRequester במשתנה focusRequester() בשילוב עם focusProperties(). כך אפשר להפריד בצורה ברורה יותר בין החששות. (I601b7)
  • הוספנו את WindowInsets.asPaddingValues(Density) כדי לאפשר למפתחים לבצע המרה בלי שיצטרכו להיות הרכבים. I94c35
  • ניתוח מעודכן של פריטים וקטוריים שניתנים להזזה כדי לתמוך בשיקוף אוטומטי כדי להפוך את התוכן של VectorPainter אם הפריסה הנוכחית הכיוון הוא RTL. (I79cd9, b/185760237)

תיקוני באגים

  • תנאי הצירוף של הגלילה (Modifier.verticalScroll(), Modifier.horizontalScroll() ו-Modifier.scrollable()) יגללו עכשיו כדי שהתוכן הקומפוזבילי עם המיקוד יהיה גלוי אם משנים את הגודל של אזור הגלילה והתוכן הקומפוזבילי עם המיקוד היה גלוי בעבר.
  • עכשיו, TextFields (שדות טקסט) יישמרו מעל המקלדת כשמתמקדים בה, וכשהמקלדת מוצגת, כשנמצאים בתוך רכיב שלא ניתן לגלול בעצמה ומצב הקלט הרך הוא ADJUST_RESIZE. (I4a485, b/190539358, b/192043120, b/216842427)

גרסה 1.2.0-alpha05

9 במרץ 2022

androidx.compose.foundation:foundation:1.2.0-alpha05 ו-androidx.compose.foundation:foundation-layout:1.2.0-alpha05 שוחררו. גרסה 1.2.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

  • LazyVerticalGrid ו-LazyHorizontalGrid יציבים עכשיו. (I307c0)
  • LazyGridItemInfo.Unknown הוחלפה ב-LazyGridItemInfo.UnknownRow וב-LazyGridItemInfo.UnknownColumn נפרדים (I56d51)
  • LazyVerticalGrid/LazyHorizontalGrid וכל ממשקי ה-API הקשורים הועברו אל חבילת משנה אחת (.grid). עליך לעדכן את הייבוא מ-androidx.compose.foundation.lazy ל-androidx.compose.foundation.lazy.grid. (I2d446, b/219942574)
  • טקסט: התכונה includeFontPadding מושבתת עכשיו כברירת מחדל. בעיות בחיתוך כתוצאה מ-includeFontPadding=false מטופלות ושום חיתוך לא אמור להתרחש בסקריפטים ארוכים. (I31c84, b/171394808)
  • הממשק המדידה חושף עכשיו את נכס הורה (I3313f)
  • התכונה Modifier.onFocusedBoundsChanged הושקה כדי לאפשר שימוש ניסיוני עמידה בגבולות של דברים שילדים יכולים להתמקד בהם. (I14283, b/220030968, b/190539358, b/192043120, b/216842427)
  • נוספה רשת LazyHorizontalGrid. (I61ae7, b/191238807)
  • נוסף API חדש של LazyVerticalGrid להגדרת גדלים של צירים שונים (I17723)
  • נוסף מאפיין FocusGroup (I64bc0, b/213508274, b/184670295)

תיקוני באגים

  • עכשיו יוצגו הערכים הנכונים ב-WindowInsets.toString(). (I1585d)

תרומה חיצונית

  • עודכן לשימוש ב-Kotlinx coroutines 1.6.0 (I3366d)

גרסה 1.2.0-alpha04

23 בפברואר 2022

androidx.compose.foundation:foundation:1.2.0-alpha04 ו-androidx.compose.foundation:foundation-layout:1.2.0-alpha04 שוחררו. גרסה 1.2.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • כבר לא צריך לבצע BringIntoViewResponders באופן ידני להעביר בקשות למשיבים הורים, ובמקום זאת תידרש יחזיר מיד את המלבן שהם רוצים שההורה שלו יחזיר בתצוגה. (I8e66a)
  • תמיכה בטעינת גופנים אסינכרוניים ב-Text (I77057, b/214587005)
  • LazyVerticalGrid תומך עכשיו ב-line breaking לפני פריטים שהמפתח שלהם לא מתאים לשורה הנוכחית. (I05c40, b/207462103)
  • השם של excludeFromSystemGestures השתנה ל-systemGesturesExclusion (I19526)
  • ב-LazyVerticalGrid יש עכשיו תמיכה בפריסה הפוכה. (I6d7d7, b/215572963, b/211753558)
  • הוספת השיטה WindowInsets.only() כדי לאפשר למפתחים כדי לכלול רק מימדים מהפרמטרים של windowInset. (I14c94, b/217768486)
  • נוספו ComposableTarget, ComposableTargetMarker וגם ComposableOpenTarget שמאפשר לקבל דיווח על זמן שבו פונקציה קומפוזבילית נקראת טירגוט לאפליקציה שהיא לא שמיועד לשימוש.

    ברוב המקרים, רכיב הכתיבה יכול להסיק את ההערות של המהדר (compiler), כך שהשימוש באנוטציות האלה ישירות צריך להיות נדיר . המקרים שלא ניתן להסיק כוללים יצירה ו באמצעות פונקציות קומפוזביליות מופשטות בהתאמה אישית (כמו שיטות ממשק), שדות או משתנים גלובליים lambdas קומפוזביליים (מסיקים משתנים ופרמטרים מקומיים), או כשמשתמשים ב-ComposeNode או בפונקציות קומפוזביליות קשורות.

    לאפליקציות קומפוזביליות בהתאמה אישית, פונקציה זו מפעילה את הפונקציות הקומפוזביליות ComposeNode או ReusableComposeNode צריכים להוסיף הערת CompoableTarget לפונקציה ולכל הערה אחרת סוגי פרמטרים קומפוזביליים של lambda. עם זאת, מומלץ כדי ליצור הערה שנוספה ComposableTargetMarker ולאחר מכן ייעשה שימוש בהערה המסומנת במקום ComposableTarget ישירות. הערה קומפוזבילית שמסומן ב-ComposableTargetMarker שווה ערך ל- ComposbleTarget בשם המוגדר במלואו של המאפיין class בתור הפרמטר applier. לדוגמה לשימוש ComposableTargetMarker: anroidx.compose.ui.UiComposable. (I38f11)

תיקוני באגים

  • עכשיו מותר להעביר קיזוזי גלילה שליליים אל LazyGridState.scrollToItem() ו-LazyGridState.animateScrollToItem(). (I025c6, b/211753558)
  • תמיכה בטעינת גופן אסינכרוני של TextField. (Icc4bf, b/214587005)

גרסה 1.2.0-alpha03

9 בפברואר 2022

androidx.compose.foundation:foundation:1.2.0-alpha03 ו-androidx.compose.foundation:foundation-layout:1.2.0-alpha03 שוחררו. גרסה 1.2.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • notifyFocusedRect methods ב-TextInputSession ו- TextInputService הוצאו משימוש ולא ייקראו אליהם. כדאי להשתמש יש גם אפשרות BringIntoViewRequester. (Ia4302, b/192043120, b/216842427, b/178211874)
  • האנימציות הופעלו בפריטים של רשתות עצלות עם Modifier.animateItemPosition(). (Ib6621, b/211753218)
  • BringIntoViewRequester מפיץ עכשיו בקשות לאירוח תצוגת Android. (Ia7a51)
  • FontFamilyResolver זמין עכשיו דרך LocalFontFamilyResolver.current
    • בוצעה הוספה של createFontFamilyResolver(context) וגם createFontFamilyResolver(context, coroutineScope) כדי ליצור חדש מקודדי FontFamily מחוץ לשימוש בכתיבה.
    • הפסקאות והסעיפים הקודמים יהיו עכשיו FontFamily.Resolver
    • TextLayoutResult.layoutInput.fontFamilyResolver מכיל עכשיו המקודד שמשמש לפריסה הזו, הוצא משימוש TextLayoutResult.layoutInput.resourceLoader כי כבר לא נעשה בו שימוש. (Id5a45, b/174162090)
  • נוסף AndroidFont, ממשק API חדש ברמה נמוכה לאספקת סוגים חדשים של מתארי משאבי הגופנים ב-Android. לדוגמה, טעינת גופנים מ- קצה עורפי ספציפי לאפליקציה, עם אפשרות לאתר גופנים שהותקנו מראש במכשיר, או טעינת גופן ממשאב שלא סופק על ידי ההגדרה הנוכחית מפעלים לגופנים.
    • API של Font.ResourceLoaded הורחב כדי לתמוך בתמיכה אופציונלית ובאסינכרונית טעינת הגופן מתבצעת. לא מומלץ שמפתחי אפליקציות ישתמשו ישירות בממשק API. כדי להוסיף סוגי גופנים חדשים, יש להיכנס אל AndroidFont.
    • פונקציית התוסף Font.AndroidResourceLoader מאפשרת של Font.ResourceLoader כשהוא לא בקומפוזיציה.
    • הפרמטר loadingStrategy נוסף לגופנים מבוססי משאבים, כדי לאפשר טעינה אסינכרונית כשגופן המשאב מפנה ל-XML של גופנים שניתן להוריד. (Ie5aea, b/174162090)
  • ה-constructor של Typeface(FontFamily) הוצא משימוש. זה היה שימש בעבר לטעינה מראש של גופנים. הפעולה עשויה להימשך עד 10 שניות גופנים שניתנים להורדה. עם גופנים שניתנים להורדה, השיחה הזו יכולה להיות מוגבלת ל-10 אנשים שניות. במקומו צריך להשתמש ב-FontFamilyResolver.preload
    • האפשרות fontResource(FontFamily): Typeface הוצאה משימוש. זה היה שימש בעבר לטעינה מראש של גופנים. הפעולה עשויה להימשך עד 10 שניות גופנים שניתנים להורדה. במקום זאת, צריך להשתמש ב-FontFamilyResolver.preload (If8e7c, b/174162090)
  • עכשיו אפשר לציין את סוג התוכן של הפריטים של LazyVerticalGrid – פונקציות פריטים/פריטים ב-LazyGridScope מקבלות עכשיו פרמטר כזה. מידע כזה עוזר להשתמש שוב בלוגיקה של הרכבה כדי להפוך אותו ליעיל יותר, ולעשות שימוש חוזר רק בתוכן בין פריטים מסוג דומה. (I7b355, b/215372836)
  • ל-LazyListLayoutInfo ול-LazyGridLayoutInfo יש עכשיו נכסים חדשים: viewportSize, orientation, reverseLayout (Ifc8ed, b/200920410)
  • עכשיו אפשר לציין את סוג התוכן של הפריטים בפונקציות LazyColumn/LazyRow - item/items ב-LazyListScope. מידע כזה עוזר להשתמש שוב בלוגיקה של הרכבה כדי להפוך אותו ביעילות רבה יותר, ולעשות שימוש חוזר רק בתוכן בין פריטים מסוג דומה. (I26506)
  • ה-constructor של SubcomposeLayoutState שמקבל את maxSlotsToRetainForReuse הוצא משימוש. במקום זאת, יש constructor חדש שמקבל את SubcomposeSlotReusePolicy – ממשק חדש שמאפשר שליטה מפורטת יותר על המקומות שיש לשמור לשימוש חוזר בעתיד. (I52c4d)
  • הוספת מגבילי התאמה ל-windowInsets, גם למרווח פנימי ולשנות את הגודל. כך חלק מהתוכן יכול להתפרס לתוך האזור הפנימי, ועדיין מכילים תוכן ראשי, והם צריכים להישאר מחוץ לאזור הפנימי. לדוגמה, אפשר להשתמש ב-windowInsetsPting כדי למלא את התוכן כדי להימנע מאזורים שמכוסה באופן מלא או חלקי. (Id0395, b/213942085)

תיקוני באגים

  • עכשיו, שדות TextFields יופיעו מעל המקלדת והמקלדת מוצגת, כשמצב הקלט הרך ADJUST_PAN (I8eaeb, b/190539358, b/192043120)
  • במחשב נעשה שימוש בהרכבה מקומי ל-FontFamily.Resolver
    • הוצאה משימוש של FontLoader למחשב
    • מפעל חדש של createFontFamilyResolver במחשב (I6bbb, b/174162090)
  • סוג הקלט במקלדת הרכה לא מהבהב יותר כשמחליפים להתמקד בין שדות טקסט. (I1bf50, b/187746439)
  • בשדות טקסט כבר לא נדרשת לחיצה נוספת אחורה כאשר נקודת האחיזה של הסמן מוצגת. (Ideb4b, b/205726883)
  • התבצע כוונון של התנהגות ההגדלה של הטקסט כדי לבחור את הטקסט התאמה למגדיל התצוגה של הפלטפורמה. (Idd918, b/206833278)

גרסה 1.2.0-alpha02

26 בינואר, 2022

androidx.compose.foundation:foundation:1.2.0-alpha02 ו-androidx.compose.foundation:foundation-layout:1.2.0-alpha02 שוחררו. גרסה 1.2.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת את NonRestartableComposable לשיטות של עומס יתר שיטות קיימות ללא לוגיקה מורכבת. הפעולה הזו מפחיתה את המהדר (compiler) שיצרה בדיקות שינון (שווה) לכל הפרמטרים חוזרים בפונקציה הפנימית שנקראת. (I90490)
  • נוספו excludeFromSystemGesture מגבילי התאמה עבור גישה קלה ל-setSystemGestureExclusionRects של Android (I46f07)

תיקוני באגים

  • התבצע כוונון של התנהגות ההגדלה של הטקסט כדי לבחור את הטקסט התאמה למגדיל התצוגה של הפלטפורמה. (Idd918, b/206833278)
  • LazyColumn, LazyRow, Modifier.verticalScroll ומאגרים אחרים שמשתמשים ב-Modifier.scrollable תומכים עכשיו בגלילה באמצעות גלגל העכבר. (I2b5e1, b/198214718)

גרסה 1.2.0-alpha01

12 בינואר, 2022

androidx.compose.foundation:foundation:1.2.0-alpha01 ו-androidx.compose.foundation:foundation-layout:1.2.0-alpha01 שוחררו. גרסה 1.2.0-alpha01 מכילה את התחייבויות אלה.

שינויים ב-API

  • הפרמטר החדש userScrollEnabled נוסף ל-LazyColumn, ל-LazyRow ול-LazyVerticalGrid כדי לאפשר למשתמשים להשבית באופן זמני או קבוע את הגלילה ביוזמת המשתמש באמצעות תנועות מגע או פעולות נגישות. עדיין תהיה אפשרות לגלול באופן פרוגרמטי באמצעות השיטות במדינה. (I7eae9, b/201150093)
  • הוספת קריאה חוזרת (callback) של onSizeChanged למקש הצירוף של זכוכית המגדלת. (I6879f)
  • ווידג'ט ההגדלה מוצג עכשיו כשגוררים את הבחירה בSelectionContainer. (I30b38, b/139320979)

תיקוני באגים

  • תיקון נקודת האחיזה של הסמן TextField שלא מוסתרת כשגוללים מתוך צפייה. (I14552, b/208883748)

עדכונים בנושא תלות

  • עכשיו תלוי ב-Kotlin 1.6.10.

גרסה 1.1

גרסה 1.1.1

23 בפברואר 2022

androidx.compose.foundation:foundation:1.1.1 ו-androidx.compose.foundation:foundation-layout:1.1.1 שוחררו. גרסה 1.1.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תיקון NullPointerException ב-androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • תיקון הקריסה שנגרמה בגלל תוכן שבלוח העריכה במהלך קריאה מ לוח העריכה ב-Android. (I06020, b/197769306)
  • RTL קבוע ב-LazyVerticalGrid (aosp/1931080, b/207510535)

גרסה 1.1.0

9 בפברואר 2022

androidx.compose.foundation:foundation:1.1.0 ו-androidx.compose.foundation:foundation-layout:1.1.0 שוחררו. גרסה 1.1.0 כוללת את ההתחייבויות האלה.

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

  • תמיכה יציבה באפקט גלילת היתר ב-Android 12
  • שיפורים בגודל משטחי מגע
  • חשוב לשים לב: בכל הנוגע לניסוח 1.0, רכיבי Material ירחיבו את שטח הפריסה שלהם כך שיעמדו בהנחיות הנגישות של Material עבור גודל יעד המגע. לדוגמה, משטח המגע של הלחצן יתרחב לגודל מינימלי של 48x48dp, גם אם הגדרת את גודל הלחצן קטן יותר. זה מאפשר התאמה של חומרי הלימוד לאותה התנהגות של רכיבי Material Design, שמספק התנהגות עקבית אם משלבים בין תצוגות מפורטות לבין 'כתיבה'. השינוי הזה גם מבטיח שכשיוצרים את ממשק המשתמש באמצעות רכיבי 'חומר הכתיבה', צריך לעמוד בדרישות המינימליות לנגישות במשטח מגע.
  • תמיכה יציבה במסילת הניווט
  • שדרוג של מספר ממשקי API ניסיוניים שכבר היו ניסיוניים לגרסה יציבה
  • תמיכה בגרסאות חדשות יותר של Kotlin

גרסה 1.1.0-rc03

26 בינואר, 2022

androidx.compose.foundation:foundation:1.1.0-rc03 ו-androidx.compose.foundation:foundation-layout:1.1.0-rc03 שוחררו. גרסה 1.1.0-rc03 מכילה את ההתחייבויות האלה.

תיקוני באגים

  • עודכנה לתמיכה בחומר 'כתיבה' 1.1.0-rc03

גרסה 1.1.0-rc01

15 בדצמבר 2021

androidx.compose.foundation:foundation:1.1.0-rc01 ו-androidx.compose.foundation:foundation-layout:1.1.0-rc01 שוחררו. גרסה 1.1.0-rc01 מכילה את ההתחייבויות האלה.

תיקוני באגים

  • עכשיו מותר להעביר קיזוזי גלילה שליליים אל LazyListState.scrollToItem() ו-LazyListState.animateScrollToItem(). (Iceb90, b/184252837)
  • תוקן באג שגרם לפעולות חסרות של גלילה לנגישות (I7cbfb)

גרסה 1.1.0-beta04

1 בדצמבר 2021

androidx.compose.foundation:foundation:1.1.0-beta04 ו-androidx.compose.foundation:foundation-layout:1.1.0-beta04 שוחררו. גרסה 1.1.0-beta04 כוללת את ההתחייבויות האלה.

תכונות חדשות

  • עודכן להתאמה ל-Kotlin 1.6.0

שינויים ב-API

  • הערך של מאפיין ה-null הוסר מ-androidx.core.view(I7078a, b/204917439)
  • נוספו ממשקי API ניסיוניים שמאפשרים לצרוך את PointerInputchange או לבדוק אם נעשה בהם שימוש. (I2e59d)
  • להציג ווידג'ט של מגדיל בעת גרירת הסמן או נקודות אחיזה לבחירה בתוך שדות טקסט. (I5391e, b/203781358)

תיקוני באגים

  • תיקון כינויים של טקסט שלא זזים כאשר החשיפה של IME משתנה. (I25f2e)

גרסה 1.1.0-beta03

17 בנובמבר 2021

androidx.compose.foundation:foundation:1.1.0-beta03 ו-androidx.compose.foundation:foundation-layout:1.1.0-beta03 שוחררו. גרסה 1.1.0-beta03 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה תמיכה בפריסה אופקית ל-LazyVerticalGrid. (I7e2fa, b/176758183)
  • נוספה יכולת ניסיונית להוסיף אנימציה למיקומי פריטים ברשימות של 'לאיזי'. יש תכונת התאמה חדשה זמינה ב-LazyItemScope בשם Modifier.animateItemPlacement(). דוגמה לשימוש:

      var list by remember { mutableStateOf(listOf("A", "B", "C")) }
      LazyColumn {
          item {
              Button(onClick = { list = list.shuffled() }) {
                  Text("Shuffle")
              }
          }
          items(list, key = { it }) {
              Text("Item $it", Modifier.animateItemPlacement())
          }
      }
    
    • אם מספקים מפתח דרך LazyListScope.item או LazyListScope.items, האנימציות האלו תפעיל סידור מחדש של פריטים. מלבד סידור מחדש של פריטים, כל שינוי אחר במיקום שנובע מאירועים כמו שינויים בסידור או ביישור יוצג גם הוא. (I59e7b, b/150812265)

גרסה 1.1.0-beta02

3 בנובמבר 2021

androidx.compose.foundation:foundation:1.1.0-beta02 ו-androidx.compose.foundation:foundation-layout:1.1.0-beta02 שוחררו. גרסה 1.1.0-beta02 מכילה את התחייבויות אלה.

תיקוני באגים

  • הדים וסימנים אחרים יתעכבו עכשיו רק אם הם בתוך קונטיינר של Modifier.scrollable(), במקום שתמיד יתעכבו בגלל אירוע מושבת. (Ibefe0, b/203141462)
  • נוסף ממשק API ניסיוני של BringIntoView, שמאפשר לשלוח בקשה להורים כדי שהם יגלולו כדי שפריט יוצג (Ib918d, b/195353459)

תרומה חיצונית

  • בוצעה הוספה של Modifier.pointerHoverIcon (I95f01)

גרסה 1.1.0-beta01

27 באוקטובר 2021

androidx.compose.foundation:foundation:1.1.0-beta01 ו-androidx.compose.foundation:foundation-layout:1.1.0-beta01 שוחררו. גרסה 1.1.0-beta01 מכילה את התחייבויות אלה.

תיקוני באגים

  • נוסף ממשק API ניסיוני של BringIntoView, שמאפשר לשלוח בקשה להורים כדי שהם יגלולו כדי שפריט יוצג (Ib918d, b/195353459)

גרסה 1.1.0-alpha06

13 באוקטובר 2021

androidx.compose.foundation:foundation:1.1.0-alpha06 ו-androidx.compose.foundation:foundation-layout:1.1.0-alpha06 שוחררו. גרסה 1.1.0-alpha06 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוסף עומס יתר של פריסה בלי ילדים, עם יעילות משופרת (Ib0d9a)
  • השירות SemanticsNodeInteraction.performSemanticsAction חוזר ה-SemanticsNodeInteraction שבו הופעלה הפונקציה. (I9e5db)
  • בוצעה הוספה של performScrollToNode(matcher: SemanticsMatcher) גולל מכל מאגר שאפשר לגלול אל התוכן שתואם ניתנה לו התאמה. (Ic1cb8)

גרסה 1.1.0-alpha05

29 בספטמבר 2021

androidx.compose.foundation:foundation:1.1.0-alpha05 ו-androidx.compose.foundation:foundation-layout:1.1.0-alpha05 שוחררו. גרסה 1.1.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

תיקוני באגים

  • תמיכת נגישות מתוקנת עבור דפים מתקפלים (גם ללא עצמאות) בנוגע לגלילה (I6cdb0)

גרסה 1.1.0-alpha04

15 בספטמבר 2021

androidx.compose.foundation:foundation:1.1.0-alpha04 ו-androidx.compose.foundation:foundation-layout:1.1.0-alpha04 שוחררו. גרסה 1.1.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוצאו משימוש performGesture ו-GestureScope, שכוללים הוחלף על ידי performTouchInput ו-TouchInjectionScope. (Ia5f3f, b/190493367)
  • בוצעה הוספה של touchBoundsInRoot אל SemanticsNode, כולל את הגודל המינימלי של משטח המגע, כדי שמפתחים יכול להבטיח שמשטחי מגע עומדים בדרישות המינימום בנושא נגישות. (I2e14b, b/197751214)

תיקוני באגים

  • במכשירי Android 12 נוספה תמיכה בגלילת יתר במתיחה. (Iccf3c, b/171682480)

גרסה 1.1.0-alpha03

1 בספטמבר 2021

androidx.compose.foundation:foundation:1.1.0-alpha03 ו-androidx.compose.foundation:foundation-layout:1.1.0-alpha03 שוחררו. גרסה 1.1.0-alpha03 מכילה את התחייבויות אלה.

תכונות חדשות

  • הכתיבה 1.1.0-alpha03 עודכנה בהתאם ל-Kotlin 1.5.30. (I74545)

שינויים ב-API

  • אפקט הזוהר לגלילה נוסף. נוסף ממשק API ניסיוני חדש של OverScrollConfiguration, כדי לאפשר הגדרה של האפקט החזותי של גלילת יתר. כדי להשבית את אפקט גלילה מעבר לקצה צריך להזין ערך null. (I0c304, b/171682480)
  • AwaitPointerEventScope כולל עכשיו withTimeout() ו-withTimeoutOrNull() (I507f0, b/179239764, b/182397793)
  • נוספה שיטת בדיקה כדי לקבל גבולות חתוכים. (I6b28e)
  • גודל משטח המגע המינימלי נוסף ל-ViewConfiguration לשימוש בסמנטיקה ובקלט של מצביע כדי להבטיח נגישות. (Ie861c)

גרסה 1.1.0-alpha02

18 באוגוסט 2021

androidx.compose.foundation:foundation:1.1.0-alpha02 ו-androidx.compose.foundation:foundation-layout:1.1.0-alpha02 שוחררו. גרסה 1.1.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספו גרסאות DpSize עבור Modifier.size ו-requiredSize (I3fc7e, b/194219828)

גרסה 1.1.0-alpha01

4 באוגוסט 2021

androidx.compose.foundation:foundation:1.1.0-alpha01 ו-androidx.compose.foundation:foundation-layout:1.1.0-alpha01 שוחררו. גרסה 1.1.0-alpha01 מכילה את התחייבויות אלה.

שינויים ב-API

  • השיטה DrawScope#drawImage עודכנה שימוש בתשובות של מקור ויעד כדי לצרוך מסנן איכות אופציונלי הפרמטר. זה שימושי לפיקסלים אומנות שמיועדת להיות מפוקסלת כשהוא מותאם לגרפיקה מבוססת-פיקסלים. עודכן ב-BitmapPainter + תמונה קומפוזבילית כדי לצרוך גם תכונת Filter Quality (איכות סינון) אופציונלית פרמטר (Ie4fb0, b/180311607)
  • TextField מבטל עכשיו את הבחירה כשלוחצים על לחצן 'הקודם', שתואם להתנהגות של Android EditText. (I3ca16, b/174173645)
  • הוספת נקודת אחיזה של הסמן. (I07a82, b/173016579)

תיקוני באגים

  • אנימציה של גלילה באמצעות פעולות סמנטיקה ברשימות עצלות וברכיבי גלילה רגילה (Id9066, b/190742024)

תרומה חיצונית

  • הפונקציה LazyVerticalGrid מקבלת עכשיו גם פרמטרים של סידור אופקי וגם של סידור אנכי. (If9c92)

גירסה 1.0

גרסה 1.0.5

3 בנובמבר 2021

androidx.compose.foundation:foundation:1.0.5 ו-androidx.compose.foundation:foundation-layout:1.0.5 שוחררו. גרסה 1.0.5 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקן מכונות של conversionStateOf למעקב אחרי קריסה. (aosp/1792247)

גרסה 1.0.4

13 באוקטובר 2021

androidx.compose.foundation:foundation:1.0.4 ו-androidx.compose.foundation:foundation-layout:1.0.4 שוחררו. גרסה 1.0.4 כוללת את ההתחייבויות האלה.

עדכונים בנושא תלות

  • עודכן לתלוי ב-Kotlin 1.5.31

גרסה 1.0.3

29 בספטמבר 2021

androidx.compose.foundation:foundation:1.0.3 ו-androidx.compose.foundation:foundation-layout:1.0.3 שוחררו. גרסה 1.0.3 מכילה את ההתחייבויות האלה.

עדכונים בנושא תלות

  • עודכן לתלוי ב-Kotlin 1.5.30

גרסה 1.0.2

1 בספטמבר 2021

androidx.compose.foundation:foundation:1.0.2 ו-androidx.compose.foundation:foundation-layout:1.0.2 שוחררו. גרסה 1.0.2 כוללת את ההתחייבויות האלה.

עודכנה לתמיכה בגרסה 'כתיבה' 1.0.2. הכתיבה 1.0.2 עדיין תואמת ל-Kotlin 1.5.21.

גרסה 1.0.1

4 באוגוסט 2021

androidx.compose.foundation:foundation:1.0.1 ו-androidx.compose.foundation:foundation-layout:1.0.1 שוחררו. גרסה 1.0.1 כוללת את ההתחייבויות האלה.

עדכונים בנושא תלות

  • עודכן ל-Kotlin 1.5.21

גרסה 1.0.0

28 ביולי 2021

androidx.compose.foundation:foundation:1.0.0 ו-androidx.compose.foundation:foundation-layout:1.0.0 שוחררו. גרסה 1.0.0 מכילה את ההתחייבויות האלה.

התכונות העיקריות של 1.0.0

זוהי הגרסה היציבה הראשונה של 'כתיבה'. לפרטים נוספים, מומלץ לעיין בבלוג הרשמי של תוכנית 'כתיבת תוכן'.

בעיות מוכרות

  • אם אתם משתמשים ב-Android Studio Bumblebee Canary 4 או ב-AGP 7.1.0-alpha04/7.1.0-alpha05, עלולים להיתקל בקריסה הבאה:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    כדי לפתור את הבעיה, צריך להגדיל באופן זמני את ה-minSdkVersion ל-24+ בקובץ build.gradle. הבעיה הזו תיפתר בגרסה הבאה של Android Studio Bumblebee ו-AGP 7.1. (b/194289155)

גרסה 1.0.0-rc02

14 ביולי 2021

androidx.compose.foundation:foundation:1.0.0-rc02 ו-androidx.compose.foundation:foundation-layout:1.0.0-rc02 שוחררו. גרסה 1.0.0-rc02 מכילה את ההתחייבויות האלה.

  • עיבוד גבולות מעודכן לצורות גנריות כדי לפתור בעיות בנתיבים מוגדר עם מאפיינים קבועים. (aosp/1748871, b/191817116)

גרסה 1.0.0-rc01

1 ביולי 2021

androidx.compose.foundation:foundation:1.0.0-rc01 ו-androidx.compose.foundation:foundation-layout:1.0.0-rc01 שוחררו. גרסה 1.0.0-rc01 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • לוח הציור תומך עכשיו בפרמטר contentDescription עבור נגישות. (Ib547c)

תיקוני באגים

  • לחצן מושבת, כרטיס, תיבות סימון וModifier.clickable(enabled=false) באופן כללי יחסום קליקים מכדי לעבור להורה. (Ic2c3b, b/183908811)

גרסה 1.0.0-beta09

16 ביוני 2021

androidx.compose.foundation:foundation:1.0.0-beta09 ו-androidx.compose.foundation:foundation-layout:1.0.0-beta09 שוחררו. גרסה 1.0.0-beta09 מכילה את התחייבויות אלה.

שינויים ב-API

  • בוצעה הסרה של ManualFrameClock. אם אתם רוצים לשלוט באנימציות, במקומה צריך להשתמש במדיניות composeTestRule.mainClock. (I3c3e8, b/189951065)
  • לשנות את התפקיד 'טיפוסים בני מנייה (enum)' ו-LiveRegionMode למחלקות מוטבעות עם Private constructor (Id1890)
  • שימוש באותיות רישיות מומר למחלקה בתוך השורה. (Id5a1c)
  • TextOverflow משתנה למחלקה מוטבעת. (I433af)

תיקוני באגים

  • עכשיו, כשמציינים את המפתחות הייחודיים לפריטים מסוג LazyColumn/Line, הגלילה נשמרת על סמך המפתח. כלומר, אם מוסיפים/מסירים פריטים לפני הפריט הגלוי הנוכחי, הפריט עם המפתח הנתון יישמר בתור הפריט הגלוי הראשון. (Id263f, b/184257857)
  • קבועי מפתח הם @trialComposeUiApi בשלב זה. צריכה קוד יכול להצהיר על קבועים פרטיים לפני ייצוב. (Ia5d48)
  • נוספה ל-AndroidComposeTestRule את שיטת הפעולה הזאת שיכול להיות משמשת לבדיקת frameworks להתקנת מנגנון חלופי או להשיג שתיקה. כדאי להשתמש AndroidComposeTestRule.setIdlingStrategyFactory() לפני הבדיקה יתחיל להתקין אסטרטגיה משלכם. (I608fa)

הוספת כללים לפרופילים

הגרסה הזו מוסיפה כללי פרופיל למודולים הבאים של כתיבה (I14ed6):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

מהם כללי פרופיל?

  • כללי פרופיל עבור ספרייה מוגדרים בקובץ הטקסט baseline-prof.txt שנמצא בספרייה src/main או בספרייה מקבילה. הקובץ מציין כלל בכל שורה, כאשר כלל במקרה הזה הוא דפוס להתאמה ל-methods או מחלקות בספרייה. התחביר של הכללים האלה הוא קבוצת-על של פורמט פרופיל ART קריא לאנשים, שנעשה בו שימוש כשמשתמשים ב-adb shell profman --dump-classes-and-methods .... לכללים אלה יש אחת משתי דרכים לטירגוט שיטות או מחלקות.

  • כלל שיטה יכלול את הדפוס הבא:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • וכלל מחלקה יהיה הדפוס הבא:

    <CLASS_DESCRIPTOR>
    
  • הערך <FLAGS> הוא אחד או יותר מהתווים H, S ו-P כדי לציין אם יש לסמן את השיטה הזו כ'חם', 'הפעלה' או 'פוסט סטארט-אפ'.

  • <CLASS_DESCRIPTOR> הוא התיאור של המחלקה שאליה שייכת שיטת הטירגוט. לדוגמה, המחלקה androidx.compose.runtime.SlotTable תקבל מתאר של Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> הוא החתימה של השיטה, והוא כולל את השם, סוגי הפרמטרים וסוגי ההחזרה של השיטה. לדוגמה, השיטה fun isPlaced(): Boolean ב-LayoutNode כוללת את החתימה isPlaced()Z.

  • לתבניות האלה יכולים להיות תווים כלליים לחיפוש (**, * ו-?) כדי שכלל יחיד יכלול כמה שיטות או מחלקות.

למה משמשים הכללים?

  • שיטה עם הדגל H מציינת שהשיטה הזו היא 'חם' וצריך להרכיב אותה מראש.

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

  • שיטה עם הדגל P מציינת שזו שיטה שנקראת אחרי ההפעלה.

  • מחלקה שנמצאת בקובץ הזה מצביעה על כך שנעשה בו שימוש במהלך ההפעלה וצריך להקצות אותו מראש בערימה כדי למנוע את עלות הטעינה של הכיתה.

איך זה עובד?

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

גרסה 1.0.0-beta08

2 ביוני 2021

androidx.compose.foundation:foundation:1.0.0-beta08 ו-androidx.compose.foundation:foundation-layout:1.0.0-beta08 שוחררו. גרסה 1.0.0-beta08 כוללת את ההתחייבויות האלה.

שינויים ב-API

  • NestedScrollSource enum מוחלף במחלקה מוטבעת. (Ie321b, b/187055290)
  • ארגון מחדש של השימושים ב-enum למחלקות מוטבעות כדי להימנע עם הצהרות ממצות נוספו ערכי enum חדשים. (I2b5eb)
  • הוספת זמן קצוב לתפוגה של הקשה לצורך לחיצה או החלפת מצב כדי למנוע הצגת גלים במהלך גלילה או גרירה (Ia2704, b/168524931)
  • מאפייני ContentDescription ו-Text סמנטיקה כבר לא זמינים ערכים בודדים, אלא רשימות. כך אפשר למזג אותם כפי שהם במקום זאת של שרשורי מחרוזות. סופקו גם ממשקי API טובים יותר לבדיקה כדי להשתמש שינויים (Ica6bf, b/184825850)
  • Modifier.focusModifier() הוצא משימוש והוחלף ב-Modifier.focusTarget() (I6c860)
  • GboardType enum מוחלפת במחלקה מוטבעת. (I73045, b/187055290)
  • FocusState enum הוחלף בממשק עם FocusState (Iccc1a, b/187055290)
  • ImeAction enum מוחלף במחלקה מוטבעת. (I18be5, b/187055290)
  • הפונקציות של AnnotatedString.withAnnotation הן עכשיו trialTextApi במקום trialComposeApi. (I0cd0a)
    • constructor של TextUnit עם TextUnitType נקרא עכשיו trialTextApi במקום trialComposeApi.
  • הערך של PWordValues הוא עכשיו @Stable במקום @Immutable (I88c50)

תיקוני באגים

  • תיקון קריסות של לחיצה ארוכה על האזור הריק בטקסט שאינו ריק. (I33ab5, b/187437299)
  • הצגת סרגל הכלים לאחר SelectAll (I495d9, b/185919613)
  • תיקון עבור מאגרים שניתנים לגלילה שגוזרים את הצאצאים שלהם על הציר האופקי. אפשר לשחזר אותו בקלות אם יש לכם שורת LazyRow עם פריטים בכרטיס. עכשיו הצל לא ייחתך. (Icb635, b/186318448)
  • תוקנה בעיה שבה גלים או סימנים אחרים נתקעו לפעמים בלחיצה ארוכה במהלך שימוש ב-Modifier.combinedClickable (I2298c, b/186223077)
  • עכשיו detectDragGesures, detectVerticalGestures ו-detectHorizontalGestures ישתמשו בשינוי המיקום באופן אוטומטי, ללא צורך בקריאה לשנות.consumePositionChange בקריאות החוזרות של onDrag (I42fc4, b/185096350, b/187320697)
  • הערך Modifier.onGloballyPositioned() השתנה כדי לדווח על הקואורדינטות של הצירוף הזה בשרשרת הצירוף, ולא על קואורדינטות הפריסה אחרי החלת כל המשנים. המשמעות היא שעכשיו סדר המשנים משפיע על הקואורדינטות שידווחו. (Ieb67d, b/177926591)

גרסה 1.0.0-beta07

18 במאי 2021

androidx.compose.foundation:foundation:1.0.0-beta07 ו-androidx.compose.foundation:foundation-layout:1.0.0-beta07 שוחררו. גרסה 1.0.0-beta07 מכילה את התחייבויות אלה.

שינויים ב-API

  • הלוגיקה הגלויה הבאה לשליפה מראש של פריט מוכנסת ל-LazyColumn/Row (I8a4bc, b/184940225)
  • נוספה נקודת אחיזה לבחירת קליפ (Iff80d, b/183408447)

תיקוני באגים

  • בשלב הזה, עד 2 פריטים שהיו פעילים בעבר יופיעו ב-LazyColumn/Line, גם אם הם נגללו כלפי מטה. כך הרכיב יכול לעשות שימוש חוזר בהרכבות המשנה הפעילות במקרה שנצטרך להרכיב פריט חדש, וכך תשפר את ביצועי הגלילה. Ie5555
  • הסרת צבע רקע. (I38660)
  • שרטט את רקע הבחירה באמצעות DrawScope. (I73c61, b/186674472)
  • תוקנה רגרסיה של בטא06 שמשפיעה על שורה/עמודה באמצעות הסדרים של SpacedBy לפריסת צאצאים משוקללים. (Ifaf8c, b/187326588)

גרסה 1.0.0-beta06

5 במאי 2021

androidx.compose.foundation:foundation:1.0.0-beta06 ו-androidx.compose.foundation:foundation-layout:1.0.0-beta06 שוחררו. גרסה 1.0.0-בטא06 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • פתרון התנגשות עם תנועת ניווט (I1145e)
  • נוספו ממשקי API לנגישות ב-CollectionInfo וב-CollectionItemInfo, שמאפשרים לסמן את האוסף והפריטים שלו לשירותי נגישות (Id54ef, b/180479017)
  • הוספת את SemanticsActions.ScrollToIndex כדי לגלול רשימה עם של פריטים שנוספו לאינדקס לפריט עם אינדקס מסוים, וגם SemanticsProperties.IndexForKey כדי לקבל את האינדקס של פריט ברשימה עם פריטים שמקודדים לפי הקוד. שתי הפעולות מוטמעות על ידי LazyList.
    • בוצעה הוספה של SemanticsNodeInteraction.performScrollToIndex גולל רשימה לאינדקס הנתון, SemanticsNodeInteraction.performScrollToKey שגולל רשימה אל עם המפתח הנתון. (I4fe63, b/178483889, b/161584524)
  • התמיכה בשמירת הערות ב-AnnotatedString TextFieldValue.Saver. נוספה addTtsAnnotation והפונקציות של כלי העזר ל-Annotation AnnotatedString.Builder (I8cbdc, b/178446304)
  • ערכי הפרמטר 0.dp המוגדרים כברירת מחדל נוספו אל PaddingValues(horizontal, vertical) (I05571, b/181336792)

תיקוני באגים

  • שורה ו- הצאצאים של העמודה עם weight(fill = false) כבר לא גורמים להורה למלא את כל השטח הזמין של הציר הראשי. (Ied94d, b/186012444, b/184355105)

גרסה 1.0.0-beta05

21 באפריל 2021

androidx.compose.foundation:foundation:1.0.0-beta05 ו-androidx.compose.foundation:foundation-layout:1.0.0-beta05 שוחררו. גרסה 1.0.0-beta05 מכילה את התחייבויות אלה.

שינויים ב-API

  • ממשק FlingBehavior מסומן עכשיו כ- @Stable. כל הטמעות צריכות לעמוד בדרישות החוזה @Stable. (I93354, b/184830577)

תיקוני באגים

  • תוקן ACTION_SCROLL_FORWARD, ACTION_SCROLL_BACKWARD, accessibilityActionScrollLeft, accessibilityActionScrollUp accessibilityActionScrollRight ו-accessibilityActionScrollDown פעולות גלילה לנגישות. במקום לגלול עד לסוף תגרום לגלול במסך אחד בכיוון הנתון. (Ieccb0)
  • הקבצים AndroidManifest מה-ui-test-manifest וגם ui-tooling-data תואמים עכשיו ל-Android 12 (I6f9de, b/184718994)

גרסה 1.0.0-beta04

7 באפריל 2021

androidx.compose.foundation:foundation:1.0.0-beta04 ו-androidx.compose.foundation:foundation-layout:1.0.0-beta04 שוחררו. גרסה 1.0.0-beta04 מכילה את התחייבויות אלה.

שינויים ב-API

  • שינוי השם של מקלדת ההסתרה ותצוגת התוכנה להפעלת התוכנה בקרי תוכנה ל-hide() ול-show() בהתאמה.
    • יש לספק את הממשק המלא של CompositionLocal עבור Local SoftwareKeyboardController, שמאפשר להגדיר אותו (במיוחד שימושי בבדיקות) (I579a6)
  • הצגה של TextOverflow.Visible. (Ic8f89)
  • הוסרו המופעים הציבוריים של RowScope, ColumnScope, BoxScope ו-BoxWithConstraintsScope. (I4e83e, b/181869067)

תיקוני באגים

  • תוקנה הבעיה כשפריטים של LazyColumn/LazyRow ממוקמים בקצוות באופן שגוי אחרי הנפילה מהירה (Ie4d13, b/183877420)
  • לפני השינוי הזה, היה אפשר לדלג על פונקציות קומפוזביליות מקומיות על סמך הפרמטרים שלהן. אחרי השינוי הזה, לא המערכת תדלג על פונקציות קומפוזביליות מקומיות. השינוי הזה בוצע כי פעמים רבות ומקובלות וצפויות שהפונקציות המקומיות יתעדו פרמטרים מתבנית ההורה, ודילוג עליהן הוא מקור נפוץ לבאגים.

    לסיכום, נבחן את הדוגמה:

    @Composable fun Counter(count: Int, onCountChange: (Int) -> Unit) {
      @Composable fun ShowCount() { Text("Count: $count") }
      ShowCount()
      Button(onClick={ onCountChange(count + 1) }) {
        Text("Increment")
      }
    }
    

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

גרסה 1.0.0-beta03

24 במרץ 2021

androidx.compose.foundation:foundation:1.0.0-beta03 ו-androidx.compose.foundation:foundation-layout:1.0.0-beta03 שוחררו. גרסה 1.0.0-beta03 מכילה את התחייבויות אלה.

שינויים ב-API

  • האפשרות DefaultMonotonicFrameClock הוצאה משימוש. ביצוע שיחה withFrameNanos או Recomposer.runRecomposeAndApplyChanges ללא MonotonicFrameClock יזרק עכשיו את IllegalStateException. (I4eb0d)

תיקוני באגים

  • הפונקציה FlingBehavior.performFling() נקראת עכשיו גם כשהמהירות היא 0 (I0b6e5, b/181237123)

גרסה 1.0.0-beta02

10 במרץ 2021

androidx.compose.foundation:foundation:1.0.0-beta02 ו-androidx.compose.foundation:foundation-layout:1.0.0-beta02 שוחררו. גרסה 1.0.0-beta02 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספו מספר אופטימיזציות קטנות בלוגיקת המדידה של LazyColumn (Ic6889)
  • נוספה יצירה מקומית חדשה של LocalSoftwareKeyboardController צריך להפעיל את ה-API כדי להחליף את הממשק הקודם של SoftwareCategoryController TextField (שדה טקסט). (I5951e, b/168778053)
  • נוספה יצירה מקומית חדשה של LocalSoftwareKeyboardController צריך להפעיל את ה-API כדי להחליף את הממשק הקודם של SoftwareCategoryController TextField (שדה טקסט). (I84472, b/168778053)

תיקוני באגים

  • לאכוף הגבלות על שימוש ציבורי בממשקי API ניסיוניים (I6aa29, b/174531520)

גרסה 1.0.0-beta01

24 בפברואר 2021

androidx.compose.foundation:foundation:1.0.0-beta01 ו-androidx.compose.foundation:foundation-layout:1.0.0-beta01 שוחררו. גרסה 1.0.0-beta01 מכילה את התחייבויות אלה.

זוהי הגרסה הראשונה של גרסת הבטא של 'פיתוח נייטיב' 1.0.0.

שינויים ב-API

  • onStart callback נוסף אל detectDragGestures (I67269, b/179995594)
  • מגבילי התאמה של הגודל לפי גורמים פנימיים כבר לא ניסיוניים. (I15744)
  • טענות נכוֹנוּת (assertions) של dp הוסרו (I798d2)
  • הוסרה קריאה חוזרת (callback) של Software KeyboardController מכל הטקסט השדות האלה יוחלפו בקרוב ב-API חדש. (Iae869, b/168778053)
  • השם של MeasureBlocks השתנה ל-MeasurePolicy, והוא הפך לממשק מהנה. ממשקי ה-API של הפריסה עודכנו או פשוטים לשימוש ב-MeasurePolicy. (Icab48, b/167662468, b/156751158)
  • הטקסט InteractionState הוחלף בטקסט [Mutable]InteractionSource
    • הממשקים אחראים לפליטה או לאיסוף של אירועי אינטראקציה.
    • במקום להעביר את הערך interactionState = remember { InteractionState() } לרכיבים כמו Button ו-Modifier.clickable(), צריך להשתמש ב-interactionSource = remember { MutableInteractionSource() }.
    • במקום: Interaction.Pressed in interactionState צריך להשתמש בפונקציות התוסף ב-InteractionSource, כמו InteractionSource.collectIsClickedAsState().
    • בתרחישים מורכבים לדוגמה, אפשר להשתמש ב-InteractionSource.interactions כדי לצפות בזרם האינטראקציות. למידע נוסף, אפשר לעיין במסמכים ובדוגמאות של InteractionSource.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • הוסרו שיטות LayoutCoordinates שהוצאו משימוש, יש להשתמש בפונקציה במקום במאפיין עבור positionInParent ו-boundsInParent (I580ed, b/169874631, b/175142755)
  • נוצרה TextInputSession חדש לסשנים של קלט מרכיבי טקסט ברמה נמוכה כמו CoreTextField. (I8817f, b/177662148)
  • עכשיו ניתן לראות את הערך של המדד 'מודד', שמייצג את הגודל שאליו נמדדה פריסת הצאצא. יכול להיות שהגודל הזה לא יתאים למגבלות המדידה. (Ib2729, b/172560206, b/172338608)
  • הוספת מגביל SelectGroup שמאפשר לסמן איסוף של כרטיסיות או לחצני רדיו למטרות נגישות (Ie5c29)
  • הוספה של LazyListState.animateScrollToItem

    בשיטה הזו, באמצעות גלילה חלקה לפריט ספציפי ברשימה. (I4bfd7)

  • השם של ScrollableState.smoothScrollBy() השתנה ל-animateScrollBy() השם של LazyListState.snapToItemIndex() השתנה ל- ScrollToItem() . השם של ScrollState.smoothScrollTo() השתנה ל-animateScrollTo() (I35ded).

  • Modifier.zoomable הוחלף ב-Modifier.transformable. smoothPanBy, smoothRotationBy נוסף כפונקציונליות. (Ifc32b, b/175294473)

  • defaultFactory של compositionLocalOf וגם השדה staticCompositionLocalOf נדרש עכשיו במקום אופציונלי.

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

    עבור סוגים שאינם יכולים להיות בעלי ערך null, מומלץ לציין את { null } כברירת המחדל במפעל.

    אנחנו לא ממליצים להשתמש בתושבים מקומיים עם סוגים שאינם ערכי null, אלא אם אפשר לספק ברירת מחדל הגיונית. אם לא קיימת ברירת מחדל הגיונית, ה-lambda של defaultFactory אמור לגרום לחריגה. אבל גורם חריג פירושו שהצרכנים המקומיים תלות מרומזת בהינתן שלא נאכפת. לפי מערכת הסוגים. (Ifbd2a)

  • שינית את Indication#createIndication() ל-Indication#rememberUpdatedIndication(InteractionState) והסרת הפרמטר InteractionState מ-IndicationInstance#drawIndication(). IndicationInstance צריך להיות אחראי רק לשרטוט אפקטים חזותיים, ולא להפעלה של אנימציות או מצב הכתיבה בתגובה לשינויים ב-InteractionState. במקום זאת, האנימציות וכתבי המצב האלה צריכים להתרחש בתוך rememberUpdatedIndication(). גם הפרמטר indication ב-Modifier.indication השתנה לפרמטר נדרש. (Ic1764, b/152525426)

  • פעולות טקסט בודקות עכשיו את המיקוד באופן אוטומטי (I13777, b/179648629)

  • הוסר runBlockingWithManualClock (I15cdc, b/179664814)

  • המיקום של הגלילה ב-Modifier.verticalScroll()/verticalScroll() מיוצג באמצעות Ints עכשיו (I81298)

  • smoothScrollBy ו ScrollBy methods' החבילות שונו ל-androidx.compose.foundation.gestures.* (I3f7c1, b/175294473)

  • השם של FlingConfig השתנה ל-FliingBehavior, שמאפשר עכשיו להתאים אישית אנימציית השעיה במקום להגדיר מראש 'דעיכה'. (I02b86, b/175294473)

  • השמות של ערכי הצירוף של הגודל השתנו. השם של Modifier.width/height/size שונה ל-requiredwidth/requiredHeight/requiredSize. השם של Modifier.Preferredwidth/PreferredHeight/PreferredSize השתנה ל-'width/height/size'. (I5b414)

  • השם של defaultMinSizeConstraints השתנה ל-defaultMinSize. (I4eaae)

  • הוסר. במקומה צריך להשתמש במדיניות Modifier.pointerInput { detectTapGestures(...) }. (I266ed, b/175294473)

  • הוסרה צריכה חלקית ממערכת הקלט של המצביע. הדרך המומלצת לתיאום צריכה חלקית היא Modifier.nestedScroll. (Ie9c9b)

  • הכיוון הועבר לחבילת הבסיס. VelocirtTracker עבר מ-ui.gesture ל-ui.input.pointer. (Iff4a8, b/175294473)

  • AnimationClockObservable וכיתות המשנה כבר הוסר. האנימציה הוסרה. (Icde52, b/177457083)

  • חלונית ההזזה.open() ו-חלונית ההזזה-Close() משעות עכשיו פונקציות. משתמשים ב-MemoryCoroutineScope() כדי לקבל את היקף היצירה שצריך לקרוא לה (I16f60, b/175294473)

  • השם 'ספקים' השתנה ל-CompositionLocalProvider

    • ה-Composition constructor לא מקבל יותר פרמטר מפתח, והוא הוצא משימוש.
    • השדה currentCompositeKeyHash הפך לנכס קומפוזבילי ברמה העליונה במקום לפונקציה קומפוזבילית ברמה העליונה.
    • CompositionData ו-CompositionGroup הועברו למרחב השמות androidx.compose.runtime.tooling
    • ComposableLambda נוצרה לממשק במקום למחלקה קונקרטית, והיא כבר לא כוללת פרמטרים של סוג.
    • הגרסה ComposableLambdaN הפכה לממשק במקום למחלקה קונקרטית, והיא כבר לא כוללת פרמטרים של סוג.
    • הפונקציה SnapshotFlow הועברה למרחב השמות androidx.compose.runtime
    • שיטת המיזוג של snapshotMutationPolicy כבר לא ניסיונית
    • פונקציית clearRoots ברמה העליונה @TestOnly הוסרה. אין בו יותר צורך.
    • הפונקציות keySourceInfoOf ו-resetSourceInfo הוסרו. הם כבר לא נחוצים.
    • השדה Composer.collectKeySourceInformation הוסר. אין בו יותר צורך.
    • השיטות isjoinedKey, {1}joinKeyLeft ו-joinKeyRight הוסרו. הם כבר לא נחוצים.
    • ממשקי API שונים ברמה העליונה הועברו וארגנו מחדש בקבצים שונים. בגלל הסמנטיקה של מחלקות הקבצים של Kotlin, זה פוגע בתאימות בינארית אבל לא בתאימות מקורות, ולכן לא אמורה להיות בעיה עבור רוב המשתמשים.
    • (I99b7d, b/177245490)
  • הפעולה של Modifier.scrollable בוצעה מחדש. עכשיו הוא משתמש בממשק שניתן לגלול במקום במחלקה ScrollableController (I4f5a5, b/174485541, b/175294473)

  • Modifier.draggable מקבל עכשיו את DraggableState במקום lambda פשוטה. אפשר ליצור מצב דרך rememberDraggableState { delta -> } כדי לקבל את אותה התנהגות כמו קודם (Ica70f, b/175294473)

  • נוספו ערכי rewidth(IntrinsicSize) ו-requiredheight(IntrinsicSize) כדי להתאים את הגודל הנדרש לגדלים מהותיים. (I0a6b4)

  • emptyContent() שהוצא משימוש הוסר. במקומה צריך להשתמש במדיניות {}. (Idb33f, b/179432510)

  • נמחקו כמה ממשקי API שהוצאו בעבר משימוש (Ice5da, b/178633932)

תיקוני באגים

  • נוספה יצירה מקומית חדשה של Local SoftwareKeyboardController צריך להפעיל את ה-API כדי להחליף את הממשק הקודם של SoftwareCategoryController TextField (שדה טקסט). (I658b6, b/168778053)

גרסה 1.0.0-alpha12

10 בפברואר 2021

androidx.compose.foundation:foundation:1.0.0-alpha12 ו-androidx.compose.foundation:foundation-layout:1.0.0-alpha12 שוחררו. גרסה 1.0.0-alpha12 מכילה את התחייבויות אלה.

שינויים ב-API

  • מעכשיו, Modifier.pointerInput דורש שימוש במקשי זיכרון כדי לציין כשהקורוטין של זיהוי קלט הסמן צריך להתחיל מחדש של יחסי התלות. (I849cd)
  • עדכון בדיקה: hasText() יבדוק גם טקסט של קלט וגם טקסט של תווית/הרמז/placeholder בשדה הטקסט (Iab803)
  • נוסף ערך P עתValues.Absolute - וניתן להשתמש בו בממשקי API שמכבדים PservingValues. (Ia5f30)
  • onImeActionPerformed הוצא משימוש. להשתמש ב- KeyboardActions במקום זאת (If0bbd, b/179071523)
  • כדי שהשמות יהיו זהים יותר מוסכמות עם ImageBitmap ו-ImageVector, השם של ImagePainter השתנה ל-BitmapPainter מקביל ל-VectorPainter. (Iba381, b/174565889)
  • ממשקי API טובים יותר לבדיקה של מחרוזות משנה עם מחרוזת משנה עכשיו כארגומנט (Icbe78)
  • הוספת הקשר קורוטין לInfiniteAnimationPolicy רכיב שהוחל באנימציות אינסופיות. כברירת מחדל לא מותקנת, מלבד כאשר מריצים בדיקות באמצעות ComposeTestRule. (I50ec4, b/151940543)
  • Animatable.snapTo ו-Aimatable.stop הן פונקציות השעיה עכשיו (If4288)
  • ElementActivity.setContent עבר אל androidx.activity.compose.setContent androidx.activity:activity-composition. (Icf416)
  • שיטות השמדה ו-Copy() הוסרו מ- מחלקות שבהן נעשה שימוש רק לעיתים רחוקות. (I26702, b/178659281)
  • נוספה תמיכה במפתחות בהתאמה אישית ל-LazyColumn/LazyRow. כך נוכל לטפל בצורה חכמה יותר בסידור מחדש של פריטים. כך, המצב שאחסנתם בבלוקים של {} יעבור יחד עם הפריט כשתבצעו סדר מחדש של רכיבים או כשתסירו את הפריט מהאמצע.

    LazyColumn {
        items(users, key = { user -> user.id }) { ... }
    }
    
  • שינית את Indication#createInstance ל- @Composable, ושינית את ה-LocalIndication כך שיכלול אינדיקציה, לא () -> סימון. (I5eeea, b/157150564)

  • Constraints.enforce הוחלף בטקסט Constraints.constrain. (I8b8ea)

  • הפרמטר loadFontResource הוצא משימוש. במקומו צריך להשתמש ב-fontResource. imageResource , loadImageResource , vectorResource ו-loadVectorResource הוצאו משימוש. במקום זאת, צריך להשתמש ב- PainterResource. (I6b809)

  • מטעמי ביצועים, הסמנטיקה של ScrollAxisRange לוקחת עכשיו lambdas מחזירה Floats במקום ערכי Float ישירים. (If4a35, b/178657186)

  • נוספה סמנטיקה של EditableText כדי לסמן את הטקסט שהוזן בשדה הטקסט כקלט שניתן לעריכה, לבדיקת נגישות ושיטות בדיקה תואמות (I8e07a)

  • ב-Modifier.clickable אין עכשיו תמיכה בלחיצה כפולה או ארוכה. כדי להשיג את הפונקציונליות הזו, צריך להשתמש ב-Modifier.combinedClickable. (Iafad1)

  • השם של toIntPx() השתנה ל-roundToPx(). (I9b7e4, b/173502290)

  • השם של IntBounds שונה ל-IntRect וה-API שופר. (I1f6ff)

  • ה-Modifier.dragmotionFilter הוצא משימוש. במקומה צריך להשתמש במדיניות Modifier.pointerInput { detectDragGestures (...)}. לחלופין, אפשר להשתמש ב-Modifier.draggable לגרירה בציר אחד (I0ba93, b/175294473)

  • שינית את השם של 'סביבה' כך שיתאים לאווירה -> שינוי שם של CompositionLocal. לסביבה (I2d55d)

  • הבחירה הועברה לבסיס. (I7892b)

  • בדומה לאופן שבו הסרנו בעבר תוכן קומפוזבילי state { 0 } ואנחנו מקדמים עכשיו שימוש כמו remember { mutableStateOf(0) }, אנחנו עומדים להסיר את התוכן הקומפוזבילי savedInstanceState { 0 }. במקום זאת, צריך להשתמש בפונקציה rememberSaveable { mutableStateOf(0) } והיא תישמר ותשוחזר באופן אוטומטי אם אפשר לאחסן בחבילה את הסוג שנעשה בו שימוש ב-MutableState. אם בעבר העברתם אובייקט חיסכון בהתאמה אישית עכשיו, צריך להשתמש בעומס יתר חדש של קובץ שמור שניתן לשמור, שכולל את הפרמטר stateSaver. השימוש ייראה כך: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)

  • נוסף סמנטיקה של סיסמאות בנוגע לנגישות (I231ce)

  • נוסף ProgressBarRangeInfo.Indeterminate כדי לסמן סרגלי התקדמות לא קבועים בנוגע לנגישות (I6fe05)

  • זמן ההפעלה באנימציה לא מוגבל עכשיו לננו-שניות (If776a)

  • הרכיב @ComposableContract הוצא משימוש לטובת שלוש הערות ספציפיות יותר.

    התפקיד של @ComposableContract(restartable = false) השתנה ל-@NonRestartableComposable השם של @ComposableContract(readonly = true) השתנה ל-@ReadOnlyComposable התפקיד של @ComposableContract(preventCapture = true) השתנה ל-@DisallowComposableCalls בוצעה הסרה של @ComposableContract(tracked = true). (I60a9d)

  • השירותים emptyContent() ו-(@Composable () -> Unit).orEmpty() הוצאו משימוש כי אין להם יותר השפעה חיובית על הביצועים (I0484d)

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

  • ממשקי API שקשורים ל-LazyVerticalGrid מסומנים כניסיוניים (Ia53e3, b/178519862)

  • השם של ReSavedInstanceState() השתנה ל-GeminiSaveable() והועבר אל החבילה androidx.compose.runtime.saveable. (I1366e, b/177338004)

  • השם של RersorableStateHolder שונה ל-SaveableStateHolder והוא הועבר אל androidx.compose.runtime.saveer. השם של השיטה הפנימית RestorableStateProvider השתנה ל-SaveableStateProvider. סוג כללי הוסר כך שאפשר יהיה רק להעביר כל סוג כמפתח. כבר אין צורך בהערה ניסיונית. (I0902e, b/174598702)

  • בוצעה שמירה, listSaver(), mapSaver(), autoSaver הועבר מ-androidx.compose.runtime.savedinstancestate אל androidx.compose.runtime.saveable (I77fe6)

  • השם של Artefact androidx:compose:runtime:runtime- saved-instance-state השתנה ל-androidx:compose:runtime:runtime-saveable (I6dcac)

  • הרבה ממשקי API ותיקים שהוצאו משימוש בחבילה של ממשק המשתמש נמחקים. (I2f2dc)

  • פריט ה-Artifact:runtime-dispatch הוצא משימוש. עכשיו ניתן למצוא את MonotonicFrameClock בקובץ פיתוח: הידור:runtime ו- ניתן למצוא את AndroidUiDispatcher ב-Compose:ui. (Ib5c36)

  • השמות של פרמטרים ב- RounderCornerForm , CutCornerForm ו-Corner להביעצורה השתנו משמאל/ימין להתחלה/לסיום, כדי לתמוך בשיקוף האוטומטי של הצורה בכיוון rtl. התחלנו להשתמש ב-AbsoluteRounderCornersha וב-AbsoluteCutCornerForm במקרים שבהם אין צורך בשיקוף אוטומטי. (I61040, b/152756983)

  • CanDrag הוסר מה-Modifier.scrollable. (Id66e7, b/175294473)

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

    זהו שינוי פנימי שלא אמור להשפיע על המקור תאימות לקוד, אבל היא שינוי בינארי שעלול לגרום לכשל. (I3b922, b/169406779)

  • הוסר. אפשר להשתמש במקום זאת ב-Modifier.zoomable. לחלופין, אפשר להשתמש ב-Modifier.pointerInput { detectMultitouchGestures { ... }} (Id5da1, b/175294473)

  • התכונה מונפשת/Float הוצאה משימוש. צריך להשתמש ב- במקום זאת הוא מיועד לאנימציה. (I71345, b/177457083)

    • הוסרו CoreText ו-CoreTextField מ-API ציבורי
    • הוסר עומס יתר של SelectionContainer (I99c19)
  • הסרת פונקציות גלילה שאינן מושעות, שהוצאו משימוש בהמשך לשינויים מהגרסה האחרונה, הגלילה ללא השעיה הפונקציות יוסרו לגמרי. צריך לעבור למצב השעיה פונקציות עם אותם שמות. ניתן לקבל היקף קורוטין דרך ArchiveCoroutineScope(). (I3d39c, b/178169563)

  • הפונקציה androidx.compose.foundation.layout.ConstraintLayout הוצאה משימוש לטובת androidx.constraintlayout.compose.ConstraintLayout. צריך להוסיף תלות ב-androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01. (I87adc)

  • הוצאנו משימוש את הפרמטר TapתנועותFilter, doubleמקישיםGestureFilter, long, ClicktionFilter ו-pressIndicaitonGestureFilter. במקום זאת, אפשר להשתמש ב-Modifier.clickable או ב-Modifier.pointerInput עם הפונקציה generateמקישים TalkBack. (I6baf9, b/175294473)

  • בוצעה הסרה של Recomposer.current(). [Abstract]ComposeView עכשיו כברירת מחדל של Recomposers שנוצרו באופן עצלני, ברמת החלון, המבוססים על ViewTreeLifecycleOwner לחלון. הרכב מחדש ו סימוני האנימציה המבוססים על withFrameNanos מושהים במהלך מחזור החיים של המארח הופסק. (I38e11)

  • ב-Recomposer.runningRecomposers יש עכשיו גרסה גלובלית של StateFlow של RecomposerInfo לקריאה בלבד לצורך צפייה במצב הרכב מתמשך את התהליך. יש לתת עדיפות ל-API הזה על פני Recomposer.current(), שעכשיו הוצא משימוש. (If8ebe)

גרסה 1.0.0-alpha11

28 בינואר 2021

androidx.compose.foundation:foundation:1.0.0-alpha11 ו-androidx.compose.foundation:foundation-layout:1.0.0-alpha11 שוחררו. גרסה 1.0.0-alpha11 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוצאה משימוש של גלילה שאינה מושעית, הסרת גלילה שאינה מושעית

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

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

  • הפרמטר של תיאור התוכן נוסף לתמונה ולסמל. הוא משמש כדי לספק תיאור לשירותי הנגישות (I2ac4c)

  • BasicTextField קיבל פרמטר חדש בשם 'decorationBox'. השדה הזה מאפשר להוסיף עוד קישוטים כמו סמלים, placeholder, תווית ודברים דומים לשדה הטקסט ולהגדיל את אזור היעד של ההיט. (I16996)

  • הפרמטר canDrag הוסר מה-Modifier.draggable (Ic4bec, b/175294473)

  • הוסרה ה-AnimationFloat.fling שמקבלת את FlingConfig. יש להשתמש בהשעיה במקום זאת, Animatable.animateDecay (I4659b, b/177457083)

  • הסרת את data class מהכיתות הבאות:

    • InlineTextContent
    • רשימה מקומית
    • (I605c7)
  • ניתן ליצור עכשיו את האפשרויות שניתן ללחוץ עליהן, להחליף ביניהן או לבחור במצב מחוץ ליצירה (I0a130, b/172938345, b/175294473)

  • התכונות ScrollableColumn/Row הוצאו משימוש. השימוש ב- ScrollableColumn פחות יעיל בהשוואה ל-LazyColumn כאשר יש תוכן בעל גלילה גדולה, מכיוון שב-LazyColumn אנחנו יכולים להרכיב, למדוד/לצייר רק רכיבים גלויים. כדי למנוע ממשתמשים לעבור בצורה לא יעילה, החלטנו להוציא משימוש את ScrollableColumn ו- ScrollableRow ולקדם את השימושים ב-LazyColumn וב-LazyRow. המשתמשים עדיין יכולים להחליט שהם לא צריכים את ההתנהגות המושהית ולהשתמש בערכי הצירוף ישירות באופן הבא: Column(Modifier.verticalScroll(rememberScrollState())) (Ib976b, b/170468083)

  • שיטת מפעל חדשה items(count: Int) להיקף של LazyColumn/LazyRow/LazyVerticalGrid. items(items: List) ו-itemsIndexed(items: List) הן עכשיו פונקציות של תוספים, לכן צריך לייבא אותן באופן ידני כשמשתמשים בהן. עומסי יתר של תוסף חדש עבור מערכים: פריטים(פריטים: מערך) ופריטים שנוספו לאינדקס(מערך) (I803fc, b/175562574)

  • AbsoluteArrangement הוסר. (Iffa96, b/177641870)

  • הפרמטר sellersMinConstraints התווסף ל-Box כדי לציין אם יש להעביר את מגבלות המינימום הנכנסות לתוכן של Box. ברירת המחדל היא False. (I0125b, b/152613457)

תיקוני באגים

  • onCommit , onDispose ו-onActive הוצאו משימוש לטובת ממשקי API של Side Effects ו-Sdisposable Effects (If760e).
  • בוצע יישום מחדש של withConstraints בתור BoxWithConstraints, ולהשאיר את base.layout. (I9420b, b/173387208)
  • שינויים בפונקציות היצרן של גופן/גופנים/משפחת גופנים

    • נוספו פונקציות יצרן שמתחילות באות גדולה
    • פונקציות קודמות שהוצאו משימוש עם אותיות קטנות האות הראשונה
    • פונקציות חדשות במפעל מחזירות את ה-FontFamily במקום מחלקות משנה
    • הסתירו בנאים של מחלקות המשנה, כדי שיוכלו יש לבנות אותן רק באמצעות תכונות של היצרן.
    • השם של Font.asFontFamily השתנה ל-Font.toFontFamily
    • (I42aa7)
  • הצגה של ComposeContentTestRule, עם הרחבה ComposeTestRule ומגדיר את setContent, שהוסר מ: ComposeTestRule. נוספה שיטה להגדרות המקוריות createEmptyComposeRule() שמחזירה ComposeTestRule ולא מפעילה פעילות עבור את/ה. השתמשו בפלח הזה כשתרצו להפעיל את הפעילות שלכם במהלך הבדיקה. לדוגמה באמצעות ActivityScenario.launch (I9d782, b/174472899)

  • animateAsState נקרא עכשיו animateFooAsState, שבו Foo הוא סוג המשתנה שמונפש. לדוגמה ציפה, Dp, סטייה וכו' (Ie7e25)

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

  • TextFieldValue מקבל את AnnotatedString. אבל זאת שינוי בממשק API בלבד ועריכה של טקסט במגוון סגנונות לא עדיין לא הוטמעו.

    • הסרת את initial מהפרמטרים של constructor ב-EditBuffer. (I326d5)
  • inverify ו-CompositionReference() הוצאו משימוש לטובת currentRecomposeScope ו-MemoryCompositionReference בהתאמה. (I583a8)

  • AnnotatedString השתנה כדי להרחיב מ-kotlin.CharSequence. לכן האורך ורצף המשנה הם עכשיו פונקציות של מכונה, והפונקציות של התוספים יוסרו. (Iaf429)

  • משך הזמן וזמן הפעולה התקינה יוחלפו באלפיות שנייה ארוכות, והשלב הזה מסיר את התלות בקלט של מצביע העכבר הסוגים. (Ia33b2, b/175142755, b/177420019)

  • remindObserver מחליף את CompositionLifecycleObserver ו-CompositionLifecycleObserver הוצא משימוש.

    RememberObserver הוא תחליף ל- CompositionLifecycleObserver עם סמנטיקה שונה ו שיטות עם שם חדש. המעבר ל-API החדש יכול להתבצע באופן מכני לאובייקטים שניתן לזכור רק פעם אחת, וממשיכים להיות השיטה המומלצת. אבל אם ההפניה זוכר יותר מפעם אחת ביצירה, onRemembered נקראת לכל הפניה שבה onEnter מופעל רק פעם אחת. onEnter נקרא מספר פעמים אם נעשה שימוש באובייקט בתרכובות משנה, כמו WithConstraints ו-Scaffold שהופכים את הסינגל ההתחייבות של onEnter לשיחה לא אמינה והיא הוסרה למשך RememberObserver

    הפונקציה RememberObserver מוסיפה את onAbandoned. תתבצע קריאה אם מופע אחד (RememberObserver) מוחזר מהקריאה החוזרת (callback) שהועברה אל remember, אבל הוא לא נשמר במצב היצירה ולכן אף פעם לא יתקשרו אל onRemembered. מי יכול מתרחשת במקרה שחריג מסיים את היצירה לפני השלמת היצירה או היצירה בוטלה מכיוון שהמדינה מפיקה יצירה עבור כבר לא עדכנית או שכבר לא זמינה הדרושים. אם המופע של RememberObserver שמופיע אחרי הסינגל ההמלצה שצוינה למעלה היא לעקוב אחרי משאב חיצוני גם onForgotten וגם onAbandoned מציינים אינו נדרש יותר. אם האובייקט עוקב אחרי עבודה שהתחילו או הוקצו ב-onRemembered, onAbandoned אפשר להתעלם ממנו כי לא תיקרא אם onRemembered שנקראה. (I02c36)

  • השם של TransformedText.transTransformText השתנה ל-TransformedText.text

    • TransformedText כבר לא סיווג נתונים (Ie672a)
  • המחלקות הבאות הן כבר לא מחלקות נתונים:

    • מחרוזת עם הערות
    • סגנון פסקה
    • סגנון סקין
    • סגנון טקסט
    • משקל הגופן
    • עיטור טקסט
    • טקסט גיאומטרי טרנספורמציה
    • אינדקס טקסט
    • תוצאת TextLayoutresult
    • TextLayoutInput (Iaff99)
  • הוסרה שיטות מונוtonicFrameAnimationClockOf (Ib753f, b/170708374)

  • שיטות קואורדינטות גלובליות שהוצאו משימוש ונוצרו שיטות חדשות לקואורדינטות מבוססות-חלון. (Iee284)

  • יש להשתמש ב-ImeAction.None במקום ב-ImeAction.NoAction

    • יש להשתמש ב-ImeAction.Default במקום ב-ImeAction.Unspecified (Ie1bcc)
  • הפוקוסRequester.createRefs מסומן עכשיו כניסיוני, ועשוי להשתנות. (I2d898, b/177000821)

  • השם של SemanticsPropertyReceiver.סתר השתנה ל-invisibleToUser ומסומן כ- @trialComposeUiApi. השם של AccessibilityRangeInfo השתנה ל-ProgressBarRangeInfo. השם של stateDescriptionRange השתנה ל-ProgressBarRangeInfo. השם של AccessibilityScrollState השתנה ל- ScrollAxisRange. השם של EuropeanAccessibilityScrollState השתנה ל-EuropeanScrollAxisRange. השם האנכי של AccessibilityScrollState השתנה ל-verticalScrollAxisRange. (Id3148)

  • טרנספורמציה חזותית שונתה כממשק פונקציונלי (I3bba4)

  • להיעזר ב-TestCoroutineDispatcher בבדיקות (I532b6)

  • בוצעה הסרה של PointerInputData ובוצעה שינוי ב-PointerInputChange כדי לתת לו את כל השדות של PointerInputData. האירוע PointerInputEvent ו-PointerInputEventData פנימיים כי לא נעשה בהם שימוש ב- כל ממשק API ציבורי. (Ifff97, b/175142755)

  • השם של TextInputService.onStateUpdated כ-updateState (Id4853)

  • יש להסיר את גודל התצוגה (displaySize) כי יש להימנע מכך. בדרך כלל זה עדיף להשתמש בגודל onRoot() או בגודל החלון לפחות. (I62db4)

גרסה 1.0.0-alpha10

13 בינואר 2021

androidx.compose.foundation:foundation:1.0.0-alpha10 ו-androidx.compose.foundation:foundation-layout:1.0.0-alpha10 שוחררו. גרסה 1.0.0-alpha10 מכילה את התחייבויות אלה.

שינויים ב-API

  • ImeOptions ו- KeyboardOptions כבר לא סוג נתונים (I3c898, b/168684531)
  • שינויים ב-VisualTransformation API
    • השם של OffsetMap שונה ל-OffsetMapping
    • השם של OffsetMapping.identityOffsetMap ל-OffsetMapping.Identity השתנה
    • טרנספורמציה של סיסמה היא כבר לא סיווג נתונים
    • בוצעה העברה של OffsetMapping לקובץ נפרד
    • (I0bdf3)
  • עריכת השינויים ב-API של פעולות
    • שם הפעולה השתנה כ-EditCommand
    • נוספה סיומת Command להטמעות בטון של EditOperation
    • פקודות EditCommand הן כבר לא מחלקות נתונים
    • השם של פונקציית EditOperation.Process שונה ל-ApplyTo
    • השם של קלטEventListener שונה ל-inputEventCallback
    • (I0a366)
  • מהירות ששונתה כך שתכלול חלקים של רכיבים ונתונים מתמטיים ב-AI. (Ib0447)
  • השם של @trialTesting השתנה ל-@trialTestApi ועכשיו הוא עקבי עם הערות דומות של ה-API הניסיוני (Ia4502, b/171464963)
  • נוספה שיטת stickyHeader הניסיונית ל-LazyColumn/LazyRow (I0a81d)
  • Ranamed Color.useOrElse() to Color.takeOrElse() (Ifdcf5)
  • TestUiDispatcher הוצא משימוש. במקום זאת, צריך להשתמש ב-Dispatchers.Main (Ic171f, b/175385255)
  • הוספת לחצן החלפת מצב למחרוזת Strings.kt (I4a5b7, b/172366489)
  • ה-NativeClass הועבר אל של ממשק המשתמש והפך אותו לשימוש פנימי. שימושים מעודכנים ב-NativeClass ב- זהה להטמעות שבהן צריך להשתמש 'is MyClass' במקום זאת. (I4f734)
  • ה-Fflowrow ו-FflowColumn הוצאו משימוש. במקום זאת, יש להשתמש בפריסה מותאמת אישית. (I09027)
  • ה-Modifier.focus() ו-Modifier.focusRequester() הוצאו משימוש. במקומו צריך להשתמש ב-Modifier.focusModifier() ו-Modifier.focusReference() . (I75a48, b/175160751, b/175160532, b/175077829)
  • בוצעה הצגה של SelectionRegistrar.notifySelectableChange כדי לשלוח הודעה אל SelectionManager על עדכונים שניתן לבחור. (I6ff30, b/173215242)
  • שינית את fun Dp.isFinite() ל-val Dp.isFinite (I50e00)
  • השם של Constraints#satisfiedBy השתנה ל-isSatisfiedBy. I9cf5c
  • נוסף isSpecified, isUnspecified, ו-useOrElse עבור מחלקות מוטבעות עם קבוע לא מוגדר. (I93f7b, b/174310811)

תיקוני באגים

  • API חדש מבוסס קורוטין Animatable שמבטיח בלעדיות הדדית בין האנימציות שבו. מפרט חדש של DecayAnimationSpec לתמיכה באנימציה רב-מימדית של דעיכה (I820f2, b/168014930)
  • נוספה תמיכה בשדות טקסט מושבתים ובשדות טקסט לקריאה בלבד (I35279, b/171040474, b/166478534)
  • animate() מוחלף עכשיו ב-animateAsState(), שתחזיר State<T> במקום T. כך אפשר לשפר של הביצועים, כי אפשר לצמצם את היקף הפסילה שבו נקרא ערך State (מדינה). (Ib179e)
  • הוספת ה-API של תפקיד סמנטי ומוסיפים את התפקיד 'תפקיד' כפרמטר אל SemanticsModifier ניתן ללחיצה, לבחירה ולהחלפת מצב. בוצע שינוי Modifier.progressSemantics כדי שגם Slider יוכל להשתמש בו. (I216cd)
  • עכשיו ניתן לגשת ל-keyEvent המקורי דרך keyEvent.nativeKeyEvent (I87c57, b/173086397)

גרסה 1.0.0-alpha09

16 בדצמבר 2020

androidx.compose.foundation:foundation:1.0.0-alpha09 ו-androidx.compose.foundation:foundation-layout:1.0.0-alpha09 שוחררו. גרסה 1.0.0-alpha09 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת ממשק שניתן לגלילה

    כך ניתן להחשיב את ScrollState ו-LazyListState שמאפשר להטמיע גלילה מותאמת אישית בשני הסוגים.

    הפעולה הזו גם מעבירה את smoothScrollBy לפונקציית תוסף שניתנת לגלילה, שמנצלות את הפונקציונליות הזאת. (I2153b)

  • נוספה התווית LazyVerticalGrid. (I17267, b/162213211)

  • להוציא משימוש את LazyColumnFor, LazyRowFor, LazyColumnForIndexed ו-LazyRowForIndexed. במקום זאת, משתמשים ב-LazyColumn וב-LazyRow (I5b48c)

  • השעיית ממשקי API לקלט של מצביע העכבר השתנה HandlePointerInputScope אל AwaitPointerEventScope וגם headPointerInput() ל-awaitPointerEventScope(). (Idf0a1, b/175142755)

  • נוספה רשימת 'LazyListState.layoutInfo' כדי להציג את רשימת הגדלים והקיזוזים של הפריטים שגלויים כרגע (If8678, b/170472532)

  • הוסרה הערה ניסיונית PointerInput (Ia7a24)

  • נוספה תמיכה ב-InteractionState ב-TextFields. (I61d91)

  • מוסיפים את הפרמטר substituteLayout (פריסה) ל-LazyColumn/Row. כש-true פריטים יורכבו מלמטה עד למעלה ו-LazyListState.firstVisibleItemIndex == 0 יציין שהפריט הראשון ימוקם למטה. (I552ae, b/166589935)

  • הפרמטר fullArrangement נוסף ל-LazyColumn. הפרמטר icalArrangement נוסף ל-LazyRow. הסידור מאפשר לנו להוסיף ריווח בין פריטים ולציין את סידור הפריטים כשאין מספיק מהם מספיק כדי למלא את הגודל המינימלי כולו. (Icf79a, b/170394300)

  • זיהוי Multitouchתנועות משתמש עכשיו בקריאה חוזרת אחת עם שילוב פרמטרים של מרכז, הזזה, זום וסיבוב. (Ie6e1c)

  • התוכן של ContentDrawScope הועבר ל-ui-graphics את המודול כדי להיות עם DrawScope. (Iee043, b/173832789)

תיקוני באגים

  • פקודות Lambda בשינויי היסט עכשיו מחזירות IntOffset במקום Float. (Ic9ee5, b/174137212, b/174146755)
  • הוסרו OAuthTable, SlotReader ו- OAuthWriter מה-API הציבורי. האירועים האלה סומנו בתור InternalComposeAPI בעבר. עכשיו הם פנימיים למודול הכתיבה.

    CompositionData ו-CompositionGroup נוספו בתור תחליף ל-ui-tooling API שבו צריך להשתמש כדי לחלץ מידע על היצירה. הקישורים האלה ציבוריים, אבל הם לא מיועד לשימוש מחוץ ל-ui-tooling API, כי הוא מספק המידע הגולמי שה-ui-tooling API מפרש (I31a9c)

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

    ממשקי API של constructor של פונקציות הדרגתיות שהוצאו משימוש לטובת שיטות מפעל על אובייקט מסוג Gradient. (I511fc, b/173066799)

  • Modifier.focusObserver הוצא משימוש. במקום זאת, צריך להשתמש ב-Modifier.onFocusChanged או ב-Modifier.onFocusEvent (I30f17, b/168511863, b/168511484)

  • הכלי למילוי אוטומטי הוא עכשיו API ניסיוני ומחייב הסכמה (I0a1ec)

  • הוספת הצהרות הרסניות ליצירת מכונות FocusRequester (I35d84, b/174817008)

  • השם של AccessibilityLabel השתנה ל-contentDescription. השם של AccessibilityValue השתנה ל-stateDescription. (I250f2)

  • הוספת מספר פונקציות חדשות ב- SelectionRegistrar, ושינוי השם של onPositionChange ל-NotifyPositionChange. (Ifbaf7)

  • AndroidOwner שנוצר לשימוש פנימי (Ibcad0, b/170296980)

  • פונקציית InfiniteRepeatable חדשה ליצירת InfiniteRepeatableSpec (I668e5)

  • הממשק של Applier השתנה כדי לפשט את הממשק עצים מלמטה למעלה במקום מלמעלה למטה.

    השם של ה-method insert() השתנה ל-insertTopDown().

    נוספה שיטה חדשה, insertBottomUp().

    המיישם מוסיף צמתים לעץ שהוא עורך באמצעות insertTopDown() או insertBottomUp(), בהתאם עם ביצועים טובים יותר.

    יש עצים, כמו LayoutNode ו-View, בגובה רב יותר יעיל לבנות מלמטה למעלה מאשר מלמעלה למטה. לפני השינוי הזה, נדרשה ערימה של תוספות כדי להטמיע היה צורך להעתיק לכל אפליקציה שבה נדרש מלמטה למעלה לשיפור הביצועים. לאחר השינוי הזה, Applier מבטל את insertBottomUp() כדי לבנות עץ מלמטה למעלה insertTopDown() כדי לבנות את העץ מלמעלה-למטה. (Icbdc2)

  • נוסף PainterResource API כדי לטפל באובייקטים של צבע עם טעינה אטומה מכל אחד מהפורמטים של נכסים דיגיטליים שעברו רסטר (כמו קובצי PNG) או VectorDrawables. לצרכנים כבר אין כדי לקבוע מראש את סוג הנכס והם יכולים לקרוא לשיטה הזו כדי לקבל אובייקט Painter. לשימוש בתכנים קומפוזביליים של תמונות או בכלים לשינוי צבעים. (I2c703, b/173818471)

  • נוספה פונקציה במפעל של buildAnnotatedString לפי הסדר כדי ליצור מחרוזת AnnotatedString. NotedString (מחרוזת הערות) שהוצא משימוש ב-builder. (Idfe0b)

גרסה 1.0.0-alpha08

2 בדצמבר, 2020

androidx.compose.foundation:foundation:1.0.0-alpha08 ו-androidx.compose.foundation:foundation-layout:1.0.0-alpha08 שוחררו. גרסה 1.0.0-alpha08 מכילה את התחייבויות אלה.

שינויים ב-API

  • הפרמטר maxLines הוסר מהפרמטר CoreTextField. אם רוצים להגביל את גובה שדה הטקסט לפי מספר השורות, אפשר להשתמש במקום זאת בפונקציה BasicTextField. (Iec002)
  • שינית את השיטות של await*TouchSlop() ל- לא לזהות את הסמן למטה ולשנות את השם שלו ל- *OrCancellation. הוסר גם הצורך הפרמטר orientationLock. (Ie96e1)
  • נוספה בדיקת איתור שגיאות בקוד (lint) בשביל שמות ומיקום של פרמטרים קומפוזביליים של lambda, כדי לבדוק אם יש עקביות להנחיות לכתיבה. בנוסף, חלק מממשקי ה-API הועברו בעזרת children כשם של lambda בסוף, ל-content, בהתאם לבדיקת השגיאות בקוד ולהנחיות. (Iec48e)
  • foundation:foundation-text ממשקי ה-API הועברו אל foundation:foundation. מבנה החבילה נשאר ללא שינוי (Id3eb2)
  • מזהה חדש של תנועות מולטימדיה, כולל עוזרים לזיהוי סיבוב, שינוי מרחק תצוגה והזזה. (Ic459d)
  • מצביע השעיה חדש של מזהה תנועת גרירה API לקלט, כולל נעילת כיוון. (Icef25)
  • השם של VectorAsset השתנה ל-ImageVector התפקיד VectorAsset הועבר ונקרא עכשיו Builder to Builder אל להיות מחלקה פנימית של ImageVector, להנחיות של מועצת ה-API. נוספו גופנים של VectorAssetBuilder אל קישור אל ImageVector.Builder לצורך תאימות. (Icfdc8)
  • השם של ImageAsset השתנה וגם שיטות שקשורות ל-ImageBitmap. (Ia2d99)
  • מאפייני סמנטיקה של יסודות הועברו ל-ui (I6f05c)
  • הוספת ממשקי API לגלילה המבוססים על קורוטין:

    הוספה של LazyListState.snapToItem ו-LazyListState.smoothScrollBy, וכן ברמה נמוכה יותר ממשקי API לבקרת גלילה. ממשקי ה-API האלה מספקים ממשק השעיה לשליטה בגלילה שמחכה עד שהגלילה תסתיים לפני שחוזרת. (Ie5642)

  • נוסף פרמטר singeLine ל-BasicTextField, ל-TextField ול-OutlinedTextField. מגדירים את הפרמטר הזה כ-True כדי ששדה הטקסט יהיה שורה אופקית אחת שניתן לגלול בה. (I57004, b/168187755)

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

  • יש צורך ביסודות של Modifier.focusable. אפשר להשתמש באפשרות הזו כדי להוסיף לרכיב התנהגות שניתן להתמקד בה, עם סמנטיקה נכונה ונגישות נכונה. (I41eb9, b/152525426, b/162865824)

  • הוסרו ממשקי API שכבר הוצאו משימוש: הוסרה הגבול. במקומה צריך להשתמש ב-BorderStroke. הסרנו את Modifier.drawBorder. צריך להשתמש ב-Modifier.border במקום זאת. הסרנו את Modifier.gravity. במקום זאת, צריך להשתמש ב-Modifier.יישור. המקבץ הוסר, צריך להשתמש ב-Box במקום זאת (I32c2b, b/172470874)

  • השם של AbsoluteArrangement השתנה ל-'Arrangement.Absolute'. (If26f2)

תיקוני באגים

  • ממשקי ה-API של DrawModifier הועברו מ חבילת androidx.compose.ui חבילת androidx.compose.ui.draw. נוצר קובץ DrawModifierexcept.kt של כולל טיפוסים או שיטות עזרה שעוזרות את המיגרציה מההוצאה משימוש לגרסה הנוכחית ממשקי API. (Id6044, b/173834241)
  • השם של Modifier.drawLayer השתנה ל-Modifier.graphicsLayer עודכנו גם מחלקות קשורות ל- GraphicsLayer בהתאם משוב ממועצת ה-API. (I0bd29, b/173834241)
  • בוצעה הסרה של <T> מההצהרה של SubcomposeLayout. עכשיו אפשר להשתמש בו בלי לציין סוג. (Ib60c8)
  • ביצעו את זמן הפעולה התקינה של PointerInputData שדות המיקום אינם בני null. (Id468a)
  • העיצוב MaterialTheme מגדיר עכשיו את הצבעים הנכונים עבור נקודות אחיזה שנבחרו ורקע בחירה. אפליקציות שהן לא מהותיות יכולות להשתמש באופן ידני ב-AmbientTextSelectionColors כדי להתאים אישית את הצבעים שנבחרו. (I1e6f4, b/139320372, b/139320907)
  • השם של פרמטר היישור של Box השתנה ל-contentrement. (I2c957)
  • שמות המשנים של offsetPx השתנו כדי לקזז. עכשיו הם מקבלים פרמטרים מסוג lambda במקום State. (Ic3021, b/173594846)
  • נוסף windowManager.isWindowFocused כדי לבדוק אם חלון המארח בפוקוס, ו-WindowFocusObserver שמספק קריאה חוזרת onWindowFocusChanged. (I53b2a, b/170932874)
  • נוסף הפרמטר resetInput ל-TextInputService#onStateUpdated (I3e8f5, b/172239032, b/171860947)
  • ממשק API של TextFieldValue מעודכן
    • הוגדר לקריאה בלבד של TextFieldValue.composition
    • גורם חריג שהוסר עבור טווח בחירה לא חוקי (I4a675, b/172239032)
  • אלמנטים של אווירה שהוצאו משימוש, שהשם שלהם הוא Ambient, והוחלפו במאפיינים חדשים עם קידומת Ambient, שעומדים בהנחיות נוספות של Ambients ו-Compose API. (I33440)
  • נוסף wrapper של Android ב-Android. אפשר לטעון מכשיר Android משפחת גופנים באמצעות הפונקציה typeface, כלומר typeface(Typeface.DEFAULT). גם השם typefaceFromFontFamily() השתנה ל-typeface() (I52ab7)
  • נוספה בדיקת שגיאות בקוד כדי לוודא שמפעלי הצירוף משתמשים ב-androidx.compose.ui.composed {} באופן פנימי, במקום שמסומנים כ-@Composable. (I3c4bc)
  • נוספה בדיקת שגיאות בקוד כדי לבדוק שהפונקציות של יצרן הצירוף מוגדרות כתוספים ב-Modifier, כדי שניתן יהיה לשרשר אותן בצורה שוטפת. (I07981)
  • השם של הארגומנטים הסמנטיים מ-MergeAllDescendants השתנה ל- MergeDescendants. (Ib6250)
  • בקרת הזמן בבדיקות (TestAnimationClock והשימושים בה) היא עכשיו ניסיוני (I6ef86, b/171378521)
  • מסירים את המודול הישן של בדיקת ה-ui-test ואת התוספת שלו (I3a7cb)
  • השם של TextUnit.Inheriting שונה ל-TextUnit.לא צוין אחרת, בהתאם ליחידות האחרות. (Ifce19)
  • הממשק 'יישור' עודכן ופועל כראוי. (I46a07, b/172311734)
  • המודול foundation:foundation-text מוזג אל foundation:foundation (Idac0f)
  • יש להוציא משימוש את המקום(היסט) והמקום היחסי(קיזוז). במקום זאת, משתמשים בעומסי יתר עם היסט פנימי (I4c5e7)
  • השם של id השתנה ל-layoutId עבור LayoutIdParentData. השם של Measurable.id שונה ל-Measurable.layoutId. (Iadbcb, b/172449643)

גרסה 1.0.0-alpha07

11 בנובמבר 2020

androidx.compose.foundation:foundation:1.0.0-alpha07, androidx.compose.foundation:foundation-layout:1.0.0-alpha07 ו-androidx.compose.foundation:foundation-text:1.0.0-alpha07 שוחררו. גרסה 1.0.0-alpha07 מכילה את התחייבויות אלה.

שינויים ב-API

  • בדומה ל-Modifier.fillMaxSize[Width|Height], אנחנו תומכים עכשיו בשברים של Modifier.fillParentMaxSize[Width|Height] בתוך ההיקף של LazyColumn/Row (I797e2, b/166586426)
  • הסרת את KeyboardOptions.toImeOptions מה-API הציבורי. (Ic2e45)
  • היסודות AmbientTextStyle, ProvideTextStyle ו-AmbientContentColor הוצאו משימוש. במקום זאת, כדאי להשתמש בגרסאות החדשות שזמינות בספריית Material. באפליקציות שאינן חומרים, עליכם ליצור סביבה ספציפית למערכת עיצוב משלכם שתוכלו להשתמש בה ברכיבים שלכם. (I74acc, b/172067770)
  • Foundation.Text הוצא משימוש והוחלף ב-material.Text. בכתובת androidx.compose.foundation.BasicText. (If64cb)
  • נוספו maxLines ל-TextFields (Ib2a5b)
  • צריך לעדכן את TextFields כדי לקבל את השימוש ב- KeyboardOptions (Ida7f3)
  • נוספו KeyOptions לשימוש ב-TextFields (I9ca32)
  • הפונקציה מוסיפה את BasicText כ-API ללא עיצוב של טקסט, במקביל ל-BasicTextField. (I28268)
  • הוסרה הערה ניסיונית-LazyDsl. עכשיו אפשר להשתמש ב-LazyColumn/LazyRow בלי להוסיף @OptIn (Idab7a, b/166584730)
  • BaseTextField הוצא משימוש. במקומו צריך להשתמש ב-BasicTextField. (I896eb)
  • BasicTextField נוסף כתחליף ל-CoreTextField ול-BaseTextField (Id4cea)
  • הסרה של LazyColumnItems/LazyRowItems (I1d8a8)
  • הוסרו התכנים הקומפוזביליים שהוצאו משימוש לצורך התאמה למידות של מדידות פנימיות. (I18537, b/171811496)
  • השם שלמידע 'יחסי גובה-רוחב' השתנה ל-'מרווח מרווח פנימי'. נוסף ערך הצירוף באנגליתFromBaseline – כדי לציין מרחקים מגבולות פריסה ועד לערכי טקסט בסיסיים. (I0440a, b/170633813)
  • הפרמטר matchHeightConstraintsFirst התווסף למגביל יחס הגובה-רוחב, שניתן להשתמש בו כדי לציין את מגבלות הגודל לגובה לפני שמנסים את התאמות הרוחב. (Ie7c43, b/155290593)
  • DpConstraints שהוצא משימוש הוסר. (I87884, b/171702471)

תיקוני באגים

  • הצגה של ScaleFactor מחלקה מוטבעת, לייצוג קנה מידה גורמים אופקיים ואנכיים צירים שאינם תלויים זה בזה לפי הסדר כדי לתמוך בתרחישים לא אחידים של התאמה לעומס (scaling).
    • נוספה שיטת computeScaleFactor אל קנה מידה של תוכן
    • נוסף ContentScale.FillBounds כדי לבצע קנה מידה לא אחיד כדי למתוח את הקטע גבולות לתפוס את היעד במלואו.
    • נוספו שיטות של אופרטורים למחשוב פרמטרים של ScaleFactor עם פרמטרים של גודל.
    • (Ic96a6, b/172291582)
  • collectedToBitmap הועבר ל- captureToImage. (I86385)
  • סימון CoreText כ- @InternalTextApi. במקומו צריך להשתמש ב-BasicText. (I6aaeb)
  • שינוי השם של KeyboardOptions ל-ImeOptions (I82f36)
  • KeyType ו-ImeAction הועברו אל KeyboardOptions (I910ce)
  • CoreTextField סומן כ- @InternalTextApi. צריך להשתמש ב- BasicTextField במקום זאת (Ie2469)
  • הוסרה הערה ניסיונית SubcomposeLayoutApi עכשיו אפשר להשתמש ב-SubcomposeLayout בלי להוסיף @OptIn (I708ad)
  • הצגה של מודול ui-test-junit4 (Ib91f8)
  • ממשק ה-API של הסמל עודכן כדי לכלול את Color.Unspecified בתור צבע אפשרי לגוון שיצייר את נכס או צייר ללא ColorFilter. בעבר מנסה להתעלם מגוון הצבע.לא צוין יהפוך לצבע שקוף בסוף כך שלא יוצגו שום דבר. (I049e2, b/171624632)
  • הכלי Measurement result הוסר מ-MeasureScope. (Ibf96d, b/171184002)
  • כמה סמלים שקשורים לפריסה הועברו מ-androidx.compose.ui ל-androidx.compose.layout.ui. (I0fa98, b/170475424)
  • androidx.ui.test שהועברו אל androidx.compose.ui.test (I9ffdb)
  • FirstBaseline ו-LastBaseline הועברו לחבילת androidx.compose.ui.layout (Ied2e7)
  • נוסף SelectionContainer ללא הקריאה החוזרת (Ibfadb)
  • הוספת בדיקות עבור SelectionHandles' מיקומים ב-SelectContainer. (Ie93db)
  • נוספה אפשרות IME לתיקון אוטומטי במקלדת (I57b8d)

גרסה 1.0.0-alpha06

28 באוקטובר 2020

androidx.compose.foundation:foundation:1.0.0-alpha06, androidx.compose.foundation:foundation-layout:1.0.0-alpha06 ו-androidx.compose.foundation:foundation-text:1.0.0-alpha06 שוחררו. גרסה 1.0.0-alpha06 מכילה את התחייבויות אלה.

שינויים ב-API

  • androidx.compose.foundation.Icon הועבר אל androidx.compose.material.Icon. אפשר גם להשתמש ברכיב התמונה / Modifier.Paint() עם Painter אם לא רוצים להשתמש בספריית Material. (I9f622)
  • נוספה interactionsState ל-Modifier.scrollable, ScrollableColumn ו-LazyColumnFor (I81566, b/169509805)
  • נוסף ל-LineByBaseline נוסף ל-RowScope ו-siblings השתנה ל-LineBy (I06503, b/170628732)
  • התיבה הפכה לפונקציה מוטבעת. (Ibce0c, b/155056091)
  • נוספו maxLines ל-CoreTextField (Ibee58, b/143687793)
  • נוסף softwrap ל-CoreTextField. (I21a4b)

תיקוני באגים

  • הוצאה משימוש של VectorPainter ב- מעדיפים להיזכר ב-VectorPainter לציין שה-API הקומפוזבילי באופן פנימי משתמשת ב'זכור' לשמירת נתונים לאורך של יצירות. (Ifda43)
  • הפעלת מעברים ב-ComposeTestRule; הסרת האפשרות כדי להפעיל את הסמן המהבהב מ-ComposeTestRule. (If0de3)
  • נוספה אפשרות של מקלדת בשורה אחת ל-CoreTextField (I72e6d)
  • השם של ה-API של רדיוס שונה לשם פינתי כדי להביע טוב יותר האופן שבו נעשה בו שימוש במהלך הכתיבה. התיעוד עודכן כדי לציין שרדיוס הפינות השלילי מוצמד לאפס. (I130c7, b/168762961)
  • הוספת יכולת לציין את פרטי המפקח בתכונת צירוף כתב (Idee08, b/163494569)
  • נוספה אפשרות IME של אותיות רישיות (I8ac38)
  • תיקון המיקום של נקודת אחיזה Rtl. I6e1e0
  • שינוי משמעותי: הוסר הערך המוחזר מ-PointerInputFilter.onPointerEvent(...) כי הערך היחיד שאפשר לשנות באירועי מצביע הוא נתוני צריכה. במקום להחזיר נתונים מ-PointerInputFilter.onPointerEvent(...), עכשיו אפשר פשוט לשנות את נתוני הצריכה של אירועי PointerEvents שהועברו. (I6acd0)
  • האפשרות SelectAll נוספה לתפריט הבחירה (Ief02b)

גרסה 1.0.0-alpha05

14 באוקטובר 2020

androidx.compose.foundation:foundation:1.0.0-alpha05, androidx.compose.foundation:foundation-layout:1.0.0-alpha05 ו-androidx.compose.foundation:foundation-text:1.0.0-alpha05 שוחררו. גרסה 1.0.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

  • ב-CoreTextField יש עכשיו תמיכה בפונקציונליות של הסמן (Id23aa)
  • מוציא משימוש את ממשקי ה-API של contentColor() ו-currentTextStyle() , ומחליף אותם בסביבה של AmbientContentColor ו-AmbientTextStyle בהתאמה. אפשר לגשת לערך הנוכחי באמצעות שימוש ב-.current בנכס האווירה, כמו בכל סוג אחר של אווירה. השינוי הזה בוצע כדי לשמור על עקביות ולמנוע מצבים שבהם כמה דרכים להשיג את אותו הדבר. בנוסף, השמות של חלק ממאפייני האווירה השתנו כדי לתאר טוב יותר את המטרה שלהם:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> אינדיקטור של אווירה
    • הדגשה -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

תיקוני באגים

  • כחלק מתקן של ערכי סנטינל למחלקות מוטבעות, שינוי השם של Color.Unset ל-Color.Unspecified לעקביות עם מחלקות אחרות בתוך שורה (I97611, b/169797763)
  • נוספו פעולות העתקה/הדבקה/חיתוך (I6db4f)
  • TextOverflow.None. כאשר האפשרויות הנוספות הן 'ללא', הטקסט לא יטפל יותר בגלישה וידווח על הגודל שלו בפועל ל-LayoutNode. (I175c9, b/158830170)
  • גודל מעודכן.לא צוין ל-Float.NaN במקום מספר ממשי (Float).POSITIVE_INFINITY. יישומים של 'צייר' עודכנו ל- בידקו ביחס ל'גודל'. גם לא צוין כגדלים לא סופיים. (I95a7e)
  • נוספו מודול של כתיבה ידנית ושילוב של דפים (Ib85da)
  • שינוי של LazyListScope כדי לקבל ערכים בני null (I1765b)
  • השם של OnPositionedModifier שונה ל-OnGloballyPositionedModifier ו-onPositioned() השתנה ל-onGloballyPositioned(). (I587e8, b/169083903)
  • נוספו דוגמאות ל-LazyColumn/Row (Idc16d)
  • תיקון בשיטות הבאות: פריטים ופריטים שנוספו לאינדקס כדי לאפשר ל-EmptyList (I06647)
  • הוספת DSL לציון פרטי המפקח (Ic9a22)
  • מעבירים לחיצה ארוכה לטקסט. (Iff2bc)
  • השבתת הבחירה בטקסט והדגמה. (Ie7e97)
  • תמיכה בהמרה של AnnotatedString ל-SpannableString לצורך נגישות. (Ief907)
  • בוצעה הסרה של PointerInputFilter.onPointerInput(...). יש להשתמש ב-PointerInputFilter.onPointerEvent(...) במקומו. (I6f04a)

גרסה 1.0.0-alpha04

1 באוקטובר 2020

androidx.compose.foundation:foundation:1.0.0-alpha04, androidx.compose.foundation:foundation-layout:1.0.0-alpha04 ו-androidx.compose.foundation:foundation-text:1.0.0-alpha04 שוחררו. גרסה 1.0.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • שם המקבץ השתנה ל-Box. הפלטפורמה החדשה Foundation.Box שהייתה קיימת בעבר תוצא משימוש ותוצב לטובת ה-Box החדשה ב-Compose.foundation.layout. המבנה החדש של Box הוא מקבצים ילדים אחד על גבי השני, כאשר יש לו כמה בנים. ההבדל הזה שונה מאופן הפעולה של התיבה הקודמת, שהתנהגה כמו עמודה מסוג 'עמודה'. (I94893, b/167680279)
  • הפרמטרים לקישוט התיבות הוצאו משימוש. אם רוצים להוסיף קישוטים או מרווח פנימי לתיבה, אפשר להשתמש במקום זאת במגבילי התאמה (Modifier.background, Modifier.border, Modifier.שטח ) (Ibae92, b/167680279)
  • הוספת מחלקה חדשה של LazyListState. הדבר מאפשר תצפית ושליטה במיקום הגלילה של רכיבי LazyRow ו-LazyColumn. ניתן ליצור מכונות באמצעות ListenLazyListState() מועבר לפרמטר המצב של לרכיב הזה. בשלב זה, הפריט הגלוי הראשון והקיזוזים יכולים להיות שמופיעה בגרסה הראשונית הזו. (Ic7cb7, b/159307669)
  • מיקום רשימה מדורגת והיסט גלילה שמורים כעת שחזור של פעילויות פנאי (Ie045f, b/166589058)
  • הוספת פעולת סמנטיקה של לחיצה ארוכה (I6281b, b/156468846)
  • נוספה הכלי Mutatormotx לשמירה על מוטטור יחיד של מצב משותף לאורך זמן וביטול שינויים סותרים לפי עדיפות (I3f975)
  • RootAnimationClockworks, מעבריםEnabled, blinkingCursorEnabled ו-textInputService פעולה עם @visibilityForTesting, הופכים אותם ל-API פנימי ומסתירים את ה-kdoc שלהם (I554eb, b/168308412)
  • הפרמטר inlineContent הוסר מ'טקסט עם קלט מחרוזת'. לא ייעשה בו שימוש כי inlineContent חייב לפעול עם AnnotatedString. (Ief403)
  • הוסרו ממשקי ה-API המותאמים אישית של Arrangement, שהוצאו משימוש. (Ic576d, b/168297922, b/168297923)
  • הפרמטר unbounded נוסף לערכי wrapContentSize כדי לאפשר מדידה של רכיב הפריסה עם מגבלות אינסופיות של מגבלות. (I77951, b/158559319)
  • מנענו ייבוא סטטי של תוכן של היקפי פריסה (למשל, ⌘WithSiblings ב-RowScope). במקום זאת, צריך להשתמש בחלופה של ההיקף המפורש: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

תיקוני באגים

  • עודכנו ממשקי API לגרפיקה רבים
    • קנה המידה והסיבוב עודכנו של ממשקי API לטרנספורמציה כדי לצרוך פרמטר הסטה לייצוג הציר קואורדינטות במקום מספר ממשי (float) נפרד לקואורדינטות של ה-x/y DawScope ו-DawTransform
    • הוסרו Rect.expandToInclude ו-Rect.join הוסרו אמצעי תשלום
    • תיעוד הרדיוס עודכן ועכשיו הוא אובלי בנוסף למכשיר אליפטי
    • נוסף תיעוד כדי לציין מבנה ציבורי של הרדיוס המוטבע לא ניתן להתקשר ישירות לכיתה, אלא יש ליצור אובייקטים מסוג רדיוס באמצעות את בונה הפונקציות שלהם
    • הוסרו ממשקי ה-API של RoundRect להרצת שאילתה topRight, belowRight, belowCenter וכו'.
    • Rect.shift הוצא משימוש לטובת Rect.Translate
    • ממשקי ה-API של RoundRect.grow ו-Rect.shrink הוסרו
    • השם של RoundRect.outerRect השתנה ל-Rect.boundingRect
    • הוסר: RoundRect.middleRect/tallMiddleRect/wideMiddleRect ו-Rect.isStadium
    • השם של RoundRect.longestSide השתנה ל-RroundRect.maxMetric
    • השם של RoundRect.shortestSide השתנה ל-RroundRect.min קובצי
    • בוצע שינוי של RoundRect.center כנכס במקום לפונקציה
    • עדכן את constructor של RoundRect כדי לצרוך מאפייני רדיוס במקום פרמטרים בודדים לערכי רדיוס של x/y
    • הוסרו ממשקי ה-API של 'גודל' שהניחו שמדובר במלבן עם המקור ב-0,0
    • נוסף לרדיוס ממשק API השמדה
    • פונקציות שונות של תוספים מסוג RoundRect הועברו נכסים במקום זאת
    • (I8f5c7, b/168762961)
  • אופטימיזציית ביצועים ל-LazyColumnFor/LazyRowFor גלילה על ידי אי-הרכבה מחדש מיותרת במהלך כל גלילה (I64f65, b/168293643, b/167972292, b/165028371)
  • תוקנה קריסה ב-LazyColumnFor/LazyRowFor לאחר גלילה ולאחר מכן שינוי פריטים, וגלילה אוטומטית כלפי מעלה כשהפריט שהיה גלוי בעבר הוסר כדי שלא נציג יותר פערים ריקים בסוף (I220ab , b/161480164 , b/167855468)
  • אי אפשר יותר להציב את התוכן במאגרים שניתנים לגלילה באותו כיוון, כמו ScrollableContainer ו-LazyColumnFor. היא מעולם לא נתמכה והתפרעו ובין כל העצלות והעצלנות של כתיבת הפריטים של LazyColumnFor (I6e101)
  • עודכנו ממשקי API לגרפיקה רבים
    • ממשקי ה-API של DrawScope עודכנו עם היקף ההרשאות שיטות טרנספורמציה כדי לציין מיושמת רק במסגרת הקריאה החוזרת (callback) והוסרה לאחר הפעלת הקריאה החוזרת
    • תיעוד מעודכן של ClatPath מתייחס ל'נתיב' במקום מלבן מעוגל
    • תוקן הריווח בתיעוד של הפרמטר הימני ב-ClipPath
    • השם של DrawScope.drawCanvas שונה ל-DockIntoCanvas ו הוסר פרמטר המידה
    • שינית את השם של הפרמטרים dx/dy בשיטת Inset ל- אופקי ואנכי
    • נוסף עומס יתר של הפניה שחוזרת על עצמה ערך פנימי לכל 4 הגבולות
    • התיעוד הוסר משיטת ההטמעה, שמציין כי את כניסת הפיסקה תחול על כל 4 הצלעות
    • תיעוד מעודכן לכיתת Rect
    • התגובות בפרמטרים של Rect עודכנו כך שיתאימו ל-kdoc בסגנון
    • הוסרו Rect.join ו-Rect.expandToInclude
    • נוצר עומס יתר עבור Rect.Translate(offset) ו- Rect.shift הוצא משימוש
    • (If086a, b/167737376)
  • להוסיף את AccessibilityScrollState למאפייני הסמנטיקה. (Ifeda9)
  • כדי למנוע יצירת אובייקטים, צריך להפוך את TextRange למצב מוטבע. (Id034b)
  • ה-PagraphConstraints הוסרו. הרוחב מועבר עכשיו ישירות לפיסקה. (Ica712)

גרסה 1.0.0-alpha03

16 בספטמבר 2020

androidx.compose.foundation:foundation:1.0.0-alpha03, androidx.compose.foundation:foundation-layout:1.0.0-alpha03 ו-androidx.compose.foundation:foundation-text:1.0.0-alpha03 שוחררו. גרסה 1.0.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • השם של InnerPating השתנה ל-PservingValues. (I195f1, b/167389171)
  • שמות השימושים בכוח הכבידה שונו באופן עקבי כדי ליישר קו או ליישר קו בממשקי ה-API לפריסה. (I2421a, b/164077038)
  • נוסף פרמטר יישור ל-Stack, שמאפשר לציין את יישור ברירת המחדל לכל הצאצאים של ה-Stack. (Ie80ca, b/164085265)

תיקוני באגים

  • הוצאנו משימוש את DpConstraints וממשקי ה-API שמשתמשים בהם. (I90cdb, b/167389835)
  • השמות של הפרמטרים minWidth ו-maxWidth של widthIn השתנו ל-min ול-max. באופן דומה, גם עבור preferredWidthIn, heightIn, preferredHeightIn. (I0e5e1, b/167389544)
  • נוספו onNode ושיטות גלובליות אחרות ב-ComposeTestRule בתור הן הגלובליות הנוכחיות יוצאו משימוש. (Ieae36)
  • חישובים של גודל ומיקום קבוע ב-TrafficScope נגרמה בין היתר ליצירה של תנועות החלקה לא חוקיות (Iaf358, b/166589947)
  • createAndroidComposeRule ו-AndroidInputDispatcher הועברו מ- androidx.ui.test.android עד androidx.ui.test (Idef08, b/164060572)

גרסה 1.0.0-alpha02

2 בספטמבר 2020

androidx.compose.foundation:foundation:1.0.0-alpha02, androidx.compose.foundation:foundation-layout:1.0.0-alpha02 ו-androidx.compose.foundation:foundation-text:1.0.0-alpha02 שוחררו. גרסה 1.0.0-alpha02 מכילה את התחייבויות אלה.

תיקוני באגים

  • TestUiDispatcher מסומן כניסיוני (Iae99d, b/161247083)
  • הוספת את ManualFrameClock.hasAwaiters כדי לבדוק אם משהו בהמתנה לפריים מהשעון הזה. runWithManualClock כתחליף עבור runBlocking כשמריצים בדיקות שנדרש להן ManualFrameClock; TestUiDispatcher.Main, שמאפשר גישה קלה לסדרן ממשק המשתמש הראשי בבדיקות שלכם.

    לדוגמה:

    @Test
    fun myTest() = runWithManualClock { clock ->
        // set some compose content
        withContext(TestUiDispatcher.Main) {
            clock.advanceClock(1000L)
        }
        if (clock.hasAwaiters) {
            println("The clock has awaiters")
        } else {
            println("The clock has no more awaiters")
        }
    }
    

    (I0a85b, b/161247083)

גרסה 1.0.0-alpha01

26 באוגוסט 2020

androidx.compose.foundation:foundation:1.0.0-alpha01, androidx.compose.foundation:foundation-layout:1.0.0-alpha01 ו-androidx.compose.foundation:foundation-text:1.0.0-alpha01 שוחררו. גרסה 1.0.0-alpha01 מכילה את התחייבויות אלה.

גרסה 0.1.0-dev

גרסה 0.1.0-dev17

19 באוגוסט 2020

androidx.compose.foundation:foundation:0.1.0-dev17, androidx.compose.foundation:foundation-layout:0.1.0-dev17 ו-androidx.compose.foundation:foundation-text:0.1.0-dev17 שוחררו. גרסה 0.1.0-dev17 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • המרחב המשותף 'הארגון' נוסף ל'שורה' ו'עמודה', כדי לאפשר מיקום של פריסת צאצאים עם ריווח קבוע. נוסף גם ה'ארגון' המיושר כדי לאפשר פריסת צאצאים אחת ליד השנייה, ומיושרים בשורה/עמודה לפי יישור. השיטות הקודמות של Arrangement.Vertical#arrange ו-Arrangement.Horizontal#arrange הוצאו משימוש, ובעתיד לא תהיה תמיכה בכתיבה של סידורים מותאמים אישית. (I6733d, b/161985975)
  • ההיסט הפך למחלקה מוטבעת (Iaec70)
  • הוסרו קריאות חוזרות של onFocusChanged מ-TextField. במקומו צריך להשתמש ב-Modifier.focusObserver. (I51089, b/161297615)
  • הממשק Modifier.drawBorder הוצא משימוש. במקומו צריך להשתמש ב-Modifier.border. סיווג נתוני הגבול הוחלף ב-BorderStroke (I4257d, b/158160576)
  • VerticalScroller ו-HorizontalScroller הוסרו. במקום זאת, אפשר להשתמש ב- ScrollableColumn/Row. בוצעה הסרה של Modifier.drawBackground. משתמשים ב-Modifier.background (I73b0d, b/163019183)
  • מסירים מ-LazyItemScope את ערכי הצירוף שמסומנים כמגבילי fullMax* שהוצאו משימוש, כי קשה יותר להוסיף אותם בצורה נכונה לפריטים שאינם צאצאים של LazyColumnFor (Ifa78d)
  • הוספת הטמעת LazyColumn/LazyRow כ-DSL (I93cc6)
  • האילוצים הם עכשיו מחלקה מוטבעת (I88736)
  • נוספה האפשרות להתאים פריסה לחלק מהשטח הזמין באמצעות מקשי הצירוף fullMaxwidth, fillMaxHeight ו-fillMaxSize. (I945bb, b/161562591)

תיקוני באגים

  • נוסף פרמטר מגביל ל-SelectContainer (I4aada, b/161487952)
  • נוספה מדיניות מיזוג המדיניות lambda ל-SemmanticsPropertyKey. סוג הפריט יכול להיות משמש להגדרת מדיניות מותאמת אישית לסמנטיקה של מיזוגAllDescendants מיזוג. מדיניות ברירת המחדל היא להשתמש בערך ההורה אם כבר קיים, אחרת ערך הצאצא. (Iaf6c4, b/161979921)
  • השם של PlacementScope.placeAbsolute() השתנה ל-PlacementScope.place(), והשם הקודם של PlacementScope.place() השתנה ל-PlacementScope.placeRelative(). כתוצאה מכך, השיטה PlacementScope.place() לא תשקף יותר את המיקום באופן אוטומטי בהקשרים של מימין לשמאל. אם רוצים, משתמשים במקום זאת ב-PlacementScope.placeRelative(). (I873ac, b/162916675)
  • הוסר רכיב FilledTextField שהוצא משימוש. במקום זאת, יש להשתמש ב-TextField כדי לקבל יישום של עיצוב Material Design של שדה הטקסט הממלא. (I5e889)
  • נוסף הפרמטרBackgroundColor נוסף ל-LinearProgressIndicator והסרת המרווח הפנימי הפנימי מ-CircularProgressIndicator. נוספה ProgressIndicatorConstants.DefaultProgressAnimationSpec חדש, שיכול לשמש כפרמטר ברירת המחדל של האנימציה (If38b5, b/161809914, b/161804677)
  • התוכן הקומפוזבילי state { ... } הוצא משימוש לטובת קריאות מפורשות אל remember { mutableStateOf(...) } לשם הבהרה. כך יצטמצמו פלטפורמת ה-API ואת מספר המושגים ברמת המדינה ניהול, שתואם לדפוס by mutableStateOf() של הכיתה להעניק גישה לנכסים. (Ia5727)
  • השם של RRect השתנה ל-RroundRect כך שיתאימו טוב יותר לדפוסי השמות של הכתיבה יצרו בנאים של פונקציות דומות לפונקציית RRect שהוצאה משימוש constructors (I5d325)
  • הוסר האפשרויות onChildPositioned ו-OnChildPositionedModifier. על המפתחים להשתמש ב-onPositioned וב-OnPositionedModifier בפריסת הצאצא. (I4522e, b/162109766)
  • IntSize היא עכשיו מחלקה מוטבעת (I2bf42)
  • לוחצים לחיצה ארוכה על האזור הריק כדי לערוך. (Ib1e5b)
  • הסתרה של סרגל הכלים הצף אחרי שמקישים על הטקסט. (If4525)
  • הסתרת סרגל הכלים הצף בזמן עדכון הבחירה. (I8444c)
  • מבטלים את הבחירה בזמן הטשטוש. (I781a2)

גרסה 0.1.0-dev16

5 באוגוסט 2020

androidx.compose.foundation:foundation:0.1.0-dev16, androidx.compose.foundation:foundation-layout:0.1.0-dev16 ו-androidx.compose.foundation:foundation-text:0.1.0-dev16 שוחררו. גרסה 0.1.0-dev16 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • LazyItemScope נוסף לפרמטר itemContent של רשימות Lazy. היא מספקת ערכים לשינוי הגודל המקסימלי של ההורה, וכך פותרת את הבעיה לדוגמה שבה הפריט צריך למלא את אזור התצוגה, וה-Modifier.fillMaxSize() הרגיל לא פועל כי הפריט נמדד עם מגבלות אינסוף. (Ibd3b2, b/162248854)
  • העברת תיבת דו-שיח ל-ui (I47fa6)
  • נוספה LazyColumnForIndexed/LazyRowForIndexed - גרסאות של LazyColumnFor/LazyRowFor, שמספקת גם את האינדקס וגם את הפריט ב-itemCallback. האפשרות הזו שימושית כשבנוסף לפריט נוכחי, צריך לדעת מהו האינדקס הנוכחי. (I65ff3)
  • השם של Modifier.deternimateProgress שונה ל-Modifier.progressSemantics (I9c0b4)
  • השם של LazyColumnItems שונה ל-LazyColumnFor. השם של LazyRowItems שונה ל-LazyRowFor (I84f84)
  • מומלץ להוסיף כמה סימנים או הערות מסיבות שקשורות לשיטות המומלצות. (I66b20)
  • base.shape.corner package were Flaten to Foundation.share (I46491, b/161887429)
  • נוסף פרמטר כוח הכבידה של сrosscast עבור LazyRowItems/LazyColumnItems. LazyRowItems/LazyColumnItems תומכים עכשיו בהתנהגות של תוכן הגלישה. (Ib39fc)
  • השם של ZoomableState השתנה ל-ZoomableController. נוספה תמיכה בעקומות בהתאמה אישית עבור smoothScale. הפונקציונליות enabled ו-onZoomStarted נוספה (If8b8f)
  • השם של Material FilledTextField השתנה ל-TextField והשם של TextField השתנה ל-BaseTextField כדי שיהיה קל לגלות את ה-API הרצוי ולהשתמש בו (Ia6242, b/155482676)
  • הוסרה התוסף AdapterList שהוצא משימוש בעבר. במקומו כדאי להשתמש ב-LazyColumnItems (I12b9b)
  • השם של Modifier.drawBackground השתנה ל-Modifier.background (I13677)
  • ה-ConstraintLayout DSL הישן הוסר. השם של ConstraintSet2 השתנה ל-ConstraintSet. (If58d1, b/162450908)
  • נוספו Modifier.ABoluteOffset() ו-Modifier.ABoluteOffsetPx(). בשונה ממגבילי היסט, מגבילי היסט מוחלטים לא ישוכפלו אוטומטית בהקשר של מימין לשמאל (I3aa21)
  • Row ו-Column הם עכשיו פונקציות מוטבעות באופן משמעותי ולהפחית את התקורה כתוצאה מהשימוש בהם. (I75c10)

תיקוני באגים

  • כתובות לתיקונים רחבים ב-API (I077bc)
    1. הסרת ממשק OffsetBase שאינו בשימוש
    2. יישרו מחלקות אחת (Offset) ו-IntOffset כדי פלטפורמת API עקבית
    3. שינוי השם של IntOffset.Origin ל-IntOffset.Zero להיות עקביים עם Offset API
    4. שיטת NativeCanvas הועברה מלוח הציור ממשק לתמיכה בצרכנים כדי ליצור מופעי בד קנבס משלך
    5. נוצרה כיתת stub EmptyCanvas כדי לארגן מחדש DrawScope להיות פרמטר שאינו אפס במקום מאוחר יותר ולוודא שהשדה אינו null
    6. השם של ClipOp enum השתנה ל'מקרה פסקל'
    7. שם המסנן השתנה ל'מקרה פסקל'
    8. שינינו את השם של StrokeJoin enums ל-Pascal Case
    9. השם של 'טיפוסים בני מנייה (enum)' השתנה ל'מקרה של פסקל'
    10. השם של enums ב- PaintingStyle השתנה ועכשיו הוא מקרה פסקל
    11. השם של PathFillType השתנה לאותיות פסקל
    12. השם של טיפוסים ב-StrokeCap השתנה לאותיות פסקל
    13. היישום של DrawCache עודכן ועכשיו הוא לא קיים יותר להשתמש בפרמטרים 'בהשהיה'
    14. בוצע עדכון של DrawScope לשימוש בהענקת גישה מדורגת לפרמטרים פנימיים של fullPaint ו-streamPaint
    15. התמונה הקומפוזבילית עודכנה כדי להימנע משימוש ב-Box למשך פחות תקורה
    16. עדכנו את הכיתה ב-Outline ועכשיו יש בה הערות @Immutable
    17. PathNode עודכן כך שיש בו הערות @Immutable עבור כל הוראה בנתיב
    18. הרכב המשנה וקטורי עודכן כדי להסיר פרטים מיותרים בדיקות מותנות לשוויון כי כבר צריך לטפל בהרכבה הם
    19. לטובת שיטות constructor נלוות של Rect שהוצאו משימוש של בוני פונקציות
    20. מחלקות מברשות ומבני פונקציות עודכנו עם ממשקי API של @Immutable ו- @Stable
    21. VertexMode enum עודכן ועכשיו הוא PascalCase
    22. שיטת ה-selectPaint של DrawScope עודכנה ל'מותנית' להחליף פרמטרים של קו בצבע בצביעה אם יש להם השתנה
    23. עודכנה הגודל כדי להוסיף ממשק API להרוס, שינוי השם לא צויןגודל לערך לא צוין והוסרו שיטות שלא בשימוש
  • נוספה ההגדרה MonotonicFrameAnimationClock שמאפשרת להשתמש MonotonicFrameClock בתור AnimationClockObservable כדי לגשר על הפער בין השעונים החדשים שמבוססים על שעוני קורוטינים לבין ממשקי ה-API שעדיין משתמשים ושעונים שמבוססים על קריאה חוזרת (callback).

    שווה הערך של MonotonicFrameClock ל-ManualAnimationClock עכשיו ManualFrameClock. (I111c7, b/161247083)

  • בוצעה הסרה של SemanticsNodeInteraction.performPartialGesture. כדאי להשתמש יש גם אפשרות SemanticsNodeInteraction.performGesture. (Id9b62)

  • שינית את השם של SemanticsNodeInteraction.getBoundsInRoot() לשם SemanticsNodeInteraction.getUnclippedBoundsInRoot() (Icafdf, b/161336532)

  • ממשקי ה-API לתמיכה מימין לשמאל עודכנו. נוספה ההגדרה LayoutDirectionAmbient תוכל להשתמש בה כדי לקרוא ולשנות את כיוון הפריסה. Modifier.rtl ו-Modifier.ltr הוסרו. (I080b3)

  • השירות Modifier.plus הוצא משימוש. במקומו צריך להשתמש ב-Modifier.then. 'אז' מקבלים אות חזק יותר של הזמנה, וגם אוסר על הקלדת Modifier.padding().background() + anotherModifier, דבר ששובר את השרשרת וקשה יותר לקרוא (Iedd58, b/161529964)

  • נוספו isFocused() ו-isNotFocused() SemanticsMatcher. (I0b760)

  • RemeasurementModifier נוסף. הוא מאפשר למשתמשים למדוד מחדש את הפריסה באופן סינכרוני. באופן כללי, אין צורך בכך כי המדידה מחדש/ההעברה מתרחשת באופן אוטומטי, אבל אנחנו משתמשים בהן בתוך LazyColumnItems במהלך הגלילה. (I5f331, b/160791058)

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

  • ה-OnChildPositioned הוצא משימוש. שימוש ב-OnPositioned על הילד או הילדה. (I87f95, b/162109766)

  • השם של AndroidComposeTestRule השתנה ל-createAndroidComposeRule. (I70aaf)

  • צריך להוסיף פעולת נגישות כדי לקבל TextLayout בטעינה (I9d6e6)

גרסה 0.1.0-dev15

22 ביולי 2020

androidx.compose.foundation:foundation:0.1.0-dev15, androidx.compose.foundation:foundation-layout:0.1.0-dev15 ו-androidx.compose.foundation:foundation-text:0.1.0-dev15 שוחררו. גרסה 0.1.0-dev15 מכילה את ההתחייבויות האלה.

כדי להשתמש בגרסה 0.1.0-dev15 של 'כתיבה', צריך:

עדכון של יחסי התלות

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

שינויים ב-API

  • בדומה לפרמטר החדש שמופיע ב- ScrollableColumn/ScrollableRow LazyColumnItems/LazyRowItems יש עכשיו גם פרמטר contentPגנים שמאפשר להוסיף מרווח פנימי לתוכן אחרי שנחתך, ולא ניתן לעשות זאת רק באמצעות פרמטר מגביל. היא גם מאפשרת להוסיף ריווח רק לפני הפריט הראשון/אחרי הפריט האחרון. (Ibc24e)
  • קריאה חוזרת של onFocusChange בשדות טקסט ששמם השתנה ל-onFocusChanged (Ida4a1)
  • העמודות VerticalScroller ו-HoriziontalScroller הוצאו משימוש. ניתן להשתמש ב- ScrollableColumn וב-SllableRow כדי להתנסות באופן מובנה בהתנהגות ובפרמטרים של עמודות/שורה, או ב-Modifier.verticalScroll ו-Modifier.verticalScroll לרכיב משלך. באופן דומה, ScrollerPosition הוצא משימוש לטובת ScrollState (I400ce, b/157225838, b/149460415, b/154105299)
  • ממשקי ה-API של Modifier.draggable ו-Modifier.scrollable עברו עיבוד. התכונה DragDirection הוסרה לטובת הכיוון. המצב הנדרש לגלילה הוגדר בצורה פשוטה יותר. השם של ScrollableState השתנה ל- ScrollableController (Iab63c, b/149460415)
  • במאפיינים של סמנטיקה של ערך יחיד נעשה עכשיו שימוש בסגנון קריאה. לדוגמה, 'semantics { paused = true }' כתוב עכשיו כך: semantics { hidden() } (Ic1afd, b/145951226, b/145955412)
  • גדלי הפינות המשמשים את RoundedCornerForm ו-CornerForm יכולים עכשיו להיות גדולים מ-50% (Id2340, b/160400213)
  • שינית את ערך ברירת המחדל של ContentScale פרמטר לתמונה קומפוזבילית מפנים ל-Fit. הפעולה בוצעה לפי הסדר כדי לקבל התנהגות שמאפשרת להגביר את צבע אם גודל הפריסה גדול מ לגודל הפנימי של הצייר שמירה על יחס גובה-רוחב. הזה ההתנהגות תואמת טוב יותר לציפיות לציון גדלים קבועים של התמונה מבלי להשפיע על התנהגות ברירת המחדל אם משתמשים רק בגודל הפנימי לחשב את הגודל של התוכן הקומפוזבילי. (I40ae3, b/159838006)
  • שימוש ב-AnimationSpec בתוך ממשקי ה-API ברמה העליונה במקום ב-AnimationBuilder כדי להבהיר את המושג 'מפרט אנימציה סטטית' -לשפר את המעבר ל-DSL על ידי הסרת דרישת lambda עבור יצירת מפרטי אנימציה כמו גיל טרום-עשרה, אביב. במקום זאת, הם מקבלים את הפרמטרים של constructor באופן ישיר. -שיפור הקלות הכוללת של פתיחת מפרט האנימציה ולא להסתמך על בנאים - שינוי משך הזמן וההשהיה של מסגרות KeyFrames ו-Tween to Int. הזה מבטלת העברות טיפוס מיותרות ועומס יתר על שיטות (methods) תמיכה גם ב-Long וגם ב-Int). (Ica0b4)
  • הוסר קליק. משתמשים ב-Modifier.clickable (I84bdf)
  • נוספה LazyRowItems – גלילה אופקית של LazyColumnItems (Ibbcf7)
  • הצגת ממשקי API של אנימציה ברמה נמוכה ללא שמירת מצב. ממשקי ה-API האלה (I63bf7)
  • androidx.ui.foundation.TextFieldValue וגם הפונקציה androidx.ui.input.EditorValue הוצאה משימוש. TextField, תכנים קומפוזביליים של FilledTextField ו-CoreTextField שנעשה בהם שימוש גם סוג זה הוצא משימוש. צריך להשתמש ב- במקום זאת androidx.ui.input.TextFieldValue (I4066d, b/155211005)
  • השימוש ב-IntPx הוחלף ב-Int. מיקום IntPxPosition הוחלף עם IntOffset. הערך של IntPxSize הוחלף ב-IntSize. (Ib7b44)
  • androidx.ui.foundation.shape.RectangleForm הוסר; צריך להשתמש ב-androidx.ui.graphics.Rectangle למשתמשים (I94939, b/154507984)
  • כדי לאחד את את מספר המחלקות לייצוג התאמת גודל, סטנדרטיזציה על השימוש במחלקת גודל של PxSize. זה היתרונות של בכיתה מוטבעת כדי להשתמש לארוז 2 ערכים צפים לייצוג רוחב וגובה מיוצגים כצפים. (Ic0191)
  • כדי לאחד את את מספר המחלקות לייצוג פרטי מיקום, ליצור סטנדרטיזציה על השימוש במחלקה Offset של PxPosition. זה היתרונות של בכיתה מוטבעת כדי להשתמש לארוז 2 ערכים צפים כדי לייצג x ו-y קיזוזים מיוצגים כצפים. (I3ad98)
  • נוסף Modifier.zoomable לפונקציונליות של צביטה לשינוי מרחק התצוגה (Id5d63)
  • הרכיב שניתן להחליף הוצא משימוש. במקומו צריך להשתמש ב-Modifier.toggleable (I35220, b/157642842)
  • ה-MutuallyExclusiveSetItem הוצא משימוש. במקומו צריך להשתמש ב-Modifier.selectable. (I02b47, b/157642842)
  • הכלי TestTag הוצא משימוש. במקומו צריך להשתמש ב-Modifier.testTag. (If5110, b/157173105)
  • מוסיף את הפרמטר fontweight ל-Text, שלא נוסף בטעות בעבר (I56937)
  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (I19d02)
  • VerticalScroller מציע עכשיו Column (עמודה) מהתיבה. לרוחב ה-HorizontalScroller מופיע עכשיו שורה מחוץ לקופסה. (Ieca5d, b/157020670)
  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (Iede0b)
  • Modifier.indication נוסף לחבילת הבסיס. אפשר להשתמש בו כדי להציג לחיצה/גרירה/סימון אחר ברכיבים המותאמים אישית שניתנים לאינטראקציה (I8425f, b/155287131)
  • התכונות VerticalScroller ו-HorizontalScroller תומכות עכשיו בגלילה הפוכה. היא מוגדרת למצב ScrollerPosition (I953bd)
  • תמיכה בהוספת תכנים קומפוזביליים לפריסת טקסט. (I1373c)
  • הטמעות מאוחדות של CanvasScope עכשיו יש רק את DrawScope היקף התוכן השם של CanvasScope השתנה ל-DawScope. בוצע עדכון של DrawScope להטמעת צפיפות ולספק LayoutDirection מחלקה משנית של DrawScope נמחקה ב-ContentDrawScope צבעים ו- PainterModifier עודכנו כדי להפסיק לתחזק נכס RTL בעצמם, מכיוון ש-DawScope כבר מספק בלי לספק אותו באופן ידני (I1798e)
  • הוסרה התכונה DrawBackground שהוצאה משימוש API עם העדפה לתוסף RollBackground ממשקי API ב-Modifier. ארגון מחדש צבע, מברשת וציור רקע הטמעות כדי לצמצם את נתיבי הקוד כדרישה להסרה לצורך יצירת מגביל כחלק מהיצירה. (I0343a)
  • עודכנה רמה גבוהה יותר כתיבת ממשקי API שחושפים בד ציור במקום זאת, לחשוף את CanvasScope. הפעולה הזו תסיר הצורך של הצרכנים לשמור על אובייקטים של 'צייר'. למשתמשים עדיין נדרשת גישה ללוח הציור הוא יכול להשתמש בתוסף pullCanvas שמאפשרת קריאה חוזרת (callback) לבעיה שרטוט של פקודות באמצעות קנבס. (I80afd)
  • אופקים ו-VerticalScroller לא משחזרים את מיקום הגלילה שלהם באמצעות מצב המכונה שנשמר. (Ia0fae, b/155075048)
  • ה-FocusManagerAmbient הוסר. שימוש ב-FocusModifier.requestFocus כדי להשיג מיקוד. (Ic4826)
  • פריסת הטבלה הוסרה באופן זמני עד שהיא תחזור להיות זמינה עם API שעבר רענון. (Id88a7)
  • יצרתם ממשק API של CanvasScope שמכסה אובייקט בד ציור כדי לחשוף אובייקט ללא שמירת מצב, וממשק API לשרטוט. הטרנספורמציות נכללות בתוך היקף המקבל וגודל מידע הוא גם כולל גבולות פנימיים תואמים. הצרכן לא נדרש לשמור על מצב צבע משלו. להגדרת פעולות שרטוט.

    נוספה גם CanvasScopeSample וגם עדכנת את אפליקציית ההדגמה ועכשיו היא כוללת גרפיקה מוצהרת הדגמה (Ifd86d)

  • ColoredRect הוסר. תיבת משתמש עם תכונת שינוי חדשה (I983c7, b/152753731)

  • הוספת התאמה אישית של צבע הסמן ב-TextField (I6e33f)

  • כעת ניתן להסתיר/להציג את מקלדת התוכנה באמצעות Softwareמקלדתבקר שמסופקת על ידי onTextInputStarted callback (I8dc44, b/151860051)

  • עכשיו אפשר להשתמש ב-TextFieldValue יחד עם TextField כדי לשרוד פעילות פנאי, גם כשמשתמשים בו: var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() } (I5c3ce, b/155075724)

  • מוסיפה פרמטרים נפוצים ל-Text(). אם אתם יוצרים כרגע סגנון טקסט מקומי כדי להעביר חלק קטן מהפרמטרים האלה, כמו Text(style = TextStyle(textAlign = TextAlign.Center)), עכשיו אפשר לספק את הפרמטרים ישירות: Text(textAlign = TextAlign.Center) (I82768)

  • בוצעה החלפה של CoreTextField/TextField FocusIdentifier עם FocusNode כדי לשלב אותו עם מערכת המשנה של המיקוד. (I7ea48)

  • עדכון TextField - במאפיין האופקי הוא יתפוס את כל השטח הזמין שהוענק לו (Ib08df, b/154638552)

  • נוספו InteractionState ו-Interaction כדי להקל על הבנייה של רכיבים המגיבים לשינויים במצב ממשק המשתמש, כגון לחיצה וגרירה (Icfe25, b/152525426)

  • RectangleForm הועבר מ-androidx.ui.foundation.shape.* אל androidx.ui.graphics.* (Ia74d5, b/154507984)

  • כל השימושים בצבע nullable ב-API הוחלפו ב- non-null ולהשתמש ב-Color.Unset במקום ב-null (Iabaa7)

  • עדכון של TextField API – מוזגו קריאות חוזרות של onFocus ו-onBlur לקריאה חוזרת (callback) אחת של onFocusChange(Boolean) עם פרמטר (I66cd3)

  • השם של ScaleFit שונה ל-ContentScale ContentScale הועבר מממשק משתמש גרפי לממשק משתמש (ui-core) חיים באותו המודול כמו היישור API. השם של FillMaxAttribute השתנה ל'חיתוך' השם של FillMin מצד השתנה ל-Fit שינינו את השם של 'כושר' ל'פנים' כדי לשפר את ההתאמה ערכים מקבילים של ImageView.ScaleType נוסף תיעוד שמציין שהשילוב של Crop ו-יישור.Center משיגה את אותה התוצאה בתור ImageView.ScaleType.CENTER_CROP ו-Fit נעשה שימוש ב-יישור.Center משיג את אותה תוצאה כמו ImageView.ScaleType.FIT_CENTER. השימוש בפנים עם יישור.Center משיג את אותו הדבר תוצאה בתור ImageView.ScaleType.CENTER_INSIDE (I45f09, b/152842521)

  • התכונה RemoveContentColor מסירה במקום זאת רק את ContentColorAmbient ישירות עם Providers (Iee942)

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

  • שיפור של DrawModifier API:

    • יצרת את היקף המקבל עבור pull() ContentDrawScope
    • הוסרו כל הפרמטרים מ-Daw()
    • הממשק של DrawScope זהה לממשק הקודם של CanvasScope
    • ContentDrawScope כולל שיטת pullContent() (Ibaced, b/152919067)
  • הצבע של ColoredRect הוצא משימוש. במקומה צריך להשתמש במדיניות Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731)

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

  • אופרטור הצירוף הוחלפה בפונקציות של תוספי היצרן (I225e4)

  • אפשרות הגרירה הועברה למצב הצירוף (Id9b16, b/151959544)

  • Text הועברה לחבילת androidx.ui.foundation, מ-androidx.ui.core. (I87ce5)

  • הוספת הפרמטר enabled לתיבת סימון, למתג ולהחלפת מצב (I41c16)

  • Ripple הוא עכשיו 'מגביל'. אמנם השירות 'קליקבילי' עדיין לא הומר, אבל השימוש המומלץ הוא Clickable(onClick = { ... }, modifier = ripple()) (Ie5200, b/151331852, b/150060763)

  • נוסף VectorPainter API אל להחליף את Subcomposition API קיים בשביל בגרפיקה וקטורית. תוצאה של הרכב משנה הוא אובייקט VectorPainter במקום DrawModifier. DrawVector הקודם הוצא משימוש לתכנים קומפוזביליים לטובת VectorPainter.

    השם של ה-API של Image(Painter) שונה ל-PaintBox(Painter) יצרתם קומפוזבילי וקטורי שפועל כמו אפשר ליצור תמונה קומפוזבילית, אבל לא באמצעות VectorAsset במקום זאת של ImageAsset (I9af9a, b/149030271)

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

  • ללחצן, FloatingActionButton ו-Clickable יש עכשיו פרמטר enabled נפרד. השמות של חלק מהפרמטרים ב'לחצן' שונו או שהסדר שלהם השתנה. (I54b5a)

  • השם של התמונה השתנה ל-ImageAsset כדי ליצור הבחנה טובה יותר את ההבדל בין נתוני התמונה לבין הנתונים תמונה קומפוזבילית שמשמשת להשתתפות בפריסה ובציור תוכן.

    נוצרה שיטת תוסף ב-android.graphics.Bitmap, Bitmap.asImageAsset(), כדי ליצור מופע של ImageAsset שימושי לשילוב במכשירי Android מסורתיים פיתוח אפליקציות באמצעות מסגרת הכתיבה. (Id5bbd)

  • התוכן הקומפוזבילי של DrawImage הוסר. אפשר להשתמש ב-ImagePainter כדי לשרטט תמונה בפריסה קיימת, או ב-SimpleImage כדי להציג תמונה שצורכת מקום (I595e1, b/149827027)

  • רכיב מקבץ תומך בכיווניות מימין לשמאל (Ic9e00)

  • נוסף סמל, לחצן IconToggle והסרת AppBarIcon. תוכלו להחליף ישירות שימושים קיימים ב-AppBarIcon ב-iconButton, ועכשיו יהיה להם משטח המגע הנכון. הצגת דוגמאות של את פרטי השימוש שלו, ולראות סמלים עבור סמלי החומרים שסופקו אפשר להשתמש בהם ישירות עם הרכיבים האלה. (I96849)

  • הוסר התוכן הקומפוזבילי של DrawForm. במקום זאת, אפשר להשתמש בתכונת הצירוף DrawBackground. (I7ceb2)

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

  • נוסף רכיב שניתן לגלילה, שמאפשר ליצור רשימות גלילה/רשימות בהתאמה אישית (I5fd37)

  • שינית את שם הרקע ל-DawBackground והבחירה לקבל אותו בעל פה כברירת מחדל (Ia0bd3)

  • הוספת מרווחים פנימיים, גבולות, צורה ופרמטר רקע ל-Box (I05027, b/148147281)

  • רכיב לוח הציור נוסף. התוכן הקומפוזבילי הזה תופס חלק מהגודל (נשלח על ידי המשתמש) והוא מאפשר לצייר באמצעות CanvasScope (I0d622)

  • שינוי השם של מגביל Border ל-DrawBorder (I8ffcc)

  • נוסף רכיב Box לשילוב פריסה ושרטוט פונקציונליות נפוצה. (I6e2a7)

  • עכשיו, בגלילות רואים התנהגות רגילה של תנועה מרחפת ב-Android. (I922af, b/147493715)

  • בוצעה החלפה של DrawBorder במקום Border Modifier (Id335a)

  • השם של Modifier.tag שונה ל-Modifier.layoutId, כדי למנוע בלבול עם Modifier.testTag. (I995f0)

  • השם של פרמטר האחוז במהלך יצירת הנחיות ConstraintLayout השתנה ל'שבר'. (Ida2db)

  • נוספה תמיכה בשוליים של מחסומי ConstraintLayout. (I47ffe)

  • תוקנה תמיכה ב-RTL ב-ConstraintLayout. נוספו ממשקי API לא מודעים לפרוטוקול RTL. (I3b1c7)

  • נוסף DSL חדש ל-ConstraintLayout. לקבלת פרטים נוספים, מומלץ לעיין בדוגמאות. (Icaa9a)

  • נוספה ההערה @גרסה ניסיונית לפריסה. ConstraintLayout, FlowRow ו-FflowColumn מתויגים עכשיו כדי לסמן שממשקי ה-API שלהם עומדים להשתנות. (I412a8)

  • Modifier.padding(InnerPadding) נוסף (I94985, b/157133803)

  • הוסרה ההגדרה ' Lineיישור', 'יישור עמודה' ו'יישור עמודה' שהוצאו משימוש. (If60d4, b/155858731)

  • הוסרה LayoutTag() שהוצא משימוש. במקומו צריך להשתמש ב-Modifier.tag() . הוסר Modifier.matchParent() . במקומו צריך להשתמש ב-Modifier.matchParentSize() . (If8044)

  • נוסף מגביל הפריסה offsetPx, שניתן להשתמש בו כדי להגדיר היסטולים (דינמיים) ב-px. (I5af57)

  • תוכן קומפוזבילי עם מייצג קומפוזביליות התוכן הקומפוזבילי במרכזיישור ליין הוסר. (I60107)

  • נוסף ערך ברירת מחדל לפריסה של defaultMinSizeConstraints, שמגדיר מגבלות גודל לפריסה הארוזה רק אם לא צוינו האילוצים הנכנסים והתקפים (0 אם מדובר במגבלות של מינימום ואינסוף למגבלות מקסימליות). (I311ea, b/150460257)

  • המאגר הוסר. במקום זאת, צריך להשתמש ב-Box (Ibbc2b, b/151407926)

  • הוסרו ערכי הצירוף של רוחב/גובה/גודל שהוצאו משימוש. (Ib0bc1)

  • נוספו ערכי פרמטרים שמוגדרים כברירת מחדל למגביל ההיסט. (I37f06)

  • נוסף מקש מרווח סימטרי למרווח פנימי. (I39840)

  • הוסר מקש הצירוף LayoutAspectRatio שהוצא משימוש. (I65a74)

  • הוסרו מגבילי יישור שהוצאו משימוש. (I10877)

  • תוקן באג במגבילי הרוחב והגובה שגרם למדידה של הפריסה הארוזה ללא מגבלות של צירים נגדיים. (I210b8, b/154797971)

  • נוספו פרמטרים של 'Gravity' ו-'UniformGravity' ל'שורה' ו'עמודה', בהתאמה. (I7dc5a)

  • עודכנו wrapContentwidth ו-wrapContentHeight כדי לצפות ליישור אנכי או אופקי, במקום יישור כלשהו. מקש הצירוף של כוח הכבידה עודכן לקבלת יישור אנכי או אופקי. שורות, עמודות וערימה עודכנו ועכשיו הן תומכות ביישור רציף בהתאמה אישית. (Ib0728)

  • ניתן ליצור יישור באופן מיידי עם ערכים שרירותיים. נוספו יישורים בתלת-ממד. (Ia0c05)

  • השם של כניסות Edge השתנה ל-InnerPbound. השם של פרמטר הפנימי (inPend) השתנה מ'לחצני חומר' ל'padpad'. (I66165)

  • עכשיו הפרמטר OptimizeToSiblings מקבל מודל 'מדידה' במקום 'placeholder'. (I5788d)

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

  • נוספה תמיכה בהתאמה אישית של מימדים של צאצאים של ConstraintLayout (Idb1a5)

  • הוסרו תכנים קומפוזביליים של Wrap ו-Center שהוצאו משימוש. (I29e23)

  • נוסף LayoutModifier2, ממשק API חדש להגדרת מגבילי פריסה; LayoutModifier שהוצא משימוש (If32ac)

  • החברים ב-rowScope וב-ColumnScope נגישים עכשיו מחוץ ל-Row ול-Column. (I3a641)

  • הקונטיינר הוצא משימוש. במקום זאת, צריך להשתמש ב-Box. (I675ce, b/151407926)

  • נוסף מקש הצירוף LayoutOffset לשינוי מיקום הפריסה (I0b8a3)

  • תמיכה ראשונית ב-Rtl בפריסת פיתוח נייטיב (Ia5519)

  • בוצע עדכון לפריסה כך שלא תמלא יותר את השטח הזמין (I2b14f)

  • התוכן הקומפוזבילי AspectRatio הוסר לטובת מגביל. מחוק(ה) ערך מיושן של FlexColumn, FlexRow composables and Spacing (Iec8a7)

  • הוסרה תכונת הצירוף LayoutInFlexibleible לשורה ולעמודה (I0d820)

  • צריך להטמיע נקודות אחיזה לבחירת גרירה כדי לשנות את הבחירה ב-TextField. (I27032)

  • מיישמת את LongClickAndDrag לבחירת TextField. (I17919)

תיקוני באגים

  • ה-FocusModifier הוצא משימוש והוחלף ב-Modifier.focus, Modifier.focusRequester, Modifier.focusObserver. ה-FocusState ו-FocusDetailedState הוצא משימוש לטובת FocusState2 (I46919, b/160822875, b/160922136)
  • השם של runOnIdleCompose השתנה ל-runOnIdle (I83607)
  • השמות של חלק מממשקי ה-API לבדיקה השתנו ועכשיו הם יותר אינטואיטיביים. הכול השמות של ממשקי ה-API של findXYZ השתנו ל-ב-NodeXYZ. השמות של כל ממשקי ה-API של DoXYZ השתנו ל- לבצעXYZ. (I7f164)
  • מסיר את Modifier.ripple שהוצא משימוש. האפליקציה 'לחיצה על דף' משתמשת עכשיו ב'גלים' כאינדיקציה ברירת המחדל (אם הגדרתם MaterialTheme {} באפליקציה שלכם), כך שברוב המקרים תוכלו פשוט להשתמש ב'גלים' כדי לקבל אינדיקציה בחינם. אם אתם צריכים להתאים אישית את הצבע / הגודל / הפרמטר המוגבל של ההד, תוכלו ליצור מאפיין גלים באופן ידני ולהעביר אותו כפרמטר לחיץ (קליקבילי). (I663b2, b/155375067)
  • הוסרו ממשקי API מיושנים לבדיקת גודל. (Iba0a0)
  • ממשק API ניסיוני של LayoutNode (I4f2e9)
  • גרסה 1 של נעילת כיוון הגלילה היא שהוטמעו ב'כתיבה'. (I1ce7a, b/150289741)
  • חלונות קופצים, תיבות דו-שיח ותפריטים יורשים את עיצוב התוכן ההקשרי ההקשרי (Ia3665, b/156527485)
  • הפרמטר של כיוון הפריסה הוסר מבלוק המדידה של הפונקציה Layout() . עם זאת, כיוון הפריסה זמין בתוך הקריאה החוזרת דרך אובייקט היקף המדידה (Ic7d9d)
  • Add AbsoluteArrangement – מאפשר לסדר את הצאצאים בתוך השורה ללא שיקוף אוטומטי ב-RTL (I3a1df)
  • הוצאנו משימוש את ההערה @ללא מעקב. מחליפים ב- @ComposableContract(tracked=false) (Id211e)
  • לפני השינוי הזה, הפלאגין של המהדר לכתיבה היה לא מיירט קריאות למבנים בתוך פונקציה מסוג @Composable אם הייתה לו (I5205a, b/158123804)
  • הוספת תוכן קומפוזבילי viewModel() שמאפשר ליצור או ליצור כבר ViewModel באופן דומה לאופן שבו הוא פועל ב'פעילות' או ב-Fragment (I5fdd1)
  • סיווג רדיוס מחדש להגדרה כיתה מוטבעת. היצירה הנלווית הוסרה במקום ב-constructor של פונקציות עם פרמטר ברירת המחדל כדי שהרדיוס תואם לציר ה-Y פרמטר של רדיוס בציר ה-X.

    עודכן ב-DawScope.drawRoundRect לצריכה פרמטר רדיוס יחיד במקום שני פרמטרים נפרדים ערכים צפים של הרדיוס לאורך x ו-y ציר (I46d1b)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים. כיתה Px נמחקה במלואה (I3ff33)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (I086f4)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (Id3434)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (I97a5a)

  • הסמן של TextField מציג אנימציה מהבהבת (Id10a7)

  • תנועות חלקיות כבר לא מחייבות העברה של motionToken (Id7ae5)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (I57bff)

  • Modifier.semantics הוצא משימוש כדי לאפשר שימושים ברכיבים ברמה גבוהה. (I4cfdc)

  • שינוי השם של AnnotatedString.Builder.addAnnotationString ל-addStringAnnotation. (I5059e)

  • עדכנו את ה-API של היישור והוספנו תמיכה בהתאמה מוחלטת (שלא משקפת באופן אוטומטי בהקשר Rtl) (I38cd3)

  • אפשר למדוד את הצאצאים של Layout ו-LayoutModifier, בכיוון פריסה שונה. (Ibd731)

  • הצגה של מלבן אופציונלי נוסף ל-ImagePainter כדי לתמוך שרטוט קטע משנה של ImageAsset (I0ea9e)

  • תוקנה קריסה ב-AdjustList בזמן הסרת פריטים (Ic64b0, b/153195921)

  • שינינו את האופן שבו אנחנו מודדים את הפריסה הראשונה שהוספת בבלוק activity.setContent { }. בעבר המכשיר היה ממלא את כל המסך של הפעילות, ועכשיו הוא מתנהג כאילו מציבים את הפריסה בתוך מקבץ: הוא יכול להיות קטן יותר מהמסך, והוא ימוקם במסך הימני העליון. אם רוצים להשתמש בהתנהגות הישנה, אפשר להחיל את Modifier.fillMaxSize() על הפריסה. (Ie88a7, b/153453714)

  • השם של המודול ui-text-compose שונה ל-ui-text. טקסט בממשק משתמש מכיל עכשיו תכנים קומפוזביליים של CoreText ו-CoreTextField (Ib7d47)

  • השם של מודול ui-text השתנה ל-ui-text-core (I57dec)

  • הועברו ui-framework/CoreText, תכנים קומפוזביליים של CoreTextField ui-text-compose. כדאי שתהיה לך אפשרות לכלול את ui-text-compose פרויקט. (I32042)

  • runOnIdleCompose ו-runOnUiThread הן עכשיו פונקציות גלובליות במקום להשתמש ב-methods ב-ComposeTestRule. (Icbe8f)

  • [ניתן לשינוי]האופרטורים להענקת גישה לנכסים במדינה עברו לתוספים לתמיכה באופטימיזציות של מקבלי גישה לנכס Kotlin 1.4. מתקשרים חייבים להוסיף מיובאים כדי להמשיך להשתמש ב-by state { ... } או ב-by mutableStateOf(...). (I5312c)

  • DrawLayerModifier ו-trainLayer() משמש עכשיו כברירת המחדל ל-ClipToBounds ו-ClipToOutline ל-FALSE. (I0eb8b, b/152810850)

  • השם של Layout result השתנה ל-MeasureAmount. (Id8c68)

  • תוכן קומפוזבילי שהוצא משימוש במרכז. צריך להחליף אותו במגביל הצירוף LayoutSize.Fill + Layout.Center, או באחד מהקומפוזביליים של Box או Stack עם מגבילי התאמה מתאימים (Idf5e0)

  • השם של הפריסה הגמישה השתנה ל-Layoutweight (משקל). השם של הפרמטר 'נוח' שונה למילוי. (If4738)

  • DrawVector השתנה ממערך רגיל בפונקציה קומפוזבילית להחזרת ערך Modifier pullVector() יצייר את הווקטור כרקע לפריסה. (I7b8e0)

  • החלפת הקליפ של הפונקציה הקומפוזבילית עם מקש הצירוף DoodleClip(). תכונת DrawClipToBounds היא תכונת שינוי נוחה שבו צריך להשתמש רק לחיתוך גבולות השכבה בצורת מלבן. (If28eb)

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

  • androidx.compose.ViewComposer הועבר אל androidx.ui.node.UiComposer בוצעה הסרה של androidx.compose.Emittable. הפעולה הייתה מיותרת עם ComponentNode. בוצעה הסרה של androidx.compose.ViewAdapters. הם כבר לא תרחיש לדוגמה שנתמך. השדה Compose.composeInto הוצא משימוש. במקומו צריך להשתמש ב-setContent או ב-setViewContent. הכלי Compose.disposeComposition הוצא משימוש. במקום זאת, צריך להשתמש בשיטה dispose בעמודה Composition שהוחזרה על ידי setContent. androidx.compose.Compose.subcomposeInto הועבר אל androidx.ui.core.subcomposeInto השם של ComponentNode#emitInsertAt השתנה ל-ComponentNode#insertAt השם של ComponentNode#emitRemoveAt השתנה ל-ComponentNode#removeAt השם של ComponentNode#emitMode השתנה ל-ComponentNode#move (Idef00)

  • תוכן קומפוזבילי על האריזה שהוצא משימוש. אפשר להחליף אותו במנגנון הצירוף של LayoutLayout או ברכיב הקומפוזבילי של Stack (Ib237f)

  • כיוון הפריסה יופץ מצומת פריסת ההורה לצאצאים. נוסף ערך לשינוי כיוון הפריסה. (I3d955)

  • משנים את השם של Painter.toModifier ל- Painter.asModifier כי בגרסה החדשה של ה-Modifier יש הפניה לצייר המקורי שניתן לשתף בין מספר מופעי צירוף (I7195b)

  • תמיכה בכיוון מימין לשמאל בתכונת השינוי של LayoutPpy (I9e8da)

  • השדות Density ו-DensityScope מוזגו לממשק אחד. במקום TimeDensity() אפשר להשתמש ב-DensityAmbient.current. במקום withDensity(צפיפות) רק עם(צפיפות) (I11cb1)

  • הוסרה מחלקה ValueHolder. שינוי מבנה של מחלקות GraphicsValue, AnimationFloat ל- הפוך את שדה ערך האנימציה למופשט כדי שמחלקות המשנה יוכלו לצפות בעדכון הערך.

    • נוספו קטגוריות של מודלים ל-AnimationValue, ל-AnimationFloat וכו'.
    • נוספה סדרה חדשה של ממשקי API קלים לשימוש עם @Composable לאנימציה בין ערכים.
    • (I79530)
  • שינויי תוכנה ב-Ambis API פרטים נוספים זמינים במסמכי היומן ובמסמכי Ambient<T> (I4c7ee, b/143769776)

  • מיקומי היישור הפנימיים שהוחזרו מה-Placeable#get(מניעהLine) הם עכשיו לא null. אם חסר קו היישור שנוצר בשאילתה, הפונקציה VerifyLine.Unspecified תוחזר. (I896c5, b/158134875)

  • תוקן באג ConstraintLayout שגרם לקריסה של הרכבות מחדש. (Ibee5a, b/158164341)

  • ממשק ה-API של lambda בסופו של withConstraints השתנה. עכשיו, במקום שני פרמטרים, יש לו היקף מקלט, שבנוסף למגבלות ו-DeployDirection, מספק את המאפיינים minwidth, maxWidth, minHeight ו-maxHeight ב-Dp (I91b9a, b/149979702)

  • השם של LayoutModifier2 שונה ל-LayoutModifier. (Id29f3)

  • לפונקציות מדידות פנימיות ב-Layout וב-LayoutModifier2 יש עכשיו מקלט IntrinsicMeasureScope שמספק עכשיו API של שאילתות מהותיות עם כיוון פריסה מופץ במרומז. (Id9945)

  • התכונה LayoutDirectionAmbient הוצאה משימוש. כדי לקרוא את כיוון הפריסה שהוגדר על ידי הלוקאל, צריך להשתמש ב-לוקאל LayoutDirection ב-ConfigurationAmbient (I851b1)

  • נוספו positionInParent ו-boundsInParent לקואורדינטות ב-Layout9s. (Icacdd, b/152735784)

  • תוכן קומפוזבילי ParentData הוצא משימוש. עליכם ליצור מגביל שמיישם את ממשק ParentDataModifier, או להשתמש ב-LayoutTag אם צריך רק לתייג צאצאים כדי לזהות אותם בתוך בלוק המדידה. (I51368, b/150953183)

  • הוספת OnPositionedModifier ו-OnChildPositionedModifier כדי להחליף תכנים קומפוזביליים מסוג OnPositioned ו-OnChildPositioned למשימות ספציפיות. (I2ec8f)

  • אין הרשאה למרווח פנימי שלילי ב-LayoutPגנים. במקום זאת, צריך להשתמש ב-LayoutOffset להיסט של מיקומים שליליים. (Ifb5b1)

  • withConstraints Get LayoutDirection (I6d6f7)

  • הדגל ComposeFlags.COMPOSER_PARAM עודכן ועכשיו הוא true, והוא ישנה את אסטרטגיית יצירת הקוד של הפלאגין של כתיבת הקוד. ברמה הכללית, זה גורם ליצירת פונקציות @Composable עם פרמטר סינתטי נוסף, שמועבר אל הפעלות @Composable נוספות כדי שסביבת זמן הריצה תוכל לנהל כראוי את הביצוע. עם זאת, זהו שינוי תוכנה בינארי משמעותי שעלול לשמר תאימות ברמת המקור בכל שימוש מאושר בכתיבה. (I7971c)

  • שינית את Layouts כדי לבצע חלוקה ליישור קו קבוצה במקום מפה, ו-Layouts (פריסות) מיישמים את במקום זאת, כדי לאחזר ערך, באמצעות האופרטור get() . כך יהיה לך קל יותר עבור משתנים לשינוי ערך אחד או יותר של הקבוצה יוצר אוסף חדש לכל מגביל. (I0245a)

  • לקואורדינטות כבר אין מאפיין מיקום. אינו הגיוני כאשר מביאים בחשבון את LayoutModififiers, סיבוב או התאמה לעומס (scaling). במקום זאת, על המפתחים להשתמש ב-Parent_Coordinates ו-ChildToLocal() כדי לחשב את הטרנספורמציה ניהול צוותים לפריסה אחרת.

    הקואורדינטות ב-Layouts משתמשות ב-IntPxSize עבור מאפיין הגודל במקום ב- גודל PxSize. פריסות משתמשות בגדלים של פיקסלים שלמים לפריסות, כך שכל גדלי הפריסה צריך להשתמש במספרים שלמים ולא בערכי נקודה צפה (floating-point). (I9367b)

  • שיפורים בפלטפורמת ה-API של המגבלות (I0fd15)

  • נוסף TextDirection.Content (I48f36)

  • עליך להתאים את תפריט סרגל הכלים כדי להציג העתקה, גזירה והדבקה כראוי. (Id3955)

  • מוסיפים סרגל כלים צף לבחירת TextField. (Ie8b07)

  • השם של TextDirectionAlgorithm נקרא TextDirection (I75ce8)

  • השם של TextDirection השתנה ל-resolvedTextDirection (I3ff38)

  • הוספת HapticFeedback ל-TextField Selection (בחירת שדות). (I58050)

  • הוספת שיטות העתקה, גזירה והדבקה ל-TextField Selection (Idb70b)

  • TestTag והסמנטיקה נמחקו. במקומו צריך להשתמש ב-Modifier.testTag וב-Modifier.semantics (I15ff0, b/158841414)

  • שם החבילה של הלוקאלים והלוקאלים השתנה מ- androidx.ui.text to androidx.ui.intl (I8132c)

  • שינוי ב-API: השם של AnnotatedString(builder: Builder) השתנה ל-annotatedString(builder: Builder). (Ia6377)

  • שינוי ב-API: השם של AnnotatedString.Item השתנה ל-AnnotatedString.Range. (I2d44d)

  • הוסף את סרגל הכלים לפעולות הקשורות לטקסט. (I49d53)

  • הגרסה החדשה של LifecycleOwnerAmbient זמינה עכשיו. עכשיו, פעילות שאתם משתמשים בה עם ממשק המשתמש של הכתיבה צריכה להרחיב את הפעילות androidx.activity.ComponentActivity (או AppCompatActivity). הלחצן setContent ב-android.app.Activity הוצא משימוש (Idb25a, b/153141084)

  • שם חבילת ui-android-text (androidx.text) הוחלף ב- androidx.ui.text.platform כדי להתאים למדיניות של androidx. (I42711)