Compose Material 3 Adaptive

  
אתם יכולים להשתמש בספרייה ההתאמה האישית של Material 3 כדי ליצור ממשקי משתמש מותאמים אישית שיתאימו את עצמם באופן אוטומטי בהתאם להגדרות החלון הנוכחיות, כמו סיווגים של גודל חלון או תנוחות המכשיר. הספרייה מספקת גם הטמעות ברירת מחדל של תבניות וגם אבני בניין נדרשות ליצירת חוויות משלכם בהתאמה אישית.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
29 בינואר 2025 1.0.0 - 1.1.0-beta01 -

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

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

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

מגניב

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

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

משוב

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

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

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

Compose Material3 Adaptive גרסה 1.1

גרסה 1.1.0-beta01

29 בינואר 2025

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

שינויים ב-API

  • הצגת פונקציות ברירת מחדל ליצירת עוגנים להרחבת חלונית מסוג היסט מההתחלה ומהסוף, בהתאמה. (I2eb21)
  • איטום הממשק של PaneMotion והסרת שיטות המעבר שמוגדרות כברירת מחדל. (Ifc4c7)
  • הצגת ממשקי API כדי לקבל את הצ'אט הנוכחי ולהציג אותו באנימציה. (Icf95d)
  • הצגת ממשקי API לנגישות להרחבת חלונות (Icc669)
  • משנים את הסוג של PaneScaffoldParentData.preferredWidth ל-DP. (Id98ee)

גרסה 1.1.0-alpha09

15 בינואר 2025

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

שינויים ב-API

  • הוספה של הערה ניסיונית חדשה ExperimentalMaterial3AdaptiveComponentOverrideApi ושימוש בה. (Id45aa)
  • מסתירים את ThreePaneScaffoldHorizontalOrder.toLtrOrder. (I6f8d2)
  • ThreePaneScaffoldPredictiveBackHandler הוגדר כגלוי לכולם. (I1a995, ‏ b/370543873)
  • הנכס isPredictiveBackInProgress נוסף אל ThreePaneScaffoldState. (I1a995, ‏ b/370543873)
  • יצירת מנגנון שינוי מברירת המחדל ל-AnimatedPane כדי לתמוך בהטמעות של טעינה צדדית בגורמי צורה שונים. (Id7622)

תיקוני באגים

  • פתרון הבעיה כשאין עוגנים בכיוון ההתיישבות. (df8257d)

גרסה 1.1.0-alpha08

12 בדצמבר 2024

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

שינויים ב-API

  • הצגת הפונקציה currentWindowDpSize. (I99125, ‏ b/296300441)
  • חשיפת PaneScaffoldParentData ו-ThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7)
  • מסירים את PaneScaffoldMotionScope ומגדירים אותו כשדה בקטע PaneScaffoldTransitionScope. צריך גם לשנות את השם שלו ל-PaneScaffoldMotionDataProvider ולהסיר את הגישה למבנה הנתונים הבסיסי של PaneMotionData. במקום זאת, צריך לספק שיטות getter ו-looping לגישה לנתונים. (Id8884)
  • יצירת מנגנון שינוי ברירת המחדל ל-ThreePaneScaffold כדי לתמוך בהטמעות של טעינה צדדית בגורמי צורה שונים. (I5280f)
  • מגדיר את מצב התרחבות החלונית כ-null כברירת מחדל (Ia65f8, ‏ b/376394520)

גרסה 1.1.0-alpha07

13 בנובמבר 2024

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

שינויים ב-API

  • הסרת ההטמעה של ידית גרירה בספרייה ההתאמה האישית ועידוד אנשים להשתמש בגרסה M3 שלה. בנוסף, אנחנו משיקים שינוי (modifier) כדי לספק יכולת גרירה להרחבת חלונית לרכיב מורכב של נקודת אחיזה לגרירה. מומלץ גם להסתיר את DraggableState כפרט הטמעה, כדי שנוכל לשנות אותו מאוחר יותר אם יהיה צורך. (Ib50cd)
  • העברת נקודת הכניסה של התאמה אישית של תנועת חלונית מהפונקציות של התשתית ל-AnimatedPane בהתאם למשוב של UXR. (I10f72)
  • הוספת תמיכה בתנועת משיכה ופליטה (fling) ומפרט אנימציה מותאם אישית להרחבת חלוניות. (Ie207d, ‏ b/362584341)

תיקוני באגים

  • פתרון בעיות חיזוי של חזרה לאחור בעת ביטול. (36a3e0a),‏ (b/369899645)

גרסה 1.1.0-alpha06

30 באוקטובר 2024

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

