Compose Material 3

أنشئ واجهات مستخدم Jetpack Compose باستخدام مكونات Material Design 3، وهي الإصدار التالي من Material Design. يتضمّن Material 3 ميزات تخصيص Material You، مثل الألوان الديناميكية، وتصميمًا جديدًا للعناصر والمظاهر، وهو مصمّم ليتوافق مع التصميم المرئي الجديد لنظام Android 12 وواجهة مستخدم النظام.
آخر تعديل الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار التجريبي الأول
12 كانون الأول (ديسمبر) 2024 1.3.1 - - 1.4.0-alpha05

البنية

Compose هو مجموعة من سبعة معرّفات مجموعات Maven ضمن androidx. تحتوي كل مجموعة على مجموعة فرعية مستهدفة من الوظائف، ولكل مجموعة مجموعة خاصة بها من ملاحظات الإصدار.

يوضّح هذا الجدول المجموعات والروابط لكل مجموعة من ملاحظات الإصدار.

مجموعةالوصف
compose.animationإنشاء صور متحركة في تطبيقات Jetpack Compose لتحسين تجربة المستخدم
compose.compilerحوِّل دوالّ @Composable وفعِّل التحسينات باستخدام مكوّن إضافي لمجمّع لغة Kotlin.
compose.foundationيمكنك كتابة تطبيقات Jetpack Compose باستخدام وحدات أساسية جاهزة للاستخدام وتوسيع الأساس لإنشاء أجزاء نظام التصميم الخاص بك.
compose.materialأنشئ واجهات مستخدم Jetpack Compose باستخدام مكونات Material Design الجاهزة للاستخدام. هذه هي نقطة الدخول ذات المستوى الأعلى في أداة "الإنشاء"، وهي مصمّمة لتوفير مكوّنات تتطابق مع تلك الموضّحة على www.material.io.
compose.material3أنشئ واجهات مستخدم Jetpack Compose باستخدام مكونات Material Design 3، وهي الإصدار التالي من Material Design. يتضمّن Material 3 ميزات تخصيص Material You، مثل الألوان الديناميكية، وتصميمًا جديدًا للعناصر والمظاهر، وهو مصمّم ليتوافق مع التصميم المرئي الجديد لنظام Android 12 وواجهة مستخدم النظام.
compose.runtimeالوحدات الأساسية لنموذج البرمجة وإدارة الحالة في Compose، ووقت التشغيل الأساسي الذي يستهدفه مكوّن Compose Compiler الإضافي
compose.uiالمكونات الأساسية لواجهة المستخدم الخاصة بإنشاء الرسائل اللازمة للتفاعل مع الجهاز، بما في ذلك التنسيق والرسم والإدخال

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

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

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

Groovy

