Compose Material 3 Adaptive

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

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

כדי להוסיף תלות ב-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-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 שלה. במקביל, מוסיפים משתנה כדי לספק יכולת גרירה להרחבת חלונית לידית גרירה שניתנת ליצירה. מומלץ גם להסתיר את 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 לסוגי נתונים כלליים בתבניות ניהול (scaffolds) שניתן לנווט בהן. (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 של תבניות קלילים לשימוש שתומכים בניווט. (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