שינויים ב-API

  • מוסיפים את FloatRange ל-PaneScaffoldTransitionScope.motionProgress. (Iac0dd)
  • שינוי הסוג של navigator params לסוגי נתונים כלליים בתבניות ניווטיות. (I1da6e)

גרסה 1.1.0-alpha05

16 באוקטובר 2024

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

שינויים ב-API

  • הוספת סיווג למפרטי אנימציה כדי להבטיח התנהגות תנועה עקבית יותר ואפשרות להרחבה בעתיד. (I2d3cc)
  • יש לציין את סוג התנועה ולשנות את השם של currentXXXXX ב-PaneMotionData ל-originXXXX. (I7c61a)

גרסה 1.1.0-alpha04

2 באוקטובר 2024

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

תכונות חדשות

  • הוספנו תמיכה בחיזוי החזרה ל-NavigableListDetailPaneScaffold ול-NavigableSupportingPaneScaffold. (I4dc21, ‏ b/359616816)

שינויים ב-API

  • ThreePaneScaffoldState נוסף לקבוצה ThreePaneScaffoldNavigator. שיטות הניווט תוכננו suspend כך שישתמשו באנימציה. הוספנו את seekBack כדי לתמוך במצבי ניווט חלקיים (למשל, חזרה חזויה). (I5a651, ‏ b/359616816)
  • נוספה MutableThreePaneScaffoldState כדי לשלוט במעבר בין ערכי התשתית. השדה הקיים ThreePaneScaffoldState הוגדר לקריאה בלבד. (Idb3c6)
  • חשיפת הטמעות ברירת מחדל של תנועת חלונית (I95a7b)
  • הפעלת הגדרת העוגן הראשוני של מצב ההרחבה של החלונית (Ie41b3, ‏ b/362350560)

תיקוני באגים

  • אכיפת גודל מינימלי של יעד מגע בגודל 48x48dp למתג גרירה (7ce6635, ‏ b/366018217)
  • שחזור המיקום של הצמדה אחרי שינויים בהגדרות (3c9fc6b, ‏ b/362353672)

גרסה 1.1.0-alpha03

18 בספטמבר 2024

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

גרסה 1.1.0-alpha02

4 בספטמבר 2024

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

תכונות חדשות

  • יש תמיכה בהתאמה אישית של תנועה (I0bf9c), (I80e66) כדי לאפשר ליוצרים לשנות את תנועות ברירת המחדל במהלך שינויים במצב של תבנית עזרה דינמית. היוצרים יכולים לבחור מתוך קבוצה של מעברים שמוגדרים כברירת מחדל לכניסה וליציאה, או להטמיע מעברים מותאמים אישית לחלוטין באמצעות המידע שסופק באמצעות היקפי תנועה חדשים.
  • הטמעת אנימציה של דהייה של נקודות האחיזה לגרירה להרחבת חלונית (46e3c69)
  • איך מאפשרים לשמור את PaneExpansionState שנשמר בזיכרון (61ff76f)

שינויים ב-API

  • הוספת ממשקי API חסרים להרחבת חלוניות לתשתיות (Ic5bc0)
  • השם של ThreePaneScaffoldDestinationItem.content שונה לשם contentKey. הארגומנט של סוג ברירת המחדל של rememberListDetailPaneScaffoldNavigator ו-rememberSupportingPaneScaffoldNavigator השתנה מ-Nothing ל-Any. (I58749)
  • סימון ThreePaneScaffoldState כיציבה (I64aec)
  • הגדרת היקף לפרמטר של נקודת האחיזה לגרירה (Ic0aa2)

גרסה 1.1.0-alpha01

21 באוגוסט 2024

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

תכונות חדשות

  • הוספת תמיכה בהרחבת חלוניות של תבניות עזריות מותאמות אישית.

שינויים ב-API

  • הוספת ממשקי API להרחבת חלונות לציבור (I301d6)
  • הוספנו את ThreePaneScaffoldState כדי לשלוט במעברים של ערכי החלונית. נוספו עומסי יתר של ListDetailPaneScaffold ושל SupportingPaneScaffold שמקבלים את המצב הזה. (I5db3b)
  • הצגת מקש להרחבת חלונית וממשק של ספק מפתחות (Id621f)

תיקוני באגים

  • תיקון חישוב שגוי של מחיצות כשהצוות החרגה נוכח. (9dfd483)

Compose Material3 Adaptive גרסה 1.0

גרסה 1.0.0