dependencies {
    implementation "androidx.compose.material3:material3:1.3.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.3.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha05"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.3.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.3.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha05")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

ملاحظات

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

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

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

الإصدار 1.0 من Compose Material3 Common

الإصدار 1.0.0-alpha01

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

تم إصدار androidx.compose.material3:material3-common:1.0.0-alpha01 وandroidx.compose.material3:material3-common-android:1.0.0-alpha01 وandroidx.compose.material3:material3-common-desktop:1.0.0-alpha01. يحتوي الإصدار 1.0.0-alpha01 على عمليات الربط هذه.

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

المكونات التي لا تتضمّن مظهرًا يمكن استخدامها لإنشاء مكونات Material Design:

Compose Material3 Adaptive Navigation Suite Version 1.0

الإصدار 1.0.0-alpha07

1 مايو 2024

تم إصدار androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07 وandroidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07 وandroidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07. يحتوي الإصدار 1.0.0-alpha07 على عمليات الربط هذه.

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

  • جعل واجهات برمجة تطبيقات Navigation Suite غير تجريبية (If62af)

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

  • استخدام المكوّنات المضمّنة للمحتوى تلقائيًا (50266df)

الإصدار 1.0.0-alpha06

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

تم إصدار androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06 وandroidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06 وandroidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06. يتضمّن الإصدار 1.0.0-alpha06 عمليات الربط هذه.

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

  • أضِف containerColor وcontentColor إلى NavigationSuiteScaffoldDefaults. (I64e3a، b/331993720)
  • إضافة دالة itemColors إلى NavigationSuiteDefaults (Idf719، b/328480012)
  • اجعل NavigationSuiteScope مغلقًا. (Iefa57)

الإصدار 1.0.0-alpha05

‫6 مارس 2024

تم إصدار androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05 وandroidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05 وandroidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05. يتضمّن الإصدار 1.0.0-alpha05 عمليات الربط هذه.

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

  • اجعل NavigationSuiteItemColors مبرِّجًا علنيًا. (Ica83a، b/324886877)

الإصدار 1.0.0-alpha04

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

تم إصدار androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04 وandroidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04 وandroidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04. يحتوي الإصدار 1.0.0-alpha04 على هذه المراجعات.

تعديلات على التبعيات

  • عدِّل التبعيات التكيُّفية لـ Material3 إلى مسارات الوحدات الجديدة. (Ibc421)
  • انتقِل إلى استخدام إصدار "مدير النوافذ" لفئات أحجام النوافذ. (I3794d)

الإصدار 1.0.0-alpha03

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

تم إصدار androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03 وandroidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03 وandroidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03. يحتوي الإصدار 1.0.0-alpha03 على هذه المراجعات.

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

  • تعديل اسم الحزمة إلى navigationsuite من navigation-suite (I7eff7)
  • تم تعديل مكوّنات Material3 التي تعرض MutableInteractionSource في واجهة برمجة التطبيقات لتعرض الآن MutableInteractionSource قابلاً للتغيير إلى قيمة فارغة بشكلٍ تلقائي. ما مِن تغييرات دلالية هنا: يعني تمرير القيمة null أنّك لا تريد رفع MutableInteractionSource، وسيتم إنشاؤه داخل المكوّن إذا لزم الأمر. يؤدي التغيير إلى القيمة null إلى عدم تخصيص بعض المكوّنات MutableInteractionSource مطلقًا، كما يسمح للمكوّنات الأخرى بإنشاء مثيل بشكل كسول فقط عند الحاجة، ما يؤدي إلى تحسين الأداء على مستوى هذه المكوّنات. إذا كنت لا تستخدم MutableInteractionSource الذي ترسله إلى هذه المكوّنات، ننصحك بإرسال قيمة فارغة بدلاً من ذلك. وننصحك أيضًا بإجراء تغييرات مشابهة في مكوّناتك. (I41abb، b/298048146)

الإصدار 1.0.0-alpha02

13 كانون الأول (ديسمبر) 2023

تم إصدار androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02 وandroidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02 وandroidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02. يحتوي الإصدار 1.0.0-alpha02 على هذه المراجعات.

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

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

  • حلّ مشكلة ملء عنصر التنقّل للشاشة بالكامل عندما تحتوي سطح الجذر على modifier.fillMaxSize (c9cf250، b/312664933)

الإصدار 1.0.0-alpha01

15 تشرين الثاني (نوفمبر) 2023

تم إصدار androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01. يحتوي الإصدار 1.0.0-alpha01 على هذه المراجعات.

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

Compose Material3 Adaptive Version 1.0

الإصدار 1.0.0-alpha06

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

تم إصدار androidx.compose.material3:material3-adaptive:1.0.0-alpha06 وandroidx.compose.material3:material3-adaptive-android:1.0.0-alpha06 وandroidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06. يحتوي الإصدار 1.0.0-alpha06 على هذه المراجعات.

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

  • تمت إضافة خيارات سلوك إضافية لزر التنقّل للخلف ThreePaneScaffoldNavigator. (I858aa)
  • تمت إضافة محتوى اختياري للوجهة إلى سجلّ التنقّل. (Ibd7e6)

الإصدار 1.0.0-alpha05

24 كانون الثاني (يناير) 2024

تم إصدار androidx.compose.material3:material3-adaptive:1.0.0-alpha05 وandroidx.compose.material3:material3-adaptive-android:1.0.0-alpha05 وandroidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05. يحتوي الإصدار 1.0.0-alpha05 على هذه المراجعات.

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

  • إتاحة الاطّلاع على السجلّ في التنقّل في إطار العمل وحساب القيم (I71d46)

الإصدار 1.0.0-alpha04

10 كانون الثاني (يناير) 2024

تم إصدار androidx.compose.material3:material3-adaptive:1.0.0-alpha04 وandroidx.compose.material3:material3-adaptive-android:1.0.0-alpha04 وandroidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04. يحتوي الإصدار 1.0.0-alpha04 على هذه المراجعات.

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

  • تمت إضافة ميزة العرض من الحافة إلى الحافة في إطارات عمل اللوحة (I1b462)

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

  • تم نقل سمات حدود المفصل في "الوضع" إلى قائمة بمعلومات المفصل (I24f90)

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

  • لم تتم إعادة تركيب AnimatedPane (c3f573d)

الإصدار 1.0.0-alpha03

13 كانون الأول (ديسمبر) 2023

تم إصدار androidx.compose.material3:material3-adaptive:1.0.0-alpha03 وandroidx.compose.material3:material3-adaptive-android:1.0.0-alpha03 وandroidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03. يحتوي الإصدار 1.0.0-alpha03 على هذه المراجعات.

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

  • غيِّر أدوار إطار العمل إلى أسماء بديلة ThreePaneScaffoldRole. (I65bd1)
  • إنشاء فئة أساسية لأدوار إطار العمل (I4784d)
  • إزالة المَعلمة غير الضرورية من محتوى AnimatedPane (Ibc73b)
  • تعيد تسمية collectWindowSizeAsState وتُعرِض القيم الأوّلية بدلاً من ذلك (I480f4)

الإصدار 1.0.0-alpha02

29 تشرين الثاني (نوفمبر) 2023

تم إصدار androidx.compose.material3:material3-adaptive:1.0.0-alpha02 وandroidx.compose.material3:material3-adaptive-android:1.0.0-alpha02 وandroidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02. يحتوي الإصدار 1.0.0-alpha02 على هذه المراجعات.

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

  • تقسيم واجهات برمجة تطبيقات التنقّل عن واجهات برمجة تطبيقات الإطارات الهيكلية التكيُّفية (Ic4045)
  • أزِل فئة GutterSize. (I785b3)

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

  • عدم تبديل الأقسام عند عدم استخدام AnimatedPane (d88f181)

الإصدار 1.0.0-alpha01

15 تشرين الثاني (نوفمبر) 2023

تم إصدار androidx.compose.material3:material3-adaptive:1.0.0-alpha01. يحتوي الإصدار 1.0.0-alpha01 على هذه المراجعات.

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

واجهات برمجة التطبيقات للحالة التكيُّفية في Material3:

واجهات برمجة التطبيقات لتوجيهات إطار العمل المخصّص للوحة التكيُّفية في Material3:

واجهات برمجة التطبيقات لإطار عمل اللوحة التكيُّفية في Material3:

Compose Material3 الإصدار 1.4

الإصدار 1.4.0-alpha05

12 كانون الأول (ديسمبر) 2024

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

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

  • استبدِل نوع القيمة WideNavigationRailState.current/target بقيمة ENUM لتحسين إمكانية القراءة (I2d6ab).
  • SplitButton تغيير Shape api من فئة البيانات إلى فئة للتوافق مع الملفات الثنائية (I53812)
  • تمت إضافة واجهة برمجة تطبيقات لمعلومات التلميح تتضمّن مَعلمة onDismissRequest حتى يتمكّن صنّاع المحتوى من تحديد ما يحدث عندما ينقر المستخدم خارج معلومات التلميح. إيقاف واجهة برمجة التطبيقات القديمة التي لا تحتوي على هذه المَعلمة الجديدة (I99aef)
  • تغيير اسم opticalCentering إلى horizontalCenterOptically جعل المُعدِّل داخليًا استبدِل مَعلمة الحشو بأكبر قيمة لموضع البداية والنهاية. (I0b904)
  • غيِّر WideNavigationRailState ليكون له قيمة حالية/مستهدَفة، وأزِل القوائم المحدَّدة لصالح القيمة المنطقية. (Idfa29، b/356039090)
  • أضِف NavigationBarItemComponentOverride. (I3a06a)

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

  • يجب إصلاح سلوك شريط التطبيق العلوي والسفلي لتغيير اللون بشكل موثوق عند الانتقال إلى أسفل المحتوى. (Idc4e8، b/293665988)
  • أصبحت وظائف سلوك التمرير في شريطَي التطبيق العلوي والسفلي تُظهر الآن سلوكًا محفوظًا لتحسين الأداء في عمليات إعادة التركيب. (I0fdbe، b/207957336)
  • يتم الآن تطبيق مَعلمة المُعدِّل بعد المُعدِّلات الداخلية، مثل سلوك السحب والدلالات، بدلاً من تطبيقها قبلها. ويؤثّر ذلك في ترتيب تطبيق المُعدِّلات. (I8d83f)
  • تظل البطاقة السفلية الموسّعة موسّعة عند تغيير الحجم. (I2870b، b/324934884)
  • إصلاح حالة المسار وعلامات شريط التنقّل بشكل صحيح لخصائص النوافذ (Ie674d، b/362539765)
  • نقل مَعلمة المُعدِّل إلى جذر تصاميم الإطارات الأساسية، كما هو موضّح في المستندات ويؤدي ذلك إلى مواءمة التنفيذ مع الإصدار M2. (I0235e، b/372311595)

المساهمة الخارجية

  • دالة DatePickerDialog مشترَكة (I7dced)

الإصدار 1.4.0-alpha04

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

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

التغييرات في السلوك

  • ألغِ التغييرات التي تم إجراؤها على الألوان في الإصدار aosp/3212478 على iconButtonColors وiconToggleButtonColors وoutlinedIconButtonColors وoutlinedIconToggleButtonColors وoutlinedIconToggleButtonBorder. تم نقل السلوك الذي تمّت إزالته الآن إلى مجموعة جديدة من الدوالّ تُسمى iconButtonVibrantColors وما إلى ذلك للتأكيد على الألوان العالية التباين التي يتم عرضها. (Iffd8d)

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

  • تقديم المكوّن VerticalDragHandle (I6c770)

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

  • أعِد تسمية DismissibleModalWideNavigationRailDefaults إلى ModalWideNavigationRailDefaults. (I8e877)
  • أضِف NavigationBarComponentOverrides. (I8a3f3)
  • أضِف NavigationRailComponentOverride. (I83e13)
  • أدخِل WideNavigationRailState للتعامل مع تصغير/توسيع شريط التمرير، واسمح بإغلاق ModalWideNavigationRail وحذف DismissibleModalWideNavigationRail. (I88568)
  • أضِف الإعدادات التلقائية للحجم xSmall وmedium وlarge وxLarge إلى الإعدادات التلقائية للزرّ التبديلي. (Ie95d1)
  • أضِف القيم التلقائية للحجم xSmall وmedium وlarge وxLarge إلى القيم التلقائية للزر. (If8b6d)

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

  • تم تعديل لون الرمز اللاحق لشريحة الفلتر من "أساسي" إلى OnSurfaceContainer، وفقًا للمواصفات. تم تعديل جميع ألوان مخطط الشريحة من "مخطّط" إلى "مخطّط متغير"، وفقًا للمواصفات. (I68bd4)

الإصدار 1.4.0-alpha03

30 تشرين الأول (أكتوبر) 2024

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

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

  • تم إيقاف طريقة وضع تصميم SheetState مع الكثافة نهائيًا لصالح الحدود الدنيا للموقع الجغرافي والسرعة. (Ifd16e)
  • تمت إضافة rememberTooltipPositionProvider يحتوي على منطق تحديد موضع معدَّل. تم إيقاف rememberPlainTooltipPositionProvider وrememberRichTooltipPositionProvider نهائيًا. (Ie66e2)
  • تتيح لك ModalBottomSheetProperties الإضافية تخصيص ألوان شريط الحالة وشريط التنقّل. يتم تعديل هذه الإعدادات تلقائيًا استنادًا إلى لون المحتوى بدلاً من حالة المظهر الداكن للنظام. (Ib874e، b/362539765)
  • تحسين تجربة الإدخال لأدوات اختيار التاريخ: في وضع الإدخال، سيتم التركيز على حقل نص التاريخ لإدخال النص على الفور. يضيف التغيير مَعلمة requestFocus إلى DatePicker وDateRangePicker. يمكنك منع التركيز من خلال تمرير false. (I12d09، b/286399710، b/340102743)
  • تخزين الإعدادات التلقائية للشكل في عنصر الشكل ضبط الشكل التلقائي على @Composable للزرّ "تبديل" يتم تصغير الأشكال إلى شكل واحد تلقائيًا لأنّ الصيغ تشير إلى ملف الرمز المميّز نفسه. (Iaa014)

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

  • يمكنك تحسين سلوك contentPadding في التنسيق الأساسي لتجنُّب إعادة تكوين محتوى النص دائمًا عند تغيير contentPadding. (I8c8e2، b/373904168)
  • تمت إعادة تسمية TextFieldLabelScope progress إلى labelMinimizedProgress.
  • تمت إعادة تسمية TextFieldLabelPosition Default إلى Attached. تمت إزالة عناصر الواجهة. (If75c6)
  • تم إصلاح مشكلة في DatePicker في وضع الإدخال حيث يمكن أن تؤدي أخطاء التحقّق من الصحة إلى تغيير ارتفاع المكوّن. (I2e229، b/280462363)
  • اجعل شريط التمرير المادّي يغيّر قيمته عند الضغط على مفاتيح التحكّم. (I1c442)

الإصدار 1.4.0-alpha02

16 أكتوبر 2024

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

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

  • تعديلات على أدوات اختيار التاريخ لضمان استخدام اللغة بشكلٍ متسق في DatePicker وDateRangePicker عند ضبط لغة مباشرةً من خلال DatePickerState أو DateRangePickerState يُرجى العلم أنّه عند ضبط اللغات على الولاية مباشرةً، عليك التأكّد من أنّه تمّت ترجمة نصوص العنوان والعنوان الفرعي وفقًا لذلك، لأنّ النص التلقائي سيظلّ ساريًا وفقًا للغة التلقائية للمنصة. (I37073، b/326490763، b/321657276)
  • تم الآن عرض SheetState.isAnimationRunning. (I9a3d7)
  • DatePickerColors تُعطى الآن الأولوية بشكل صحيح على أي ألوان متضاربة تم تحديدها في أنماط نص أسلوب الخط في المظهر. يُرجى العلم أيضًا أنّ هذا التعديل يضبط موضع المَعلمة color في وظائف أداة اختيار التاريخ ويقدّم مَعلمة contentColor لتخصيص ألوان نص العنوان والعناوين. (I30d03، b/347031394)
  • أعِد تسمية SplitButton إلى SplitButtonLayout وأزِل واجهات برمجة التطبيقات الخاصة بخيارات اللون في SplitButton، وسيتمّ إنشاء خيارات المنتج من خلال إعادة استخدام خيارات الزرّ التي يوفّرها SplitButtonDefaults. (I44c36)
  • يتضمّن ModalBottomSheet الآن المَعلمة sheetGestureEnabled (I856cb، b/288211587)
  • تمت إعادة تسمية standardMotionScheme وexpressiveMotionScheme ليصبحا عاديًا وتعبيريًا. يمكن الوصول إلى كلتا الدالتَين الآن من خلال العنصر المصاحب MotionScheme من خلال استدعاء MotionScheme.standard() وMotionScheme.expressive(). (Iceccf)
  • إضافة المَعلمة maxWidth إلى نصائح التلميح العادية والغنية يتم ضبطه تلقائيًا على مواصفات التصميم التي تبلغ 200 نقطة كثافة بكسل للنصائح التوضيحية العادية و320 نقطة كثافة بكسل للنصائح التوضيحية الغنية. (I30ce9)

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

  • يعدّل DatePicker وDateRangePicker الآن الشهر المعروض بشكل صحيح عند ضبطه من خلال displayedMonthMillis الولاية. (If9e47، b/333414302)
  • ينقل محتوى ModalBottomSheet المحتوى الآن بعيدًا عن شريط الحالة. (I5114c، b/321877275، b/336962418، b/342093067)
  • [لوحة البيانات في أسفل الشاشة] تغيير الأولوية لإعادة الاتصال إلى PRIORITY_DEFAULT للسماح بإغلاق لوحة مفاتيح IME أولاً (I447fb)
  • إصلاح الأعطال في DatePicker وDateRangePicker عند ضبط الحد الأدنى للسنة القابلة للاختيار على سنة مستقبلية (I78656، b/319395747)
  • حلّ مشكلة في أداة اختيار التاريخ لتعديل واجهة المستخدم عند تطبيق مثيل SelectableDates معدَّل (Iad59a، b/290135807، b/339898760)

الإصدار 1.4.0-alpha01

2 أكتوبر 2024

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

التغييرات في السلوك

  • لم تعُد المكتبة تضيف تبعية إلى material-icons-core، لذا إذا كان مشروعك يعتمد على ذلك، عليك إضافة هذه التبعية صراحةً في ملفات build.gradle[.kts]. (I735ff، b/349894318)
  • تم تغيير لون التصنيف النشط NavigationBarItem وNavigationRailItem من onSurface إلى secondary لتحسين سهولة الاستخدام وتباين الألوان وتحسين التماسك داخل النظام (Ibc297). للرجوع إلى السلوك السابق، انسخ الألوان التلقائية وغيِّر selectedTextColor إلى MaterialTheme.colorScheme.onSurface.
  • تستخدم الآن مكوّنات Material 3 MotionScheme الجديد لتحديد حركتها. (Ie0f93)
  • تغييرات غير محدّدة في حركة مؤشر التقدم الدائري (I3c07e)
  • عدِّل OutlinedIconButtonColors وOutlinedIconToggleButtonColors لتحسين تباين الألوان. (I2743d)
  • تم تعديل لون الحاوية والمحتوى لكل من FilledIconToggleButtonColors وFilledTonalIconToggleButtonColors. (Ic5d0f)
  • تم تعديل لون حدود OutlinedButton من outline إلى outlineVariant. (057f00)

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

  • تمت إضافة مَعلمة reverseLayout اختيارية إلى الدالة enterAlwaysScrollBehavior في TopAppBar لتوفير إمكانات أفضل للمحتوى الذي تم ضبطه باستخدام reverseLayout. (I4e0e5)
  • يتيح SegmentedButton الآن استخدام الوسيطة contentPadding. (I5ad91، b/358414376)
  • لم يعُد لدى PullToRefreshState تنفيذ تلقائي لـ isAnimating (I6a593)
  • تمت إضافة عدد جديد من عمليات التحميل الزائد لمواد TextField وOutlinedTextField التي تستخدم TextFieldState. تمت إضافة واجهات برمجة تطبيقات لصناديق الزينة متوافقة مع TextFieldDecorator. (If13a1)
  • تمت إضافة مَعلمة للتحكّم في labelPosition في حقل النص. يتيح استخدام alwaysMinimize لنمط واجهة المستخدم عرض تصنيف وعنصر نائب في حقل نصي في الوقت نفسه حتى في حال عدم التركيز على الحقل. (I1ef2c)
  • تمت إضافة المادة SecureTextField والمادة OutlinedSecureTextField لحقول إدخال كلمة المرور. (I7e22d)
  • تمت إضافة نطاق إلى تصنيفات حقول النصوص لطلب معلومات عن مستوى تقدّم الحركة. (If5ec8)
  • إتاحة استخدام MotionEvent.CLASSIFICATION_DEEP_PRESS في نصائح التلميح (I62e6a)
  • أصبحت isAfternoon في TimePickerState الآن قيمة إضافة بدلاً من متغيّر في الواجهة، وتمّت إعادة تسميتها إلى isPm (I89a97).
  • تعديل فئة أسلوب الخط لتتوافق مع مقاييس الأنواع المميّزة (Ifa13c)
  • تمت إضافة واجهة برمجة التطبيقات ModalWideNavigationRail وإعادة تسمية واجهات برمجة التطبيقات ModalExpandedNavigationRail إلى DismissibleModalWideNavigationRail. (Ic9118)
  • تم تعديل FloatingAppBarScrollBehavior لاحتساب screenOffset تلقائيًا بدون الحاجة إلى @Composable. (Idf349)
  • تعديلات على واجهة برمجة التطبيقات LoadingIndicator لإصلاح عملية التسمية في عنصر defaults تمت إضافة ثابت LoadingIndicatorElevation في PullToRefresh. (I1d72b)
  • تعديلات على واجهة برمجة التطبيقات LoadingIndicator لإصلاح عملية التسمية في عنصر defaults تمت إضافة ثابت LoadingIndicatorElevation في PullToRefresh. (I1d72b)
  • تمت إضافة مَعلمتَي amplitude وwaveSpeed إلى الصيغ غير المحدّدة من LinearWavyProgressIndicator وCircularWavyProgressIndicator. (I2a0c5)
  • أن تتيح تغيير شكل زر التبديل للرمز استنادًا إلى حالته (مضغوط أو تم وضع علامة عليه) (Ibc781)
  • تعديل فئة أسلوب الخط لتتوافق مع مقاييس الأنواع المميّزة (Ifa13c)
  • SplitButton يتم تغيير الشكل استنادًا إلى الحالة التلقائية / المضغوطة. تمت إزالة واجهة برمجة التطبيقات AnimatedTrailingButton لأنّ واجهة برمجة التطبيقات TrailingButton يمكنها تقديم عمليات التخصيص نفسها (I95066)
  • أضِف مُعدِّلًا لإضافة تأثير متحرك إلى عرض رمز التطبيق المصغّر لإظهار التطبيقات المفضّلة وإخفائها، مثلاً عند الانتقال للأعلى أو للأسفل في المحتوى. (I8338d)
  • إضافة أشكال مجموعات الأزرار المتصلة والمسافات إلى ButtonGroupDefaults لاستخدامها في عيّنة (I68e30)
  • إضافة زر مُقسَّم إلى مساحة فارغة أفقية للزرّ الأخير وتفعيل الوضع المُحسَّن للعرض على الشاشة من خلال احتساب الاختلافات بين زوايا البداية والنهاية (I122e2)
  • نقدّم لك MotionScheme جديدًا من Material Design للسماح بضبط مخطط لحركة المكوّن. يتم ضبط المخطط من خلال MaterialTheme. (Id50c2)

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

  • طبِّق فهرس التنقّل الصحيح للتركيز على Scaffold العناصر المكوّنة الفرعية. ويكون الترتيب على النحو التالي: topBar وbottomBar وشريط التطبيقات المصغّرة والمحتوى وشريط التطبيقات المصغّرة. (I5936b)
  • تم إصلاح مشكلة في DatePicker وDateRangePicker حيث لم تبدأ بعض عناصر التاريخ (مثل أسماء الأشهر) بحرف كبير في لغات وإطارات تنسيق معيّنة. (I1430f)
  • دمج الرموز المميّزة لمكوّنات زرّ الإجراء الرئيسي وقائمة زرّ الإجراء الرئيسي (تعديلات مرئية بسيطة على الحشوات والنص) (Ib57f3)
  • أصبح ModalBottomSheet الآن أولاً في ترتيب التنقّل الدلالي، يليه الشاشة البينية. (I436f9، b/358594665)
  • حلّ مشكلة عدم اختفاء شريط التطبيق السفلي بالكامل عند التمرير تحت حبوبة التنقّل في وضع "ملء الشاشة" (I3ee21)

Compose Material3 الإصدار 1.3

الإصدار 1.3.1

30 تشرين الأول (أكتوبر) 2024

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

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

  • يعدّل DatePicker وDateRangePicker الآن الشهر المعروض بشكل صحيح عند ضبطه من خلال displayedMonthMillis الولاية. (If9e47، b/333414302)
  • إصلاح الأعطال في DatePicker وDateRangePicker عند ضبط الحد الأدنى للسنة القابلة للاختيار على سنة مستقبلية (I78656، b/319395747)
  • حلّ مشكلة في أداة اختيار التاريخ لتعديل واجهة المستخدم عند تطبيق مثيل SelectableDates معدَّل (Iad59a، b/290135807، b/339898760)
  • غيِّر الأولوية المخصّصة لطلب إعادة الاتصال المستخدَمة في أوراق البيانات في أسفل الشاشة إلى PRIORITY_DEFAULT للسماح بإغلاق لوحة مفاتيح IME أولاً. (I447fb)

الإصدار 1.3.0

4 أيلول (سبتمبر) 2024

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

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

الميزات الرئيسية في الإصدار 1.3.0

مكونات Material Design 3 الجديدة

  • منصّة العرض الدوّارة
  • [ModalBottomSheet] تتوفّر الآن ميزة "الرجوع التوقّعي" على أجهزة U+ (Iccf32 وb/281967264 وb/304850357).
  • [SearchBar] تتيح الآن إيماءة "إظهار شاشة الرجوع" على الإصدار 14 من نظام التشغيل Android والإصدارات الأحدث (I657f8)
  • تتيح الآن ميزة "لائحة التنقّل" (ModalDrawerSheet وDismissibleDrawerSheet) ميزة "الرجوع التوقّعي" على U+ كميزة اختيارية (Ie5b0b).
  • تتيح DropdownMenu الآن تخصيص اللون والشكل والارتفاع والحدود. (I8e981،b/289554448، b/301887035، b/283654243)
  • تم تعديل شريط التمرير لتحسين إمكانية الوصول من خلال إضافة فاصل ومؤشر للتوقف. (I3058e)
  • تم تعديل ProgressIndicator لتحسين إمكانية الاستخدام من خلال إضافة فاصل ومؤشر محطة. (I21451)
  • تمت إضافة علامة تبويب تلقائية للنص التوضيحي الموسّع، مع السماح بعرض علامة تبويب مخصّصة عند تحديد علامة LayoutCoordinates. (Ifd42c) التغييرات التي قد تؤدي إلى أعطال
  • واجهات برمجة التطبيقات الجديدة لميزة "السحب لإعادة التحميل":
    • تم تبسيط سمة PullToRefreshState لاستخدام القيم الكسورية بدلاً من وحدات Dp.
    • يتحكم المستخدم في حالة isRefreshing بدلاً من PullToRefreshState.
    • تم فصل عملية الربط المتداخلة للانتقال إلى أعلى أو أسفل الصفحة عن PullToRefreshState. يتم التعامل مع ذلك من خلال PullToRefreshBox أو Modifier.pullToRefresh الجديدَين.
    • هذا التعديل هو تغيير جذري في واجهات برمجة التطبيقات التجريبية السابقة. (I0adeb، b/314496282، b/317177684، b/323787138، b/324573502، b/317177683) التغييرات المرئية التي تؤدي إلى إيقاف التوافق
  • عدِّل تراكب حالة التركيز ليكون 0.1f لضمان تباين ألوان كافٍ. (I7ea77)
  • تعديلات طفيفة على الإعدادات التلقائية للون السطح والخلفية في lightColorScheme وdarkColorScheme (I9db52)
  • تم تعديل ألوان شريط التمرير وProgressIndicator لتلبية مواصفات التباين غير النصي الجديدة. (I26807)
  • يتم الآن استخدام SurfaceContainer خيار من خلال المكوّنات. إنّ المكوّنات التي كانت تحسب اللون رسميًا باستخدام Surface وTonalElevation تستخدم الآن أدوار SurfaceContainer تلقائيًا، وهي لا تتأثر بزيادة القيمة اللونية. (b/304584161)
  • تم تعديل الأدوار الأساسية لسطح العرض وحاويات السطح قليلاً، ما يوفّر المزيد من الألوان في المظهرين الفاتح والداكن. (I677a5)
  • تم ترقية واجهات برمجة التطبيقات التجريبية إلى إصدار ثابت.
  • أضفنا تحسينات على الأداء

الإصدار 1.3.0-rc01

21 آب (أغسطس) 2024

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

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

  • أصبح ModalBottomSheet الآن أولاً في ترتيب التنقّل الدلالي، يليه الشاشة البينية. (I436f9، b/358594665)

الإصدار 1.3.0-beta05

24 تموز (يوليو) 2024

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

  • تم حلّ مشكلة عدم ظهور محتوى BottomSheet أو ظهوره بشكل غير كامل على نظامَي التشغيل Android N وO (a10a2d).
  • تمّ زيادة حدود الدلالات الخاصة بشريط التمرير لكي يتمكّن TalkBack من عرض مؤشرات التركيز بشكل صحيح حول إصبعَي التمرير. (0b5a1d)

الإصدار 1.3.0-beta04

26 حزيران (يونيو) 2024

تم إصدار androidx.compose.material3:material3-*:1.3.0-beta04. يتضمّن الإصدار 1.3.0-beta04 هذه المراجعات.

الإصدار 1.3.0-beta03

12 يونيو 2024

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

المساهمة الخارجية

  • إتاحة androidx.compose.material3.DropdownMenu من مجموعة المصادر المشتركة (If62c0)

الإصدار 1.3.0-beta02

29 أيار (مايو) 2024

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

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

  • تتوافق Modifier.pullToRefreshIndicator مع ميزة "إظهار/إخفاء المحتوى"، لذا عليك تعديل واجهات برمجة التطبيقات الخاصة بميزة "السحب للتحديث" لتصبح "مفعّلة" قيمة منطقية بدلاً من دالة lambda. إتاحة محاذاة المحتوى في PullToRefreshBox (I75679)
  • جعل TooltipScope واجهة مغلقة وإنشاء عملية تنفيذ داخلية لاستخدامها في TooltipBox وLabel (I3833e)
  • تمت إضافة مُعدِّلَين جديدَين إلى CarouselItemScope - maskClip وmaskBorder - لإضافة شكل وحدود بسهولة إلى أي عنصر في لوحة العرض الدوّارة (Id67a1).
  • أصبحت TimePickerState الآن واجهة تتيح ضبط الوقت (I88546).
  • تم تعديل واجهة برمجة التطبيقات لتنسيق الروابط: تم نقل TextLinkStyles إلى TextStyle وإزالة TextDefaults من المادة. (I5477b)

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

  • أصبحت رموز حالة ModalBottomSheet وشريط التنقّل تستجيب الآن لحالة المظهر الداكن. (Ie1fe7، b/338342149)
  • تمت إضافة دلالات إغلاق الورقة إلى ModalBottomSheet الشاشة البينية. (0e61cb،b/328801864)

المساهمة الخارجية

  • إتاحة androidx.compose.material3.AlertDialog من مجموعة المصادر الشائعة (Ia33f5)
  • إتاحة ModalBottomSheet من مجموعة مصادر شائعة (Id7cc7)

الإصدار 1.3.0-beta01

14 أيار (مايو) 2024

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

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

  • استخدام DpSize بدلاً من CaretProperties جارٍ إزالة CaretProperties. أعِد تسمية CaretScope إلى TooltipScope. (Id9a76)
  • تم تعديل واجهة برمجة التطبيقات للحصول على روابط ذات مظهر Material في النص. على وجه التحديد، تمّت إزالة الطرق من TextDefaults لإنشاء LinkAnnotations ذات طابع معيّن وتحليل HTML باستخدام روابط ذات طابع معيّن. بدلاً من ذلك، تمت إضافة فئة TextLinkStyles تتيح تصميم الروابط كمَعلمة إلى عنصر Text composable. (I31b93)

الإصدار 1.3.0-alpha06

1 مايو 2024

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

التغييرات التي قد تؤدي إلى حدوث أعطال

  • واجهات برمجة التطبيقات الجديدة لميزة "السحب لإعادة التحميل":

    • تم تبسيط سمة PullToRefreshState لاستخدام القيم الكسورية بدلاً من وحدات Dp.
    • يتحكم المستخدم في حالة isRefreshing بدلاً من PullToRefreshState.
    • تم فصل عملية الربط المتداخلة للانتقال إلى أعلى أو أسفل الصفحة عن PullToRefreshState. يتم التعامل مع ذلك من خلال PullToRefreshBox أو Modifier.pullToRefresh الجديدَين.
    • هذا التعديل هو تغيير جذري في واجهات برمجة التطبيقات التجريبية السابقة. (I0adeb، b/314496282، b/317177684، b/323787138، b/324573502، b/317177683)

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

  • تمّت إزالة RippleConfiguration#isEnabled، وتمّ جعل LocalRippleConfiguration قابلاً للحذف. لإيقاف تأثير التموج، بدلاً من تقديم RippleConfiguration مع isEnabled = false، قدِّم null إلى LocalRippleConfiguration. (I22725)
  • ModalBottomSheet يرسم الشاشة المصغّرة بشكل أدق فوق شريط الحالة عند تفعيل وضع "ملء الشاشة". يمكن الآن لمحتوى اللوحة السفلية المشروط أن يشغل مساحات مضمّنة في النافذة، ما يسمح بعرض محتوى مرئي فوق شريط التنقّل. تمت إعادة تسمية مَعلمة ModalBottomSheet windowInsets إلى contentWindowInsets لتحديد مكان تطبيق الأجزاء المُدمَجة، ولم تعُد هذه الأجزاء مرتبطة بمنطق النافذة. تم تغيير نوع contentWindowInsets إلى دالة تعرض WindowInsets، للسماح بحلّها في نافذتها الجديدة. (I39630 وb/274872542 وb/300280229 وb/290893168)
  • يستخدم كلّ من PrimaryScrollableTabRow وSecondaryScrollableTabRow الآن تنسيقًا مخصّصًا بدلاً من التركيب الفرعي، ما من شأنه تحسين الأداء. (I991e0)
  • تم توفير خيار تنسيق الحالة المضغوطة للروابط النصية بالإضافة إلى التنسيق العادي، والتنسيق عند التمرير فوق الرابط والتركيز عليه. تحتوي كل طريقة من طرق TextDefaults على وسيطة pressedStyle لدعم ذلك. (Ic473f، b/139312671)

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

  • تتطابق الآن نقاط تثبيت سحب "درج التنقّل" مع عرض drawerContent. (Ibc72f، b/245355396)
  • OutlinedTextField يراعي الآن سمك الحشو العلوي للعلامة حجم خط النظام. (Idc781)
  • تمّ تحديد موقع الحزمة الثابت على CalendarLocale. (Ifa235)
  • [الرجوع التلقائي] تعديل الصور المتحركة لإيماءة الرجوع التلقائي لاستخدام منحنى الاستقراء (0.1، 0.1، 0، 1) (I2591a)

الإصدار 1.3.0-alpha05

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

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

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

  • تحتوي SearchBar وDockedSearchBar على وظائف زائدة جديدة تأخذ مَعلمة حقل نصي. يتيح ذلك تصميم حقل النص بشكل منفصل عن بقية شريط البحث، بالإضافة إلى إدخال حقول نص مخصّصة. تم إتاحة حقل النص للتنفيذ الحالي على النحو التالي: SearchBarDefaults.InputField. (I50c73 وb/275074248 وb/278773336 وb/326627700)
  • تمت إضافة دالة lambda drawTick إلى واجهة برمجة التطبيقات العامة من أجل تخصيص علامات التبويب إذا لزم الأمر (I0c048).

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

  • تمّ توفير خيار تنسيق حالة الضغط على روابط النصوص بالإضافة إلى التنسيق العادي، وتنسيق التمرير فوق الرابط والتركيز عليه (I5f864، b/139312671)
  • تم تعديل CarouselItemInfo لعرض مستطيل قناع يتم اقتصاص العنصر من خلاله (I785d8)
  • تمت إزالة BasicTooltipState من واجهة برمجة التطبيقات العامة لنظام Material 3. يتم دمج وظائفها مع TooltipState إلى أن يتم استقرار BasicTooltip في Foundation. (Icda29)
  • تمت إضافة عنصر TextDefaults يحتوي على طرق لإنشاء LinkAnnotation وتحليل سلسلة مُشارَكة بعلامات HTML تُطبّق MaterialTheme على الروابط (I98532 وb/139312671).
  • لم تعُد ExposedDropdownMenuBoxScope تسمح بالفئات الفرعية. تحتوي القوائم المنسدلة الظاهرة الآن على MenuAnchorType التي يجب تمريرها إلى menuAnchor لتوفير ميزات أفضل لإمكانية الاستخدام. يجب استخدام هذا الإجراء بدلاً من تمرير focusable إلى ExposedDropdownMenu، الذي تم إيقافه نهائيًا الآن. يحتوي menuAnchor على مَعلمة جديدة للتحكّم في حالة enabled. (I55ee6 وb/257209915 وb/308840226)
  • تم إصلاح لون حدود OutlinedButton عند إيقافه. تمت إضافة ButtonDefaults.outlinedButtonBorder("enabled") overload التي تأخذ الحالة مفعَّلة. (Ie650b، b/318461363)
  • تمت إضافة فئة CarouselItemInfo جديدة لمساعدة العملاء في الحصول على معلومات عن أحجام السلع. (I9070c)
  • تم إيقاف رمز إنشاء ColorScheme بدون حاويات السطح نهائيًا. يُرجى نقل البيانات إلى أداة الإنشاء التي تتضمّن حاويات السطح. (I35c11)
  • [مخطّط]TextFieldDefaults تمت إعادة تسمية ContainerBox إلى Container. (Ie8d3b)

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

  • لن يتم الانتقال في BottomSheetScaffold من خلال الانتقال المُدمَج إذا كانت قيمة sheetSwipeEnabled غير صحيحة. (I5e1c1، b/306464779)
  • تمت إزالة بعض التعليقات التوضيحية لميزة "تفعيل ميزة ExperimentalMaterial3Api" في IconButtonSamples.kt. (I111d1)

الإصدار 1.3.0-alpha04

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

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

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

  • تمت إضافة إصدارَين تجريبيَّين من منصّة العرض الدوّارة في Material3، وهما HorizontalMultiBrowseCarousel وHorizontalUncontainedCarousel (I88d64).
  • تم تعديل درج التنقّل في ميزة "إنشاء" في الإصدار 3 من التطبيق (ModalDrawerSheet وDismissibleDrawerSheet) لتفعيل ميزة "الرجوع التوقّعي" في الإصدار 14 من التطبيق (Ie5b0b)
  • تمت إضافة واجهة برمجة تطبيقات جديدة في رمز التطبيق للسماح بتمرير صبغة اللون كعنصر lambda لتجنُّب إعادة التركيب. (I5b5a2)
  • تتيح واجهات برمجة تطبيقات شريط التطبيقات العلوي الآن الارتفاعات المخصّصة لكل من الأقسام الثابتة والقابلة للطي. (Ib8b0c، b/323403446)

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

  • تتيح واجهات برمجة تطبيقات شريط التطبيقات العلوي الآن الارتفاعات المخصّصة لكل من الأقسام الثابتة والقابلة للطي. تم إصلاح مشكلة كانت تؤدي إلى إعادة تكوين أشرطة التطبيقات العلوية ذات السطر الواحد مرات كثيرة جدًا عند الانتقال للأعلى أو للأسفل في المحتوى. تم حلّ مشكلة MediumTopAppBar اقتطاع العناوين على الأجهزة التي تستخدم إعدادات كبيرة للخط/العرض. (Ib8b0c، b/323403446، b/300953236، b/286296147، b/330410290، b/308540676)
  • أصبحت الإصدارات SegmentedButton وواجهات برمجة التطبيقات المرتبطة بها مستقرة الآن (I8a158).
  • تم وضع علامة "مستقرة" على الإصدارات SwipeToDismissBox وSwipeToDismissBoxDefaults وSwipeToDismissBoxState وSwipeToDismissBoxValue. (I5f000)
  • تمت إزالة واجهات برمجة التطبيقات وفهارس DismissDirection وDismissValue التي تم إيقافها نهائيًا. (I89ccd)
  • تمت إضافة علامة تجريبية إلى عنصر CarouselState المصاحب لمنصّة العرض بعناصر متغيّرة. (I94154)
  • إيقاف LocalMinimumInteractiveComponentEnforcement نهائيًا وتقديم LocalMinimumInteractiveComponentSize ليحلّ محلّه (I7a7ac)
  • أصبحت طريقة وضع تصميم SearchBarColors علنية الآن. (I769ca)
  • تمت إضافة مَعلمة gesturesEnabled إلى SwipeToDismissBox. (Idc59f، b/324170119)
  • تمّت إزالة واجهات برمجة تطبيقات حقول النصوص التي تم وضع علامة عليها باعتبارها متوقّفة نهائيًا وتجريبية. (I1305f)

الإصدار 1.3.0-alpha03

20 مارس 2024

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

التغييرات المرئية التي قد تؤدي إلى حدوث أعطال

  • عدِّل تراكب حالة التركيز ليكون 0.1f لضمان تباين ألوان كافٍ. (I7ea77)
  • تعديلات طفيفة على الإعدادات التلقائية للون السطح والخلفية في lightColorScheme وdarkColorScheme (I9db52)

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

  • تمّت إضافة مَعلمات لتخصيص ExposedDropdownMenu. على وجه الخصوص، تحتوي القوائم الآن على مَعلمة focusable (القيمة التلقائية true) التي يجب ضبطها على false عند العمل مع حقول نصية قابلة للتعديل. (I4184c وb/323694447 وb/278609042)

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

  • تمت إزالة العلامة ScaffoldSubcomposeInMeasureFix. (Ie2a4b)
  • تم وضع علامة @Immutable على NavigationRailItemColors. (If6112، b/327660613)
  • تم وضع علامة @Immutable على NavigationBarItemColors. (I42a30، b/298064514)
  • إعادة ترتيب المَعلمات في العنصر القابل للتجميع "مسار شريط التمرير" (I9f315)
  • يتم تنفيذ ExposedDropdownMenu الآن باستخدام Popup. من المفترض أن يكون السلوك متطابقًا باستثناء القوائم التي يمكن التركيز عليها والتي تحتوي على حقول نصية قابلة للتعديل، إذ يمكن إغلاقها عند الكتابة على لوحة المفاتيح.

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

  • تم تعديل الأدوار الأساسية لسطح العرض وحاويات السطح قليلاً، ما يوفّر المزيد من الألوان في المظهرين الفاتح والداكن. (I677a5)
  • تم تعديل ألوان شريط التمرير وProgressIndicator لتلبية مواصفات التباين غير النصي الجديدة. (I26807)
  • عدِّل تراكب حالة التركيز ليكون 0.1f لضمان تباين ألوان كافٍ. (I7ea77)
  • تعديلات طفيفة على الإعدادات التلقائية للون السطح والخلفية في lightColorScheme وdarkColorScheme (I9db52)

الإصدار 1.3.0-alpha02

‫6 مارس 2024

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

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

  • جعل حالات شريط التمرير ثابتة مرة أخرى إعادة ضبط State.onValueChangeFinished على أنّه قيمة يتم تغليف onValueChangeFinished في rememberUpdatedState. (I82ab2، b/322269951)
  • تستخدم الآن مكونات التنقّل أدوار SurfaceContainer الجديدة. يوفّر DrawerDefaults الآن سمتَي standardContainerColor وmodalContainerColor مختلفتَين. تم تغيير اسم "DrawerDefaults.ModalDrawerElevation" إلى "0.dp". (I7fbac)
  • إزالة @Stable من الولايات Slider لأنّنا سنغيّر state.onValueChangeFinished إلى var (Ied34a، b/322269951)
  • أصبحت مواصفات الصور المتحركة ModalBottomSheet وStandardBottomSheet الآن TweenSpec، بعد أن تم تعديلها من صورة متحركة ربيعية. يحلّ ذلك مشكلة الزيادة المرئية في القيمة. تمّت الآن إزالة وظائف إنشاء SheetState التي تمّ إيقافها نهائيًا بدون كثافة. (I7babc، b/285847707)

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

  • يتم الآن استخدام SurfaceContainer خيار من خلال المكوّنات. إنّ المكوّنات التي كانت تحسب اللون رسميًا باستخدام Surface وTonalElevation تستخدم الآن أدوار SurfaceContainer تلقائيًا، وهي لا تتأثر بزيادة القيمة اللونية. (b/304584161)
  • تم إصلاح الخلل الذي كان يتسبب في ظهور لون حاوية ElevatedFilterChip غير المحدّدة وغير المفعّلة باللون الأسود. (I400e6، b/322407043)
  • إصلاح مؤشر التقدّم غير المحدّد عندما يكون التقدّم 0 (Id6582)
  • تم إصلاح مشكلة في Slider وRangeSlider في التنسيق من اليمين إلى اليسار (Iab0e1)
  • إضافة SliderRangeTolerance لحساب نطاق شريط التمرير لأنّ تقريب الأرقام العشرية قد لا يكون دقيقًا (Ic918a، b/324934900)
  • تأكَّد من أنّ DatePickerDialog يعرض أزراره عند دمج DateRangePicker أو عند عرض أي نوع من أداة اختيار التاريخ على شاشات صغيرة باستخدام خطوط أكبر حجمًا. (Ie4758، b/325107799، b/277768544)
  • يستخدم Menu الآن دور SurfaceContainer للون الحاوية. تم تغيير اسم "MenuDefaults.TonalElevation" إلى "0.dp". (I135b7)
  • يستخدم TextField الآن دور SurfaceContainerHighest للون الحاوية. (I4dced)
  • تستفيد الشرائح المميّزة الآن من دور SurfaceContainerLow (I7cd2f).
  • لون حاوية DatePicker هو الآن SurfaceContainerHigh. تم تغيير اسم "DatePickerDefaults.TonalElevation" إلى "0.dp". (Ida753)
  • تعديل لون حاوية "الأوراق السفلية" ولون مقبض السحب (I72a0a)
  • لون حاوية RichTooltip هو الآن SurfaceContainer. (Ia8b45)
  • لون حاوية SearchBar هو الآن SurfaceContainerHighest. تم تغيير اسم "SearchBarDefaults.TonalElevation" إلى "0.dp". (I88604)
  • إيقاف مفتاح التبديل الخاص بالتعديلات وإزالة الاختيار من المقاطع الصوتية أو الرموز للاستفادة من دور اللون SurfaceContainerHighest (I7687a)
  • لون حاوية AlertDialog هو الآن SurfaceContainerHigh. (Ie0433)
  • لون حاوية BottomAppBar هو الآن SurfaceContainer. أصبح لون TopAppBar onScroll الآن SurfaceContainer. (I41630)
  • لون حاوية ElevatedCard هو الآن SurfaceContainerLow. لون حاوية FilledCard هو SurfaceContainerHighest. (I35141)
  • لون حاوية ElevatedButton هو الآن SurfaceContainerLow. أصبح لون حاوية FilledIconButton عند عدم اختيارها هو SurfaceContainerHighest. (I792c9)
  • تعديل لون حاوية TimePicker ودور لون خلفية الساعة إلى SurfaceContainerHighest (I43b93)

الإصدار 1.3.0-alpha01

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

تم إصدار androidx.compose.material3:material3-*:1.3.0-alpha01. يحتوي الإصدار 1.3.0-alpha01 على هذه المراجعات.

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

  • تعديل Compose M3 ModalBottomSheet لتفعيل ميزة "الترجيع التوقّعي" على U+ (Iccf32 وb/281967264 وb/304850357)
  • تم تعديل Compose M3 SearchBar ليتيح استخدام ميزة "الترجيع التلقائي" على U+ (I657f8)
  • تم تعديل شريط التمرير لتحسين إمكانية الوصول من خلال إضافة فاصل ومؤشر للتوقف. (I3058e)
  • تم تعديل ProgressIndicator لتحسين إمكانية الاستخدام من خلال إضافة فاصل ومؤشر محطة. (I21451)
  • من خلال إضافة علامة تبويب تلقائية للنص التوضيحي الموسّع، تتيح واجهة برمجة التطبيقات الجديدة للنص التوضيحي الموسّع الآن رسم علامة تبويب مخصّصة عند تحديد علامة الربط LayoutCoordinates. (Ifd42c)

التغييرات في السلوك

  • تم نقل مكونات Material لاستخدام واجهات برمجة التطبيقات الجديدة للتموّج، ولم تعُد تطلب RippleTheme.

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

  • أصبحت ميزة drawStopIndicator الممتعة متاحة للجميع الآن. (I3f59f)
  • وضع علامة على دالة formatWithSkeleton في DatePicker كعلامة داخلية (Ic65dc)
  • تتيح DropdownMenu الآن تخصيص اللون والشكل والارتفاع والحدود. (I8e981، b/289554448، b/301887035، b/283654243)
  • تم تعديل مكونات Material3 التي تعرض MutableInteractionSource في واجهة برمجة التطبيقات لتعرض الآن MutableInteractionSource قابلاً للتغيير ويكون الإعداد التلقائي له هو null. ما مِن تغييرات دلالية هنا: يعني تمرير القيمة null أنّك لا تريد رفع MutableInteractionSource، وسيتم إنشاؤه داخل المكوّن إذا لزم الأمر. يؤدي التغيير إلى قيمة فارغة إلى عدم تخصيص بعض المكوّنات MutableInteractionSource مطلقًا، كما يسمح للمكوّنات الأخرى بإنشاء مثيل بشكل كسول فقط عند الحاجة، ما يؤدي إلى تحسين الأداء على مستوى هذه المكوّنات. إذا كنت لا تستخدم MutableInteractionSource الذي ترسله إلى هذه المكوّنات، ننصحك بإرسال قيمة فارغة بدلاً من ذلك. وننصحك أيضًا بإجراء تغييرات مشابهة في مكوّناتك. (I41abb، b/298048146)
  • تُضيف RippleConfiguration وLocalRippleConfiguration للسماح بتخصيص التموجات لكل مكوّن أو شجرة فرعية باستخدام قيم ثابتة. على سبيل المثال، لتغيير لون مكوّن لا يمكنك التحكّم فيه أو لإيقاف تأثير التموج لمكوّن معيّن. في معظم الحالات، يجب استخدام القيم التلقائية: فهذه واجهات برمجة التطبيقات هي مخرج للنجاة من أجل تخصيص مكوّنات فردية / أشجار فرعية محدودة. لإجراء تغييرات أوسع وأنظمة تصميم مخصّصة، عليك إنشاء تأثير تموج خاص بك باستخدام createRippleModifierNode. (I7b5d6، b/298048146)
  • إضافة واجهة برمجة تطبيقات جديدة للتأثير المتموج في material3 تحلّ محل rememberRipple المتوقّفة نهائيًا تُضيف هذه الطريقة أيضًا CompositionLocal وLocalUseFallbackRippleImplementation مؤقتَين لإعادة مكونات material3 إلى استخدام واجهات برمجة التطبيقات rememberRipple أو RippleTheme التي تم إيقافها نهائيًا. ستتم إزالة هذه الميزة في الإصدار الثابت التالي، وهي مخصّصة فقط لمساعدة المستخدمين في نقل البيانات مؤقتًا في الحالات التي يوفّرون فيها RippleTheme مخصّصًا. (I34cbc، b/298048146)

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

  • تمت إزالة التكوين الفرعي داخل ModalBottomSheet لتحسين الأداء. تم حلّ مشكلة تعطُّل ModalBottomSheet في سيناريوهات معيّنة مع LookaheadScope. (I2a198)
  • تمت إزالة التكوين الفرعي داخل BottomSheetScaffold لتحسين الأداء. تم إصلاح مشكلة كانت تؤدي إلى تعطُّل BottomSheetScaffold في سيناريوهات معيّنة مع LookaheadScope. (Ie6401)
  • تم تعديل محاذاة الشارة لتكون أقرب إلى مركز محتوى العنصر الأساسي مقارنةً بأعلى يسار الصفحة. (I18a28)
  • تم إصلاح مشكلة في تسهيل الاستخدام في DateRangePicker حيث تم نقل عنوان نص الشهر والسنة على أنّه قابل للتنفيذ لمستخدمي قارئ الشاشة وميزة "الوصول عبر مفتاح التحويل" وتطبيق Voice Access. (I2ac55)
  • تم إصلاح خطأ في ترتيب المَعلمات mediumTopAppBarColors. (Ibe64a)

الإصدار 1.2

الإصدار 1.2.1

‫6 مارس 2024

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

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

  • اجعل حالات شريط التمرير ثابتة مرة أخرى. إعادة ضبط State.onValueChangeFinished على أنّه قيمة يتم تغليف onValueChangeFinished في rememberUpdatedState. (Ie8fd0، b/322269951)
  • إزالة @Stable من الولايات Slider لأنّنا سنغيّر state.onValueChangeFinished إلى var (I82ba1، b/322269951)
  • إصلاح NavigationBar لون مخصّص لنسخه من الإعدادات التلقائية (80a779، b/326894020)
  • حلّ مشكلة التراجع في ExposedDropdownMenu ليصبح بالإمكان التركيز عليه مرة أخرى (3fcec1، b/323694447)
  • حلّ مشكلة تخزين ألوان الأزرار مؤقتًا (3e5bbcb/327371655)

الإصدار 1.2.0

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

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

مشكلة معروفة

  • تمّ رصد خطأ في العرض المرئي لميزة "الإنشاء" في الإصدار PrimaryTabRow كجزء من تغيير لتحسين الأداء. الحلّ هو استخدام TabRow مع TabRowDefaults.PrimaryIndicator.

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

مكونات Material Design 3 الجديدة

تحسينات على مكوّنات Material Design 3 الحالية:

  • شريط التطبيق السفلي (محاذاة من اليمين إلى اليسار، إخفاء تلقائي عند الانتقال للأعلى أو للأسفل)
  • تعديل على مظهر علامات التبويب
  • الشارة (تعديل على المحاذاة)

تم ترقية واجهات برمجة التطبيقات التجريبية إلى الإصدار الثابت

تحسينات على الأداء

الإصدار 1.2.0-rc01

24 كانون الثاني (يناير) 2024

تم إصدار androidx.compose.material3:material3-*:1.2.0-rc01. يحتوي الإصدار 1.2.0-rc01 على هذه المراجعات.

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

  • تم إصلاح خطأ في ترتيب المَعلمات mediumTopAppBarColors. (Ibe64a)
  • تم إصلاح خلل ظهر في 1.2.0-beta02 في CardDefaults.cardColors لم يؤدي إلى تعديل contentColor استنادًا إلى قيمة المَعلمة containerColor. (Iee041، b/319671246)
  • تم إصلاح خطأ في disabledContentColor ظهر في 1.2.0-beta02 وإضافة تحسين بسيط. (I6dda1، b/318428829)

الإصدار 1.2.0-beta02

10 كانون الثاني (يناير) 2024

تم إصدار androidx.compose.material3:material3-*:1.2.0-beta02. يحتوي الإصدار 1.2.0-beta02 على هذه المراجعات.

خطأ معروف

  • سيؤدي خطأ في IconButtonColors إلى ضبط disabledContentColor تلقائيًا على قيمة شفافية (0.38f) من LocalContentColor بدلاً من contentColor المحدّد من قِبل المستخدم. ويتمثل الحلّ في ضبط disabledContentColor بشكل صريح. سيتم حلّ هذه المشكلة في الإصدار التالي.

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

  • إضافة إمكانية تفعيل علامات الإقحام في نصائح واجهة المستخدم لواجهات برمجة التطبيقات Plain Tooltip (Ibf767)
  • تمت إعادة تسمية SwipeToDismissState وrememberSwipeToDismiss وSwipeToDismissValue ليصبح اسمها _SwipeToDismissBox_. (I68d6d)

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

  • تمّت معالجة قيمة الحشو في نهاية العنصر ListItem لتتوافق مع المواصفات (Ibd68b، b/305342674).
  • تم الآن ربط لون المخطط للبطاقة المخطّطة بشكل صحيح بـ OutlineVariant. (I75480، b/310979715)
  • يتم الآن استخراج الألوان الديناميكية من أدوار الألوان المحدّدة في النظام. يؤدي ذلك إلى تحسين التباين للمحتوى الذي يمكن الوصول إليه، كما يؤدي إلى مواءمة اللون الديناميكي بشكلٍ أوثق مع مواصفات Material. (I1de96)
  • تم إصلاح معالجة ModalBottomSheet للرجوع على Android T/13 والإصدارات الأحدث عند android:enableOnBackInvokedCallback="true". (I728dc، b/306196110)

الإصدار 1.2.0-beta01

13 كانون الأول (ديسمبر) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-beta01. يحتوي الإصدار 1.2.0-beta01 على هذه المراجعات.

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

  • وضع علامة "تجريبي" على TabIndicatorScope (I45c88)
  • إزالة واجهات برمجة التطبيقات التجريبية المتوقّفة نهائيًا لعرض التلميح (I438cb)
  • غيِّر عمليات تحميل TabRow الجديدة لكي لا تستخدم التركيبات الفرعية. يؤدّي ذلك إلى طريقة مختلفة لإنشاء مؤشرات TabRow باستخدام المُعدِّلات المخصّصة المقدَّمة. (Ife741)
  • إيقاف واجهات برمجة التطبيقات DismissDirection وDismissValue نهائيًا وتم دمج هذه القيم مع SwipeToDismissValue التي تشير قيمها إلى موضع SwipeToDismissBox واتجاهه. تم وضع علامة FloatRange على DismissState.progress الآن بين 0.0 و1.0. تمّت الآن إزالة DismissState المتوقّفة نهائيًا من Saver وConstructor. تم إعادة تصنيف SwipeToDismiss كعنصر وحالة وكائن الإعدادات التلقائية على أنّها تجريبية. (Ib54f2)

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

  • أصبح المؤشر التلقائي لـ PullToRefresh الآن رأس سهم مفتوحًا بدلاً من مثلث صلب. (I67be3)

الإصدار 1.2.0-alpha12

29 تشرين الثاني (نوفمبر) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha12. يحتوي الإصدار 1.2.0-alpha12 على هذه المراجعات.

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

  • يقبل RangeSlider الآن نطاق Kotlin (مثل 0f..1f) بدلاً من فئة قيمة FloatRange مخصّصة. يستخدم SnapFlingBehavior.kt الآن أيضًا نطاق Kotlin. (I025cb)
  • ضَع علامة على دوالّ مصنع "المُعدِّل" على أنّها @Stable. (Ib109f)

الإصدار 1.2.0-alpha11

15 تشرين الثاني (نوفمبر) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha11. يحتوي الإصدار 1.2.0-alpha11 على هذه المراجعات.

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

  • تنفيذ PullToRefreshContainer وPullToRefreshState، اللذان يقدّمان معًا تنفيذ ميزة "السحب لإعادة التحميل" في Material3 (I16456، b/261760718)

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

  • ضَع علامة على SwipeToDismissBox DismissDirection وDismissValue باعتبارها تجريبية. (I517b0)
  • أعِد تسمية SwipeToDismiss إلى SwipeToDismissBox. أعِد تسمية background إلى backgroundContent وdismissContent إلى دالة لامدا content اللاحقة. (I7f4d3)
  • اجعل باني ChipElevation وSelectableChipElevation متاحًا للجميع. (Ie0c48، b/308432421)
  • جارٍ إضافة ModalBottomSheetProperties. جارٍ نقل securePolicy إلى ModalBottomSheetProperties. إضافة isFocusable وshouldDismissOnBackPress إلى ModalBottomSheetProperties تساعد هذه القيم المنطقية الجديدة في تحديد كيفية تعامل اللوحة السفلية المشروطة مع أحداث IME. (Iea56f، b/278216859)
  • تم تعديل حالتَي RangeSlider وSlider لإزالة initialOnValueChange والبادئات الأولية وkdocs المناسبة. (I57d30)
  • إيقاف فئة ChipBorder واستدعاءاتها المرتبطة بها نهائيًا، وننصحك باستخدام BorderStroke مباشرةً بدلاً من ذلك (I89cc2)
  • أصبحت واجهات برمجة التطبيقات لميزة "التلميحات الأساسية" @ExperimentalFoundationApi. (I30b0b)
  • لم يعُد TabRow وScrollableTabRow قيد الإيقاف النهائي. يتم وضع علامة "تجريبية" على الصيغتَين الأساسيتَين والثانويتَين الجديدتَين. (I0def6)
  • تستخدم شرائح الفلترة والإدخال الآن BorderStroke مباشرةً. (I07a8d)
  • يستخدم SegmentedButton الآن BorderStroke مباشرةً. (I89b9b)
  • تمت إعادة تسمية الدالة العامة AlertDialog إلى BasicAlertDialog، وتم إيقاف الدالة السابقة نهائيًا. (Idbe52)
  • عليك إعادة تسمية واجهات برمجة تطبيقات SwipeToDismiss إلى SwipeDismiss، ويجب ترقية واجهات برمجة تطبيقات SwipeDismiss الجديدة إلى الإصدار الثابت. (I14cbe)
  • إضافة tonalElevation وshadowElevation إلى واجهات برمجة التطبيقات الخاصة بنصائح التلميح بالإضافة إلى ذلك، تم نقل واجهات برمجة التطبيقات TooltipBox وPlainTooltip وRichTooltip إلى إصدار تجريبي مرة أخرى لأنّه تم إصدارها عن طريق الخطأ كإصدارات مستقرة. (If0f66، b/293939035)
  • ترقية واجهات برمجة تطبيقات الشرائح التجريبية إلى إصدارات مستقرة (Iea2c3)
  • تمت إزالة التعليق التوضيحي @ExperimentalMaterial3Api من البطاقات القابلة للنقر في Material3. (I88dbf)

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

  • تم إصلاح مشكلة تعطُّل SwipeToDismiss في سيناريوهات معيّنة باستخدام التنسيقَين "العرض المُسبَق" و"العرض البطيء" المتداخلَين. (Ica8d1، b/297226562)

الإصدار 1.2.0-alpha10

18 تشرين الأول (أكتوبر) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha10. يحتوي الإصدار 1.2.0-alpha10 على هذه المراجعات.

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

  • ترقية الإصدارَين Badge وBadgedBox إلى الإصدار الثابت (I67f16، b/261565132)
  • إضافة securePolicy كمَعلمة إلى ModalBottomSheet، حتى يتمكّن المستخدمون من تحديد سلوك WindowManager.LayoutParams.FLAG_SECURE (Icdac8، b/296250262)
  • تمت إضافة وظائف زائدة جديدة لكل من LinearProgressIndicator وCircularProgressIndicator تأخذ progress كوسيطة lambda. من المفترض أن تحقّق هذه الإصدارات أداءً أفضل من الإصدارات السابقة. (I824e6، b/295616656)
  • إعادة تسمية StandardSizeClasses إلى AllSizeClasses (I8cb07)
  • دمج دوالّ الحساب لفئات حجم النوافذ (Iad935)

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

  • إصلاح مشكلة تعطُّل DatePicker عند النقر بسرعة على أزرار الأسهم للتنقّل عندما يكون الشهر المعروض على حافة النطاق المسموح به من السنوات (I46f36، b/290954897، b/297002119)
  • [شريط/قضيب التنقّل] السماح باستخدام لون شفاف للمؤشر (Ie0a9b، b/267289987)

الإصدار 1.2.0-alpha09

‫4 أكتوبر 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha09. يحتوي الإصدار 1.2.0-alpha09 على هذه المراجعات.

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

  • تم نقل ModalNavigationDrawer وDismissibleNavigationDrawer لاستخدام واجهات برمجة تطبيقات AnchoredDraggable الجديدة. تم استبدال animateTo في DrawerState بطريقتَي open وclose، ويتم الآن عرض القيمة المرجعية كقيمة عائمة بدلاً من عنصر حالة. يمكنك الوصول إلى القيمة المُعدَّلة مباشرةً من خلال currentOffset. (I0a72c)
  • تمت إضافة دوال غير قابلة للتجميع لإنشاء DatePickerState وDateRangePickerState مباشرةً. يمكن استخدام هذه الدوالّ كبديل لدوالّ rememberDatePickerState وrememberDateRangePickerState القابلة للتجميع عند الحاجة. (I70326، b/291524052)
  • يتوفّر الآن لعنصر TabRows الثابت والقابل للتنقّل الصيغتان "أساسية" و"ثانوية". ويتم ربطها بشكل صحيح بسلوك اللون والمؤشر كما هو محدّد في Material3.
  • يعرض PrimaryScrollableTabRow وSecondaryScrollableTabRow الآن حالة الانتقال إلى أعلى أو أسفل الصفحة. (Iec8f5، b/260572337)
  • إضافة مَعلمة sheetMaxWidth جديدة يمكن للمطوّرين ضبطها لتحديد الحد الأقصى للعرض الذي ستغطيه الورقة يمكن تمرير Dp.Unspecified للمَعلمة إذا أردت استخدام ورقة بيانات تمتد على عرض الشاشة بالكامل. (Ifb7c9، b/266697696)
  • إعادة إضافة واجهات برمجة التطبيقات PlainTooltipBox وRichTooltipBox كطرق متوقّفة نهائيًا (I246fa)

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

  • إصلاح عطل يحدث عند بدء تشغيلDatePicker باستخدام DatePickerFormatter يحتوي على هياكل أساسية معيّنة للتاريخ تظلّ كما هي عند تحويلها إلى أنماط تاريخ (مثل YY) (I01f29)

الإصدار 1.2.0-alpha08

20 أيلول (سبتمبر) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha08. يحتوي الإصدار 1.2.0-alpha08 على هذه المراجعات.

تغيير في السلوك قد يؤدي إلى حدوث أعطال

  • أصبحت ColorScheme غير قابلة للتغيير، ما يجعل تعديلات الألوان الفردية أقل فعالية، ولكنّها تزيد من فعالية الاستخدام الأكثر شيوعًا للألوان. ويعود سبب هذا التغيير إلى أنّ معظم التطبيقات لن تتضمن تغيير ألوان فردية كحالة استخدام رئيسية. لا يزال هذا الإجراء ممكنًا، ولكنّه سيؤدي إلى إعادة التركيب أكثر من ذي قبل، ما سيؤدي بدوره إلى تقليل عدد الاشتراكات في الحالة بشكل كبير من خلال جميع رموز Material، وسيؤثّر في تكلفة الإعداد وتكلفة وقت التشغيل لعدد أكبر من حالات الاستخدام العادية. (Ic447d، b/297212873)
  • لم تعُد الدرجات اللونية المتغيرة متحركة في حالات التفاعل المختلفة لمطابقة المواصفات. (Icdd12)

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

  • تمت إضافة BottomAppBar جديد يأخذ BottomAppBarScrollBehavior كمَعلمة لإخفائه تلقائيًا عند الانتقال إلى المحتوى. تمت أيضًا إضافة FabPosition.EndOverlay للسماح للزرّ المصغّر للإجراءات السريعة بتداخل شريط التطبيق السفلي في الإطار المعدّ للعرض بدلاً من تثبيته فوقه. (Iecb47)
  • تمت إضافة مكوّن تصنيف بسيط يستند إلى BasicTooltipBox لن يتم إغلاقه عند النقر خارج حدود التصنيف. (I821f9)

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

  • تمت إزالة استخدام rememberSaveable في نصائح التلميح. (Icc131، b/299500338)
  • تمّ إدخال علامة مؤقتة للتحكّم في ما إذا كان يجب أن يقيس Scaffold عناصره الفرعية أثناء القياس أو أثناء تحديد موضع الإعلان. سيتمّ القياس تلقائيًا في القياس. إذا كنت تواجه مشاكل في السلوك الجديد، يُرجى الإبلاغ عن مشكلة. (I0b354)
  • تمّ إصلاح مشكلة "ملء الشاشة أفقيًا من الحافة إلى الحافة" في BottomSheet باستخدام القياس الصحيح لعرض شاشة الجهاز. (I1df0c، b/299058752)
  • تم إصلاح خطأ كان يمنع ModalBottomSheet من الاتصال بـ onDismissedRequest عند إغلاقه من خلال التمرير سريعًا للأسفل على ورقة البيانات. (Idfdd8)

الإصدار 1.2.0-alpha07

6 أيلول (سبتمبر) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha07. يحتوي الإصدار 1.2.0-alpha07 على هذه المراجعات.

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

  • تمت إضافة ميزة "عرض الرموز بشكل معكوس تلقائيًا" في الإصدار compose material 1.6.0-alpha05. يُرجى الاطّلاع على ملاحظات الإصدار لمعرفة تفاصيل حول هذه الميزة.

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

  • ينفذ SliderState DraggableState (I9b116).
  • غيِّر الشكل ليكون مَعلمة مطلوبة. أعِد تسمية position إلى index في الدالة المساعِدة للشكل. (I34941)
  • تعديل DatePicker formatWithSkeleton لتضمين خريطة تُستخدَم كذاكرة تخزين مؤقت لتحسينات الأداء (I3195f)
  • تمت إضافة BasicTooltipBox إلى compose.foundation وتعديل PlainTooltipBox وRichTooltipBox لاستخدام TooltipBox مع مكونات PlainTooltip وRichTooltip الجديدة. (I79e1d)

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

  • يعرض dynamicLightColorScheme وdynamicDarkColorScheme الآن ألوانًا ذات تشبع أعلى لأدوار السطح وsurfaceContainer. (I5e901)
  • تم إصلاح مشكلة كانت تؤدي إلى محاولة قراءة حجم بعض المكوّنات التي تستخدم تركيبة فرعية (مثل BottomSheetScaffold) داخل بنية أساسية داخل LookaheadScope في وقت مبكر جدًا. (I297b4 وI871f1 وb/295536718)

الإصدار 1.2.0-alpha06

23 آب (أغسطس) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha06. يحتوي الإصدار 1.2.0-alpha06 على هذه المراجعات.

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

  • تم إصلاح عملية احتساب offset في DropdownMenu بحيث تعتمد Offsets x فقط على اتجاه التنسيق المحلي، ولن يتم عكس Offsets y بعد ذلك عندما تكون القائمة بالقرب من أسفل الشاشة. (Iccc74، b/294103942)
  • تم إصلاح عملية احتساب offset في DropdownMenu بحيث تعتمد Offsets x فقط على اتجاه التنسيق المحلي، ولن يتم عكس Offsets y بعد ذلك عندما تكون القائمة بالقرب من أسفل الشاشة. (Ib87a2، b/294103942)

الإصدار 1.2.0-alpha05

9 آب (أغسطس) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha05. يحتوي الإصدار 1.2.0-alpha05 على هذه المراجعات.

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

  • تعديلات على ألوان مربّع الاختيار وTriStateCheckbox لا يؤثر الرمز CheckboxDefaults.colors() disabledUncheckedColor الآن إلا في حدود مربّع الاختيار. في الحالات الخاصة التي تتطلّب منك ضبط لون المربّع الداخلي عندما يكون غير مفعّل وغير محدَّد، يجب إنشاء مثيل مخصّص من CheckboxColors باستخدام قيم الألوان المطلوبة. (I77d17، b/291943198)

الإصدار 1.2.0-alpha04

26 تموز (يوليو) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha04. يحتوي الإصدار 1.2.0-alpha04 على هذه المراجعات.

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

  • واجهة برمجة التطبيقات التجريبية لزرّ التقسيم (Ifc8fb)
  • تتضمّن الفواصل الآن مَعلمة للتحكّم في الاتجاه لتتوافق مع الفواصل العمودية. (I4c899، b/288438593)

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

  • نحن بصدد نقل الاعتماد على الكثافة إلى مستوى المكوّن. ينطبق ذلك على المكوّنات التالية: SwipeToDismiss والمكوّنات المستندة إلى "جداول بيانات Google". يُرجى استخدام طريقة التحميل الزائد الجديدة المقدَّمة حيث تكون الكثافة مَعلمة. (I1846e)
  • تعليقات توضيحية إضافية لتحديد الإدخالات المسموح بها للعناصر القابلة للتجميع (Ief234)
  • أضِف مَعلمة رمز إلى الزر المُقسَّم، وقسِّم الدلالات بحيث يمكن اختيار الأزرار المُقسَّمة لتنفيذ الاختيار الفردي، ويمكنك التبديل لتنفيذ الاختيار المتعدّد باستخدام SelectableSegmentedButtonRow وToggelableSegmentedButtonRow على التوالي. (I38740)
  • تمت إعادة تسمية الفاصل إلى HorizontalDivider. تمت إضافة وظيفة VerticalDivider. (I5975c)
  • استبدِل استخدام ClosedFloatingPointRange برمز FloatRange الأخف وزنًا في واجهات برمجة التطبيقات التجريبية لنظام Material3 لتقليل استخدام وضع "التصغير التلقائي". (I4aab5)
  • تمت إضافة محاذاة جديدة لميزة "البدء" في FabPosition (Ib7aea، b/170592777)

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

  • ModalBottomSheet يراعي اتجاه التنسيق المحلي. (Ib4f44، b/285628622)

الإصدار 1.2.0-alpha03

‫21 حزيران (يونيو) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha03. يحتوي الإصدار 1.2.0-alpha03 على هذه المراجعات.

التغييرات في السلوك

  • أصبح includeFontPadding الآن false تلقائيًا في مخطّط الكتابة Material 3. تم أيضًا تغيير نمط ارتفاع السطر التلقائي إلى Trim.None وAlignment.Center، وتمّت إضافة lineHeight صريح (بوحدة sp) إلى TextStyles من Typography. يمكنك الرجوع إلى مستندات واجهة برمجة التطبيقات إذا كنت تريد تخصيص هذه القيم، والاطّلاع على مقالة المدونة للحصول على شرح مفصّل لهذه التغييرات. (I6266f وIcabc3)

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

  • تمت إضافة حمولة زائدة لـ RangeSlider وهي نسخة ذات حالة للمكوّن. تمّ إنشاء RangeSliderState يحتوي على جميع المعلومات المتعلّقة بالمسار النشط الحالي، وقياسات مكوّنات RangeSlider، ومنطق السحب والإيماءات. (I8c270)
  • يتيح الآن شريط البحث إضافة تأثيرات الظلال من خلال المَعلمة shadowElevation التي تمت إضافتها مؤخرًا. (Ia5369، b/271040353)
  • تتيح منصة ColorScheme الآن استخدام أدوار SurfaceContainer جديدة.
  • يمكن الآن إيقاف تراكب الارتفاع اللوني للسطح باستخدام LocalTonalElevationEnabled composition local. (Ic203c، b/277774590)

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

  • افتح منشئي ألوان المكوّنات. (I8c4a6)
  • إضافة مَعلمة focusable إلى كلتا واجهات برمجة التطبيقات الخاصة بملصقات التلميح، حتى يتمكّن المطوّرون من ضبط ملصق التلميح على استهلاك أحداث اللمس أو عدم استهلاكها. يُرجى توخّي الحذر لأنّ ذلك قد يؤدي إلى إيقاف التنقّل التلقائي لتركيز تسهيل الاستخدام. (Ie32d8)
  • تحسين إمكانية الاستخدام لتحسين الأداء وعمليات تخصيص الذاكرة (Iede48)
  • عرِض DefaultSizeClasses وأنشئ StandardSizeClasses لـ WindowSizeClasses (I91838)
  • تغيير WindowWidth/HeightSizeClass إلى فئات القيم العائمة (Ie686e)

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

  • تراعي الآن مَعلمة contentWindowInsets في Scaffold مساحة النافذة المستخدَمة. يُرجى العلم أنّ سلوك تعبئة المحتوى استنادًا إلى topBar وbottomBar يظلّ بدون تغيير عند تقديم هذه المَعلمات. (I08b73، b/264601542)
  • يجب تصحيح محاذاة شريط التطبيق في أعلى وسط الشاشة لضمان عدم ظهور عنوان طويل فوق رموز الإجراءات أو رمز التنقّل. (I4369f، b/236994621)
  • تفرض مواضع علامات التبويب الآن الحد الأدنى لعرض المحتوى الذي يبلغ 24.dp. يوفر ذلك هدفًا يمكن لمسه لمؤشرات علامات التبويب. (Id8861)
  • لوحات الألوان الديناميكية من dynamicLightColorScheme وdynamicDarkColorScheme تتيح الآن أدوار مساحات العرض الجديدة. (I1252e)
  • تعديل محاذاة إشعار الشارة لكي لا يتم اقتصاصها عند تداخلها مع الجد الأكبر (Idf75a)

الإصدار 1.2.0-alpha02

24 أيار (مايو) 2023

تم إصدار androidx.compose.material3:material3-*:1.2.0-alpha02. يحتوي الإصدار 1.2.0-alpha02 على هذه المراجعات.

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

  • أضِف مَعلمة "نافذة مُدمجة" إلى ModalBottomSheet.
    • يمكن الآن رسم الشاشة المصمّمة لعرض ModalBottomSheet خلف شريط الحالة مع ضبط windowInsets على القيمة صفر.
    • تم تعديل وظيفة ModalBottomSheet التلقائية للبقاء خارج أشرطة النظام، بما في ذلك شريط التنقّل.
    • يتم توفير معالجة الحشو في شريط الحالة من خلال مقبض السحب في الوضع "من الحافة إلى الحافة".
    • تتضمّن BottomSheetDefaults نوافذ مضمّنة لـ BottomSheetWindow. (I31200، b/274872542، b/272973615، b/272334475، b/268432129، b/275849044، b/275486106، b/268433162)
  • أوقِف سمة Indicator نهائيًا وأضِف Primary/SecondaryIndicator لمطابقة مواصفات M3. يتطابق PrimaryIndicator مع عرض محتوى علامة التبويب، في حين يمتد SecondaryIndicator على العرض الكامل المتاح. SecondaryIndicator هو مكافئ للعنصر Indicator الذي تم إيقافه نهائيًا الآن ويمكن أن يكون بديلاً مباشرًا له. (I27604)
  • تمت إضافة خيار لإدخال ScrollState عند إنشاء DropdownMenu أو ExposedDropdownMenu للتحكّم في حالة التمرير العمودي لعناصر القائمة المعروضة. (Ia0734، b/185304441)
  • تمت إضافة حمولة زائدة لـ Slider وهي نسخة ذات حالة للمكوّن. تمّ إنشاء SliderState يحتوي على جميع المعلومات المتعلّقة بالمسار النشط الحالي، وقياسات مكوّنات Slider، ومنطق السحب والإيماءات. (I124a5)
  • إعادة تسمية موقع الدلالات isContainer إلى isTraversalGroup (I121f6)
  • تمت إضافة TextStyle.merge(...) محسّن مع قائمة المَعلمات الكاملة. (Iad234، b/246961787)
  • جعلت TooltipState وRichTooltipState وPlainTooltipState واجهات علنية. تمت إضافة RichTooltipStateImpl وPlainTooltipStateImpl للحالات التلقائية. تمت إضافة دوال remember*State للحصول على هذه الحالات المطبَّقة. تمت إزالة TooltipSync واستبدالها بـ TooltipDefault.GlobalMutatorMutex. (I7813d)
  • تم تعديل DatePickerColors لتضمين خيارات تخصيص إضافية لألوان أقسام أداة اختيار التاريخ وأزرار التنقّل وحقول إدخال النصوص. (I1a685، b/274626815)
  • أصبحت DatePickerState وDateRangePickerState الآن واجهتَين علنيتَين مع عمليات تنفيذ تلقائية يمكن استرجاعها من خلال rememberDatePickerState وrememberDateRangePickerState. (I71c52)
  • تمت إزالة dateValidator من DatePicker وDateRangePicker وتقديم واجهة SelectableDates يمكن ضبطها على الحالة للتحكّم في التواريخ أو السنوات التي يمكن اختيارها في واجهة المستخدم. (Ic2fc6)
  • تمّت إزالة TimePicker من واجهة برمجة التطبيقات الثابتة، ومن المتوقّع إجراء المزيد من التغييرات في واجهة برمجة التطبيقات الخاصة بالحالة (I3f39a).
  • تم نقل ModalBottomSheet إلى أجهزة Android فقط. لا يُنصح باستخدام ModalBottomSheet على أجهزة الكمبيوتر المكتبي، ولا تتم صيانة هذه الوظيفة بشكل نشط. (Ib3778)

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

  • تم إصلاح إجراء الإغلاق AlertDialog ليظهر أسفل إجراء التأكيد عندما تتكدس الإجراءات فوق بعضها البعض لتلائم عرض مربّع الحوار. يتوافق هذا الإصلاح مع مواصفات التصميم المتعدد الأبعاد (I029de، b/235454277).
  • تم إصلاح خطأ في ListItem باستخدام مسافة بادئة غير صحيحة للعناصر التي تتكوّن من ثلاثة أسطر. (I6e235)
  • يمكن الآن لتطبيق ModalBottomSheet عرض لوحة مفاتيح IME (Idc508 وb/262140644 وb/268380384 وb/272483584).

الإصدار 1.2.0-alpha01

10 أيار (مايو) 2023

تم إصدار androidx.compose.material3:material3:1.2.0-alpha01 وandroidx.compose.material3:material3-window-size-class:1.2.0-alpha01. يحتوي الإصدار 1.2.0-alpha01 على هذه المراجعات.

الإصدار 1.1

الإصدار 1.1.2

20 أيلول (سبتمبر) 2023

تم إصدار androidx.compose.material3:material3:1.1.2 وandroidx.compose.material3:material3-window-size-class:1.1.2. يحتوي الإصدار 1.1.2 على هذه المراجعات.

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

  • تم تمرير المُعدِّل الثابت بشكل غير صحيح إلى مكوّنَين قابلَين للتجميع. (b/282761472)
  • تم إصلاح مشكلة ظهور ساعات غير صحيحة في TimePickerState عند ضبطها على 23 ساعة. (b/278242122)
  • تم إصلاح حالة التبديل الأولية للتحقّق من الظهر والدقائق. (b/269768197، b/282790635)
  • تم إصلاح الخطأ الذي كان يتسبب في عرض قيمة غير صحيحة لساعة 11 مساءً في الحقل state.hour. (b/282761472، b/278242122)

الإصدار 1.1.1

‫21 حزيران (يونيو) 2023

تم إصدار androidx.compose.material3:material3:1.1.1 وandroidx.compose.material3:material3-window-size-class:1.1.1. يحتوي الإصدار 1.1.1 على هذه المراجعات.

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

  • تُضيف طلبًا لـ ModalBottomSheet بدون مَعلمة windowInset من أجل التوافق مع الثنائي. (Ib7959)
  • أضِف مَعلمة "نافذة مُدمجة" إلى ModalBottomSheet.
    • يمكن الآن رسم الشاشة المصمّمة لعرض ModalBottomSheet خلف شريط الحالة مع ضبط windowInsets على القيمة صفر.
    • تم تعديل وظيفة ModalBottomSheet التلقائية للبقاء خارج أشرطة النظام، بما في ذلك شريط التنقّل.
    • يتم توفير معالجة الحشو في شريط الحالة من خلال مقبض السحب في الوضع "من الحافة إلى الحافة".
    • تتضمّن BottomSheetDefaults نوافذ مضمّنة لـ BottomSheetWindow. (I31200، b/274872542، b/272973615، b/272334475، b/268432129، b/275849044، b/275486106، b/268433162)

الإصدار 1.1.0

10 أيار (مايو) 2023

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

الميزات الرئيسية في الإصدار 1.1.0

مكونات Material Design 3 الجديدة

تحسينات على مكوّنات Material Design 3 الحالية:

تم ترقية واجهات برمجة التطبيقات التجريبية إلى الإصدار الثابت

يُرجى الاطّلاع على مشاركة المدونة هذه لمعرفة المزيد من التفاصيل.

الإصدار 1.1.0-rc01

19 نيسان (أبريل) 2023

تم إصدار androidx.compose.material3:material3:1.1.0-rc01 وandroidx.compose.material3:material3-window-size-class:1.1.0-rc01. يحتوي الإصدار 1.1.0-rc01 على هذه المراجعات.

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

  • تمّت إزالة TimePicker من واجهة برمجة التطبيقات الثابتة، ومن المتوقّع إجراء المزيد من التغييرات في واجهة برمجة التطبيقات الخاصة بالحالة (I3f39a).
  • تم نقل ModalBottomSheet إلى أجهزة Android فقط. لا يُنصح باستخدام ModalBottomSheet على أجهزة الكمبيوتر المكتبي، ولا تتم صيانة هذه الوظيفة بشكل نشط. (Ib3778)

الإصدار 1.1.0-beta02

5 نيسان (أبريل) 2023

تم إصدار androidx.compose.material3:material3:1.1.0-beta02 وandroidx.compose.material3:material3-window-size-class:1.1.0-beta02. يحتوي الإصدار 1.1.0-beta02 على هذه المراجعات.

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

  • تتضمّن SheetState الآن المَعلمة الاختيارية skipHiddenState.
  • تتضمّن rememberStandardBottomSheetState الآن المَعلمة الاختيارية skipHiddenState.
  • أصبح لدى BottomSheetScaffold الآن عنصر تثبيت مخفي محدّد، على الرغم من أنّه غير مفعّل تلقائيًا.
  • تم تعديل مستندات SheetState.requireOffset
  • تمت إعادة تسمية BottomSheetDefaults.MinimizedShape إلى BottomSheetDefaults.HiddenShape (I839f4، b/273870234)

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

  • لا تبدِّل خلفية شاشة الساعة من الساعة إلى الدقيقة عندما تكون ميزة "الاستكشاف باللمس" مفعَّلة. (I717d0)
  • تم الآن دمج دلالات عناصر سحب ModalBottomSheet وBottomSheetScaffold. (I05afb)
  • لا تؤثر الآن مُعدِّلات BottomSheetScaffold وcontainerColor وcontentColor إلّا في المحتوى. (I992cb)
  • BottomSheetScaffold nestedScroll لمحتوى ورقة البيانات، يتم الآن تنفيذ عمليات التمرير السريع. (I992cb)

الإصدار 1.1.0-beta01

22 آذار (مارس) 2023

تم إصدار androidx.compose.material3:material3:1.1.0-beta01 وandroidx.compose.material3:material3-window-size-class:1.1.0-beta01. يحتوي الإصدار 1.1.0-beta01 على هذه المراجعات.

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

  • أضِف مَعلمة نوع التنسيق إلى TimePicker composable. يسمح هذا الإعداد باستخدام تنسيقات مختلفة، استنادًا إلى إعدادات الشاشة (Ia0e16).
  • تم وضع علامة "تجريبية" على SearchBarDefaults. (I65561)
  • تمت إضافة ارتفاع الظل إلى BottomSheetScaffold (I94e0f)
  • تمت إتاحة عرض أدوات اختيار التاريخ بدون جزء العنوان. تغييرات في واجهة برمجة التطبيقات للسماح بتمرير عنوان فارغ عند إنشاء أداة اختيار تاريخ يمكنك الآن تمرير عنوان وعنوان وshowToggleMode = false فارغَين لعرض أداة اختيار بدون رأس. (Id3f3a، b/266132421، b/267194809)

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

  • تم الآن إزالة التركيز من أشرطة البحث تلقائيًا عند إيقافها. (I22a7c، b/261444487)
  • تم تعديل DateRangePicker للسماح باختيار نطاق يتضمّن التاريخ نفسه لتاريخَي البدء والانتهاء. (I16529، b/272882497)
  • تضع الحقول النصية الآن عناصر النص بشكل صحيح عندما يكون حجم الخط أصغر من المتوقع. وقد يؤدي ذلك إلى تغيير بضعة بكسل في تطبيقاتك استنادًا إلى إعدادات الخط والنص البرمجي. (I8b8d0)
  • تحتوي الإجراءات الدلالية في بطاقة الأنشطة الحديثة السفلية الآن على تصنيفات. (I277b0)

الإصدار 1.1.0-alpha08

8 آذار (مارس) 2023

تم إصدار androidx.compose.material3:material3:1.1.0-alpha08 وandroidx.compose.material3:material3-window-size-class:1.1.0-alpha08. يحتوي الإصدار 1.1.0-alpha08 على هذه المراجعات.

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

  • تمت إضافة إمكانية استخدام BottomSheetScaffold وBottomSheetScaffoldState. (I063d4)

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

  • تمت إضافة وظائف إلى DatePickerState وDateRangePickerState للسماح بضبط التواريخ بعد الإنشاء الأولي للحالة، بالإضافة إلى إعادة ضبط الاختيارات من خلال ضبط الطوابع الزمنية غير الصالحة. يجب ضبط التواريخ يدويًا بحذر، وستُلقي الدالة setSelection الجديدة استثناءً في حال تعذّر استيفاء تاريخ مقدَّم شرطًا مُسبَقًا (راجِع المستندات). (Ifa645 وb/268609314 وb/270427389)
  • أعِد تسمية "مُدمَج" SheetValue إلى PartiallyExpanded لوصف السلوك في هذه الحالة بدقة ومرونة أكبر. (Ia1491)
  • تم تعديل أسماء مَعلمات ListItem إلى ‎_content بدلاً من ‎_text. أصبحت وظائف الحصول التلقائية هي ReadOnlyComposables حيثما ينطبق ذلك. (I69a25)
  • ترقية واجهات برمجة تطبيقات Surface التفاعلية من مرحلة تجريبية (I90d59، b/261561812)

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

  • تم حلّ مشكلة احتساب حالة HalfExpanded في ModalBottomSheet بشكلٍ غير صحيح، ما يؤدي إلى ظهور ورقة البيانات وكأنها تطفو. (I45e84، b/268411386)
  • أضِف confirmValueChange علامة في مربّع الاختيار وانقر على ModalBottomSheet. (I2311a، b/270425759)
  • نقل إجراءات BottomSheet الدلالية إلى مقبض السحب (I158ba)
  • يُستخدم الزر ModalBottomSheet الآن للتركيز على التشغيل، ويُستخدَم للتعامل مع زر الرجوع. (I4d2ab)
  • يتم الآن أيضًا التعامل مع ModalBottomSheet onDismissRequest أثناء عمليات التمرير السريع المتداخلة. (I655c5، b/268433166)

الإصدار 1.1.0-alpha07

22 شباط (فبراير) 2023

تم إصدار androidx.compose.material3:material3:1.1.0-alpha07 وandroidx.compose.material3:material3-window-size-class:1.1.0-alpha07. يحتوي الإصدار 1.1.0-alpha07 على هذه المراجعات.

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

  • أضِف عنصرًا قابلاً للتجميع لـ "إدخال الوقت" يعمل مع rememberTimePickerState()، ويتّبع مواصفات M3 لإدخال الوقت (Ia4fab).
  • تمت إضافة واجهة برمجة تطبيقات Material 3 DateRangePicker لاختيار نطاق من التواريخ. (I7a6c3، b/267194809)
  • تمت إضافة ميزة وضع إدخال Material 3 لاختيار النطاقات الزمنية من خلال واجهة برمجة التطبيقات DateRangePicker. (Ifdbc4)
  • تتيح ألوان حقول النصوص الآن إمكانية التخصيص:
    • ألوان نص حقل الإدخال والعنصر النائب استنادًا إلى حالة التركيز والخطأ تمت إعادة تسمية المَعلمة textColor ليصبح اسمها unfocusedTextColor، وتمت إعادة تسمية المَعلمة placeholderColor ليصبح اسمها unfocusedPlaceholderColor.
    • لون الحاوية لحقول النص المعبّأة استنادًا إلى حالة الخطأ باستخدام المَعلمة errorContainerColor الجديدة
  • تم تعديل ألوان حقول النصوص في القائمة المنسدلة المعروضة باستخدام مَعلمات لتتوافق مع واجهة برمجة التطبيقات الجديدة للبادئة واللاحقة. (I9c8b4، b/254284181، b/264766350)

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

  • التراجع عن بعض إصدارات Slider API وإزالة عمليات تحميل Slider المتكرّرة التي توفّرها أداة Slider التجريبية الجديدة التي تتضمّن مؤشرًا ومسارًا مخصّصَين الترويج لإصدار RangeSlider ليصبح الإصدار الثابت (Ie8fbd)
  • تمت إعادة تسمية defaultElevation إلى elevation في دوال الارتفاع للشريحة. (I0f872)
  • لم تعُد واجهات برمجة التطبيقات التالية للحقول النصية في Material 3 تجريبية: TextField وOutlinedTextField وtextFieldWithLabelPadding وtextFieldWithoutLabelPadding وoutlinedTextFieldPadding. (Ieb5c0، b/261561819)
  • يستخدم TimePickers is24Hour إعدادات النظام (I18856).
  • تمت إزالة التعليق التوضيحي التجريبي من واجهات برمجة التطبيقات لإطار العمل. (Ibb51e، b/261565765، b/261436953)

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

  • أصبح الشكل التلقائي ModalBottomSheet هو SheetDefaults.ExpandedShape دائمًا. (I0dfca)
  • تحسينات على تسهيل الاستخدام في Material 3 DatePicker وDateRangePicker (I5087e)
  • إصلاح خطأ في قيد الحد الأقصى للارتفاع الذي قد يؤدي إلى حدوث عطل (I30d8c)
  • تمّت إزالة الأدوار الدلالية من مساحات العرض القابلة للنقر والاختيار، وتم تعديل المكوّنات التي كانت تستخدمها لضبط الأدوار باستخدام modifier.semantics (I793d9).

الإصدار 1.1.0-alpha06

8 شباط (فبراير) 2023

تم إصدار androidx.compose.material3:material3:1.1.0-alpha06 وandroidx.compose.material3:material3-window-size-class:1.1.0-alpha06. يحتوي الإصدار 1.1.0-alpha06 على هذه المراجعات.

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

  • تتيح الحقول النصية الآن استخدام بادئة ولاحقة نصية (Ia8578، b/179884561).
  • تمت إضافة دالة TimePicker لعرض أداة اختيار الوقت وفقًا لمواصفات Material 3، وتُستخدَم مع TimePickerState وطريقة تسهيل الاستخدام rememberTimePickerState (I71910).
  • أصبح إدخال التاريخ الآن وضع عرض في DatePicker. تمّت إضافة إمكانية التبديل بين وضعَي "أداة اختيار التاريخ" و"إدخال التاريخ". (Ieeff7)
  • تمت إضافة واجهة برمجة التطبيقات RichTextTooltips. (I58ef3)
  • تنفيذ البطاقة السفلية المقيِّدة في Material 3، بما في ذلك ModalBottomSheet وModalBottomSheetDefaults وتُعرِض أيضًا SheetState وrememberSheetState اللذَين يمكن استخدامهما في مكونات الأوراق المستقبلية. (I0853a، b/244189383)

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

  • استقرار واجهة برمجة التطبيقات showSnackbar (I195c2، b/261424370)
  • تحسين واجهات برمجة التطبيقات لشريحة المساعدة وشريحة الاقتراحات (Ibb67b، b/261424370)
  • ترقية واجهات برمجة التطبيقات ListItem وListItemDefaults وListItemColors إلى إصدار غير تجريبي (I7e7fa وb/261438882)
  • ترقية واجهات برمجة التطبيقات SliderPositions وSliderDefaults.Thumb وSliderDefaults.Track إلى الإصدار الثابت وإضافة واجهات برمجة التطبيقات Slider وRangeSlider غير التجريبية التي تحتوي على واجهتَي برمجة تطبيقات مخصّصتَين لعرض الصور المصغرة وتتبُّع الأداء سنوقف أيضًا واجهات برمجة التطبيقات Slider وRangeSlider السابقة. (Ie5ea6، b/261566890)
  • تمّ إتاحة Modifier.tooltipAnchor() للجميع، حتى يتمكّن المطوّرون من تمريرها إلى العنصر الأساسي للإشارة إلى أنّه يجب عرض تلميح عند الضغط مع الاستمرار. تم تعديل واجهة برمجة التطبيقات PlainTooltipBox كي لا تعود TooltipState قابلة للحذف، وأصبحت الآن لها قيمة تلقائية. (Ie2fb7)
  • تم وضع علامة @Composable على ProgressIndicatorDefaults.circularTrackColor للحفاظ على الاتساق. (Id29cc)
  • استُعيدت دالة الحصول على السمة LocalMinimuTouchTargetEnforcement وتم وضع علامة عليها بأنّها متوقّفة نهائيًا وتمت إعادة التوجيه إلى LocalMinimumInteractiveComponentEnforcement. (I60dd5)

الإصدار 1.1.0-alpha05

26 كانون الثاني (يناير) 2023

تم إصدار androidx.compose.material3:material3:1.1.0-alpha05 وandroidx.compose.material3:material3-window-size-class:1.1.0-alpha05. يحتوي الإصدار 1.1.0-alpha05 على هذه المراجعات.

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

  • DatePickerDialog وأدوات تسهيل الاستخدام
  • تمت إضافة صورة مصغّرة ومقطع صوتي مخصّصَين إلى RangeSlider.

تعديلات على التبعيات

  • يعتمد كلّ من Compose UI وCompose Material الآن على Lifecycle 2.6.0.

الإصدار 1.1.0-alpha04

11 كانون الثاني (يناير) 2023

تم إصدار androidx.compose.material3:material3:1.1.0-alpha04 وandroidx.compose.material3:material3-window-size-class:1.1.0-alpha04. يحتوي الإصدار 1.1.0-alpha04 على هذه المراجعات.

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

  • واجهة برمجة التطبيقات DatePicker الأولية لاختيار تاريخ واحد من خلال واجهة مستخدم التقويم لا تزال واجهة برمجة التطبيقات هذه تخضع للتغييرات. (I722b9)
  • تمت إضافة ميزة التلميح النصي العادي من خلال PlainTooltipBox. (I0cdfb)
  • شريط البحث (Iad128)
  • SwipeToDismiss (I458a8، b/242889540)

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

  • تمت إضافتها في سمة IsContainer semantics على Surfaces. سيتم استخدام هذه السمة في تغيير لاحق يحدّد ترتيب التنقّل استنادًا إلى المعنى الدلالي للعناصر، مثل الأسطح. (I63379)
  • وضع علامة على واجهات برمجة التطبيقات ذات الصلة بلائحة التنقل بأنّها مستقرة (Iab01e، b/261439597)
  • تمت إضافة مَعلمة لون المسار لمؤشرات التقدم الدائرية، ومَعلمة حدّ الحدّ الأقصى للخط لكلّ من مؤشرات التقدم الدائرية والخطية. (Ie668c، b/216325962، b/222964817)
  • المزيد من حالات عدم توفّر قيمة لنوع الإرجاع في الدوال المخفية المتوقّفة نهائيًا (Ibf7b0)
  • أضِف Modifier.minimumInteractiveComponentSize. ويمكن استخدامه لحجز مساحة لا تقل عن 48 بكسل مستقل الكثافة (dp) لإزالة الغموض عن التفاعلات باللمس إذا كان حجم العنصر أصغر. (I33f58، b/258495559)
  • تمت إضافة واجهة برمجة تطبيقات تجريبية لعنصر AlertDialog القابل للتجميع الذي يتضمّن خانة محتوى. (Iec4a2)

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

  • أصبح مستوى التقدّم لمؤشرات التقدّم مرتبطًا بشكل صحيح بنطاقه المتوقّع. (I8a7eb، b/262262727)

مشكلة معروفة

  • عند التحديث من الإصدار 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.1.0-alpha03

7 كانون الأول (ديسمبر) 2022

تم إصدار androidx.compose.material3:material3:1.1.0-alpha03 وandroidx.compose.material3:material3-window-size-class:1.1.0-alpha03. يحتوي الإصدار 1.1.0-alpha03 على هذه المراجعات.

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

  • تمت إعادة تسمية consumedWindowInsets() إلى consumeWindowInsets() وwithConsumedWindowInsets() إلى onConsumedWindowInsetsChanged() وأصبحت "المُعدِّلات" علنية. (Ie44e1)
  • أضِف مساحة تلقائية جديدة للمحتوى في زر النص مع الرمز المراد استخدامه. (I8f662)
  • تمت إضافة ألوان غير مفعّلة لشريط التنقّل والحاجز. (Ia7892، b/258867034)
  • تمت إضافة واجهة برمجة تطبيقات Modifier API لطلب معلومات عن الانتقال للأعلى أو للأسفل في الصفحة. (I2ba9d، b/203141462)
  • تُستخدَم في Clickable لتأخير التفاعلات الناتجة عن الضغط بشكل صحيح، عندما يمكن أن تصبح الإيماءات أحداث انتقال.
  • تم إصلاح مشكلة عدم تأخير Clickables للتأثيرات المتموّجة بشكلٍ صحيح عند استخدامها داخل Scrollable ViewGroup.
  • تم تعديل الأدراج واللوحات لتأخير الضغطات بشكل صحيح في حال إمكانية أن تصبح الإيماءات أحداث تنقّل.

تعديلات على التبعيات

  • يعتمد الآن كلّ من Compose UI وCompose Material على Lifecycle 2.5.1. (I05ab0، b/258038814)

الإصدار 1.1.0-alpha02

9 تشرين الثاني (نوفمبر) 2022

تم إصدار androidx.compose.material3:material3:1.1.0-alpha02 وandroidx.compose.material3:material3-window-size-class:1.1.0-alpha02. يحتوي الإصدار 1.1.0-alpha02 على هذه المراجعات.

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

  • يقبل كلّ من awaitFirstDown وwaitForUpOrCancellation الآن PointerEventPass لتوفير مرونة أكبر (يؤدي ذلك أيضًا إلى إصلاح مشكلة ظهور قائمة في ExposedDropdownMenuBox أثناء الانتقال للأعلى أو للأسفل).(I7579a، b/212091796)
  • تمت إضافة المَعلمة minLines إلى Text وTextField وOutlinedTextField في material وmaterial3، ما يسمح بضبط الحد الأدنى لارتفاع المكوّن من حيث عدد الأسطر (I4af1d).
  • إيقاف الدالة TopAppBarDefaults smallTopAppBarColors نهائيًا واستبدالها بالدالة topAppBarColors الجديدة التي يجب استخدامها عند إنشاء TopAppBar (Ie6cb9)
  • تمت إضافة المَعلمة minLines إلى BasicText وBasicTextField. يسمح هذا الحقل بضبط الحد الأدنى لارتفاع هذه العناصر القابلة للتجميع من حيث عدد السطور (I24294، b/122476634).

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

  • اقتطع محتوى IconButton وIconToggleBotton في Material3 لكي يتلاءم مع شكل طبقة الحالة للمكوّن (مثل الشكل الدائري). (I9da8f)
  • تعديلات على أشرطة التطبيقات العلوية بتصميم Material3 بحجمَي متوسط وكبير لتطبيق لون الخلفية نفسه على سطحها بالكامل، والسماح بإعداد إلغاء الألوان التلقائية باستخدام قيم ألوان شفافة (I67659، b/249688556، b/250838918)

الإصدار 1.1.0-alpha01

24 تشرين الأول (أكتوبر) 2022

تم إصدار androidx.compose.material3:material3:1.1.0-alpha01 وandroidx.compose.material3:material3-window-size-class:1.1.0-alpha01. يحتوي الإصدار 1.1.0-alpha01 على هذه المراجعات.

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

  • إصلاحات في شريط التطبيق العلوي عند تطبيق العنوان باستخدام TextStyle وBrush (If667e)

الإصدار 1.0

الإصدار 1.0.1

9 تشرين الثاني (نوفمبر) 2022

تم إصدار androidx.compose.material3:material3:1.0.1 وandroidx.compose.material3:material3-window-size-class:1.0.1. يحتوي الإصدار 1.0.1 على هذه المراجعات.

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

  • تعديلات على أشرطة التطبيقات العلوية بتصميم Material3 بحجمَي متوسط وكبير لتطبيق لون الخلفية نفسه على سطحها بالكامل، والسماح بإعداد إلغاء الألوان التلقائية باستخدام قيم ألوان شفافة (I67659، b/249688556، b/250838918)

الإصدار 1.0.0

24 تشرين الأول (أكتوبر) 2022

تم إصدار androidx.compose.material3:material3:1.0.0 وandroidx.compose.material3:material3-window-size-class:1.0.0. يحتوي الإصدار 1.0.0 على عمليات الربط هذه.

الميزات الرئيسية في الإصدار 1.0.0

هذا هو أول إصدار ثابت من Compose Material 3.

مظهر Material Design 3 واللون الديناميكي في Material You

مكونات Material Design 3

فئة حجم النافذة

  • material3-window-size-class هي مكتبة جديدة توفّر دعمًا لفئات أحجام النوافذ: وهي مجموعة من نقاط التوقف لإطار العرض التي تستند إلى آراء معيّنة، ويمكنك استخدامها لتصميم تنسيقات التطبيقات التي يمكن تغيير حجمها وتطويرها واختبارها. يمكنك استخدام calculateWindowSizeClass لاسترداد مثيل فئة حجم النافذة، والذي يمكنك استخدامه لتحديد كيفية ظهور واجهة المستخدم، مثل عرض شريط تنقل بدلاً من شريط التنقّل في أسفل الشاشة لحجم النافذة الأكبر. لمزيد من المعلومات وعينات الاستخدام، يُرجى الاطّلاع على مستندات مرجع واجهة برمجة التطبيقات WindowSizeClass.

  • يُرجى الاطّلاع على مشاركة المدونة هذه لمعرفة المزيد من التفاصيل.

الإصدار 1.0.0-rc01

5 تشرين الأول (أكتوبر) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-rc01 وandroidx.compose.material3:material3-window-size-class:1.0.0-rc01. يحتوي الإصدار 1.0.0-rc01 على هذه المراجعات.

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

  • تمت إضافة مَعلمة "المكان" لإتاحة واجهة برمجة التطبيقات "النص إلى الحقل النصي" (Iaac0d، b/227146125)

الإصدار 1.0.0-beta03

21 أيلول (سبتمبر) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-beta03 وandroidx.compose.material3:material3-window-size-class:1.0.0-beta03. يحتوي الإصدار 1.0.0-beta03 على هذه المراجعات.

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

  • يعرض ExposedDropdownMenuDefaults الآن قيمة للتباعد بين عناصر القائمة. (I34ee1)
  • يحتوي ExposedDropdownMenuBoxScope الآن على مُعدِّل Modifier.menuAnchor() يجب تمريره إلى الحقل النصي لضمان السلوك المناسب لمعايير a11y. (I27fa3)
  • إضافة طريقتَين محملَتَين زائدتَين لواجهة برمجة التطبيقات Slider API الحالية للسماح للمستخدمين بتمرير صورة مصغّرة أو مقطع صوتي لتعبئة شريط التمرير (I21c00)

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

  • تم تعديل تعيين ألوان المظهر الداكن لحاوية الخطأ إلى درجة اللون 90 (Ic5612).
  • إصلاح للسماح بضبط خلفية شفافة لأشرطة التطبيقات العلوية الصغيرة في Material 3 (I645e2، b/245575782)

الإصدار 1.0.0-beta02

7 أيلول (سبتمبر) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-beta02 وandroidx.compose.material3:material3-window-size-class:1.0.0-beta02. يحتوي الإصدار 1.0.0-beta02 على هذه المراجعات.

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

  • لم تعُد المكوّنات التلقائية المضمّنة في مكوّنات m3 في الإصدار beta01 تراعي المكوّنات المضمّنة لنظام IME.
  • يحتوي مكوّن Material3 Scaffold الآن على مَعلمة contentWindowInsets، ما يتيح تحديد عدد المكوّنات المضمّنة التي يجب التعامل معها في خانة المحتوى. (Icf11a، b/243713323)
  • إيقاف الدالة التجريبية SmallTopAppBar في Material 3 نهائيًا وتقديم دالة TopAppBar مكافئة يُرجى نقل استخدامك إلى الحساب الجديد. (I74404، b/226918634)
  • إضافة إمكانية التحكّم في سلوكَي التمرير السريع واللصق في شريط التطبيق العلوي (I15c81)
  • تزيل startIndent من Divider، وتنقل اللون إلى المَعلمة الأخيرة. (If7be2)

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

  • يمكنك أن تحدِّد محادثات Talkback نفسها للمستخدمين من خلال قول كلمة "محادثة" عند عرضها. (I857ef)

الإصدار 1.0.0-beta01

24 آب (أغسطس) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-beta01 وandroidx.compose.material3:material3-window-size-class:1.0.0-beta01. يحتوي الإصدار 1.0.0-beta01 على هذه المراجعات.

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

للاطّلاع على أحدث العناصر والمكونات والعناصر القابلة للتجميع الأخرى المتوفّرة، يمكنك الاطّلاع على نظرة عامة على مرجع Compose Material 3 API.

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

  • تم تعديل شريط التطبيقات العلوي في Material 3 ليصبح قابلاً للتوسيع أو التصغير بالكامل. تم أيضًا تعديل دالة سلوك TopAppBarDefaults لتكون Composables وتوفير قيم تلقائية لحالة شريط التطبيقات العلوي ومواصفات الرسوم المتحركة. (I642b3)
  • تم تعديل توقيعات مكوّنات التطبيقات المصغّرة القابلة للتطبيق لتتطابق مع واجهة برمجة التطبيقات للسطح (I3afaa)
  • تمّت إضافة عناصر مضمّنة تتيح استخدام أشرطة التطبيقات العلوية والأدراج وشريط التنقّل والشريط الجانبي. عند استخدام هذه المكوّنات بشكل منفصل أو مع Scaffold، ستتولى هذه المكوّنات تلقائيًا التعامل مع المكوّنات المضمّنة للمطوّرين. ملاحظة: لا يؤدي هذا التغيير إلى إضافة معالجة تلقائية لرموز شريط الحالة وشفافية شريطَي الحالة والتنقّل. يُرجى مواصلة إجراء ذلك يدويًا لضمان أفضل تجربة من الحافة إلى الحافة. (I7e4e6، b/183161866)
  • تم تعديل الإعدادات التلقائية للمكوّنات لتقليل مساحة عرض واجهة برمجة التطبيقات من أجل توفير المرونة وتحسين الأداء في المستقبل. (I31820)
  • إعادة ترتيب مَعلمات ورقة الشريحة ودرج التنقّل للحفاظ على الاتساق داخل واجهة برمجة التطبيقات (I45d0b)
  • تمت إزالة startIndent من "المقسِّم" وتم نقل اللون ليكون المَعلمة الأخيرة.(If7be2)

الإصدار 1.0.0-alpha16

10 آب (أغسطس) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha16 وandroidx.compose.material3:material3-window-size-class:1.0.0-alpha16. يحتوي الإصدار 1.0.0-alpha16 على هذه المراجعات.

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

  • أن تتيح تحديد عرض مخصّص في قائمة التنقل (Ia7f10)

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

  • إعادة ترتيب مَعلمات علامة التبويب "الترقيم" وعلامة التبويب "الرمز الرئيسي" للحفاظ على الاتساق في واجهة برمجة التطبيقات (Ie2637)
  • تم وضع علامة على BadgeDefaults تشير إلى أنّه ميزة تجريبية. (I98ef3)
  • أزِل وظيفة درج التنقّل التي تم إيقافها نهائيًا. (I4f2db)
  • إعادة ترتيب مَعلمات شريط التمرير في Material 3 للحفاظ على الاتساق في واجهة برمجة التطبيقات (I0aee7)
  • إعادة ترتيب المَعلمتَين NavigationBar وNavigationRail للحفاظ على الاتّساق في واجهة برمجة التطبيقات (I51cda)
  • إعادة ترتيب المَعلمات في Material 3 للحفاظ على الاتساق في جميع واجهات برمجة التطبيقات (If4ae1)
  • إعادة ترتيب مَعلمات شريط التمرير في Material 3 للحفاظ على الاتساق في واجهة برمجة التطبيقات (I62673)
  • تمت إعادة تسمية مَعلمة الرموز إلى "الإجراءات" لتتلاءم مع شريط التطبيق العلوي (Id75be).
  • ضَع علامة "تجريبية" على Badge وBadgedBox لأنّ محاذاة العنصر الأساسي لا تزال في مرحلة تجريبية. (I1712e، b/236524516)
  • تغيير @ExperimentalMaterial3Api التعليقات التوضيحية في صيغ زر الرمز إلى @OptIn (I070b5)
  • تم فصل محتوى درج التنقّل إلى عنصر قابل للتجميع خاص به ليتيح تحديد عرض مخصّص له. (Ia7f10)
  • إزالة Divider من MenuDefaults وTabDefaults (I4e33c)

الإصدار 1.0.0-alpha15

27 تموز (يوليو) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha15 وandroidx.compose.material3:material3-window-size-class:1.0.0-alpha15. يحتوي الإصدار 1.0.0-alpha15 على هذه المراجعات.

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

  • السماح بسحب شريط التطبيق العلوي من الشريط نفسه (I65c00، b/205873416)

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

  • تعديلات على واجهات برمجة التطبيقات FilterChip وElevatedFilterChip لإزالة خانة selectedIcon وتعزيز إعادة استخدام leadingIcon لعرض حالة محدّدة (Ie5dc2)
  • أضِف أدوار الألوان المتغيرة للشاشة البينية والحدود. (Id6d54)
  • إصلاح اصطلاحات التسمية للإعدادات التلقائية القابلة للتجميع (I62b27)
  • ضَع علامة "تجريبي" على ListItemDefaults وListItemColors. (I1f3ec)
  • تغييرات على واجهة برمجة تطبيقات شريط التطبيقات العلوي لتعكس بشكل أفضل معنى سمات حالته ضَع أيضًا علامة على واجهة برمجة التطبيقات في شريط التطبيقات العلوي باعتبارها تجريبية. (Ic0ad8)
  • تمت إضافة ألوان اختيار النص إلى TextFieldColors لتعزيز قابلية العثور على المحتوى. (Iba1b8)
  • إضافة ButtonDefault.ButtonWithIconContentPadding لاستخدامها مع الأزرار التي تحتوي على رمز (I2bf9c)
  • تم وضع علامة على حقول النصوص باعتبارها تجريبية للسماح بمزيد من المرونة في التغييرات المستقبلية لواجهة برمجة التطبيقات. (I127b5)
  • تمت إزالة التعليق التوضيحي @ExperimentalMaterial3Api من الدالة Checkbox. (I5eefc)
  • تمت إزالة التعليق التوضيحي @ExperimentalMaterial3Api من الدالة RadioButton. (I17e2a)
  • تمت إزالة التعليق التوضيحي @ExperimentalMaterial3Api من البطاقات غير التفاعلية. (I9bd49)
  • تعديل عناصر الإعدادات التلقائية المختلفة للمكوّنات لتشمل الألوان والأشكال وما إلى ذلك (I96e11)

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

  • تمت إزالة الرموز اللاحقة غير الصالحة من نماذج شرائح الإدخال لتجنُّب حدوث التباس لدى المستخدم في تطبيق الكتالوج. (I9846a)

الإصدار 1.0.0-alpha14

29 حزيران (يونيو) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha14 وandroidx.compose.material3:material3-window-size-class:1.0.0-alpha14. يحتوي الإصدار 1.0.0-alpha14 على هذه المراجعات.

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

  • تمت إضافة تنفيذ قائمة M3، يُرجى الاطّلاع على المستندات للحصول على أمثلة على الاستخدام (Id7a20).

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

  • تغيير اسم المَعلمة من values إلى value في RangeSlider (I3b79a)
  • تغييرات في واجهة برمجة التطبيقات لتنفيذ InputChip لتتوافق مع حالة اختيارية وفقًا لمواصفات Material Design دعم إضافي في ألوان FilterChip للحالة المُعطَّلة المحدّدة (I55244، b/235792432)
  • إضافة BottomAppBar رمز مربّع أزرار الإجراء التلقائي (Ida4c8)
  • تمت إضافة ColorScheme.surfaceColorAtElevation (Id41af)
  • يتم الآن إنشاء الواجهات في مكتبات Compose باستخدام jdk8 إجراءات الواجهات التلقائية (I5bcf1).
  • ينفذ كلّ من WindowWidthSizeClass وWindowHeightSizeClass الآن Comparable، لذا يمكن مقارنتهما باستخدام عوامل التشغيل (< و<= و>= و>) وواجهات برمجة التطبيقات الأخرى. (I747d0)

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

  • تعديل نموذج الشارة لتقديم وصف أكثر وضوحًا للمحتوى (I10b9d)
  • إضافة خيار استخدام حجم خط النظام إلى أداة اختيار المظهر في كتالوج Material 3 (I10605)
  • إضافة رمز نموذجي للشارة ومؤشرات مستوى التقدّم غير المحدّدة (I8fbe0)

الإصدار 1.0.0-alpha13

1 حزيران (يونيو) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha13 وandroidx.compose.material3:material3-window-size-class:1.0.0-alpha13. يحتوي الإصدار 1.0.0-alpha13 على هذه المراجعات.

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

  • يتيح الحفاظ على موضع شريط التطبيقات في أعلى الشاشة عند تغيير الإعدادات. (I10459، b/216160958)

الإصدار 1.0.0-alpha12

18 أيار (مايو) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha12 وandroidx.compose.material3:material3-window-size-class:1.0.0-alpha12. يحتوي الإصدار 1.0.0-alpha12 على هذه المراجعات.

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

  • يمكن الآن أن يكون عرض العنصر الرئيسي للشريحة التمرير 0. (b/231707291)

الإصدار 1.0.0-alpha11

11 أيار (مايو) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha11 وandroidx.compose.material3:material3-window-size-class:1.0.0-alpha11. يحتوي الإصدار 1.0.0-alpha11 على هذه المراجعات.

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

  • تمت إضافة RangeSlider إلى المادة 3 (I18e38).
  • إتاحة استخدام Material3 AssistChip وInputChip (I0d25a)
  • إضافة FilterChip وSuggestionChip في Material3 (I9fdf3)

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

  • تمت إعادة تسمية العنصر القابل للتجميع TextFieldDefaults.BorderStroke الذي يرسم خط حدود في OutlinedTextField إلى TextFieldDefaults.BorderBox. (I5f295)
  • تبديل التغييرات المرئية في m3 (Iab30e)
  • السماح بنقل الألوان إلى أزرار الرموز العادية (Ia2445)

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

  • إضافة فحص أخطاء إلى material3/Scaffold لضمان استخدام الحشو الداخلي (I72293، b/226951418)

الإصدار 1.0.0-alpha10

20 نيسان (أبريل) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha10 وandroidx.compose.material3:material3-window-size-class:1.0.0-alpha10. يحتوي الإصدار 1.0.0-alpha10 على هذه المراجعات.

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

  • material3-window-size-class هي مكتبة جديدة توفّر دعمًا لفئات أحجام النوافذ: وهي مجموعة من نقاط التوقف لإطار العرض التي تستند إلى آراء خبراء لمساعدتك في تصميم تنسيقات التطبيقات القابلة للتغيير وتطويرها واختبارها. يمكنك استخدام calculateWindowSizeClass لاسترداد مثيل فئة حجم النافذة، والذي يمكنك استخدامه لتحديد كيفية ظهور واجهة المستخدم، مثل عرض شريط تنقل بدلاً من شريط التنقّل في أسفل الشاشة لحجم النافذة الأكبر. لمزيد من المعلومات وعينات الاستخدام، يُرجى الاطّلاع على المستندات المرجعية لواجهة برمجة التطبيقات WindowSizeClass. لمزيد من المعلومات عن تعريفات فئة حجم النافذة، اطّلِع على الإرشادات العامة حول إتاحة أحجام شاشات مختلفة.

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

  • تضيف هذه السمة ارتفاعًا تلقائيًا لزر الإجراء الرئيسي (FAB) في BottomAppBar، وتزيل اللامدا اللاحقة من BottomAppBar باستخدام زر الإجراء الرئيسي (FAB). (I92c47)
  • تضيف المادة 3 FilledIconButton وFilledTonalIconButton وOutlinedIconButton. (Ib2bda)
  • تعديلات على واجهة برمجة التطبيقات Material 3 Snackbar API لقبول قيم الألوان للإجراء الاختياري وإجراء الإغلاق (Ibe4b4)
  • تم إيقاف الاستهلاك الجزئي (الانخفاض أو الموضع) نهائيًا في PointerInputChange. يمكنك استخدام consume() لاستخدام التغيير بالكامل. يمكنك استخدام isConsumed لتحديد ما إذا كان شخص آخر قد استخدَم التغيير في السابق أم لا.
  • PointerInputChange::copy() يُنشئ الآن دائمًا نسخة سطحية. ويعني ذلك أنّه سيتم استخدام نُسخ من PointerInputChange بعد استخدام إحدى النُسخ. إذا أردت إنشاء PointerInputChange غير مرتبط، استخدِم طريقة الإنشاء بدلاً من ذلك. (Ie6be4، b/225669674)
  • تغييرات على واجهة برمجة التطبيقات Cards API لتلقّي ألوان الحاوية والمحتوى من خلال واجهة CardColors، وتوفير حالة إيقاف ل البطاقات القابلة للنقر (I927df)
  • تمت إعادة تسمية المَعلمة backgroundColor إلى containerColor في حقول نص Material 3 لتحسين الاتساق مع المكوّنات الأخرى. (I6fbd9)

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

  • تعديلات على المعيار IconButton لمواءمته مع مواصفات Material3 (I09eab)
  • حرِّك ارتفاع الشريط العلوي من Material3 Scaffold إلى الحشو الذي تم تمريره إلى المحتوى، ما يسمح بعرض المحتوى أسفل شريط التطبيق العلوي. في حال تجاهل الرمز PaddingValues، قد يتم حجب المحتوى بواسطة الشريط العلوي. (I83cbc، b/217776202)

الإصدار 1.0.0-alpha09

6 نيسان (أبريل) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha09. يحتوي الإصدار 1.0.0-alpha09 على هذه المراجعات.

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

  • تمت إضافة واجهة برمجة التطبيقات Material 3 Switch API (I2c3ad)

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

  • تمت إضافة إمكانية استخدام القوائم المنسدلة التي تحتوي على حقول نصية (المعروفة أيضًا باسم "القوائم المنسدلة الظاهرة" أو "مربّعات التحرير والسرد"). (I1b832)
  • تمت إضافة مَعلمة الشكل إلى MaterialTheme ونظام Shape الفرعي. (I37426)
  • تمت إضافة مَعلمة موسّعة إلى ExtendedFloatingActionButton للتحكّم في ما إذا كان التطبيق المصغّر في الشريط الجانبي موسّعًا أو مصغّرًا، مع إضافة صور متحركة بين كل حالة. تمت إضافة حمولة زائدة لزرّ الإجراء الرئيسي الموسّع مع نص لاحق لزرّ الإجراء الرئيسي الموسّع بدون رمز. (Iba7f1)

الإصدار 1.0.0-alpha08

23 آذار (مارس) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha08. يحتوي الإصدار 1.0.0-alpha08 على هذه المراجعات.

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

  • تمت إضافة دعم لحقول النص في Material 3. (I795cc، b/199377790)

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

  • إضافة فاصل تلقائي للقائمة (I01374)
  • تمت إضافة مَعلمة اللون surfaceTint إلى فئة ColorScheme. (I2f558)

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

  • يجب إصلاح زر Material3 لقراءة قيمة نمط النص التلقائي من MaterialTheme. (Ie62fc)

الإصدار 1.0.0-alpha07

9 آذار (مارس) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha07. يحتوي الإصدار 1.0.0-alpha07 على هذه المراجعات.

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

  • تعديلات على واجهة برمجة التطبيقات Material 3 Surface API تعيد وظائف التحميل الزائد لمساحات العرض القابلة للنقر، بالإضافة إلى إضافة وظيفه لتوفير مساحات عرض قابلة للاختيار والتبديل (I4bf18)
  • أصبحت الإصدارات LazyVerticalGrid وLazyHorizontalGrid مستقرة الآن. (I307c0)
  • تم نقل LazyVerticalGrid/LazyHorizontalGrid وجميع واجهات برمجة التطبيقات ذات الصلة إلى الحزمة الفرعية ‎ .grid. يُرجى تعديل عمليات الاستيراد من androidx.compose.foundation.lazy إلى androidx.compose.foundation.lazy.grid. (I2d446)
  • تمّ التراجع عن التغيير السابق الذي كان يعتمد فقط على عرض لملف WindowInsetsControllerCompat، وأصبح يتطلّب مرة أخرى نافذة، وهي مطلوبة لإدارة بعض علامات النوافذ. تم إيقاف ViewCompat.getWindowInsetsController نهائيًا وحلّ محلّه WindowCompat.getInsetsController لضمان استخدام النافذة الصحيحة (مثلاً إذا كان العرض في مربّع حوار). (I660ae، b/219572936)
  • تمت إضافة واجهة برمجة تطبيقات LazyVerticalGrid جديدة لتحديد أحجام المحاور الأفقية والرأسية (I17723).

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

  • تعديلات على واجهة برمجة التطبيقات Card API لمتابعة التغييرات في واجهة برمجة التطبيقات Surface (I3c8b9)

الإصدار 1.0.0-alpha06

23 شباط (فبراير) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha06. يحتوي الإصدار 1.0.0-alpha06 على هذه المراجعات.

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

  • تتم إضافة NavigationDrawerItem التي تمثّل وجهة واحدة ضمن الأدراج (Ic396f، b/218286829)
  • تمت إضافة PermanentNavigationDrawer وDismissibleNavigationDrawer كواجهتَي برمجة تطبيقات تجريبيتَين. هذه هي الأدراج المناسبة للأجهزة ذات الشاشات الكبيرة. (I5f8ab، b/218286829)
  • إتاحة شريط التطبيقات السفلي بتصميم Material 3 (Ic432a)
  • تمت إعادة تسمية "NavigationDrawer" إلى "ModalNavigationDrawer" (I1807d، b/218286829)
  • تمت إضافة فئة شريط التمرير وعناصر الرمز المميّز في Material 3 (I1ccee)
  • تمت إضافة علامة التبويب، يُرجى الاطّلاع على المستندات للحصول على نموذج الاستخدام (Ie0146).

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

  • تم إصلاح مشكلة اختيار قارئ الشاشة TalkBack لعنوان فارغ في شريط التطبيقات العلوي عند استخدام ميزة التنقّل الخطي. (Id4690)
  • تمت إضافة IconSize إلى FloatingActionButtonDefaults. (Ia71cf)
  • إصلاح خطأ في أزرار AlertDialog المخفية عند إضافة نص طويل باستخدام LazyColumn (Ib2cc9، b/216663029)

الإصدار 1.0.0-alpha05

9 شباط (فبراير) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha05. يحتوي الإصدار 1.0.0-alpha05 على هذه المراجعات.

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

تمت إضافة 3 مكونات من Material Design

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

  • دالة Surface المتوقّفة نهائيًا التي تأخذ دالة callback عند النقر يجب إنشاء مساحات عرض قابلة للنقر باستخدام InteractionSource وModifier.clickable(). (I211c6)
  • تمت إضافة دعم لإبراز الزر المصغّر للتطبيق أثناء الضغط عليه أو التركيز عليه. (Ibb584)
  • تم تغيير واجهة برمجة التطبيقات Surface لتلقّي InteractionSource التي تتيح التحكّم في مظهره في حالات مختلفة. (Iafbc8)

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

  • تمت إضافة الألوان الثانوية غير المتوفّرة في أنظمة الألوان الديناميكية (I456c4 وb/214588434).

الإصدار 1.0.0-alpha04

26 كانون الثاني (يناير) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha04. يحتوي الإصدار 1.0.0-alpha04 على هذه المراجعات.

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

  • تمت إضافة NonRestartableComposable إلى الطرق التي تُعدّ مثيلًا مُحسَّنًا للطرق الحالية بدون منطق معقّد. يقلل ذلك من عمليات التحقّق من ميزة "تذكُّر القيم" (العمليات التي تساوي) التي ينشئها المُجمِّع لجميع المَعلمات التي تتم تكرارها في الدالة الداخلية التي يتمّ استدعاؤها. (I90490)
  • تمت إضافة فاصل Material 3. (Ica5fc)
  • ضَع علامة على مربّع الاختيار وزر الاختيار باستخدام تعليق توضيحي لواجهة برمجة التطبيقات التجريبية. (Ie44bb)
  • تمت إضافة دعم لمؤشرات التقدم في Material 3. (Iff232، b/205023841)

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

  • تعديل لون حاوية TextButton's غير مفعّلة ليصبح شفافًا (I6b248، b/213339737)

الإصدار 1.0.0-alpha03

12 كانون الثاني (يناير) 2022

تم إصدار androidx.compose.material3:material3:1.0.0-alpha03. يحتوي الإصدار 1.0.0-alpha03 على هذه المراجعات.

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

  • أضِف LocalIndication إلى MaterialTheme في المادة 3. (I7ce4e)
  • يجب تصحيح نصف قطر الزاوية المطبَّق على مربّعات الاختيار (I38b03 وb/175198975 وb/202309440).

تعديلات على التبعيات

  • يعتمد الآن على Kotlin 1.6.10.

الإصدار 1.0.0-alpha02

1 كانون الأول (ديسمبر) 2021

تم إصدار androidx.compose.material3:material3:1.0.0-alpha02. يحتوي الإصدار 1.0.0-alpha02 على هذه المراجعات.

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

  • إضافة ميزة مربّع الاختيار وزر الاختيار
  • تم تعديلها لتصبح متوافقة مع Kotlin 1.6.0

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

  • أزِل الدرج من إطار العمل في Material 3. (I04f51)
  • إتاحة استخدام Checkbox في Material 3 (Id5542)
  • إتاحة استخدام RadioButton في Material 3 (I20334)

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

  • يمكنك تقليل نصف قطر تموج IconButton من 40dp إلى 20dp. (I68bbe، b/206674345)
  • مسار سلسلة المنفذ السريع لـ Text يتغيّر من compose.material (I30b03)
  • تم إصلاحه، ولكن هذا الزرّ المُبرمَج بشكلٍ ثابت مفعَّل دائمًا. (Iea832، b/205335456)

الإصدار 1.0.0-alpha01

27 تشرين الأول (أكتوبر) 2021

تم إصدار androidx.compose.material3:material3:1.0.0-alpha01. يحتوي الإصدار 1.0.0-alpha01 على هذه المراجعات.

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

مظهر Material Design 3 واللون الديناميكي في Material You

مكونات Material Design 3

لمزيد من المعلومات، يُرجى الاطّلاع على قسم تصميم المواد 3 وتصميم المواد في دليل "مظاهر تصميم المواد" في تطبيق "المراسلة".