Compose Material 3 Adaptive

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

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

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