4 בספטמבר 2024

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

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

  • פונקציות מורכבות בקו אחד currentWindowSize(),‏ collectFoldingFeaturesAsState() ו-currentWindowAdaptiveInfo() כדי לקבל את פרטי החלון הנדרשים להתאמת האפליקציות, כמו גדלי חלונות ותכונות קיפול.
  • ListDetailPaneScaffold ו-SupportingPaneScaffold כדי לספק שני פריסות קנוניקליות של Material3 שיתאימו את עצמן באופן אוטומטי בהתאם להגדרות חלון שונות. אפשר גם להתאים אישית את שני השלבים האלה בהתאם לצרכים השונים של היוצרים.
  • ThreePaneScaffoldNavigator ופונקציות הזיכרון הרלוונטיות שלו, rememberListDetailPaneScaffoldNavigator() ו-rememberSupportingPaneScaffoldNavigator(), כדי לספק פתרונות ניווט במסגרת של תבנית מותאמת אישית, שיכולה להציג כמה יעדים לניווט בו-זמנית, בהשוואה להגדרה הנפוצה של יעד אחד בכל פעם בעולם שאינו מותאם אישית.
  • אנימציות מובנות שמוגדרות כברירת מחדל ב-Material3 כשמשנים את המצבים של תבנית העזרה ההתאמה אישית.

גרסה 1.0.0-rc01

21 באוגוסט 2024

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

תיקוני באגים

  • תיקון חישוב שגוי של מחיצות כשהצוות החרגה נוכח. (9dfd483)

גרסה 1.0.0-beta04

26 ביוני 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 משוחרר. הגרסה 1.0.0-beta04 כוללת את ההוספות האלה.

תיקוני באגים

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

גרסה 1.0.0-beta03

‫12 ביוני 2024

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

תיקוני באגים

  • תיקון קריסות שנגרמו כתוצאה מפתרון שגוי של יחסי תלות ב-beta02.

גרסה 1.0.0-beta02

29 במאי 2024

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

גרסה 1.0.0-beta01

14 במאי 2024

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

גרסה 1.0.0-alpha12

1 במאי 2024

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

שינויים ב-API

  • הוספת פרטי isFlat אל HingeInfo (Ie0516, ‏ b/333784198)
  • הוצאת ממשקי API מותאמים אישית מהסטטוס 'ניסיוני' (I1d038)
  • הוצאת ממשקי ה-API של הפריסה ההתאמה אישית מהסטטוס 'ניסיוני' (Id23df)
  • השדה BackNavigationBehavior השתנה מ-enum למחלקת ערכים (Id8757)

תיקוני באגים

  • שינוי של שבר המעבר ל-lambda (I6f5a9)
  • תיקון הבעיה במצב ההתחלתי של SizeTracker (18326a9)
  • הוספת רשימת צירים לבדיקת השוויון של Posture (6687137)

גרסה 1.0.0-alpha11

17 באפריל 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11 משוחרר. גרסת 1.0.0-alpha11 מכילה את ההוספות האלה.

שינויים ב-API

  • איך חותמים על ממשקי היקף. (Iefa57)
  • מציגים את AnimatedPaneScope. (I62d73, ‏ b/332750742)
  • חשוב שהקובץ AdaptStrategy יהיה אטום ויציב. (Ia28b2)
  • להציג שיטת העתקה של PaneScaffoldDirective. (I9291f)
  • סימון של ThreePaneScaffoldScope כניסיוני. (I9d527)
  • לספק ממשקי API של תבניות (scaffold) שקל להשתמש בהם ותומכים בניווט. (I263f0, ‏ b/321010778)

גרסה 1.0.0-alpha10

3 באפריל 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10 משוחרר. גרסת 1.0.0-alpha10 מכילה את ההוספות האלה.

שינויים ב-API

  • הרוחב המועדף שמוגדר כברירת מחדל יכול להיות מותאם אישית ועקבי. (Ic3abc)
  • שינוי השם של פונקציות החישוב של ההנחיות של תבניות ה-scaffold. (I10855)
  • הסרת ריפודים והוספה של רכיבים מובנים לממשקי API של תבניות. (I786f8)
  • הוספת שיטות לזיכרון של הניווט ללא סוגי נתונים כלליים. (I607c3)

גרסה 1.0.0-alpha09

‫20 במרץ 2024

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

שינויים ב-API

  • מוסיפים שדות של מעבר בין מצבים אל ThreePaneScaffoldScope. (I3d917)
  • שינוי הסדר של הפרמטרים של התשתית. (I4dff5)
  • יש לציין ערך ברירת מחדל של פרמטר המשנה AnimatedPane. (I77dd7)

תיקוני באגים

  • צריך לכלול את גודל המרווח בתנועות של החלונות. (a3174ca)

גרסה 1.0.0-alpha08

6 במרץ 2024

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

תכונות חדשות

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

שינויים ב-API

  • ממשק ThreePaneScaffoldState הוסר. (I63f23)

גרסה 1.0.0-alpha07

21 בפברואר 2024