Compose Material 3 Adaptive

  
استخدِم مكتبة Material 3 المتوافقة مع مختلف الأجهزة لإنشاء واجهات مستخدم متوافقة مع مختلف الأجهزة ستتلاءم تلقائيًا وفقًا لإعدادات النافذة الحالية، مثل فئات حجم النوافذ أو أوضاع الجهاز. توفّر المكتبة كلّ من عمليات تنفيذ إطار العمل التلقائية وعناصر الوحدات الأساسية اللازمة لإنشاء تجاربك المخصّصة.
آخر تعديل الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار التجريبي
12 آذار (مارس) 2025 1.1.0 - - 1.2.0-alpha01

الإعلان عن التبعيات

لإضافة تبعية على أداة Compose، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف التبعيات للعناصر التي تحتاج إليها في ملف build.gradle ل تطبيقك أو وحدتك:

رائع

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.2.0-alpha01"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha01"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha01"
}

Kotlin

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

لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإصدار.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا واجهت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية عن طريق النقر على زرّ النجمة.

إنشاء مشكلة جديدة

اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.

Compose Material3 Adaptive Version 1.2

الإصدار 1.2.0-alpha01

12 آذار (مارس) 2025

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha01. يحتوي الإصدار 1.2.0-alpha01 على عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • تقديم المُعدِّل PaneScaffoldScope.preferredHeight للمطوّرين من أجل توفير الارتفاعات المفضّلة للوحة التي سيتم تطبيقها باستخدام استراتيجيات التكيف الجديدة التي سنقدّمها (I957dd، b/220960090)
  • أعد تسمية أنواع ComponentOverride إلى Override، وأنواع ComponentOverrideContext إلى OverrideScope. (Id973c)
  • إعادة تسمية بعض طرق إلغاء المكونات (I222b3)

Compose Material3 Adaptive Version 1.1

الإصدار 1.1.0

12 آذار (مارس) 2025

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.1.0. يتضمّن الإصدار 1.1.0 عمليات الربط هذه.

التغييرات المهمة منذ الإصدار 1.0.0

  • تتيح رمزَا ListDetailPaneScaffold وSupportingPaneScaffold الآن ميزة توسيع اللوحة، ما يتيح للمستخدمين السحب لتغيير تقسيم اللوحة التلقائي لتنسيق اللوحة المزدوجة، ويمكن للمطوّرين أيضًا تغيير تقسيم اللوحة أثناء التشغيل من خلال تغيير رمز PaneExpansionState الذي تم طرحه مؤخرًا.
  • تتوفّر الآن ميزة "الرجوع التلقائي" التلقائية مع NavigableListDetailPaneScaffold وNavigableSupportingPaneScaffold. يمكنك أيضًا استخدام ThreePaneScaffoldPredictiveBackHandler لتوفير ميزة "الرجوع التوقّعي" مع عمليات تنفيذ إطار العمل الثلاثي الأقسام.
  • يمكنك الآن تخصيص حركات اللوحة أثناء التبديل بين اللوحات من خلال توفير EnterTransition وExitTransition مختلفَين لـ AnimatedPane.

الإصدار 1.1.0-rc01

26 شباط (فبراير) 2025

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.1.0-rc01. يتضمّن الإصدار 1.1.0-rc01 عمليات الربط هذه.

إصلاح الأخطاء

  • إيقاف ميزة "التكبير/التصغير التنبؤي" لميزة "الرجوع إلى الخلف" في الإطار الثلاثي (ab6fd0b)

الإصدار 1.1.0-beta02

12 شباط (فبراير) 2025

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta02. يتضمّن الإصدار 1.1.0-beta02 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • تم تغيير طريقة ضبط isPredictiveBackInProgress في دوالّ التحريك MutableThreePaneScaffoldState للحفاظ على اتساق الحالة. (Idc97f)

إصلاح الأخطاء

  • تم تغيير السلوك التلقائي للرجوع في NavigableListDetailPaneScaffold وNavigableSupportingPaneScaffold إلى PopUntilScaffoldValueChange من أجل الاتساق مع بقية المكتبة. (I873f0)
  • اضبط الترتيب الصحيح للتنقّل في إطارات عمل اللوحة من أجل تسهيل الاستخدام. (67d030)
  • حلّ مشكلة عدم حفظ حالات محتوى اللوحة (88b0ff)
  • أن تتيح إجراءات بديلة لتسهيل الاستخدام بدلاً من السحب (28266d)
  • أعلن عن نسبة تقسيم اللوحة الحالية بعد تغييرها. (0c3a80)

الإصدار 1.1.0-beta01

29 كانون الثاني (يناير) 2025

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta01. يتضمّن الإصدار 1.1.0-beta01 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • تقديم دوالّ المصنع لإنشاء عناصر تثبيت توسيع اللوحة من النوع offset (إزاحة) من البداية والنهاية على التوالي (I2eb21)
  • أغلِق واجهة PaneMotion وأزِل طرق الانتقال التلقائية. (Ifc4c7)
  • أدخِل واجهات برمجة تطبيقات للحصول على العنصر الأساسي الحالي وإضافة تأثير متحرك إليه. (Icf95d)
  • تقديم واجهات برمجة تطبيقات تسهيل الاستخدام لتوسيع اللوحة (Icc669)
  • غيِّر نوع PaneScaffoldParentData.preferredWidth إلى DP. (Id98ee)

الإصدار 1.1.0-alpha09

15 كانون الثاني (يناير) 2025

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha09. يحتوي الإصدار 1.1.0-alpha09 على عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • أضِف التعليق التوضيحي التجريبي الجديد 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 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • تقديم دالة currentWindowDpSize (I99125، b/296300441)
  • تعريض PaneScaffoldParentData وThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7)
  • أزِل PaneScaffoldMotionScope واحوِله إلى حقل ضمن PaneScaffoldTransitionScope. أعِد أيضًا تسميتها إلى PaneScaffoldMotionDataProvider وأزِل إذن الوصول إلى بنية البيانات الأساسية لـ PaneMotionData، وبدلًا من ذلك، قدِّم طرقًا للحصول على البيانات وتكرارها للوصول إليها. (Id8884)
  • أنشئ آلية إلغاء لـ ThreePaneScaffold لتتمكّن من تنفيذ عمليات التثبيت من مصدر غير معروف لأشكال الأجهزة المختلفة. (I5280f)
  • تجعل حالة توسيع اللوحة فارغة تلقائيًا (Ia65f8، b/376394520)

الإصدار 1.1.0-alpha07

13 تشرين الثاني (نوفمبر) 2024

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07. يتضمّن الإصدار 1.1.0-alpha07 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • أزِل تنفيذ مقبض السحب في المكتبة التكيُّفية وشجِّع المستخدمين على استخدام إصدار M3 منه. وفي الوقت نفسه، يمكنك تقديم مُعدِّل لتوفير إمكانية سحب توسيع اللوحة إلى عنصر قابل للتجميع مزوّد بمقبض سحب. يمكنك أيضًا إخفاء DraggableState كتفاصيل تنفيذ حتى نتمكّن من تغييرها لاحقًا إذا لزم الأمر. (Ib50cd)
  • نقل نقطة دخول تخصيص حركة اللوحة من دوالّ الإطار إلى AnimatedPane وفقًا لملاحظات خبراء تجربة المستخدم (I10f72)
  • توفير إمكانية التمرير السريع وتوفير مواصفات الصور المتحركة المخصّصة لتوسيع اللوحة (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 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • أضِف FloatRange إلى PaneScaffoldTransitionScope.motionProgress. (Iac0dd)
  • غيِّر نوع مَعلمات المخطِّط إلى أنواع عامة في الهياكل الأساسية القابلة للتنقّل. (I1da6e)

الإصدار 1.1.0-alpha05

16 أكتوبر 2024

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05. يتضمّن الإصدار 1.1.0-alpha05 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • تقديم فئة مواصفات الصور المتحركة لضمان سلوك حركة أكثر اتساقًا وقابلية للتوسيع في المستقبل (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)

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة ThreePaneScaffoldState إلى ThreePaneScaffoldNavigator. تم تصميم طرق التنقّل suspend لتتيح التنقّل باستخدام الصور المتحركة. تمت إضافة seekBack لإتاحة حالات التنقّل الجزئي (مثل الرجوع التوقّعي). (I5a651، b/359616816)
  • تمت إضافة MutableThreePaneScaffoldState للتحكّم في الانتقال بين قيم الإطار. تم ضبط ThreePaneScaffoldState الحالي على "للقراءة فقط". (Idb3c6)
  • عرض عمليات تنفيذ حركة اللوحة التلقائية (I95a7b)
  • تفعيل ضبط العنصر الأساسي لحالة توسيع اللوحة (Ie41b3، b/362350560)

إصلاح الأخطاء

  • فرض الحد الأدنى لحجم استهداف اللمس لمقبّل السحب على 48×48dp (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)

تغييرات واجهة برمجة التطبيقات

  • إضافة واجهات برمجة التطبيقات غير المتوفّرة لتوسيع مساحة العرض إلى تصاميم الإطارات الأساسية (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 عمليات الربط هذه.

الميزات الجديدة

  • توفير إمكانية توسيع اللوحة في إطارات العمل التكيُّفية

تغييرات واجهة برمجة التطبيقات

  • إتاحة واجهات برمجة التطبيقات الخاصة بتوسيع الأقسام للجميع (I301d6)
  • تمّ تقديم ThreePaneScaffoldState للتحكّم في انتقالات قيم اللوحة. تمّت إضافة حالات تحميل زائدة لكلّ من ListDetailPaneScaffold وSupportingPaneScaffold تقبل هذه الحالة. (I5db3b)
  • تقديم مفتاح توسيع اللوحة وواجهة مقدّم المفتاح (Id621f)

إصلاح الأخطاء

  • إصلاح احتساب غير صحيح للقسم عند ظهور مفصل مستبعد (9dfd483)

Compose Material3 Adaptive Version 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 عمليات الربط هذه.

إصلاح الأخطاء

  • إصلاح الأعطال الناتجة عن حلّ التبعيات غير الصحيح في الإصدار التجريبي 02

الإصدار 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 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • إضافة معلومات isFlat إلى HingeInfo (Ie0516، b/333784198)
  • جعل واجهات برمجة التطبيقات التكيُّفية غير تجريبية (I1d038)
  • جعل واجهات برمجة التطبيقات للتنسيقات التكيُّفية غير تجريبية (Id23df)
  • تم تغيير BackNavigationBehavior من قائمة أرقام مميزة إلى فئة قيمة (Id8757)

إصلاح الأخطاء

  • تغيير جزء الانتقال إلى لامبادا (I6f5a9)
  • حلّ مشكلة الحالة الأولية في SizeTracker (18326a9)
  • تضمين قائمة الوصلات في عملية التحقّق من تساوي Posture (6687137)

الإصدار 1.0.0-alpha11

17 نيسان (أبريل) 2024

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11. يتضمّن الإصدار 1.0.0-alpha11 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • يجب أن تكون واجهات النطاقات مغلقة. (Iefa57)
  • عرِّف AnimatedPaneScope. (I62d73، b/332750742)
  • يجب أن يكون AdaptStrategy محكم الإغلاق وثابتًا. (Ia28b2)
  • أدخِل طريقة نسخ PaneScaffoldDirective. (I9291f)
  • وضع علامة "تجريبي" على ThreePaneScaffoldScope (I9d527)
  • يجب توفير واجهات برمجة تطبيقات سهلة الاستخدام لإطار العمل توفّر إمكانية التنقّل. (I263f0، b/321010778)

الإصدار 1.0.0-alpha10

3 نيسان (أبريل) 2024

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10. يتضمّن الإصدار 1.0.0-alpha10 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • اجعل العرض المفضّل التلقائي قابلاً للتكيّف والتخصيص. (Ic3abc)
  • إعادة تسمية دوالّ حساب توجيهات الهيكل الأساسية (I10855)
  • أزِل الحشوات والعناصر المضمّنة من واجهات برمجة التطبيقات لإطار العمل. (I786f8)
  • أضِف طرق تذكُّر المستكشف بدون أنواع عامة. (I607c3)

الإصدار 1.0.0-alpha09

20 مارس 2024

تم إصدار androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09. يتضمّن الإصدار 1.0.0-alpha09 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • أضِف حقول انتقال الحالة إلى 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)

تغييرات واجهة برمجة التطبيقات

  • تمت إزالة واجهة ThreePaneScaffoldState. (I63f23)

الإصدار 1.0.0-alpha07

21 شباط (فبراير) 2024