مادة الإنشاء

يمكنك إنشاء واجهات المستخدم في Jetpack Compose باستخدام عناصر التصميم المتعدد الأبعاد. وهي نقطة الدخول ذات المستوى الأعلى في Compose، والتي تم تصميمها لتوفير مكونات تطابق العناصر المذكورة في www.material.io.
التعديل الأخير الإصدار المستقر سحب المرشح الإصدار التجريبي إصدار أولي
4 سبتمبر 2024 1.7.0 - - 1.8.0-alpha01

البنية

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

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

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

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

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

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

Groovy

dependencies {
    implementation "androidx.compose.material:material:1.7.1"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material:material:1.7.1")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

لمزيد من المعلومات حول العناصر الاعتمادية، يُرجى الاطّلاع على إضافة تبعيات الإصدار.

ملاحظات

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

إنشاء عدد جديد

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

الإصدار 1.8

الإصدار 1.8.0-alpha01

4 سبتمبر 2024

تم طرح androidx.compose.material:material-*:1.8.0-alpha01. يحتوي الإصدار 1.8.0-alpha01 على عمليات التنفيذ هذه.

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

  • تمت إضافة أداة إنشاء NavGraphBuilder.bottomSheet جديدة لإنشاء ورقة سفلية بوسيطات آمنة (I28589 وI777db وb/351858980)).

الإصدار 1.7

الإصدار 1.7.0

4 سبتمبر 2024

تم طرح androidx.compose.material:material-*:1.7.0. يحتوي الإصدار 1.7.0 على عمليات التنفيذ هذه.

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

  • تمّ نقل بيانات مكونات Material لاستخدام واجهات برمجة تطبيقات أمواج جديدة، ولم يعُد الاستعلام عن RippleTheme.
  • إنّ مكونات Material التي سبق أن قبلت MutableInteractionSource وتم ضبطها تلقائيًا على remember { MutableInteractionSource() }، يتم الآن قبول MutableInteractionSource قابل للقيم الفارغة، بينما يتم تلقائيًا ضبط السياسة على "فارغ" بدلاً من ذلك. إذا لم تكن تريد رفع واستخدام MutableInteractionSource، يجب إدخال قيمة فارغة. يسمح هذا الإجراء لبعض المكوّنات بإنشاء مثيل فقط عند الحاجة، ما يؤدي إلى تحسين الأداء. يوصى أيضًا بإجراء تغييرات مماثلة في المكونات الخاصة بك.
  • تمت ترقية BottomDrawer وModalBottomSheet وBackdropScaffold ولوحة البيانات الأساسية العادية إلى واجهة برمجة تطبيقات ثابتة.

الإصدار 1.7.0-rc01

21 آب (أغسطس) 2024

تم طرح androidx.compose.material:material-*:1.7.0-rc01. يحتوي الإصدار 1.7.0-rc01 على عمليات التنفيذ هذه.

الإصدار 1.7.0-beta07

7 أغسطس 2024

تم طرح androidx.compose.material:material-*:1.7.0-beta07. يحتوي الإصدار 1.7.0-beta07 على عمليات الالتزام هذه.

الإصدار 1.7.0-beta06

24 يوليو 2024

تم طرح androidx.compose.material:material-*:1.7.0-beta06. يحتوي الإصدار 1.7.0-beta06 على عمليات التنفيذ هذه.

الإصدار 1.7.0-beta05

10 يوليو 2024

تم طرح androidx.compose.material:material-*:1.7.0-beta05. يحتوي الإصدار 1.7.0-beta05 على عمليات الالتزام هذه.

الإصدار 1.7.0-beta04

26 يونيو 2024

تم طرح androidx.compose.material:material-*:1.7.0-beta04. يحتوي الإصدار 1.7.0-beta04 على عمليات التنفيذ هذه.

الإصدار 1.7.0-beta03

12 يونيو 2024

تم طرح androidx.compose.material:material-*:1.7.0-beta03. يحتوي الإصدار 1.7.0-beta03 على عمليات التنفيذ هذه.

الإصدار 1.7.0-beta02

29 مايو 2024

تم طرح androidx.compose.material:material-*:1.7.0-beta02. يحتوي الإصدار 1.7.0-beta02 على عمليات التنفيذ هذه.

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

  • تحديث واجهة برمجة التطبيقات لتنسيق الروابط: تم نقل TextLinkStyles إلى TextStyle وإزالة TextDefaults من المادة (I5477b).

الإصدار 1.7.0-beta01

14 مايو 2024

تم طرح androidx.compose.material:material-*:1.7.0-beta01. يحتوي الإصدار 1.7.0-beta01 على عمليات التنفيذ هذه.

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

  • تم تحديث واجهة برمجة التطبيقات للحصول على روابط ذات صلة بالمواد في النصوص. وعلى وجه التحديد، تمت إزالة الطرق من TextDefaults لإنشاء LinkAnnotations ذي موضوع معيّن وتحليل رموز HTML باستخدام روابط ذات مواضيع محدّدة. بدلاً من ذلك، تمت إضافة فئة TextLinkStyles تسمح بتصميم الروابط كمَعلمة في النص القابل للإنشاء. (I31b93)

الإصدار 1.7.0-alpha08

1 مايو 2024

تم طرح androidx.compose.material:material-*:1.7.0-alpha08. تحتوي الإصدار 1.7.0-alpha08 على عمليات التنفيذ هذه.

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

  • حل مشكلة عدم انطباق backgroundColor على TextFieldDecorationBox وOutlinedTextFieldDecorationBox. تقبل مربّعات الديكور الآن مَعلمة shape. (I371c2، b/307694651)
  • تمت إزالة الحقل "RippleConfiguration#isEnabled"، وتم جعل LocalRippleConfiguration قابلاً للإلغاء. لإيقاف التموّج، بدلاً من توفير RippleConfiguration مع isEnabled = false، قدِّم null إلى LocalRippleConfiguration. (I22725)
  • تحتوي الروابط النصية على خيار تصميم حالة يتم الضغط عليه، بالإضافة إلى النمط العادي، حيث يتم تمرير مؤشر الماوس فوقها والتركيز عليها. تحتوي كل طريقة من TextDefaults طريقة على وسيطة pressedStyle لدعم ذلك. (Ic473f، b/139312671)

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

  • تمثل المساحة المتروكة العلوية OutlinedTextField للتصنيف الآن حجم خط النظام. (Idc781)

الإصدار 1.7.0-alpha07

17 أبريل 2024

تم طرح androidx.compose.material:material-*:1.7.0-alpha07. يحتوي الإصدار 1.7.0-alpha07 على عمليات التنفيذ هذه.

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

  • تم تفعيل خيار تصميم حالة الضغط على الروابط النصية بالإضافة إلى النمط العادي، حيث تم التمرير والتركيز على الروابط النصية. (I5f864، b/139312671)
  • تمت إضافة عنصر TextDefaults يحتوي على طرق لإنشاء LinkAnnotation وتحليل السلسلة التي تحمل علامة HTML والتي تطبّق MaterialTheme على الروابط. (I98532، b/139312671)

الإصدار 1.7.0-alpha06

3 أبريل 2024

تم طرح androidx.compose.material:material-*:1.7.0-alpha06. تحتوي الإصدار 1.7.0-alpha06 على عمليات التنفيذ هذه.

إشعار

  • لم تعُد هذه المجموعة المتخصّصة تتطلب استخدام الإصدار نفسه من كل عناصر androidx.compose.material. يمكن للمستخدمين دمج ومطابقة إصدارات مكتبات إنشاء الرسائل الأساسية (Ie5fba)

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

  • تم نقل المزيد من ModalDrawer وBottomDrawer تلقائيًا إلى عنصر DrawerDefaults. (Ib5b2e)

الإصدار 1.7.0-alpha05

20 مارس 2024

تم طرح androidx.compose.material:material-*:1.7.0-alpha05. يحتوي الإصدار 1.7.0-alpha05 على عمليات التنفيذ هذه.

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

  • تمت إزالة العلامة ScaffoldSubcomposeInMeasureFix. (I67363)

الإصدار 1.7.0-alpha04

‫6 مارس 2024

تم طرح androidx.compose.material:material-*:1.7.0-alpha04. يحتوي الإصدار 1.7.0-alpha04 على عمليات التنفيذ هذه.

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

الإصدار 1.7.0-alpha03

21 فبراير 2024

تم طرح androidx.compose.material:material-*:1.7.0-alpha03. يحتوي الإصدار 1.7.0-alpha03 على هذه عمليات التنفيذ.

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

  • تمت ترقية BottomDrawer من تجريبية إلى ثابتة. تعرض الدالة BottomDrawerState الآن التقدم كدالة، ما يسمح بطلب التقدّم بين أهداف محددة. يسمح BottomDrawerState الآن بتخصيص مواصفات الصور المتحركة، ولم يعُد confirmStateChange علامة lambda لاحقة. (I9c029، b/261423850)
  • تمت ترقية BackdropScaffold من تجريبية إلى ثابتة. أصبحت مواصفات الصور المتحركة الآن ضمن مواصفات tween وفقًا للإرشادات. لم تعد المعلمة snackbarHost الخاصة بـ BackdropScaffold هي المعلمة الأخيرة لتجنُّب الالتباس مع لاحقة lambdas. تعرض الدالة BackdropScaffoldState واجهة برمجة تطبيقات progress(from, to) لتقدم طلب البحث بين علامات الارتساء. (I73f48، b/261423218)
  • تمت ترقية الأوراق السفلية العادية من تجريبية إلى ثابتة. تمت إزالة دوال الإنشاء المتوقفة نهائيًا. أصبحت مواصفات الصور المتحركة الآن من مواصفات الأطفال ما قبل سن المراهقة وفقًا للإرشادات. (I3c1a8، وb/278692145، وb/261409034)
  • تمت ترقية الأوراق السفلية المشروطة من مرحلة تجريبية إلى ثابتة. تمت إزالة دوال الإنشاء المتوقفة نهائيًا. أصبحت مواصفات الصور المتحركة الآن ضمن مواصفات tween وفقًا للإرشادات. (Ic53f4 وb/278692145 وb/266780235 وb/261409034)

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

  • تم إصلاح مشكلة تعطُّل BackdropScaffold في سيناريوهات معيّنة بالإضافة إلى LookaheadScope. (I51396)
  • تمت إزالة التركيب الفرعي داخل BottomSheetScaffold لتحسين الأداء. تم إصلاح مشكلة تعطُّل BottomSheetScaffold في سيناريوهات معيّنة بالإضافة إلى LookaheadScope. (I2f90c)
  • تمت إزالة التركيبة الفرعية داخل ModalBottomSheetLayout لتحسين الأداء. (I7a025)

الإصدار 1.7.0-alpha02

7 فبراير 2024

تم طرح androidx.compose.material:material-*:1.7.0-alpha02. يحتوي الإصدار 1.7.0-alpha02 على هذه عمليات التنفيذ.

الإصدار 1.7.0-alpha01

24 يناير 2024

تم طرح androidx.compose.material:material-*:1.7.0-alpha01. يحتوي الإصدار 1.7.0-alpha01 على هذه عمليات التنفيذ.

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

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

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

  • تم إيقاف rememberRipple وRippleTheme نهائيًا بسبب موجة المواد، مع إضافة موجة جديدة وواجهات برمجة تطبيقات RippleConfiguration إلى المواد ومكتبات أنظمة التصميم الأخرى.

  • إنّ مكونات Material التي سبق أن قبلت MutableInteractionSource وتم ضبطها تلقائيًا على { MutableInteractionSource() }، أصبحت تقبل الآن قيمة MutableInteractionSource قابلة للقيم الفارغة، ويتم تلقائيًا ضبط السياسة على "فارغ" بدلاً من ذلك. إذا لم تكن تريد رفع واستخدام MutableInteractionSource، يجب إدخال قيمة فارغة. يسمح هذا الإجراء لبعض المكوّنات بإنشاء مثيل فقط عند الحاجة، ما يؤدي إلى تحسين الأداء. يوصى أيضًا بإجراء تغييرات مماثلة في المكونات الخاصة بك.

الإصدار 1.6

الإصدار 1.6.8

12 يونيو 2024

تم طرح androidx.compose.material:material-*:1.6.8. يحتوي الإصدار 1.6.8 على عمليات الالتزام هذه.

الإصدار 1.6.7

1 مايو 2024

تم طرح androidx.compose.material:material-*:1.6.7. يحتوي الإصدار 1.6.7 على عمليات الالتزام هذه.

الإصدار 1.6.6

17 أبريل 2024

تم طرح androidx.compose.material:material-*:1.6.6. لم يتم إجراء أي تغييرات منذ الإصدار الأخير.

الإصدار 1.6.5

3 أبريل 2024

تم طرح androidx.compose.material:material-*:1.6.5. يحتوي الإصدار 1.6.5 على عمليات الالتزام هذه.

الإصدار 1.6.4

20 مارس 2024

تم طرح androidx.compose.material:material-*:1.6.4. يحتوي الإصدار 1.6.4 على عمليات الالتزام هذه.

الإصدار 1.6.3

‫6 مارس 2024

تم طرح androidx.compose.material:material-*:1.6.3. يحتوي الإصدار 1.6.3 على عمليات الالتزام هذه.

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

  • يجب إصلاح التراجع في "ExposedDropdownMenu" لإتاحة التركيز عليه مرة أخرى. (c0e0ed، b/323694447)

الإصدار 1.6.2

21 فبراير 2024

تم طرح androidx.compose.material:material-*:1.6.2. يحتوي الإصدار 1.6.2 على هذه الالتزامات.

الإصدار 1.6.1

7 فبراير 2024

تم طرح androidx.compose.material:material-*:1.6.1. يحتوي الإصدار 1.6.1 على عمليات الالتزام هذه.

الإصدار 1.6.0

24 يناير 2024

تم طرح androidx.compose.material:material-*:1.6.0. يحتوي الإصدار 1.6.0 على هذه الالتزامات.

الإصدار 1.6.0-rc01

10 يناير 2024

تم طرح androidx.compose.material:material-*:1.6.0-rc01. يحتوي الإصدار 1.6.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.6.0-beta03

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

تم طرح androidx.compose.material:material-*:1.6.0-beta03. يحتوي الإصدار 1.6.0-beta03 على هذه الالتزامات.

الإصدار 1.6.0-beta02

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

تم طرح androidx.compose.material:material-*:1.6.0-beta02. يحتوي الإصدار 1.6.0-beta02 على عمليات التنفيذ هذه.

الإصدار 1.6.0-beta01

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

تم طرح androidx.compose.material:material-*:1.6.0-beta01. يحتوي الإصدار 1.6.0-beta01 على هذه الالتزامات.

الإصدار 1.6.0-alpha08

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

تم طرح androidx.compose.material:material-*:1.6.0-alpha08. يحتوي الإصدار 1.6.0-alpha08 على هذه عمليات التنفيذ.

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

  • يمكنك إيقاف دالة materialIcon نهائيًا لصالح حِملها الزائد الذي يستخدم مَعلمة autoMirror. (Ia338d)

إصلاح الأخطاء - زيادة تلقائية لارتفاع عنصر التنقل للمحتوى الكبير. (0c4ecc، b/272336962)

الإصدار 1.6.0-alpha07

‫4 أكتوبر 2023

تم طرح androidx.compose.material:material-*:1.6.0-alpha07. يحتوي الإصدار 1.6.0-alpha07 على هذه عمليات التنفيذ.

  • الإشعارات بشأن التبعية

الإصدار 1.6.0-alpha06

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

تم طرح androidx.compose.material:material-*:1.6.0-alpha06. يحتوي الإصدار 1.6.0-alpha06 على هذه عمليات التنفيذ.

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

  • تمت إزالة الوظائف المتعلّقة بالدرج من "BottomSheetScaffold". يمكنك لف "BottomSheetScaffold" في درج قابل للإنشاء لتحقيق الوظيفة السابقة. يمكنك الانتقال إلى BottomSheetScaffoldWithDrawerSample للاطّلاع على مثال. (I1dcc8)

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

  • تم تقديم علامة مؤقتة لتحديد ما إذا كان يجب على سكافولد قياس الأطفال أثناء القياس أو أثناء الوضع. سيتم قياس هذا تلقائيًا في القياس. إذا كنت تواجه مشاكل في السلوك الجديد، يُرجى الإبلاغ عن المشكلة. (If6e3b)

الإصدار 1.6.0-alpha05

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

تم طرح androidx.compose.material:material-*:1.6.0-alpha05. يحتوي الإصدار 1.6.0-alpha05 على هذه عمليات التنفيذ.

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

  • تمت إضافة دعم الرموز التي تتم مزامنتها تلقائيًا عند عرضها بتنسيقات من اليمين إلى اليسار. توفر الأيقونات في الوحدات المخصصة لتشكيلات المادة الأساسية والأشكال الممتدة حاليًا مجموعات رموز إضافية لدعم النسخ المطابق التلقائي عندما يسمح الرمز بذلك. تبدأ المجموعات الجديدة بـ Icons.AutoMirrored.Filled...، وما إلى ذلك، وتحمل رموزًا تتم مزامنتها تلقائيًا مع تنسيقات من اليمين إلى اليسار. اطّلع على قائمة رموز المواد للحصول على قائمة بالرموز التي يمكن (ويجب) مزامنتها على الجهاز وفي السحابة الإلكترونية.

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

  • تمت إضافة دعم الرموز التي تتم مزامنتها تلقائيًا عند عرضها بتنسيقات من اليمين إلى اليسار. توفر الأيقونات في الوحدات المخصصة لتشكيلات المادة الأساسية والأشكال الممتدة حاليًا مجموعات رموز إضافية لدعم النسخ المطابق التلقائي عندما يسمح الرمز بذلك. تبدأ المجموعات الجديدة بـ Icons.AutoMirrored.Filled...، وما إلى ذلك، وتحمل رموزًا تتم مزامنتها تلقائيًا مع تنسيقات من اليمين إلى اليسار. اطّلع على قائمة رموز المواد للحصول على قائمة بالرموز التي يمكن (ويجب) مزامنتها على الجهاز وفي السحابة الإلكترونية. تم وضع علامة على خصائص الرموز التي سبق تقديمها لهذه الرموز على أنّها متوقّفة نهائيًا، ويتم تقديم اقتراح لمجموعة بديلة للمساعدة في عملية نقل البيانات. في حال لم تتوفّر لك أي معالجة خاصة للرموز على النسخ المطابق في الوقت الفعلي (RTL)، ننصحك بالانتقال إلى المجموعة الجديدة من الرموز. على سبيل المثال، يجب إعادة ضبط قيمة Icons.Filled.ArrowBack إلى Icons.AutoMirrored.Filled.ArrowBack. (I4b511)

الإصدار 1.6.0-alpha04

23 آب (أغسطس) 2023

تم طرح androidx.compose.material:material-*:1.6.0-alpha04. يحتوي الإصدار 1.6.0-alpha04 على هذه عمليات التنفيذ.

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

  • تم إصلاح المشكلة المتمثلة في محاولة بعض المكونات التي تستخدم Subcomposition (مثل BottomSheetScaffold) داخل سقالة داخل LookaheadScope قراءة حجمها في وقت مبكر جدًا. (If2c5d)
  • تم إصلاح طريقة احتساب offset في DropdownMenu بحيث تعتمد إزاحة x على اتجاه التنسيق المحلي فقط، ولن يتم عكس إزاحة y بعد الآن عندما تكون القائمة بالقرب من أسفل الشاشة. (Iccc74، b/294103942)
  • تم تحسين التصميم الداخلي لتطبيق BottomSheetScaffold وتم إصلاح مشكلة محتملة في BottomSheetScaffold داخل LookaheadLayout. (Ic0afa)

الإصدار 1.6.0-alpha03

9 آب (أغسطس) 2023

تم طرح androidx.compose.material:material-*:1.6.0-alpha03. يحتوي الإصدار 1.6.0-alpha03 على هذه عمليات التنفيذ.

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

  • تحتوي مكونات Material2 الآن على واجهة برمجة تطبيقات منفصلة لتمرير windowInsets من أجل إتاحة الوظائف الشاملة في Android. على عكس مكوناتmaterial3، لا تتيح مكوناتmaterial2 المجموعات الداخلية تلقائيًا ويجب تمرير القيمة يدويًا. ارجع إلى العيّنات المقابلة للحصول على إرشادات. (I655e8)

الإصدار 1.6.0-alpha02

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

تم طرح androidx.compose.material:material-*:1.6.0-alpha02. يحتوي الإصدار 1.6.0-alpha02 على هذه عمليات التنفيذ.

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

  • وسوف ننقل تبعية الكثافة إلى مستوى المكون. ينطبق ذلك على المكوّنات التالية: SwipeToDismiss والمكوّنات المستندة إلى ورقة البيانات. يُرجى استخدام التحميل الزائد الجديد الذي يتم توفيره عندما تكون الكثافة مَعلمة. (I1846e)
  • تعليقات توضيحية إضافية لتحديد الإدخالات المسموح بها للعناصر القابلة للإنشاء (I51109)
  • ملفات واجهة برمجة التطبيقات المعدّلة لإضافة تعليقات توضيحية إلى منع التوافق (I8e87a، وb/287516207)
  • تمت إضافة محاذاة بداية جديدة لـ FabPosition (Ib7aea، b/170592777)
  • تم إيقاف TextFieldColorsWithIcons في المادة 2 نهائيًا لصالح TextFieldColors. عند إلغاء leadingIconColor أو trailingIconColor، يمكنك أيضًا إلغاء التحميل الزائد باستخدام interactionSource. (Id57ed، b/199377790)

الإصدار 1.6.0-alpha01

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

تم طرح androidx.compose.material:material-*:1.6.0-alpha01. يحتوي الإصدار 1.6.0-alpha01 على هذه عمليات التنفيذ.

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

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

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

  • تم إيقاف واجهات برمجة تطبيقات Swipeable للمواد نهائيًا. يُرجى الاطّلاع على واجهات برمجة تطبيقات AnchoredDraggable الخاصة بالمؤسسة والمحسَّنة لحالات الاستخدام البسيطة والمعقدة. (I732e0)

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

  • تعرض BottomSheetState وModalBottomSheetState وBottomDrawerState الآن خاصية تقدّم تشير إلى مستوى التقدّم بين علامة الارتساء الحالية (المستقرة) وأقرب ارتساء في اتجاه التمرير السريع. (I1b317، وb/271169225، وb/276375124، وb/276776071، وb/270066861)

الإصدار 1.5

الإصدار 1.5.4

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

تم طرح androidx.compose.material:material-*:1.5.4. يحتوي الإصدار 1.5.4 على عمليات الالتزام هذه.

الإصدار 1.5.3

‫4 أكتوبر 2023

تم طرح androidx.compose.material:material-*:1.5.3. لا تتوفّر أي تغييرات في هذا الإصدار.

الإصدار 1.5.2

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

تم طرح androidx.compose.material:material-*:1.5.2. يحتوي الإصدار 1.5.2 على عمليات الالتزام هذه.

الإصدار 1.5.1

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

تم طرح androidx.compose.material:material-*:1.5.1 بدون أي تغييرات. يحتوي الإصدار 1.5.1 على عمليات الالتزام هذه.

الإصدار 1.5.0

9 آب (أغسطس) 2023

تم طرح androidx.compose.material:material-*:1.5.0. يحتوي الإصدار 1.5.0 على عمليات الالتزام هذه.

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

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

  • تم تضمين التغييرات في واجهات برمجة التطبيقات scrollable1 API في BottomSheetScaffold. تمت إعادة تسمية معلَمة confirmStateChange الخاصة بـ BottomSheetState إلى confirmValueChange. تعرض الدالة progress الآن كقيمة عائمة. "animateTo" و"snapTo" داخليان. يمكنك استخدام expand() وcollapse() بدلاً منها. تمّت إزالة كلّ من direction وoverflow. تم استبدال الحقل "offset" بالعنوان "requireOffset()". I323b4
  • وضع علامة على الدالة snapTo في الدرج كواجهة برمجة تطبيقات غير تجريبية. (Ib9c18، b/261425368)
  • تمت إضافة مَعلمة لون المسار لمؤشرات التقدّم الدائرية، ومَعلمة الحدّ الأقصى للضغط لكل من مؤشرات التقدّم الدائرية والخطية. (Ie668c، وb/216325962، وb/222964817)
  • تمت إعادة تسمية ModalBottomSheetState وModalBottomSheetState.Saver وconfirmStateChange لـ rememberModalBottomSheetState إلى confirmValueChange. (Ib48d1)
  • إضافة Modifier.minimumInteractiveComponentSize ويمكن استخدامه للاحتفاظ بحجم 48.dp على الأقل لتمييز تفاعلات اللمس إذا كان حجم العنصر أصغر. (I33f58، b/258495559)
  • تم تضمين التغييرات في واجهات برمجة التطبيقات القابلة للتمرير السريع في ModalBottomSheetLayout. لم يعد animateTo لـ ModalBottomSheetState يستخدم مَعلمة animationSpec وأصبحت الإزاحة المعروضة قابلة للقيم الفارغة. استخدِم requireOffset لطلب الإزاحة. (Ia2e79)
  • إضافة تعليق توضيحي @JvmDefaultWithCompatibility (I8f206)
  • تم استبدال التغييرات المضمّنة في واجهات برمجة التطبيقات القابلة للتمرير السريع في animateTo لـ ModalDrawer. DrawerState بطرق الفتح والإغلاق وأصبحت الإزاحة خالية الآن. استخدِم requireOffset لطلب الإزاحة. (I3de9e)
  • تم تعديل "الأدراج" و"جداول بيانات Google" لتأخير الضغطات بشكل صحيح في حال تحولت الإيماءات إلى أحداث تمرير.
  • تمت إضافة المعلمة minLines إلى نص المادة وTextField وOutlinedTextField، ما يسمح بضبط الحد الأدنى لارتفاع المكوِّن من حيث عدد الأسطر (I4af1d)

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

  • يتم إصلاح المشكلة المتمثلة في عدم استهلاك pullRefresh للسرعة، ما أدى إلى عرض تمرير زائد. تم أيضًا تغيير توقيع واجهة برمجة التطبيقات لـ onRelease lambda في Modifier.pullRefresh لعرض قيمة عائمة للسرعة الاستهلاكية (I7db65، b/266874741).
  • تعرض BottomSheetState وModalBottomSheetState وBottomDrawerState الآن خاصية تقدّم تشير إلى مستوى التقدّم بين علامة الارتساء الحالية (المستقرة) وأقرب ارتساء في اتجاه التمرير السريع. (I1b317، وb/271169225، وb/276375124، وb/276776071، وb/270066861)
  • تم إصلاح إجراء الإغلاق AlertDialog ليظهر أسفل إجراء التأكيد عند تكديس الإجراءات فوق بعضها البعض لتلائم عرض مربع الحوار. يقوم هذا الإصلاح بمواءمة التنفيذ مع مواصفات التصميم المتعدد الأبعاد. (I029de، b/235454277)
  • لن يشارك BottomSheetScaffold بعد الآن في التمرير المدمج عند ضبط gesturesEnabled على "خطأ". (I634f3، b/215403277)
  • تم إصلاح الخطأ الذي كان يؤدي إلى تعطُّل BottomSheetScaffold عند توفير محتوى فارغ للخانات. (Ib24a5، b/235588730)
  • يعمل على إصلاح PullRefreshIndicator أحداث اعتراض النقرات/المؤشر. (2494256، b/271777421)
  • تم إصلاح مشكلة تعطُّل ModalBottomSheetLayout في حالة الأحرف عند تغيير الاتجاه. تعمل الصور المتحركة للتنسيق (مثل Modifier.animateContentSize) في محتوى ورقة البيانات الآن بسلاسة. (I2f981، b/266780234)

الإصدار 1.5.0-rc01

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

تم طرح androidx.compose.material:material-*:1.5.0-rc01. يحتوي الإصدار 1.5.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.5.0-beta03

28 حزيران (يونيو) 2023

تم طرح androidx.compose.material:material-*:1.5.0-beta03. يحتوي الإصدار 1.5.0-beta03 على هذه الالتزامات.

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

  • تعرض BottomSheetState وModalBottomSheetState وBottomDrawerState الآن خاصية تقدّم تشير إلى مستوى التقدّم بين علامة الارتساء الحالية (المستقرة) وأقرب ارتساء في اتجاه التمرير السريع. (I1b317، وb/271169225، وb/276375124، وb/276776071، وb/270066861)

الإصدار 1.5.0-beta02

7 حزيران (يونيو) 2023

تم طرح androidx.compose.material:material-*:1.5.0-beta02. يحتوي الإصدار 1.5.0-beta02 على عمليات التنفيذ هذه.

الإصدار 1.5.0-beta01

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

تم طرح androidx.compose.material:material-*:1.5.0-beta01. يحتوي الإصدار 1.5.0-beta01 على هذه الالتزامات.

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

  • إزاحة DrawerState وBottomDrawerState لم تعد قابلة للقيم الفارغة. بدلاً من ذلك، تعرض Float.NaN للإشارة إلى عدم توفُّر الإزاحة. (Ie9855)
  • تمت إضافة خيار للتمرير في ScrollState عند إنشاء DropdownMenu أو ExposedDropdownMenu للتحكّم في حالة التمرير العمودي للعناصر المعروضة في القائمة. (Idb009، b/185304441)
  • يمكنك إضافة دعم لتفعيل/إيقاف إيماءة "ModalBottomSheetLayout" كي يتمكّن المستخدم من ضبط هذه الميزة في بطاقة المعلومات السفلية الأكثر تميزًا (I40af0).
  • تمت إضافة مَعلمة لون إلى BasicText للسماح بتحريك النص أو ضبطه بكفاءة. (Iffd88 وb/246961787)
  • إعادة تسمية سمة دلالات isContainer إلى isTraversalGroup (I121f6)

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

  • تم إصلاح إجراء الإغلاق AlertDialog ليظهر أسفل إجراء التأكيد عند تكديس الإجراءات فوق بعضها البعض لتلائم عرض مربع الحوار. يعمل هذا الإصلاح على مواءمة التنفيذ مع مواصفات التصميم المتعدد الأبعاد. (I029de، b/235454277)

الإصدار 1.5.0-alpha04

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

تم طرح androidx.compose.material:material-*:1.5.0-alpha04. يحتوي الإصدار 1.5.0-alpha04 على هذه عمليات التنفيذ.

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

  • وسوف ننقل تبعية الكثافة إلى مستوى المكون. ينطبق ذلك على المكوّنات التالية: BottomDrawer وModalBottomSheetLayout وBottomSheetScaffold وSwitch وModalDrawer. يُرجى استخدام التحميل الزائد الجديد الذي يتم توفيره عندما تكون الكثافة مَعلمة. (I8fbd8)

الإصدار 1.5.0-alpha03

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

تم طرح androidx.compose.material:material-*:1.5.0-alpha03. يحتوي الإصدار 1.5.0-alpha03 على هذه عمليات التنفيذ.

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

  • يجب تحديث إعدادات BottomDrawer الداخلية لاستخدام واجهات برمجة التطبيقات SwipeableV2 الجديدة. وبسبب أنّ BottomDrawerState سيتم الآن تحديد واجهات برمجة التطبيقات (APIS) فيها فقط على مستوى الفئة، ولن تكتسب الطرق/الخصائص من SwipeableState. سنستخدم المقطوعة الموسيقية مع عنصر SwipeableV2State داخلي. أصبحت الإزاحة الآن سمة نقطة عائمة قابلة للقيم، ولا يزال من الممكن الوصول إلى القيمة الحالية وقيمة هدف التمرير السريع من خلال السمتَين CurrentsValue و targetValue. تواصل إتاحة الطرق السابقة على مستوى الفئة، مثل الفتح/التوسيع/الإغلاق والخصائص مثل isOpen/isClosed. (Iad40c، وb/178529942، وb/220676296)

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

  • تم تحديث العناصر الداخلية لمكوِّن التبديل. سيعاين مفتاح التبديل الآن أقرب (حالة مستهدفة) عند السحب. (معرّف 90d4)
  • تم تحسين محتوى ورقة البيانات المتحركة (مثل Modifier.animateContentSize على محتوى ورقة البيانات) في BottomSheetScaffold وهو يعمل الآن بسلاسة. (Ia913c، وb/270518202، وb/254446195)
  • لن يشارك BottomSheetScaffold بعد الآن في التمرير المدمج عند ضبط gesturesEnabled على false. (I634f3، b/215403277)

الإصدار 1.5.0-alpha02

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

تم طرح androidx.compose.material:material-*:1.5.0-alpha02. يحتوي الإصدار 1.5.0-alpha02 على هذه عمليات التنفيذ.

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

  • تم إصلاح الخطأ الذي كان يؤدي إلى تعطُّل BottomSheetScaffold عند توفير محتوى فارغ للخانات. (Ib24a5، b/235588730)
  • لإصلاح أحداث PullRefreshIndicator التي تؤدي إلى اعتراض النقرات أو المؤشر (2494256، b/271777421)

الإصدار 1.5.0-alpha01

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

تم طرح androidx.compose.material:material-*:1.5.0-alpha01. يحتوي الإصدار 1.5.0-alpha01 على هذه عمليات التنفيذ.

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

  • أضِف عيّنة لإعادة تدفق مجموعة الشرائح. عدِّل المساحة المتروكة الأفقية بين الشرائح الفرعية في نموذج مجموعة الشرائح التي تتضمّن سطرًا واحدًا لمطابقة المواصفات. (I3b155)
  • تم إصلاح مشكلة تعطُّل ModalBottomSheetLayout في حالة الأحرف عند تغيير الاتجاه. تعمل الصور المتحركة للتنسيق (مثل Modifier.animateContentSize) في محتوى ورقة البيانات الآن بسلاسة. (I2f981، b/266780234)

الإصدار 1.4

الإصدار 1.4.3

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

تم طرح androidx.compose.material:material-*:1.4.3 بدون أي تغييرات (أي اصطدام الإصدار فقط).

الإصدار 1.4.2

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

تم طرح androidx.compose.material:material-*:1.4.2. يحتوي الإصدار 1.4.2 على عمليات الالتزام هذه.

الإصدار 1.4.1

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

تم طرح androidx.compose.material:material-*:1.4.1. يحتوي الإصدار 1.4.1 على عمليات الالتزام هذه.

الإصدار 1.4.0

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

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

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

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

  • إضافة Modifier.minimumInteractiveComponentSize ويمكن استخدامه للاحتفاظ بحجم 48.dp على الأقل لتمييز تفاعلات اللمس إذا كان حجم العنصر أصغر. (I33f58، b/258495559)
  • تم تضمين التغييرات في واجهات برمجة التطبيقات القابلة للتمرير السريع في ModalDrawer. تم استبدال animateTo في DrawerState بطرق الفتح والإغلاق وأصبحت الإزاحة قابلة للإلغاء الآن. استخدِم requireOffset لطلب الإزاحة. (I3de9e)
  • تمت إضافة المعلمة minLines إلى نص المادة وTextField وOutlinedTextField، ما يسمح بضبط الحد الأدنى لارتفاع المكوِّن من حيث عدد الأسطر (I4af1d)
  • تمت إضافة المَعلمة minLines إلى BasicText وBasicTextField. تسمح هذه السياسة بضبط الحد الأدنى لارتفاع العناصر القابلة للإنشاء من حيث عدد الأسطر (I24294 وb/122476634).

الإصدار 1.4.0-rc01

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

تم طرح androidx.compose.material:material-*:1.4.0-rc01 بدون أي تغييرات. يحتوي الإصدار 1.4.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.4.0-beta02

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

تم طرح androidx.compose.material:material-*:1.4.0-beta02. يحتوي الإصدار 1.4.0-beta02 على عمليات التنفيذ هذه.

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

  • تم تضمين التغييرات في واجهات برمجة التطبيقات القابلة للتمرير السريع في BottomSheetScaffold. تمت إعادة تسمية معلَمة confirmStateChange الخاصة بـ BottomSheetState إلى confirmValueChange. تعرض الدالة progress الآن كقيمة عائمة. "animateTo" و"snapTo" داخليان. يمكنك استخدام expand() وcollapse() بدلاً منها. تمّت إزالة كلّ من direction وoverflow. تم استبدال الحقل "offset" بالعنوان "requireOffset()". (I323b4)

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

  • تمت إزالة الأدوار الدلالية من مساحات العرض القابلة للنقر والاختيار، والمكوّنات المعدَّلة التي استخدمت هذه الأدوار لضبط الأدوار باستخدام edit.semantics (Ibb4ba).
  • تحديث بسيط لرموز المواد الموسّعة التي تغيّر رموز desktop_mac وdirections وkitchen التي تم تعبئتها (I65f5e)

الإصدار 1.4.0-beta01

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

تم طرح androidx.compose.material:material-*:1.4.0-beta01. يحتوي الإصدار 1.4.0-beta01 على عمليات التنفيذ هذه.

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

  • يتم إصلاح المشكلة المتمثلة في عدم استهلاك pullRefresh للسرعة، ما أدى إلى عرض تمرير زائد. تم أيضًا تغيير توقيع واجهة برمجة التطبيقات لـ onRelease lambda في Modifier.pullRefresh لعرض قيمة عائمة للسرعة الاستهلاكية (I7db65، b/266874741).
  • تمت استعادة السمة getter LocalMinimuTouchTargetEnforcement وضع علامة عليها تشير إلى أنّها متوقفة وإعادة التوجيه إلى LocalMinimumInteractiveComponentEnforcement. (I60dd5)

الإصدار 1.4.0-alpha05

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

تم طرح androidx.compose.material:material-*:1.4.0-alpha05. يحتوي الإصدار 1.4.0-alpha05 على هذه عمليات التنفيذ.

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

  • تم إصلاح مشكلة تمثَّلت في احتساب حالة ModalBottomSheetLayout's HalfExpanded بشكل غير صحيح وظهور ورقة البيانات وكأنها عائمة. (I8c615، b/265610459)
  • تم إصلاح خطأ في "ModalBottomSheetLayout" كان يؤدي إلى تعطُّل ورقة البيانات عند الانتقال من الحالة المخفية إلى الحالة المرئية في بعض الحالات. (Ia9265، b/265444789)

الإصدار 1.4.0-alpha04

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

تم طرح androidx.compose.material:material-*:1.4.0-alpha04. يحتوي الإصدار 1.4.0-alpha04 على هذه عمليات التنفيذ.

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

  • تمت إضافة البيانات في سمة دلالية واحدة (IsContainer) على مساحات العرض. سيتم استخدام هذه السمة في تغيير لاحق يحدد ترتيب الاجتياز بناءً على المعنى الدلالي لعناصر مثل الأسطح. (I63379)
  • وضع علامة على الدالة snapTo في الدرج كواجهة برمجة تطبيقات غير تجريبية. (Ib9c18، b/261425368)
  • تمت إضافة مَعلمة لون المسار لمؤشرات التقدّم الدائرية، ومَعلمة الحدّ الأقصى للضغط لكل من مؤشرات التقدّم الدائرية والخطية. (Ie668c، وb/216325962، وb/222964817)
  • تمت إعادة تسمية ModalBottomSheetState وModalBottomSheetState.Saver وconfirmStateChange لـ rememberModalBottomSheetState إلى confirmValueChange. (Ib48d1)
  • المزيد من قابلية إدخال القيم الفارغة للدوال المخفية المتوقّفة نهائيًا (Ibf7b0)
  • إضافة Modifier.minimumInteractiveComponentSize ويمكن استخدامه للاحتفاظ بحجم 48.dp على الأقل لتمييز تفاعلات اللمس إذا كان حجم العنصر أصغر. (I33f58، b/258495559)
  • تم تضمين التغييرات في واجهات برمجة التطبيقات القابلة للتمرير السريع في ModalBottomSheetLayout. لم تعُد قيمة animateTo في ModalBottomSheetState مَعلمة animationSpec، وأصبحت الآن offset التي تم عرضها قابلة للقيم الفارغة. يمكنك استخدام requireOffset لطلب offset. (Ia2e79)

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

  • يبلغ الحد الأقصى لعرض ورقة بيانات ModalBottomSheetLayout الآن 640 وحدة بكسل مستقلة الكثافة. (I71a4f، b/234927577)
  • تم إصلاح المشكلة المتمثلة في عدم تحديث rememberPullRefreshState لـ refreshThreshold وrefreshingOffset بمرور الوقت. (Ifed10، b/263159832)
  • تم ربط التقدم المحرز في مؤشرات التقدم بشكل صحيح بنطاقه المتوقع. (I8a7eb، b/262262727)
  • إذا لم يتلقَ ModalBottomSheetState أي علامات ارتساء حتى الآن، سيتم تعديل currentValue بدون صورة متحركة عند استدعاء snapTo أو animateTo بدلاً من طرح استثناء. (I2c91b)
  • تم إصلاح حالة التفعيل في تنفيذ المادة 2 FilterChip. (Id326a، b/261329817)
  • تم إصلاح الخطأ الذي كان يؤدي إلى تعطُّل "ModalBottomSheetLayout" عند تغيير القيمة إلى "HalfExpanded" عند التبديل من الوضع العمودي إلى الوضع الأفقي. يُرجى التأكّد من إدخال initialValue الصحيح، من خلال التحقّق من الإعدادات على سبيل المثال. (Ie8df7، b/182882364)
  • تم إصلاح مشكلة تعطُّل ModalBottomSheetLayout إذا كان محتوى ورقة البيانات فارغًا. تسمح ميزة ModalBottomSheetLayout الآن بمحتوى ورقة البيانات الفارغة. إذا كان محتوى ورقة البيانات فارغًا، ستظهر الحالة "مخفية" فقط. (Ic2288، وb/200980998، وb/216693030)

مشكلة معروفة

  • عند التحديث من androidx.compose.foundation:1.4.0-alpha03 إلى androidx.compose.foundation:1.4.0-alpha04، قد يظهر لك الخطأ java.lang.NoSuchFieldError. إليك المكان الذي تم الإبلاغ فيه عن المشكلة في الأصل. تم إرسال إصلاح وسيكون متاحًا في تحديث Compose التالي. لحلّ هذه المشكلة، عليك تحديث مكتبتَي androidx.compose.material وandroidx.compose.material3 إلى أحدث إصدار(1.1.0-alpha04) أو الرجوع إلى إصدار سابق من androidx.compose.foundation إلى 1.4.0-alpha03.

الإصدار 1.4.0-alpha03

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

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

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

  • إضافة تعليق توضيحي @JvmDefaultWithCompatibility (I8f206)
  • تم تضمين التغييرات في واجهات برمجة تطبيقات Swipeable في ModalDrawer. تم استبدال animateTo في DrawerState بالطريقتين open وclose وأصبحت الإزاحة قابلة للقيم الآن. استخدِم requireOffset لطلب الإزاحة. (I3de9e)
  • تمت إضافة واجهة برمجة تطبيقات Modifier API لطلب بحث عن معلومات التنقّل الخاصة بالأجهزة الأصلية. (I2ba9d، b/203141462)
  • يتم استخدام هذه البيانات في Clickable لتأخير تفاعلات الضغط بشكل صحيح، عندما يمكن أن تتحوّل الإيماءات إلى أحداث تمرير.
  • تم إصلاح مشكلة "Clickables" التي لا تؤخّر الموجات بشكل صحيح، عند استخدامها داخل Scrollable ViewGroup.
  • تم تعديل "الأدراج" و"جداول بيانات Google" لتأخير الضغطات بشكل صحيح في حال تحولت الإيماءات إلى أحداث تمرير.

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

  • تم إصلاح المشكلة المتمثلة في احتمال توقُّف PullRefreshIndicator بعد استدعاء onRefresh، في حال عدم تغيير حالة إعادة التحميل إلى "صحيح". (Ie2416، b/248274004)

التحديثات المتعلقة بالاعتمادية

  • تعتمد واجهة مستخدم Compose ومواد Compose الآن على Lifecycle 2.5.1. (I05ab0، b/258038814)

الإصدار 1.4.0-alpha02

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

تم طرح androidx.compose.material:material-*:1.4.0-alpha02. يحتوي الإصدار 1.4.0-alpha02 على هذه عمليات التنفيذ.

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

  • يتم الآن قبول PointerEventPass في awaitFirstDown وwaitForUpOrCancellation لتوفير مزيد من المرونة. (I7579a، b/212091796)
  • تمت إضافة المعلمة minLines إلى نص المادة وTextField وOutlinedTextField، ما يسمح بضبط الحد الأدنى لارتفاع المكوِّن من حيث عدد الأسطر (I4af1d)
  • تمت إضافة المَعلمة minLines إلى BasicText وBasicTextField. تسمح بتعيين الحد الأدنى لارتفاع هذه العناصر القابلة للإنشاء من حيث عدد الأسطر (I24294، b/122476634)

الإصدار 1.4.0-alpha01

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

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

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

  • تمت إضافة طريقة جديدة "awaitEachGesture()" لأدوات رصد الإيماءات. وهي تعمل بشكل مشابه لـ forEachGesture()، غير أنّ حلقة التكرار على الإيماءات تعمل بالكامل داخل AwaitPointerEventScope وبالتالي لا يمكن فقدان الأحداث بين التكرارات.
  • تم إيقاف forEachGesture() نهائيًا لصالح awaitEachGesture() لأنّه يتيح فقدان الأحداث بين الإيماءات. (Iffc3f ، b/251260206)

الإصدار 1.3

الإصدار 1.3.1

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

تم طرح androidx.compose.material:material-*:1.3.1. يحتوي الإصدار 1.3.1 على عمليات الالتزام هذه.

الإصدار 1.3.0

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

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

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

تغيير قد يؤدي إلى كسر السلوك

  • تم تقليل الحد الأقصى للارتفاع المسموح به في مربّعات الحوار والنوافذ المنبثقة إلى 8dp.

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

  • أضف مكوِّن السحب لإعادة التحميل إلى Compose (I29168).
  • غيِّر اسم المَعلمة من قيم إلى قيمة في RangeSlider (I3b79a).

الإصدار 1.3.0-rc01

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

تم طرح androidx.compose.material:material-*:1.3.0-rc01. يحتوي الإصدار 1.3.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.3.0-beta03

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

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

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

  • إضافة مكوِّن سحب لإعادة التحميل إلى Compose (I29168)

الإصدار 1.3.0-beta02

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

تم طرح androidx.compose.material:material-*:1.3.0-beta02. يحتوي الإصدار 1.3.0-beta02 على عمليات التنفيذ هذه.

لم يتم إجراء أي تغييرات منذ الإصدار 1.3.0-beta01.

الإصدار 1.3.0-beta01

24 آب (أغسطس) 2022

تم طرح androidx.compose.material:material-*:1.3.0-beta01. يحتوي الإصدار 1.3.0-beta01 على عمليات التنفيذ هذه.

تغيير قد يؤدي إلى كسر السلوك

تم تقليل الحد الأقصى للارتفاع المسموح به في مربّعات الحوار والنوافذ المنبثقة إلى 8dp.

تم تقليل الحد الأقصى المسموح به للارتفاع لمربعات الحوار والنوافذ المنبثقة في "إنشاء" من 30dp إلى 8dp. يؤثر هذا التغيير في النوافذ المنبثقة ومربّعات الحوار المخصصة للمواد وواجهة المستخدم. تم إجراء هذا التغيير للتخفيف من حدوث خطأ في تسهيل الاستخدام على إصدارات Android الأقدم من S، والتأكّد من أنّ خدمات تسهيل الاستخدام في هذه النوافذ يمكنها التفاعل مع المحتوى داخل مربّع الحوار أو النافذة المنبثقة.

لن يؤثر هذا التغيير عليك إلا في حال إنشاء مربّع حوار مخصّص أو تنفيذ نافذة منبثقة مع ضبط مسقط رأسي على مستويات أعلى من 8 بكسل مستقل الكثافة (dp). يمكنك خفض ارتفاع مربع الحوار أو النافذة المنبثقة. إذا كنت بحاجة إلى إيقاف هذا السلوك الجديد، ننصحك بإنشاء مربّع حوار أو نافذة منبثقة تتضمّن مجموعة المسقط الرأسي المطلوبة. لا ننصح بتنفيذ هذا الإجراء، لأنّ ميزات تسهيل الاستخدام قد تتأثّر سلبًا، وعلى المطوِّر التأكّد من أنّ الجزء السفلي من مربّع الحوار أو النافذة المنبثقة قابل للتفاعل والقراءة من قِبل خدمات تسهيل الاستخدام.

الإصدار 1.3.0-alpha03

10 آب (أغسطس) 2022

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

الإصدار 1.3.0-alpha02

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

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

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

  • حلّ مشكلة واحدة (AnimatedVisibility) متعلّقة بـ FloatingActionButton في Scaffold (I3a0ae، b/224005027)

الإصدار 1.3.0-alpha01

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

تم طرح androidx.compose.material:material-*:1.3.0-alpha01. يحتوي الإصدار 1.3.0-alpha01 على هذه عمليات التنفيذ.

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

  • تغيير اسم المَعلمة من قيم إلى قيمة في RangeSlider (I3b79a)

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

  • يُرجى تعديل نموذج الشارة لتقديم وصف أكثر وضوحًا للمحتوى. (I10b9d)

الإصدار 1.2

الإصدار 1.2.1

10 آب (أغسطس) 2022

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

الإصدار 1.2.0

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

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

الإصدار 1.2.0-rc03

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

تم طرح androidx.compose.material:material-*:1.2.0-rc03. يحتوي الإصدار 1.2.0-rc03 على هذه عمليات التنفيذ.

  • لم يتم إجراء أي تغييرات منذ 1.2.0-rc02.

الإصدار 1.2.0-rc02

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

تم طرح androidx.compose.material:material-*:1.2.0-rc02. يحتوي الإصدار 1.2.0-rc02 على هذه عمليات التنفيذ.

الإصدار 1.2.0-rc01

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

تم طرح androidx.compose.material:material-*:1.2.0-rc01. يحتوي الإصدار 1.2.0-rc01 على هذه عمليات التنفيذ.

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

  • يتم الآن إنشاء الواجهات في مكتبات الإنشاء باستخدام طرق الواجهة التلقائية jdk8 (I5bcf1).

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

  • "تعديل شارة" مع علامة تبويب رمز بادئة لإضافة شارة إلى التصنيف بدلاً من الرمز (I90993)

الإصدار 1.2.0-beta03

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

تم طرح androidx.compose.material:material-*:1.2.0-beta03. يحتوي الإصدار 1.2.0-beta03 على هذه الالتزامات.

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

  • تم إصلاح الخطأ المتمثل في رسم تطبيق "BottomSheetScaffold" فوق ظل شريط التطبيق العلوي. يأخذ BottomSheetScaffold الآن أيضًا حالة ورقة البيانات في الاعتبار عند وضع Snackbars: في الحالة المصغّرة، يتم وضع Snackbars فوق ورقة البيانات وFAB. في الحالة الموسّعة، يتم تثبيت Snackbars في أسفل الورقة. (Ia80b5، b/187771422)

الإصدار 1.2.0-beta02

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

تم طرح androidx.compose.material:material-*:1.2.0-beta02. يحتوي الإصدار 1.2.0-beta02 على عمليات التنفيذ هذه.

الإصدار 1.2.0-beta01

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

تم طرح androidx.compose.material:material-*:1.2.0-beta01. يحتوي الإصدار 1.2.0-beta01 على عمليات التنفيذ هذه.

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

  • هذا هو أول إصدار تجريبي من 1.2!

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

  • تمت إعادة تسمية "TextFieldDefaults.BorderStroke" القابل للإنشاء الذي يرسم حدًا في OutlinedTextField إلى "TextFieldDefaults.BorderBox". (I5f295)

الإصدار 1.2.0-alpha08

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

تم طرح androidx.compose.material:material-*:1.2.0-alpha08. يحتوي الإصدار 1.2.0-alpha08 على هذه عمليات التنفيذ.

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

  • تم إيقاف الاستهلاك الجزئي (الموضع أو الموضع) نهائيًا في PointerInputChange. ويمكنك استخدام consume() لاستهلاك التغيير بالكامل. يمكنك استخدام السمة isConsumed لتحديد ما إذا كان شخص آخر قد استخدم التغيير من قبل أم لا.
  • يصنع PointerInputChange::copy() الآن نسخة سطحية. يعني ذلك أنّه سيتم استهلاك نُسخ من PointerInputChange بعد استهلاك إحدى النُسخ. إذا أردت إنشاء PointerInputChange غير مرتبطة، استخدِم الدالة الإنشائية بدلاً منها. (Ie6be4، b/225669674)

الإصدار 1.2.0-alpha07

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

تم طرح androidx.compose.material:material-*:1.2.0-alpha07. يحتوي الإصدار 1.2.0-alpha07 على هذه عمليات التنفيذ.

الإصدار 1.2.0-alpha06

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

تم طرح androidx.compose.material:material-*:1.2.0-alpha06. يحتوي الإصدار 1.2.0-alpha06 على هذه عمليات التنفيذ.

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

  • تعديلات على Card API القابلة للنقر لمتابعة التغييرات في Surface API (I56bcb)
  • تعديلات على Material 2 Surface API تضيف وظائف إضافية عند التحميل الزائد على الأسطح القابلة للاختيار والتبديل (Ifcca5)

الإصدار 1.2.0-alpha05

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

تم طرح androidx.compose.material:material-*:1.2.0-alpha05. يحتوي الإصدار 1.2.0-alpha05 على هذه عمليات التنفيذ.

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

  • أصبح الوضع "LazyVerticalGrid" و"LazyHorizontalGrid" ثابتًا الآن. (I307c0)
  • تم نقل LazyVerticalGrid/LazyHorizontalGrid وجميع واجهات برمجة التطبيقات ذات الصلة إلى الحزمة الفرعية grid. يُرجى تعديل عمليات الاستيراد من androidx.compose.foundation.lazy إلى androidx.compose.foundation.lazy.grid. (I2d446، b/219942574)
  • تم التراجع عن التغيير السابق الذي كان يعتمد على الملف الشخصي فقط WindowInsetsControllerCompat، ومرة أخرى تتطلب نافذة وهي مطلوبة لإدارة بعض علامات النوافذ. منهي العمل به ViewCompat.getWindowInsetsController لصالح WindowCompat.getInsetsController للتأكّد من أنّ النافذة الصحيحة هي (على سبيل المثال، عندما تكون طريقة العرض في مربع حوار). (I660ae، b/219572936)
  • النص:يتم إيقاف includeFontPadding الآن تلقائيًا. تشير رسالة الأشكال البيانية تتم معالجة مشاكل اقتصاص المحتوى الناتجة عن includeFontPadding=false. وينبغي ألا يحدث أي اقتصاص للنصوص الطويلة. (I31c84، b/171394808)
  • تمت إضافة واجهة برمجة تطبيقات LazyVerticalGrid جديدة لتحديد الأحجام المتقاطعة (I17723).

الإصدار 1.2.0-alpha04

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

تم طرح androidx.compose.material:material-*:1.2.0-alpha04. يحتوي الإصدار 1.2.0-alpha04 على هذه عمليات التنفيذ.

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

  • Add support for filter chips (I39a6e، b/192585545)
  • تمت إضافة TextFieldDecorationBox و OutlinedTextFieldDecorationBox يتم استخدامها مع "BasicTextField" في إنشاء حقل نصي مخصص بناءً على نص التصميم المتعدد الأبعاد الحقول ولكن مع خيارات أكثر للتخصيص.
  • تم توفير طريقة لضبط المساحات المتروكة الأفقية والعمودية في الحقول النصية. (I8c9f1 وb/203764564 وb/191543915 وb/189971673 وb/183136600 وb/179882597 وb/16803)
  • تمت إضافة ComposableTarget وComposableTargetMarker ComposableOpenTarget التي تسمح بالإبلاغ عن وقت التجميع تسمى الدالة القابلة للإنشاء استهداف تطبيق لم يكن مصممة للاستخدام.

    في معظم الحالات، يمكن أن يتم استنتاج التعليقات التوضيحية بواسطة نافذة الإنشاء المكون الإضافي لبرنامج التحويل البرمجي، وبالتالي ينبغي أن يكون استخدام هذه التعليقات التوضيحية مباشرة نادر . تشمل الحالات التي لا يمكن استنتاجها إنشاء باستخدام تطبيق مخصص ودوال مجردة قابلة للإنشاء (مثل والحقول أو المتغيرات العمومية لامدا قابلة للإنشاء (يتم استنتاج المتغيرات والمعلمات المحلية) أو عند استخدام ComposeNode أو دوال ذات صلة قابلة للإنشاء.

    بالنسبة إلى التطبيقات المخصصة، تُستخدم الدوال القابلة للإنشاء التي تستدعي يجب على ComposeNode أو ReusableComposeNode إضافة التعليق التوضيحي CompoableTarget للدالة وأي أنواع معلمات lambda القابلة للإنشاء. ومع ذلك، يوصى لإنشاء تعليق توضيحي قد تمت إضافة تعليقات توضيحية إليه ComposableTargetMarker ثم استخدام التعليق التوضيحي الذي تم وضع علامة عليه بدلاً من ComposableTarget مباشرةً. تعليق توضيحي قابل للإنشاء تم وضع علامة ComposableTargetMarker على أنه يعادل ComposbleTarget مع اسم السمة المؤهل بالكامل الفئة باعتبارها معلمة applier. للحصول على مثال على استخدام ComposableTargetMarker يُرجى الاطّلاع على anroidx.compose.ui.UiComposable. (I38f11)

الإصدار 1.2.0-alpha03

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

تم طرح androidx.compose.material:material-*:1.2.0-alpha03. يحتوي الإصدار 1.2.0-alpha03 على هذه عمليات التنفيذ.

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

الإصدار 1.2.0-alpha02

26 يناير 2022

تم طرح androidx.compose.material:material-*:1.2.0-alpha02. يحتوي الإصدار 1.2.0-alpha02 على عمليات التنفيذ هذه.

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

  • تمت إضافة NonRestartableComposable إلى الطرق التي تتضمّن أحمالاً زائدة. الأساليب الحالية بدون منطق معقد. يؤدي هذا إلى تقليل برنامج التجميع عمليات فحص للمذكرة التي تم إنشاؤها (تساوي) لجميع المعلمات التي في الدالة الداخلية التي تسمى. (I90490)
  • إضافة إمكانية استخدام شريحة الإجراء (I07100 وb/192585545)

الإصدار 1.2.0-alpha01

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

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

التحديثات المتعلقة بالاعتمادية

  • تعتمد الآن على لغة 1.6.10 بلغة Kotlin.

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

  • يتضمّن ModalBottomSheetState الآن علامة isSkipHalfExpanded. ويمكن ضبط هذه السمة من خلال الدالة الإنشائية أو تعديلها لاحقًا من خلال ضبط السمة isSkipHalfExpanded في ModalBottomSheetState على true. يؤدي تعديل قيمة isSkipHalfExpanded إلى إعادة تركيب ورقة البيانات. (I18b86، b/186669820)

الإصدار 1.1

الإصدار 1.1.1

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

تم طرح androidx.compose.material:material-*:1.1.1. يحتوي الإصدار 1.1.1 على عمليات الالتزام هذه.

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

  • إصلاح NullPointerException في androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059، b/206677462)
  • إصلاح العطل الذي يسببه محتوى الحافظة أثناء القراءة من الحافظة على Android. (I06020، b/197769306)
  • تم إصلاح اليمين من اليسار في LazyVerticalGrid (aosp/1931080، b/207510535)

الإصدار 1.1.0

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

تم طرح androidx.compose.material:material-*:1.1.0. يحتوي الإصدار 1.1.0 على عمليات الالتزام هذه.

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

  • دعم ثابت لتأثير التمرير الزائد في Android 12
  • تحسينات على حجم مساحة اللمس
  • يُرجى العلم أنّه في ما يتعلّق بـ Compose 1.0، ستعمل مكونات التصميم المتعدد الأبعاد على توسيع مساحة التصميم الخاصة بها لاستيفاء إرشادات تسهيل استخدام المواد من أجل حجم هدف اللمس. مثلاً، سيتم توسيع مساحة اللمس المستهدفة للزر إلى حد أدنى للحجم يبلغ 48x48 بكسل مستقل الكثافة، حتى إذا ضبطت حجم الزر ليكون أصغر. يؤدي ذلك إلى مواءمة مادة Compose مع سلوك مكونات التصميم المتعدد الأبعاد نفسه، ما يوفّر سلوكًا ثابتًا إذا مزجت بين طرق العرض و"الإنشاء". ويضمن هذا التغيير أيضًا استيفاء الحدّ الأدنى من متطلبات إمكانية الوصول إلى مساحة اللمس عند إنشاء واجهة المستخدم باستخدام مكوّنات "مواد إنشاء المحتوى".
  • دعم ثابت لـ شريط التنقل
  • ترقية عدد من واجهات برمجة التطبيقات التجريبية سابقًا إلى إصدار مستقر
  • الدعم للإصدارات الأحدث من Kotlin

الإصدار 1.1.0-rc03

26 يناير 2022

تم طرح androidx.compose.material:material-*:1.1.0-rc03. يحتوي الإصدار 1.1.0-rc03 على هذه عمليات التنفيذ.

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

تجدر الإشارة إلى أنه في ما يتعلق بـ Compose 1.0، ستعمل مكونات Material على توسيع مساحة التخطيط الخاصة بها لتلبي إرشادات إمكانية الوصول Touch target. مثلاً، سيتم توسيع مساحة اللمس المستهدفة للزر إلى حد أدنى للحجم يبلغ 48x48 بكسل مستقل الكثافة، حتى إذا ضبطت حجم الزر ليكون أصغر. يؤدي ذلك إلى مواءمة مادة Compose مع سلوك مكونات التصميم المتعدد الأبعاد نفسه، ما يوفّر سلوكًا ثابتًا إذا مزجت بين طرق العرض و"الإنشاء". ويضمن هذا التغيير أيضًا استيفاء الحدّ الأدنى من متطلبات إمكانية الوصول إلى مساحة اللمس عند إنشاء واجهة المستخدم باستخدام مكوّنات "مواد إنشاء المحتوى".

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

  • تمت إضافة معلومات تصحيح أخطاء أفضل لأداة فحص التنسيق عند فحص الحدّ الأدنى لمفاتيح التعديل المستهدَفة. (aosp/1955036)

الإصدار 1.1.0-rc01

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

تم طرح androidx.compose.material:material-*:1.1.0-rc01. يحتوي الإصدار 1.1.0-rc01 على هذه عمليات التنفيذ.

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

الإصدار 1.1.0-beta04

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

تم طرح androidx.compose.material:material-*:1.1.0-beta04. يحتوي الإصدار 1.1.0-beta04 على عمليات التنفيذ هذه.

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

  • تم التعديل للتوافق مع لغة "1.6.0" بلغة Kotlin.

الإصدار 1.1.0-beta03

17 تشرين الثاني (نوفمبر) 2021

تم طرح androidx.compose.material:material-*:1.1.0-beta03. يحتوي الإصدار 1.1.0-beta03 على هذه الالتزامات.

الإصدار 1.1.0-beta02

3 تشرين الثاني (نوفمبر) 2021

تم طرح androidx.compose.material:material-*:1.1.0-beta02. يحتوي الإصدار 1.1.0-beta02 على عمليات التنفيذ هذه.

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

  • لن تتأخر "الأمواج" والمؤشرات الأخرى الآن إلا إذا كانت داخل حاوية Modifier.scrollable() ، بدلًا من أن تتأخر دائمًا بسبب حدث عطل. (Ibefe0، b/203141462)

الإصدار 1.1.0-beta01

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

تم طرح androidx.compose.material:material-*:1.1.0-beta01. يحتوي الإصدار 1.1.0-beta01 على عمليات التنفيذ هذه.

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

  • أصبحت التموّجات تتيح الآن حالات التمرير والتركيز، وبالتالي سيؤدي تمرير مؤشّر الماوس أو التركيز على مكوّن، مثل "زر"، إلى عرض تراكب الحالة الصحيحة.

الإصدار 1.1.0-alpha06

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

تم طرح androidx.compose.material:material-*:1.1.0-alpha06. يحتوي الإصدار 1.1.0-alpha06 على هذه عمليات التنفيذ.

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

  • تمت إضافة أحمال زائدة أقل من الأطفال لتنسيق "التنسيق"، مع تحسين الكفاءة (Ib0d9a).
  • تنفيذ ExposedDropdownMenu استنادًا إلى ExposedDropdownMenuBox مع وجود TextField وDropdownMenu بداخلها (If60b2)
  • تمت إضافة dismissOnOutsideClick إلى PopupProperties، بدلاً من dismissOnClickOutside الذي تم إيقافه نهائيًا. تتلقى الخاصية الجديدة موضع النقر وحدود علامة الارتساء، ما يوفّر إمكانية تحكّم أكثر دقة لتحديد ما إذا كان يجب استدعاء onReceivedRequest أم لا. فعلى سبيل المثال، قد يكون هذا مفيدًا لمنع إغلاق الإعلان الثابت بسبب اللمسات على المرتكز.
    • تمت إضافة updateAndroidWindowManagerFlags إلى PopupProperties، ما يوفّر مستوى تحكّم منخفض في العلامات التي يتم تمريرها من خلال النافذة المنبثقة إلى Android WindowManager. ستكون معلمة lambda هي العلامات المحسوبة من قيم PopupProperties التي ينتج عنها علامات WindowManager: على سبيل المثال يمكن التركيز عليه. ستكون نتيجة دالة lambda هي العلامة النهائية التي سيتم تمريرها إلى Android WindowManager. بشكلٍ تلقائي، تترك updateAndroidWindowManagerFlags العلامات المحسوبة من المعلّمات بدون تغيير. ويجب استخدام واجهة برمجة التطبيقات هذه بحذر، فقط في الحالات التي يكون فيها للنافذة المنبثقة متطلبات سلوك محدّدة جدًا. (I6e9f9)

الإصدار 1.1.0-alpha05

29 أيلول (سبتمبر) 2021

تم طرح androidx.compose.material:material-*:1.1.0-alpha05. يحتوي الإصدار 1.1.0-alpha05 على هذه عمليات التنفيذ.

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

  • تتم إضافة الحدّ الأدنى لحجم ناحية اللمس المستهدفة لمكوّنات Material التي لا تحتوي على مساحة لمس يمكن الوصول إليها. لأنّ ذلك يضيف مسافات إضافية حول المكوّنات للتأكّد من أنّها تضم مساحة لمس كبيرة بما يكفي، ما قد يؤدي إلى تغيير واجهات المستخدم الحالية التي تفترض أنّ حجم هذه المكوّنات هو حجمها المرئي، ولا يأخذ في الاعتبار حجم مساحة اللمس. يمكنك استخدام تركيبة LocalMinimumTouchTargetEnforcement التجريبية على الجهاز لإيقاف هذا السلوك على مستوى التدرّج الهرمي، ولكن الهدف منه هو أن يكون بمثابة منفذ هروب مؤقت أثناء تعديل واجهات المستخدم الحالية من أجل مراعاة الحد الأدنى الجديد للحجم. (I9b966، b/149691127، b/171509422)
  • تمت إضافة واجهة TextFieldColorsWithIcons التجريبية، لتوسيع نطاق TextFieldColors لتوفير InteractionSource إلى واجهة برمجة التطبيقات leadColor و لتغيير لون المسار. يمكّن هذا من تعديل مظهر TextField وفقًا لحالة التركيز. (I66923، b/198402662)

الإصدار 1.1.0-alpha04

15 أيلول (سبتمبر) 2021

تم طرح androidx.compose.material:material-*:1.1.0-alpha04. يحتوي الإصدار 1.1.0-alpha04 على هذه عمليات التنفيذ.

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

  • تم إيقاف performGesture وGestureScope، اللذَين تم ضبطهما على تم استبدالهما بـ performTouchInput وTouchInjectionScope. (Ia5f3f، b/190493367)
  • تمت إضافة touchBoundsInRoot إلى SemanticsNode تتضمّن الحد الأدنى لحجم ناحية اللمس المستهدفة، لكي يتمكّن المطوّرون ضمان أن تستوفي مساحات اللمس الحد الأدنى من ميزات تسهيل الاستخدام (I2e14b، b/197751214)

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

  • السماح للمقطع بتوسيع حدود مساحة اللمس إلى ما هو أبعد من ذلك منطقة المقطع لأغراض الحد الأدنى من مساحة اللمس. (I43e10، b/171509422)
  • تم تعديل العنصر Divider القابل للإنشاء إلى يجب مراعاة Dp.Hairline لمَعلمة السُمك لدعم رسم فواصل بكسل واحد بغض النظر عن كثافة العرض. (I16ffb، b/196840810)

الإصدار 1.1.0-alpha03

1 أيلول (سبتمبر) 2021

تم طرح androidx.compose.material:material-*:1.1.0-alpha03. يحتوي الإصدار 1.1.0-alpha03 على هذه عمليات التنفيذ.

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

  • تم تعديل سياسة ComposeAllowed التي تم تحديثها 1.1.0-alpha03 للاعتماد على لغة 1.5.30 في لغة Kotlin. (I74545)

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

  • تمت إضافة طريقة اختبار للحصول على الحدود المقطوعة. (I6b28e)
  • تمت إضافة الحدّ الأدنى لحجم ناحية اللمس المستهدفة إلى ViewConfiguration. للاستخدام في الدلالة وإدخال المؤشر لضمان سهولة الوصول. (Ie861c)

الإصدار 1.1.0-alpha02

18 آب (أغسطس) 2021

تم طرح androidx.compose.material:material-*:1.1.0-alpha02. يحتوي الإصدار 1.1.0-alpha02 على عمليات التنفيذ هذه.

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

  • إصلاح سلوك FastableState في حال وجود إزاحة التمرير ضمن خطأ تقريب إلى ارتساء. (I03d39، b/191993377)

الإصدار 1.1.0-alpha01

4 آب (أغسطس) 2021

تم طرح androidx.compose.material:material-*:1.1.0-alpha01. يحتوي الإصدار 1.1.0-alpha01 على عمليات التنفيذ هذه.

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

  • تم تعديل طريقة واحدة (DrawScope#drawImage) لـ تستهلك ساحات المصدر والوجهة استهلاك نوع تصفية اختياري . يفيد ذلك في هواتف Pixel الأعمال الفنية المعدّة لتقطيعها عند توسيع نطاقها لاستخدام رسومات بكسل تعديل BitmapPainter + الصور القابلة للإنشاء أيضًا استهلاك نوع تصفية اختياري مَعلمة (Ie4fb0، وb/180311607)
  • تمت إعادة تسمية BadgeBox إلى BadgedBox، وتغيير المَعلمات لقبول إنشاء الشارة. تمت إضافة مكوّن الشارة الذي يمثّل محتوى الشارة العادي لـ BadgedBox. (I639c6)
  • تمت إضافة مكوّن NavigationRail، ويمكنك الاطّلاع على المستندات والنماذج للحصول على معلومات الاستخدام (I8de77).

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

  • تمت إضافة نموذج NavigationRail بمحاذاة الجزء السفلي وتطبيق الكتالوج تجريبي. (I3cffc)
  • تتبع مربّعات الحوار الآن سلوك تحديد حجم المنصة. يمكنك ضبط usePlatformDefaultValue على "خطأ" لإلغاء هذا السلوك. (Iffaed، b/192682388)
  • تمت إضافة عرض توضيحي لشريط التنقّل إلى تطبيق الكتالوج. (I04960)
  • تمت إضافة عرض توضيحي للشارة إلى تطبيق الكتالوج. (If285d)

الإصدار 1.0

الإصدار 1.0.5

3 تشرين الثاني (نوفمبر) 2021

تم طرح androidx.compose.material:material-*:1.0.5. يحتوي الإصدار 1.0.5 على عمليات الالتزام هذه.

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

  • تم إصلاح مثيلات الحالة المستمدة من تتبُّع الأعطال. (aosp/1792247)

الإصدار 1.0.4

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

تم طرح androidx.compose.material:material-*:1.0.4. يحتوي الإصدار 1.0.4 على عمليات الالتزام هذه.

التحديثات المتعلقة بالاعتمادية

  • تم التعديل لكي تعتمد على 1.5.31 بلغة Kotlin.

الإصدار 1.0.3

29 أيلول (سبتمبر) 2021

تم طرح androidx.compose.material:material-*:1.0.3. يحتوي الإصدار 1.0.3 على عمليات الالتزام هذه.

التحديثات المتعلقة بالاعتمادية

  • تم التعديل لكي تعتمد على 1.5.30 بلغة Kotlin.

الإصدار 1.0.2

1 أيلول (سبتمبر) 2021

تم طرح androidx.compose.material:material-*:1.0.2. يحتوي الإصدار 1.0.2 على عمليات الالتزام هذه.

تم التعديل لإتاحة إصدار 1.0.2 لميزة Compose. لا تزال ميزة إنشاء 1.0.2 متوافقة مع لغة 1.5.21 بلغة Kotlin.

الإصدار 1.0.1

4 آب (أغسطس) 2021

تم طرح androidx.compose.material:material-*:1.0.1. يحتوي الإصدار 1.0.1 على عمليات الالتزام هذه.

التحديثات المتعلقة بالاعتمادية

  • تم التعديل لكي تعتمد على 1.5.21 بلغة Kotlin.

الإصدار 1.0.0

28 تموز (يوليو) 2021

تم طرح androidx.compose.material:material-*:1.0.0. يحتوي الإصدار 1.0.0 على عمليات التنفيذ هذه.

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

هذا هو أول إصدار ثابت من Compose. يُرجى الاطّلاع على مدوّنة إصدارات Compose الرسمية للحصول على مزيد من التفاصيل.

المشاكل المعروفة

  • إذا كنت تستخدم Android Studio Bumblebee Canary 4 أو AGP 7.1.0-alpha04/7.1.0-alpha05، قد يحدث العُطل التالي:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    لحلّ هذه المشكلة، عليك زيادة minSdkVersion مؤقتًا إلى 24 أو أكثر في ملف build.gradle. سيتم إصلاح هذه المشكلة في الإصدار التالي من Android Studio Bumblebee وAGP 7.1. (b/194289155)

الإصدار 1.0.0-rc02

14 يوليو 2021

تم طرح androidx.compose.material:material-*:1.0.0-rc02. يحتوي الإصدار 1.0.0-rc02 على عمليات التنفيذ هذه.

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

  • تتبع مربّعات الحوار الآن سلوك تحديد حجم المنصة. اضبط السمة usePlatformDefaultWidth على "خطأ" لإلغاء هذا السلوك. (Iffaed، b/192682388)

الإصدار 1.0.0-rc01

1 تموز (يوليو) 2021

تم طرح androidx.compose.material:material-*:1.0.0-rc01. يحتوي الإصدار 1.0.0-rc01 على هذه عمليات التنفيذ.

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

  • تمت إضافة المكوِّن BadgeBox، ويمكنك الاطّلاع على المستندات والنماذج للحصول على معلومات الاستخدام (I5e284).
  • تمت إعادة تسمية "useDefaultMaxWidth" في "PopupProperties" إلى "usePlatformDefaultWidth". (I05710)
  • يمكن لمربّعات الحوار الآن استخدام عرض الشاشة بالكامل. (I83929، b/190810877)
  • تمت إضافة تنفيذ شريط تمرير النطاق التجريبي (I2f4b3).

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

  • للتوافق مع مواصفات "التصميم المتعدد الأبعاد"، تم إيقاف استخدام لون الخطأ للتصنيف OutlinedTextField مع إدخال غير صالح للون التصنيف عند استخدام التصنيف كعنصر نائب. ويكون الخيار الأخير صحيحًا عندما لا يكون هناك نص إدخال في حقل النص ولا يكون التركيز على حقل النص. ونتيجة لهذا التغيير، تم أيضًا تغيير معنى المَعلمة error:Boolean في الدالة TextFieldColors.labelColor(): ستعرض الآن false حتى إذا كان الإدخال غير صالح في حال استخدام التصنيف كعنصر نائب. (I45f78)

الإصدار 1.0.0-beta09

16 حزيران (يونيو) 2021

تم طرح androidx.compose.material:material-*:1.0.0-beta09. يحتوي الإصدار 1.0.0-beta09 على هذه الالتزامات.

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

  • تمت إضافة معلَمة Shape إلى OutlinedTextField لتتمكن من تخصيص شكل الحدود (I8f39e وb/181322957)
  • تم تغيير TextOverflow إلى فئة مضمّنة. (I433af)

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

  • ستختفي Scrim في BottomDrawer وBackdropScaffold وModalBottomSheetLayout ثم يتم تمرير قيمة Color.Unspecified (I2d899 وb/182063309).

قواعد الملف الشخصي المضافة

يضيف هذا الإصدار قواعد الملف الشخصي إلى وحدات الإنشاء التالية (I14ed6):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • .androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime.
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • .androidx.compose.ui.util

ما هي قواعد الملف الشخصي؟

  • تم تحديد قواعد الملف الشخصي للمكتبة في ملف نصي baseline-prof.txt في src/main أو في دليل مكافئ. يحدد الملف قاعدة في كل سطر، حيث تكون القاعدة في هذه الحالة نمطًا للمطابقة مع الطرق أو الفئات في المكتبة. تعتبر بنية هذه القواعد جزءًا رئيسيًا من تنسيق الملف الشخصي ART الذي يمكن للمستخدمين قراءته، والذي يتم استخدامه عند استخدام adb shell profman --dump-classes-and-methods .... تتخذ هذه القواعد أحد الشكلين لاستهداف الطرق أو الفئات.

  • سيكون لقاعدة الطريقة النمط التالي:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • وسيكون لقاعدة الفئة النمط التالي:

    <CLASS_DESCRIPTOR>
    
  • تتضمّن <FLAGS> حرفًا واحدًا أو أكثر من الرموز H وS وP للإشارة إلى ما إذا كان يجب وضع علامة على هذه الطريقة على أنّها "سريعة" أو "بدء تشغيل" أو "ما بعد بدء التشغيل".

  • تمثّل السمة <CLASS_DESCRIPTOR> وصفًا للفئة التي تنتمي إليها الطريقة المستهدَفة. على سبيل المثال، يجب أن يكون للفئة androidx.compose.runtime.SlotTable واصف للقيمة Landroidx/compose/runtime/SlotTable;.

  • تمثّل السمة <METHOD_SIGNATURE> توقيع الطريقة وتتضمّن الاسم وأنواع المَعلمات وأنواع النتائج التي تتضمنها الطريقة. على سبيل المثال، تحتوي الطريقة fun isPlaced(): Boolean في LayoutNode على التوقيع isPlaced()Z.

  • يمكن أن تشتمل هذه الأنماط على أحرف بدل (** و* و?) لكي تشتمل قاعدة واحدة على طرق أو فئات متعددة.

ما هي وظيفة القواعد؟

  • تشير الطريقة التي تتضمّن العلامة H إلى أنّ هذه الطريقة "مهمة". وينبغي تجميعها مسبقًا.

  • تشير الطريقة التي تحمل العلامة S إلى أنّها طريقة يتم استدعاؤها عند بدء التشغيل، ويجب تجميعها مسبقًا لتجنُّب تكلفة التجميع وتفسير الطريقة في وقت بدء التشغيل.

  • تشير الطريقة التي تحمل العلامة P إلى أنّ هذه الطريقة يتم طلبها بعد بدء التشغيل.

  • تشير الفئة المتوفّرة في هذا الملف إلى أنّه يتم استخدامه أثناء بدء التشغيل ويجب تخصيصها مسبقًا في الذاكرة لتجنُّب تحمُّل تكلفة تحميل الفئة.

آلية العمل

  • يمكن للمكتبات تحديد هذه القواعد التي سيتم جمعها في عناصر AAR. عند إنشاء ملف APK يتضمّن هذه العناصر، يتم دمج هذه القواعد معًا ويتم استخدام القواعد المدمجة لإنشاء ملف شخصي ثنائي مكثّف خاص بحِزمة APK. ويمكن لـ ART بعد ذلك الاستفادة من هذا الملف الشخصي عند تثبيت APK على الأجهزة من أجل تجميع مجموعة فرعية محددة من التطبيق مسبقًا لتحسين أداء التطبيق، وخاصة عند التشغيل الأول. يُرجى العلم أنّ ذلك لن يؤثر في التطبيقات التي يمكن تصحيح الأخطاء بها.

الإصدار 1.0.0-beta08

2 حزيران (يونيو) 2021

تم طرح androidx.compose.material:material-*:1.0.0-beta08. يحتوي الإصدار 1.0.0-beta08 على عمليات التنفيذ هذه.

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

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

  • كسر السلوك: الآن تستهلك البطاقة النقرات، مما يؤدي إلى عدم توفر النقرات التي تتم إضافتها عبر Card(Modifier.clickable). يُرجى استخدام حِمل زائد تجريبي جديد لبطاقة تقبل onClick. (Ia8744، b/183775620)
    • تمت إضافة تحميل زائد جديد للبطاقة يعالج النقرات إلى جانب الوظائف الأخرى القابلة للنقر: المؤشر وInteractSource ومفعَّل أو غير مفعَّل. تعذّر استخدام بطاقة عادية غير قابلة للنقر مع Modifier.clickable لأنّ البطاقة لن تقضي بمؤشر التموج في تلك الحالات.
  • كسر السلوك: تستهلك مساحة العرض الآن النقرات، ما يجعل النقرات التي تتم إضافتها من خلال Surface(Modifier.clickable) بلا إجراءات. يُرجى استخدام حِمل زائد تجريبي جديد على Surface تقبل onClick. (I73e6c، b/183775620)
    • تمت إضافة حمل زائد جديد على Surface لمعالجة النقرات إلى جانب الوظائف الأخرى القابلة للنقر: المؤشر وInteractSource ومفعَّل أو غير مفعَّل. تعذّر استخدام سطح عادي غير قابل للنقر مع Modifier.clickable لأنّ السطح لن يقتطع إشارة التموج في تلك الحالات.

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

  • تم تحويل FabPosition إلى فئة مضمّنة من enum لإتاحة توسيع محتمل في المستقبل (I030fb).
  • إعادة ضبط استخدامات التعداد إلى الفئات المضمَّنة لتجنُّب بعبارات تتضمن عبارات شاملة عند إضافة قيم enum جديدة. (I2b5eb)
  • إضافة مهلة النقر إلى قابلة للنقر / قابلة للتبديل لمنع ظهور موج أثناء التمرير / السحب (Ia2704، b/168524931)
  • لم تعُد خصائص ContentDescription وText دلالات قيم فردية ولكن القوائم. يتيح ذلك دمجها كما هي بدلاً من ذلك التجميعات. وتم أيضًا تقديم واجهات برمجة تطبيقات اختبارية أفضل للاستفادة من هذه التغييرات (Ica6bf، b/184825850)
  • تم إيقاف Modifier.focusModifier() نهائيًا واستبداله بـ Modifier.focusTarget() (I6c860).
  • تم استبدال تعداد FocusState بواجهة FocusState (Iccc1a، وb/187055290).
  • تمت إزالة LocalRippleNativeRendering الآن لأنّ تنفيذ التموّج المدعوم بالعرض ثابت (I7fab3، b/188569367).

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

  • تم تغيير Modifier.onGloballyPositioned() للإبلاغ عن إحداثيات هذا التعديل في سلسلة مفاتيح التعديل، وليس إحداثيات التنسيق بعد تطبيق جميع مفاتيح التعديل. وهذا يعني أن ترتيب المعدِّلات يؤثر الآن في الإحداثيات التي سيتم الإبلاغ عنها. (Ieb67d، b/177926591)
  • تمت إضافة ملف تمهيدي لكتالوج Compose Material الحالي. (If9191)

الإصدار 1.0.0-beta07

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

تم طرح androidx.compose.material:material-*:1.0.0-beta07. يحتوي الإصدار 1.0.0-beta07 على عمليات التنفيذ هذه.

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

  • لم تعد بحاجة إلى استخدام طرق الإضافات للحصول على دعم المسار في ميزة "إنشاء التنقل" (I22beb، b/172823546)

الإصدار 1.0.0-beta06

5 أيار (مايو) 2021

تم طرح androidx.compose.material:material-*:1.0.0-beta06. يحتوي الإصدار 1.0.0-beta06 على هذه الالتزامات.

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

  • تم نقل بيانات تمويج لاستخدام RippleDrawable داخليًا على أجهزة Android. وهذا يعني أن الرسوم المتحركة المموجة ستحدث على RenderThread، ولذلك ستكون سلسة حتى عندما تكون سلسلة واجهة المستخدم قيد التحميل، كما هو الحال عند التنقل بين الشاشات. ولن يؤدي ذلك إلى تغيير سطح واجهة برمجة التطبيقات للموجات، ولكن قد تكون هناك تغييرات في السلوك نتيجة لهذا التغيير. للمساعدة في عملية نقل البيانات، تمت إضافة LocalRippleNativeRendering. قدِّم قيمة false إلى GenreLocal للرجوع إلى تنفيذ التموّج السابق داخل ChocolateLocalProvider. إنّ واجهة برمجة التطبيقات هذه مؤقتة وستتم إزالتها في المستقبل، لذا إذا واجهت مشاكل تؤدي إلى استخدام واجهة برمجة التطبيقات هذه، يُرجى الإبلاغ عن خطأ. (I902f8، b/168777351، b/183019123)
  • تمت إضافة واجهتَي برمجة تطبيقات لأدوات تسهيل الاستخدام "مجموعة معلومات" و"مجموعة معلومات عنصر" تسمحان بوضع علامة على المجموعة وعناصرها في الخدمات المخصصة لتسهيل الاستخدام (Id54ef وb/180479017).
  • تمت إضافة واجهة برمجة التطبيقات Accessibility API error التي تسمح بوضع علامة على عقدة تحتوي على إدخال غير صالح (I12997، b/180584804، b/182142737)

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

  • تم تعديل تنفيذ العناصر الداخلية في كتالوج Compose Material من: https://github.com/google/accompanist/pull/365. (I25dc3)
  • الصف & لم تعد عناصر العمود الثانوية التي لهاweight(fill = false) تجعل العنصر الرئيسي يملأ مساحة المحور الرئيسي المتاحة بالكامل. (Ied94d، وb/186012444، وb/184355105)

الإصدار 1.0.0-beta05

21 نيسان (أبريل) 2021

تم طرح androidx.compose.material:material-*:1.0.0-beta05. يحتوي الإصدار 1.0.0-beta05 على عمليات التنفيذ هذه.

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

  • تمت إضافة صور مربّعات للمكوّنات، وأداة اختيار المظاهر، وعناوين URL أكثر تحديدًا للقائمة إلى كتالوج Compose Material الحالي. (I9b58e)

الإصدار 1.0.0-beta04

7 نيسان (أبريل) 2021

تم طرح androidx.compose.material:material-*:1.0.0-beta04. يحتوي الإصدار 1.0.0-beta04 على عمليات التنفيذ هذه.

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

  • تغيير واجهة برمجة التطبيقات: لم تعُد حالة "DrawerState" توسِّع نطاق الحالة التجريبية لـ SuicaableState.
    • تغيير واجهة برمجة التطبيقات: تم الآن وضع علامة "تجريبي" على BottomDrawerState لمطابقة المكوِّن التجريبي BottomDrawer الحالي (I81114، b/181656094)
  • إعادة تسمية hideSoftwareKeyboard وshowSoftwareKeyboard في من SoftwareKeyboardController إلى hide() وshow() على التوالي.
    • توفير واجهة ChocolateLocal الكاملة LocalSoftwareControllerController، مع السماح بتعيينها (بشكل خاص مفيدة في الاختبارات) (I579a6)
  • تمت إضافة واجهة برمجة تطبيقات تسهيل الاستخدام LiveRegion. إذا تم وضع علامة على العقدة كمنطقة مباشرة، فإن خدمات إمكانية الوصول سيُعلِم المستخدم تلقائيًا بالتغييرات التي يتم إجراؤها (Idcf6f، وb/172590946)

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

  • تمت إضافة تطبيق كتالوج Compose Material إلى الوحدة الحالية. مفقودة حاليًا: صور تجانب المكوّنات، ومنتقي المظاهر (ستتم إضافتها في تغييرات المتابعة). (Ie7a94)

الإصدار 1.0.0-beta03

24 آذار (مارس) 2021

تم طرح androidx.compose.material:material-*:1.0.0-beta03. يحتوي الإصدار 1.0.0-beta03 على عمليات التنفيذ هذه.

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

  • تم إيقاف DefaultMonotonicFrameClock نهائيًا. إجراء المكالمات withFrameNanos أو Recomposer.runRecomposeAndApplyChanges بدون سيطرح "MonotonicFrameClock" الآن القيمة "IllegalStateException". (I4eb0d)
  • تمت إضافة LeadingIconTab واجهة برمجة تطبيقات جديدة لإتاحة عرض رمز ونص مضمّن في علامة تبويب. (I23267)

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

  • [بواسطة Jossi Wolf] يتم الآن تطبيق محتوى خانة الدرج في تطبيق "BottomDrawer". لا تطرح BottomDrawer قيمة IllegalStateException عندما يكون طول العنصر الرئيسي غير محدود. سيتم الآن فتح الدرج السفلي على حالته الموسّعة إذا كان أصغر من 50% من مساحة التخزين الرئيسية له. تم تعديل المستندات حول BottomDrawerState وModalBottomSheetLayoutState. تعرض الدالة BottomDrawerState#isOpen القيمة "صحيح" الآن إذا كانت في حالة مفتوحة أو موسّعة. (I87241)

الإصدار 1.0.0-beta02

10 آذار (مارس) 2021

تم طرح androidx.compose.material:material-*:1.0.0-beta02. يحتوي الإصدار 1.0.0-beta02 على عمليات التنفيذ هذه.

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

  • تمت إضافة مقطوعة موسيقية جديدة باللغة LocalSoftwareKeyboardController على الجهاز واجهة برمجة التطبيقات لاستبدال واجهة SoftwareKeyboardController السابقة في حقل النص. (I5951e، b/168778053)

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

  • فرض قيود على الاستخدام العلني لواجهات برمجة التطبيقات التجريبية (I6aa29 وb/174531520)
  • تم تغيير المحاذاة الأفقية التلقائية لكل من TopAppBar وBottomAppBar إلى Start، بما يتوافق مع الصف (Ib2dc7).
  • تمت إضافة وحدة جديدة وواجهة مستخدم نائبة لكتالوج Compose Material، وهو مدمج حاليًا في الإصدارات التجريبية الحالية لاختبار الدمج. (Idfcb3)
  • لم تعُد الإضافة "androidx.compose.ui:ui" تعتمد على AppCompat أو Fragment. إذا كنت تستخدم ComposeView في تطبيقك، وكنت تستخدم Fragment و/أو AppCompat، فتأكد من استخدام AppCompat 1.3 أو إصدار أحدث أو Fragment 1.3 أو إصدار أحدث. يجب توفير هذه الإصدارات لضبط مراحل النشاط ومالكي الحالة المحفوظة المطلوبين لـ ComposeView بشكل صحيح. (I1d6fa، وb/161814404)

الإصدار 1.0.0-beta01

24 شباط (فبراير) 2021

تم طرح androidx.compose.material:material-*:1.0.0-beta01. يحتوي الإصدار 1.0.0-beta01 على عمليات التنفيذ هذه.

هذا هو الإصدار الأول من الإصدار التجريبي من Compose 1.0.0.

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

  • تمت إعادة تسمية معدِّلات الحجم. تمت إعادة تسمية Modifier.width/height/size لتصبح مطلوبةwidth/requiredHeight/requiredSize. تمت إعادة تسمية Modifier.FavoriteDetails/FavoriteHeight/FavoriteSize إلى العرض/الارتفاع/الحجم. (I5b414)
  • imageResource وectResource هما الآن دالتان للإضافات على الأدوات المصاحبة لـ ImageBitmap وImageVector على التوالي. load{Image,Vector,Font}تم حذف وظائف المورد. (I89130)
  • لم تعد معدِّلات الحجم إلى الأساسيات تجريبية. (I15744)
  • تأكيدات dp التي تمت إزالتها (I798d2)
  • تمت إزالة معاودة الاتصال لـ SoftwareControllerController من كل النص التي سيتم استبدالها قريبًا بواجهة برمجة تطبيقات جديدة. (Iae869، b/168778053)
  • أصبحت الآن علامات إجراء التبديل ومربّع الاختيار وزر الاختيار. قابل للقيم الفارغة. تم تعديل نماذج مربّعات الاختيار القابلة للنقر في الصف لاستخدام هذا الجديدة. (If601b، وb/171819073)
  • تم استبدال InteractionState بـ [Mutable]InteractionSource
    • تؤدي الواجهات إلى إصدار / جمع أحداث التفاعل.
    • بدلاً من تمرير interactionState = remember { InteractionState() } إلى مكونات مثل Button وModifier.clickable()، استخدم interactionSource = remember { MutableInteractionSource() }.
    • بدلاً من: Interaction.Pressed in interactionState، يجب عليك استخدام وظائف الإضافة في InteractionSource، مثل InteractionSource.collectIsPressedAsState().
    • بالنسبة إلى حالات الاستخدام المعقّدة، يمكنك استخدام InteractionSource.interactions لمراقبة تدفق التفاعلات. راجع الوثائق والأمثلة لـ InteractionSource للحصول على مزيد من المعلومات.
    • (I85965، وb/152525426، وb/171913923، وb/171710801، وb/174852378)
  • إضافة واجهة AccessibilityMananger LocalAccessibilityMananger in ConfigureLocals (I53520)
  • تمت إزالة طرق LayoutCoordinates، ويمكنك استخدام الدالة بدلاً من السمة for positionInParent وboundsInParent (I580ed وb/169874631 وb/175142755)
  • يتوافق شريط التمرير الآن مع حالة التفعيل/الإيقاف (I6d56b، b/179793072)
  • إنشاء TextInputSession جديد لجلسات الإدخال من مكونات نصية منخفضة المستوى مثل CoreTextField. (I8817f، b/177662148)
  • AnimationEndreason.تمت إزالة انقطاع. سيتم طرح استثناء الإلغاء في حال انقطاع الصورة المتحركة. (I2cbbc، b/179695417)
  • تمت إزالة @ExperimentalRippleApi وتغيير RippleAlpha ليصبح فئة تحتوي على خصائص بدلاً من واجهة. (I6df7c)
  • تمت إضافة واجهة TextFieldColors لتمثيل الألوان المختلفة المستخدَمة في TextField وOutdTextField في حالات مختلفة. للتنفيذ التلقائي، يُرجى الاطّلاع على TextFieldDefaults.textFieldColors وTextFieldDefaults.outlinedTextFieldColors.
    • تمت إعادة تسمية مَعلمة isErrorValue داخل حقل Text وOutdTextField إلى isError. (I831f9، وb/171305338، وb/168004067)
  • إضافة معدِّل selectGroup يسمح بوضع علامة على مجموعة علامات التبويب أو أزرار الاختيار لأغراض تسهيل الاستخدام (Ie5c29)
  • إضافة LazyListState.animate scrollToItem

    تؤدي هذه الطريقة إلى الانتقال بشكل سلس إلى عنصر معيّن في القائمة. (I4bfd7)

  • تم تغيير اسم "ScrollableState.smoothScrollBy()" إلى "animateScrollBy()" تمت إعادة تسمية "LazyListState.snapToItemIndex()" إلى "scrollToItem()". تمت إعادة تسمية "ScrollState.smoothScrollTo()" إلى "animateScrollTo()" (I35ded).

  • يتم الآن التحقّق من صحة وقت التجميع لأي عناصر قابلة للإنشاء تم وضع علامة @ReadOnlyComposable عليها للتأكد من أنّها تُجري طلبات فقط إلى @ReadOnlyComposables الأخرى (I58961).

  • تمت إزالة واجهة برمجة تطبيقات TargetAnimation. (If47d1، وb/177457083)

  • يتم تمثيل موضع التمرير في Modifier.vertical scroll()/horizontal scroll() باستخدام Ints now (I81298).

  • طرق smoothScrollBy و scrollBy' تم تغيير الحزم إلى androidx.compose.foundation.gestures.* (I3f7c1، b/175294473)

  • تمت إعادة تسمية FlingConfig ليصبح FlingBehavior يتيح الآن تخصيص الرسوم المتحركة المعلّقة بدلاً من التراجع المحدد مسبقًا. (I02b86، b/175294473)

  • تمت إعادة تسمية معدِّلات الحجم. تمت إعادة تسمية Modifier.width/height/size لتصبح مطلوبةwidth/requiredHeight/requiredSize. تمت إعادة تسمية Modifier.FavoriteDetails/FavoriteHeight/FavoriteSize إلى العرض/الارتفاع/الحجم. (I5b414)

  • تمت إعادة تسمية defaultMinSizeConstraints إلى defaultMinSize. (I4eaae)

  • تم نقل التوجيه إلى حزمة الأساس. تم نقل أداة VelocirtTracker من ui.gesture إلى ui.input.pointer. (Iff4a8 وb/175294473)

  • drawerState.open() و drawerState.Close() يؤديان الآن إلى تعليق الدوال. استخدِم meetCoroutineScope() للحصول على نطاق المقطوعة الموسيقية ليتم استدعاؤها (I16f60, b/175294473).

  • تمت إعادة تسمية مقدّمي الخدمات إلى HeadlineLocalProvider.

    • لم تعد طريقة إنشاء المقطوعة الموسيقية تقبل معلَمة رئيسية، وتم إيقافها نهائيًا.
    • تم تحويل currentCompositeKeyHash إلى سمة مستوى أعلى قابلة للإنشاء بدلاً من دالة مستوى أعلى قابلة للإنشاء.
    • تم نقل GenreData وSurfaceGroup إلى مساحة الاسم androidx.compose.runtime.tooling
    • تم إنشاء واجهة ComposableLambda بدلاً من فئة خرسانة ولم تعد تحتوي على معلمات من النوع.
    • تم إنشاء واجهة ComposableLambdaN بدلاً من فئة خرسانية ولم تعد تحتوي على معلمات من النوع.
    • تم نقل الدالة sampleFlow إلى مساحة الاسم androidx.compose.runtime.
    • فطريقة دمج SnapshotMutationPolicy لم تعد تجريبية
    • تمت إزالة دالة clearRoots ذات المستوى الأعلى في @TestOnly. لم يعد من الضروري استخدامه.
    • تمت إزالة الدالتين keySourceInfoOf وresetSourceInfo. لم تعد ضرورية.
    • تمت إزالة Composer.collectKeySource Information. لم يعد من الضروري استخدامه.
    • تمت إزالة طرق isJOINedKey وjoinKeyLeft وjoinKeyRight. لم تعد ضرورية.
    • تم نقل العديد من واجهات برمجة التطبيقات ذات المستوى الأعلى وإعادة تنظيمها في ملفات مختلفة. وبسبب دلالات فئة الملف في Kotlin، سيؤدي ذلك إلى تعطيل التوافق الثنائي ولكن ليس التوافق مع المصدر، لذا من المفترض ألا يمثّل ذلك مشكلة لمعظم المستخدمين.
    • (I99b7d، b/177245490)
  • تمت إعادة صياغة Modifier.scrollable. وهي تستخدم الآن واجهة قابلة للتمرير بدلاً من فئة ScrollableController (I4f5a5 وb/174485541 وb/175294473).

  • يقبل Modifier.draggable الآن DraggableState بدلاً من lambda بسيطة. يمكنك إنشاء حالة من خلال rememberDraggableState { delta -> } للحصول على السلوك نفسه كالسابق (Ica70f، b/175294473).

  • ZoomableController.smoothScaleBy و ZoomableController.stopAnimation هي الآن دوال معلّقة. (I7f970، b/177457083)

  • تم حذف بعض واجهات برمجة التطبيقات التي تم إيقافها نهائيًا سابقًا (Ice5da، وb/178633932).

  • تم إجراء التغييرات التالية على Material API:

    • تمت إضافة مَعلمة contentPadding إلى Top/BottomAppBar للسماح بتخصيص المساحة المتروكة التلقائية.
    • المعلَمات المُعاد ترتيبها في BackdropScaffold لاتّباع إرشادات واجهة برمجة التطبيقات للمَعلمات المطلوبة قبل المَعلمات الاختيارية.
    • تم نقل المعلمة icon في Bottom NavigationItem ليكون بعد selected وonClick.
    • تمت إعادة تسمية المعلَمة alwaysShowLabels في Bottom NavigationItem إلى alwaysShowLabel.
    • تمت إعادة تسمية معلَمات bodyContent في بعض المكوّنات لتصبح content فقط.
    • تم إعادة ترتيب المعلمات في ButtonDefaults.buttonColors(). تجدر الإشارة إلى أنّه نظرًا لعدم تغيير نوع المَعلمات، لن يتسبب ذلك في حدوث خطأ في الرمز، لذا يُرجى التأكد من استخدام المَعلمات المُسَمّاة أو تعديل الترتيب يدويًا، وإلا لن يعمل الرمز كما كان في السابق.
    • تمت إضافة المَعلمة secondaryVariant إلى darkColors(). عادةً ما يكون هذا اللون هو نفسه اللون secondary في المظهر الداكن، ولكنّه تتم إضافته لتوفير المزيد من الاتّساق وتخصيص المحتوى.
    • تمت إزالة EliffationDefaults وanimateEliffation() من واجهة برمجة التطبيقات العامة نظرًا لعدم استخدامهما بشكل شائع أو الاستفادة منهما.
    • تمت إعادة تسمية onValueChangeEnd في Slider إلى onValueChangeFinished وجعله قابلاً للقيم الفارغة.
    • تمت إعادة تسمية المعلَمة text في Snackbar إلى content لتحقيق الاتساق.
    • تمت إضافة المَعلمة contentPadding إلى DropdownMenuItem للسماح بتخصيص المساحة المتروكة التلقائية وتم جعل content إضافة في RowScope.
    • تمت إعادة تسمية "ModalDrawerLayout" إلى "ModalDrawer".
    • تمت إعادة تسمية "BottomDrawerLayout" إلى "BottomDrawer".
    • (I1cc66)
  • يقبل BasicTextField الآن استخدام الفرشاة بدلاً من اللون لتخصيص أفضل (I83a36).

  • imageResource وectResource هما الآن دالتان للإضافات على الأدوات المصاحبة لـ ImageBitmap وImageVector على التوالي. load{Image,Vector,Font}تم حذف وظائف المورد. (I89130)

  • تم تغيير Indiization#createIndiction() إلى Indiction#rememberUpdatedIndiification(InteractionState) وإزالة معلمة InteractionState من IndiizationInstance#drawIndiATION(). يجب أن يكون InditionInstance مسؤولاً فقط عن رسم التأثيرات المرئية، وليس تشغيل الرسوم المتحركة / حالة الكتابة استجابةً لتغييرات InteractionState. يجب أن تتم هذه الصور المتحركة وعمليات كتابة الحالة ضمن rememberUpdatedIndication() بدلاً من ذلك. تم أيضًا تغيير المعلمة indication في Modifier.indication لتصبح معلَمة مطلوبة. (Ic1764، b/152525426)

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

  • تمت إضافة مقطوعة موسيقية جديدة من LocalSoftwareControlController على الجهاز. واجهة برمجة التطبيقات لاستبدال واجهة SoftwareboardController السابقة على حقل النص. (I658b6، b/168778053)

الإصدار 1.0.0-alpha12

10 شباط (فبراير) 2021

تم طرح androidx.compose.material:material-*:1.0.0-alpha12. يحتوي الإصدار 1.0.0-alpha12 على هذه عمليات التنفيذ.

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

  • يتطلب Modifier.pointerInput الآن تذكُّر المفاتيح للإشارة إلى عندما يجب إعادة تشغيل الكوروتين للكشف عن مدخلات المؤشر والتبعيات لديك. (I849cd)
  • تم وضع علامة BottomDrawerLayout وListItem كـ @experimentalMaterialApi (Id766e)
  • تمت إضافة PaddValues.Absolute ويمكن استخدامها في واجهات برمجة التطبيقات التي تقبل PaddingValues. (Ia5f30)
  • تم إيقاف onImeActionPerformed نهائيًا. يمكنك استخدام إجراءات لوحة المفاتيح بدلاً من ذلك (If0bbd وb/179071523)
  • من أجل مطابقة أفضل للتسمية باستخدام ImageBitmap وImageVector، تمّت إعادة تسمية ImagePainter ليصبح BitmapPainter إلى جانب VectorPainter. (Iba381، b/174565889)
  • Animatable.snapTo وAnimatable.stop هما الآن دالتان تعليق (If4288).
  • تم نقل ComponentActivity.setContent إلى استخدام androidx.activity.compose.setContent في وحدة androidx.activity:activity-compose. (Icf416)
  • تمت إزالة طرق التدمير وcopy() من عدة فئات حيث نادرًا ما تم استخدامها. (I26702، b/178659281)
  • تنفيذ نصف التوسعة() و"التوسيع" () في ModalBottomSheetState داخليًا (Ic914e)
  • تم تغيير الإشارة#createInstance إلى @Composable، وتغيير LocalIndiations ليحتوي على مؤشر، وليس () -> المؤشر. (I5eeea، b/157150564)
  • تم نقل مربع حوار التنبيه وقائمة القائمة المنسدلة ليكونا Android في الوقت الحالي فقط. تمت إضافة المعلمة PopupProperties إلى Dropdown Menu (قائمة منسدلة) لإجراء مزيد من الإعدادات في النافذة المنبثقة الأساسية. (I9c443)
  • تم إيقافloadFontResource نهائيًا. استخدِم fontResource بدلاً من ذلك. imageResource وloadImageResource و"مُتّجهات" و"loadVectorResource" نهائيًا. يُرجى استخدام PainterResource بدلاً من ذلك. (I6b809)
  • تمت إزالة المعلَمة toggle وtoggleModifier من القائمة المنسدلة، وإعادة تسمية dropdownModifier وdropdownOffset وdropdownContent إلى modifier وoffset وcontent على التوالي. تعمل القائمة المنسدلة الآن بشكل متّسق مع Popup، حيث يتم استخدام التنسيق الرئيسي لموضع القائمة. في معظم الحالات، يمكنك نقل toggle ليكون تابعًا لـ DropdownMenu والتفاف كلتاهما في Box. يمكنك الاطّلاع على النموذج المعدَّل في المستندات للحصول على مزيد من المعلومات حول استخدام واجهة برمجة التطبيقات هذه. (I884fb)
  • تمت إعادة تسمية toIntPx() إلىRoundToPx(). (I9b7e4، b/173502290)
  • تم تغيير اسم IntBounds إلى IntRect وتحسين واجهة برمجة التطبيقات. (I1f6ff)
  • تمت إضافة إجراءات الدلالة لتوسيع وتصغيرها. تمت الإضافة التوسيع ونصف التوسعة في ModalBottomSheetState (Ib5064)
  • تم إيقاف Modifier.dragالإيماءاتFilter نهائيًا. يمكنك استخدام Modifier.pointerInput { detectDragGestures (...)} كبديل. بدلاً من ذلك، يمكنك استخدام Modifier.draggable لسحب محور واحد (I0ba93، وb/175294473).
  • تمت إعادة تسمية "وضع الاستراحة" ليتوافق مع "وضع الاستراحة" -> إعادة تسمية GenreLocal. كان يُطلق على "الأحياء" اسم AmbientFoo، أمّا الآن GenreLocals، فهو يطلق عليه LocalFoo. (I2d55d)
  • تم نقل الاختيار إلى الأساس. (I7892b)
  • وعلى غرار الطريقة التي أزلنا بها سابقًا عنصر state { 0 } القابل للإنشاء، ونعمل الآن على تعزيز الاستخدام، مثل remember { mutableStateOf(0) }، سنزيل savedInstanceState { 0 } قابل للإنشاء. يجب استخدام rememberSaveable { mutableStateOf(0) } بدلاً من ذلك، وسيتم تلقائيًا حفظها واستعادتها إذا كان النوع المستخدَم في MutableState مخزّنًا في الحزمة. إذا كنت تمرِّر سابقًا عنصر حفظ مخصّص الآن، عليك استخدام حمل زائد جديد من ReSaveable الذي يحتوي على مَعلمة stateSaver. سيظهر الاستخدام على النحو التالي: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26، b/177338004)
  • تمت إضافة ProgressBarRangeInfo.Indeterminate لوضع علامة على أشرطة تقدّم غير محددة لإمكانية الوصول (I6fe05)
  • تم إيقاف @ComposableSequence بدلاً من استخدام ثلاثة تعليقات توضيحية أكثر تحديدًا.

    • تغيّر اسم "@ComposableContract(restartable = false)" إلى "@NonRestartableComposable"
    • تغيّر اسم "@ComposableContract(readonly = true)" إلى "@ReadOnlyComposable"
    • تغيّر اسم "@ComposableContract(preventCapture = true)" إلى "@DisallowComposableCalls"
    • تمت إزالة @ComposableContract(tracked = true).
    • (I60a9d)
  • تم إيقاف برامج الخدمات emptyContent() و(@Composable () -> Unit).orEmpty() نهائيًا لأنّها لم تعُد لها أي تأثير أو قيمة إيجابية في الأداء (I0484d).

  • تم تغيير اسم SavedInstanceState() لتذكُّر Saveable() ونقله إلى الحزمة androidx.compose.runtime.saveable. (I1366e، b/177338004)

  • تم نقل Saver وlistSaver() وmapSaver() وautoSaver من androidx.compose.runtime.savedinstancestate إلى androidx.compose.runtime.saveable (I77fe6).

  • تمت إعادة تسمية المعلمات على RounderCornerShape وCutCornerShape وCornerbasedShape من اليسار/اليمين إلى البداية/النهاية لدعم الانعكاس التلقائي للشكل في الاتجاه rtl. تم تقديم AbsoluteRounderCornerShape وAbsoluteCutCornerShape للحالات التي لا تكون فيها ميزة "المزامنة التلقائية" مطلوبة. (I61040، b/152756983)

  • تم تغيير المعلمتين text وicon لـ Tab، ومعلمة label في Bottom NavigationItem لتكون قابلة للقيم الفارغة، وذلك لنقل سلوك المكوِّن بشكل أفضل عند توفر أو عدم توفير هذه المعلمات، نظرًا لأن ذلك يؤثر في حجم المكوِّن وتنسيقه. إذا كنت تمرر emptyContent() حاليًا بحيث لا تمثل أي نص أو رمز أو تصنيف، يجب استخدام null بدلاً من ذلك. (I57ed4)

  • تمت إعادة تسمية مَعلمة contentColorFor بالألوان إلى backgroundColor (I5bb67).

  • تم إيقاف TabDefaults نهائيًا واستبدالها بـ TabRowDefaults. (I0f189)

  • تم إدخال واجهة برمجة التطبيقات ColorMatrix إلى لتعديل قيم ألوان الأحمر والأخضر والأزرق للمحتوى المصدر واجهة برمجة تطبيقات ColorFilter التي تمت إعادة هيكلتها واجهة وتتوافق مع التنفيذ لـ PathEffect. (Ica1e8)

  • تم إيقاف ميزةAnimationValue/Float (القيمة العائمة) نهائيًا الآن. يُرجى استخدام قابل للحركة بدلاً من ذلك. (I71345، b/177457083)

  • إضافة واجهة برمجة تطبيقات SemanticsProperties.PaneTitle. (I20d5a)

  • تمت إضافة المعلمات المفعّلة إلى Tab وBottomرفّItem لمنعها من النقر. تم تغيير BottomnavigationItem ليكون RowScope.BottomnavigationItem للتعبير بشكل أفضل عن متطلبات التنسيق في واجهة برمجة التطبيقات الخاصة به. (Id683d)

  • تم نهائيًا إيقاف بكل من AccessibilityFilter و Double TapشيءFilter وlongPressTokenFilter وPressIndicaiton بتطبيقFilter. يمكنك استخدام Modifier.clickable أو Modifier.pointerInput مع وظيفتَي الرمزdetectTap آليةs بدلاً من ذلك. (I6baf9، b/175294473)

  • أضِف مَعلمةLayoutDirection إلى CreateOutline في الشكل. يسمح ذلك بإنشاء أشكال تراعي اتجاه التخطيط. (I57c20، b/152756983)

  • تمت إزالة Recomposer.current(). [Abstract]ComposeView الآن يتم ضبط الإعدادات التلقائية على أدوات إعادة إنشاء على مستوى النافذة بشكل كسول والمستندة إلى ViewTreeLifecycleOwner للنافذة. إعادة التركيب يتم إيقاف علامات الصور المتحركة المستندة إلى withFrameNanos مؤقتًا أثناء فترة حياة المضيف متوقف. (I38e11)

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

  • سيتم الآن تكبير حجم الرمز ليلائم حجمه، مع مراعاة معدّلات الحجم التي يتم تطبيقها عليه. على سبيل المثال، سيتم الآن رسم الدالة Icon(.., modifier = Modifier.size(50.dp) في مساحة بحجم 50x50 بكسل مستقل الكثافة. (Ib2ba9، b/178796190)

الإصدار 1.0.0-alpha11

28 يناير 2021

تم طرح androidx.compose.material:material-*:1.0.0-alpha11. يحتوي الإصدار 1.0.0-alpha11 على هذه عمليات التنفيذ.

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

  • الترويج لبعض واجهات برمجة تطبيقات Material API التي لم تعد @Experimental (I5d20e)
  • تمت إضافة مَعلمة وصف المحتوى إلى الصورة والرمز. تُستخدم لتقديم وصف لخدمات تسهيل الاستخدام (I2ac4c).
  • يغيّر واجهات معلَمة Material الحالة لتتضمّن الدوال @Composable التي تعرض State<T>. تتم إضافة Animatable.asState() لتسهيل تحويل صورة متحركة إلى ولاية. تغيّر أيضًا animateElevation لتكون إضافة تعليق في Animatable. (If613c)
  • لم تعُد Snackbar وSnackbarHost وSnackbarHostState @ExperimentalMaterialAPI (Id1fb5)
  • تغيير أسلوب الخط والأشكال وموضع TabPosition إلى لم تعد فئات بيانات. تضيف دالة النسخ لأسلوب الخط والأشكال لاستبدال العناصر التي تم إنشاؤها. (I40037)
  • تم حذف بعض واجهات Material API التي تم إيقافها نهائيًا (Ifaa25).

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

  • تم إيقاف onCommit وonDispose وonActive نهائيًا لصالح واجهات برمجة التطبيقات SideEffect وDisposableEffect API (If760e).
  • تم إيقاف عملية النقل المستنِدة إلى TransitionDefinition نهائيًا (I0ac57).
  • الحالة الأولية في updateTransition متاحة الآن (Ifd51d).
  • تمت إعادة صياغة WithConstraints باسم BoxWithConstraints وتم نقلها إلى Foundation.layout. (I9420b، b/173387208)
  • إيقاف ScrollBy بدون تعليق، وإزالة scrollTo

    ننصح الآن باستخدام دوال التعليق للتحكّم في التمرير والانتظار. حتى ينتهي التمرير. نحن بصدد إيقاف و/أو إزالة لإصدارات غير معلّقة من هذه الدوال كجزء من عملية النقل هذه. (Ie9ced)

  • إيقاف سمة smooth ScrollBy نهائيًا ننصح الآن باستخدام دوال التعليق للتحكّم في التمرير والانتظار. حتى ينتهي التمرير. نحن بصدد إيقاف الإصدارات غير المعلّقة. من هذه الدوال كجزء من عملية النقل هذه. (I12880)

  • تم تقديم ComposeContentTestRule، والذي يمتد وتحدّد ComposeTestRule السمة setContent، والتي تمت إزالتها من ComposeTestRule تمت إضافة طريقة المصنع createEmptyComposeRule() تعرض ComposeTestRule ولا تؤدي إلى تشغيل أي نشاط يناسبك ذلك. يمكنك استخدام هذا الخيار عندما تريد تفعيل سجلّ "نشاطك" أثناء الاختبار، مثلاً: باستخدام ActivityScenario.launch (I9d782، b/174472899)

  • لم يعُد من الممكن تخصيص التموّج المستخدَم في الزرّ Button وFloatingActionButton من خلال توفير مؤشر جديد من خلال AmbientIndision، لم يكن الهدف منه مطلقًا تخصيص هذه المكوّنات، ما يجعل هذه المكوّنات متوافقة مع مكوّنات Material الأخرى. لتخصيص الأمواج عبر أحد التطبيقات، يمكنك الاطّلاع على مظهر RippleTheme. (I546c5)

  • أصبحت animateAsState الآن animateFooAsState، حيث Foo هو ونوع المتغير الذي يكون متحركًا. مثلاً: التعويم، Dp، الإزاحة، وما إلى ذلك (Ie7e25)

  • تلقى BasicTextField معلمة جديدة باسم decorationBox. ويتيح لك هذا الزر إضافة زخارف مثل الرموز والعناصر النائبة والتسمية المشابهة لحقل النص وزيادة المنطقة المستهدفة للنتيجة. (I16996)

  • إصلاح خطأ أدى إلى عدم إمكانية ضبط عرض حقل نص المواد على أقل من 280.dp (I78373)

  • تمت إزالة مَعلمة canDrag من Modifier.draggable (Ic4bec، وb/175294473).

  • أزِل DisplaySize لأنّه يجب تجنبه. عادةً ما تكون من الأفضل استخدام حجم onRoot() أو حجم النافذة على الأقل. (I62db4)

  • يمكن أن تحتوي مساحة العرض الآن على عدة عناصر ثانوية للتنسيق. (I66a92، b/144488459)

  • تم إيقافableate وCompateReference() نهائيًا لصالح currentRecomposeScope و"تذكُّر لبطاقة تحكُّم مستخدمة" على التوالي. (I583a8)

  • يغيّر PopupPositionProvider لاستخدام إحداثيات ذات صلة بالنافذة، وليس إحداثيات عمومية. إعادة تسمية parentGlobalBounds إلى AnchorBounds، وتغيير windowGlobalBounds لتصبح windowSize: IntSize (I2994a)

  • سيتم استبدال المدة ووقت التشغيل بالمللي ثانية الطويلة، وتزيل هذه الخطوة تبعية مدخلات المؤشر على هذه الصفوف. (Ia33b2، b/175142755، b/177420019)

  • تمت إزالة{/6}Float.fling التي تقبل FlingConfig. يُرجى استخدام ميزة التعليق Animatable.animateDecay بدلاً منها. (I4659b، b/177457083)

  • يمكن إنشاء مواد العرض القابلة للنقر والتبديل والاختيار خارج المقطوعة الموسيقية الآن (I0a130 وb/172938345 وb/175294473).

  • تم تغيير تغيير السرعة إلى واجهة صالحة (Ib14e5)

  • تم إيقاف البيانات القابلة للتمرير في العمود/الصف نهائيًا. يكون استخدام ScrollableColumn أقل فعالية مقارنةً بـ LazyColumn عندما يكون لديك محتوى تمرير كبير لأنه باستخدام LazyColumn الذي يمكننا فقط إنشاء/قياس/رسم عناصر مرئية. لمنع المستخدمين من اتّخاذ إجراءات غير فعّالة، قرّرنا إيقاف ميزة ScrollableColumn و ScrollableRow نهائيًا والترويج لاستخدامات LazyColumn وLazyRow بدلاً من ذلك. لا يزال بإمكان المستخدمين تحديد أنّهم لا يحتاجون إلى السلوك الكسول واستخدام مفاتيح التعديل مباشرةً كما يلي: Column(Modifier.vertical scroll(remember scrollState())) (Ib976b, b/170468083)

  • طريقة جديدة المصنعة لمصدر البيانات items(count: Int) لنطاق LazyColumn/LazyRow/LazyVerticalGrid. أصبحت items(items: List) وitemsIndexed(items: List) الآن دالتَين إضافة، لذا يجب استيرادهما يدويًا عند استخدامهما. أحمال إضافية جديدة للإضافات: items(items: Array) وitemsIndexed(Array) (I803fc وb/175562574)

  • تمت إزالة الطرق التجريبية monotonicFrameAnimationClockOf (Ib753f وb/170708374).

  • تم إيقاف طرق الإحداثيات العامة التي تم إيقافها طرق جديدة للإحداثيات المستندة إلى النوافذ. (Iee284)

  • تمت إضافة Modifier.toolingGraphicsLayer الذي يضيف أداة تعديل طبقة الرسومات عند تفعيل الفحص. (I315df)

  • تم الآن وضع علامة على عنصر FocusRequester.createrefs باعتباره تجريبيًا لأنه قد يتغير. (I2d898، b/177000821)

  • تمت إعادة تسمية SemanticsPropertyReceiver.hidden لتصبح غير مرئيةToUser وتم وضع علامة @experimentalComposeUiApi على الحساب. تمت إعادة تسمية AccessibilityRangeInfo إلى ProgressBarRangeInfo. تم تغيير اسم StateDescriptionRange إلى promotionBarRangeInfo. تمت إعادة تسمية AccessibilityScrollState إلى ScrollAxisRange. تمت إعادة تسمية horizontalAccessibility scrollState إلى horizontal scrollAxisRange. تمت إعادة تسمية verticalAccessibility scrollState إلى vertical ScrollAxisRange. (Id3148)

  • يمكنك الاستفادة من TestCoroutineDispatcher في الاختبار (I532b6).

  • تم تحديث الرسومات المتجهة واجهة برمجة تطبيقات لدعم تحليل التلوين تطبيقها على جذر الرسومات المتجهة. (Id9d53، b/177210509)

الإصدار 1.0.0-alpha10

13 كانون الثاني (يناير) 2021

تم طرح androidx.compose.material:material-*:1.0.0-alpha10. يحتوي الإصدار 1.0.0-alpha10 على هذه عمليات التنفيذ.

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

  • سرعة معدلة لتحتوي على أجزاء مكونة ورياضية العمليات التجارية. (Ib0447)
  • تمت إعادة تسمية "@ExperimentalTesting" إلى "@ExperimentalTestApi" متسقة مع التعليقات التوضيحية المشابهة لواجهة برمجة التطبيقات (Ia4502، b/171464963)
  • تمت إعادة تسمية موضع الإعلان إلى DpOffset وإزالة getمسافة() (Ib2dfd).
  • Ranamed Color.useOrElse() to Color.takeOrElse() (Ifdcf5)
  • إضافة مفتاح تبديل إلى المؤسسة Strings.kt (I4a5b7، b/172366489)
  • تم إيقاف FlowRow وFlowColumn. يُرجى استخدام تنسيق مخصّص بدلاً من ذلك. (I09027)
  • تم إيقاف Modifier.focus() وModifier.focusRequester() نهائيًا. بدلاً من ذلك، استخدِم Modifier.focusModifier() وModifier.focusReference() . (I75a48 وb/175160751 وb/175160532 وb/175077829)
  • تم نقل NativeClass إلى وجعلته داخلية. تم تعديل الاستخدامات المتعلقة بـNativeClass في تساوي عمليات التنفيذ "is MyClass" بدلاً من ذلك. (I4f734)

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

  • تمت إضافة دعم للحقول النصية المتوقفة وللقراءة فقط (I35279 وb/171040474 وb/166478534)
  • تم الآن استبدال animate() بـ animateAsState()، التي تعرض State<T> بدلاً من T. يتيح ذلك تحسينًا الأداء، حيث يمكن تضييق نطاق إبطال إلى حيث يتم قراءة قيمة الدولة. (Ib179e)
  • إضافة واجهة برمجة تطبيقات الدور الدلالي وإضافة دور كمَعلمة إلى مفتاح دلالات قابل للنقر وقابل للاختيار والتبديل. تمّ التغيير Modifier.progressSemantics كي يتمكّن Slider من استخدامه أيضًا (I216cd)

الإصدار 1.0.0-alpha09

16 كانون الأول (ديسمبر) 2020

تم طرح androidx.compose.material:material-*:1.0.0-alpha09. يحتوي الإصدار 1.0.0-alpha09 على هذه عمليات التنفيذ.

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

  • تمت إضافة واجهة برمجة تطبيقات لتشغيل الرسوم المتحركة للتسوية والسحب في Modifier.swipeable (Iaa17a، وb/162408885)
  • تمت إعادة تسمية كائنات "*Constants" مثل ButtonConstants لتنتهي بالإعدادات التلقائية بدلاً من ذلك، مثل ButtonDefaults. ستتم أيضًا إزالة بادئات default غير الضرورية من المواقع في هذه العناصر الجديدة. (Ibb915، b/159982740)
  • تدعم ميزة Compose رموز الحصول على الخصائص التي يمكنها إنشاء استدعاءات قابلة للإنشاء. لن يتم إيقاف هذا الأمر، ولكن ستتغير بنية إعلان دالة getter عن الخاصية على أنها @Composable.

    كانت الصيغة التي تم إيقافها نهائيًا الآن لإجراء ذلك هي من خلال إضافة تعليقات توضيحية إلى السمة نفسها:

        @Composable val someProperty: Int get() = ...
    

    بناء الجملة الصحيح الآن للقيام بذلك هو من خلال إضافة تعليق توضيحي للخاصية:

       val someProperty: Int @Composable get() = ...
    

    ستعمل كلتا البنيتين لبعض الوقت، ولكن البنية السابقة المتوقّفة ستصبح في النهاية خطأ في التجميع. (Id9197)

  • تمت إضافة مكتبة androidx.compose.material:material-ripple تحتوي على واجهات برمجة تطبيقات تموّج للسماح بإنشاء مكوّنات تفاعلية بدون الحاجة إلى باقي مكتبة المواد. تم إيقاف ReppleIndision نهائيًا واستبداله بـ meetRipple. (Ibdf11)

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

  • أصبحت ملفات Lambdas بمعدِّلات الإزاحة تعرض الآن IntOffset بدلاً من Float. (Ic9ee5، b/174137212، b/174146755)
  • تمت إعادة ضبط ShaderBrush على بإنشاء مثيل تظليل، معلومات تغيير حجم الرسم متوفر. وهذا مفيد لتحديد التدرجات التي تحت حدود الرسم الكاملة لعنصر قابل للإنشاء في وقت التأليف، دون الحاجة إلى تنفيذ عمليات تنفيذ DrawModifier المخصصة.

    واجهات برمجة التطبيقات الخاصة بأداة إنشاء دالة التدرج التي تم إيقافها نهائيًا لصالح طرق المصنع على كائن متدرج. (I511fc, b/173066799)

  • تم إيقاف Modifier.focusObserver نهائيًا. استخدِم Modifier.onFocusChanged أو Modifier.onFocusEvent بدلاً من ذلك (I30f17 وb/168511863 وb/168511484)

  • إيقاف LazyColumnFor وLazyRowFor وLazyColumnForIndexed وLazyRowForIndexed. استخدام LazyColumn وLazyRow بدلاً من ذلك (I5b48c)

  • تم نقل Dp.VectorConverter وPosition.VectorConverter وما إلى ذلك مؤثرات حركية أساسية، وأوقفت أداة VectorConverteters القديمة نهائيًا (If0c4b)

  • أصبحت Autofill API الآن واجهة برمجة تطبيقات تجريبية تتطلب الموافقة (I0a1ec).

  • إضافة تعريفات التدمير لإنشاء مثيلات FocusRequester (I35d84 وb/174817008)

  • تمت إعادة تسمية AccessibilityLabel إلى contentDescription. تمت إعادة تسميةAccessibilityValue إلى StateDescription. (I250f2)

  • دالة جديدة infiniteRepeatable لإنشاء InfiniteRepeatableSpec (I668e5)

  • تم تغيير سلوك تحديد موضع القوائم المنسدلة بشكل طفيف وفقًا لمواصفات المواد. (I34c72، b/168594123)

  • تمت إضافة دعم InteractionState لحقول النص. (I61d91)

  • تمت إضافة Modifier.clearAndSetSemantics إلى محو العناصر التابعة. الدلالات وتعيين دلالات جديدة. (I277ca)

  • تم نقل ContentDrawScope إلى رسومات واجهة المستخدم مع DrawScope. (Iee043، b/173832789)

الإصدار 1.0.0-alpha08

2 كانون الأول (ديسمبر) 2020

تم طرح الإصدارات androidx.compose.material:material:1.0.0-alpha08 وandroidx.compose.material:material-icons-core:1.0.0-alpha08 وandroidx.compose.material:material-icons-extended:1.0.0-alpha08. يحتوي الإصدار 1.0.0-alpha08 على هذه عمليات التنفيذ.

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

  • يضبط MaterialTheme الآن الألوان الصحيحة لمقابض التحديد وخلفية التحديد. يمكن للتطبيقات غير متعددة الأبعاد استخدام AmbientTextSelectionColors يدويًا لتخصيص الألوان المستخدَمة في الاختيار. (I1e6f4 وb/139320372 وb/139320907)
  • تمت إضافة فحص Lint لتسمية مَعلمات lambda القابلة للإنشاء وتحديد موضعها، وذلك للتحقّق من الاتساق مع إرشادات Compose. تم أيضًا نقل بعض واجهات برمجة التطبيقات باستخدام children كاسم لملف lambda اللاحقة إلى content، وفقًا لفحص Lint والإرشادات. (Iec48e)
  • تمت إعادة تسمية VectorAsset إلى ImageVector تم نقل VectorAsset إلى "Builder" وإعادة تسميته إلى فئة داخلية من ImageVector وفقًا إرشادات مجلس واجهات برمجة التطبيقات تمت إضافة typealias من VectorAssetBuilder إلى إلى ImageVector.Builder for compat. (Icfdc8)
  • تمّت إعادة تسمية ImageAsset ذات صلة بـ ImageBitmap. (Ia2d99)
  • تم نقل سمات الدلالة الأساسية إلى واجهة المستخدم (I6f05c)
  • تم إيقاف fun RippleIndication() نهائيًا واستبداله بـ rememberRippleIndication() لتحقيق الاتساق مع واجهات برمجة التطبيقات الأخرى. (Id8e2c)
  • تمت إضافة معلمة singeLine إلى BasicTextField وTextField وOutdTextField. يمكنك ضبط هذه المعلمة على "صحيح" لجعل الحقل النصي سطرًا واحدًا قابلاً للتمرير أفقيًا. (I57004، b/168187755)

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

  • إضافة إجراء دلالي على الرفض (I2b706)
  • تم نقل واجهات برمجة تطبيقات DrawModifier من حزمة androidx.compose.ui إلى حزمة androidx.compose.ui.Draw. تم إنشاء ملف DrawModifier تسري.kt إلى بتضمين أنواع الأسماء المستعارة/طرق المساعدة للمساعدة في ترحيل من متوقفة إلى الحالي واجهات برمجة التطبيقات. (Id6044، b/173834241)
  • تمت إعادة تسمية Modifier. drawLayer إلى Modifier.graphicsLayer. تم أيضًا تحديث الفئات ذات الصلة إلى GraphicsLayer وفقًا تعليقات واجهة برمجة التطبيقات. (I0bd29، b/173834241)
  • تمت إزالة <T> من بيان SubcomposeLayout. يمكنك الآن استخدامه بدون تحديد نوع. (Ib60c8)
  • تمت إضافة Modifier.scale/rotate واجهات برمجة التطبيقات كوسائل راحة لـ drawLayer.
    • تمت إعادة تسمية "Modifier.drawOpacity" إلى "Modifier.alpha".
    • تمت إعادة تسمية "Modifier.drawShadow" إلى "Modifier.shadow" (I264ca، b/173208140).
  • تمت إعادة تسمية معلَمة المحاذاة في Box إلى contentAlignment. (I2c957)
  • تمت إعادة تسمية معدِّلات offsetPx إلى الإزاحة. تأخذ الآن معلمات lambda بدلاً من State. (Ic3021، b/173594846)
  • تم إطلاق برنامج SweepGRadentShader وواجهات برمجة تطبيقات SweepGadaentBrush. (Ia22c1)
  • تمت إضافة فحص Lint لمعلمات أداة التعديل في الدوال القابلة للتعديل. تتحقق أداة Lint هذه من التسمية ونوع الإرجاع والقيمة الافتراضية وترتيب المعلمة للتأكد من تناسقها مع إرشادات الإنشاء. (If493b)
  • واجهة برمجة تطبيقات TextFieldValue المُحدَّثة
    • تم إعداد TextFieldValue.composition للقراءة فقط.
    • تمت إزالة استثناء تم طرحه لنطاق تحديد غير صالح (I4a675، b/172239032)
  • تمت إضافة حمل زائد جديد بقيمة Modifier.drawLayer(). يتم استخدام كتلة lambda في GraphicsLayerScope جديد حيث يمكنك تحديد معلمات الطبقة بطريقة تسمح بتخطي إعادة التركيب والإرسال عند حدوث تغيير الحالة. تطبيق DrawLayerModifier داخلي الآن في مرحلة الإعداد لنقل منطقه إلى طريقة placeable.placeWithLayer() في LayoutModifier (I15e9f، b/173030831)
  • تم إيقاف "وضع الاستراحة" نهائيًا باستخدام اللاحقة Ambient، واستبدلها بسمات جديدة تبدأ بـ "وضع الاستراحة"، وذلك وفقًا لإرشادات واجهة برمجة التطبيقات الخاصة بميزة "بيئة المحيطة" و"Compose" الأخرى. (I33440)
  • تمت إضافة فحص الوبر للتأكد من أنّ مصانع المعدّل تستخدم androidx.compose.ui.composed {} داخليًا، بدلاً من وضع علامة عليها على أنّها @Composable. (I3c4bc)
  • تمت إعادة تسمية وسيطة integrationAllDescendants للدلالات إلى integrationDescendants. (Ib6250)
  • التحكم في الوقت في الاختبارات (TestAnimationClock واستخداماته) تجريبي الآن (I6ef86، b/171378521)
  • إزالة وحدة اختبار واجهة المستخدم القديمة وأذرعها (I3a7cb)
  • تمت إعادة تسمية TextUnit.اكتساب (اكتساب) إلى TextUnit.لم يتم تحديده لضمان الاتساق مع الوحدات الأخرى. (Ifce19)
  • تم تحديث واجهة المحاذاة وجعلها تعمل. (I46a07، b/172311734)
  • تمت إعادة تسمية المعرّف إلى shoppingId لـ LayoutIdParentData. تمت إعادة تسمية Measurable.id إلى Measurable.layoutId. (Iadbcb, b/172449643)

الإصدار 1.0.0-alpha07

11 تشرين الثاني (نوفمبر) 2020

تم طرح الإصدارات androidx.compose.material:material:1.0.0-alpha07 وandroidx.compose.material:material-icons-core:1.0.0-alpha07 وandroidx.compose.material:material-icons-extended:1.0.0-alpha07. يحتوي الإصدار 1.0.0-alpha07 على هذه عمليات التنفيذ.

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

  • تم إيقاف ميزة التوكيد نهائيًا واستبدالها بـ AmbientContentAlpha. إنّ AmbientContentAlpha هو تجريد أبسط يمثّل قيمة ألفا للمحتوى المفضّل لجزء من التسلسل الهرمي، تمامًا كما في طريقة تمثيل AmbientContentColor للون المحتوى المفضّل. يستهلك النص والرمز الآن القيمة الحالية من AmbientContentAlpha بشكل تلقائي، ويمكنك إجراء ما يلي يدويًا: color.copy(alpha = AmbientContentAlpha.current) للحصول على التأثير نفسه في المكوّنات. بدلاً من استخدام OfferEmphasis، يمكنك توفير قيمة مباشرةً من خلال AmbientContentAlpha، واستخدام المستويات التلقائية الجديدة في ContentAlpha بدلاً من EmphasisLevels القديمة. (Idf03e، b/159017896)
  • لإضافة androidx.compose.material.AmbientContentColor لاستبدال androidx.compose.foundation.ambientContentColor (I84f7b، b/172067770)
  • لإضافة androidx.compose.material.Text لاستبدال androidx.compose.foundation.Text كمكوّن نصي عالي المستوى وقابل للمظهر. إذا كان مكوّنًا نصيًا أساسيًا لا يستخدم نمط اللون أو النص من المظهر، استخدِم BasicText. (Ie6ae0)
  • تمت إضافة maxLines إلى TextFields (Ib2a5b).
  • تعديل TextFields لقبول TableOptions (Ida7f3)
  • يستخدم "سطح" الآن الارتفاع المطلق (الإجمالي) عند حساب تراكبات الارتفاع، لذا سيستخدم "سطح" متداخل في "سطح" آخر الارتفاع المجمَّع لرسم التراكب. (I7bd2b، b/171031040)

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

  • تم نقلcaptureToBitmap إلى captureToImage. (I86385)
  • تم إيقاف الأساسيات AmbientTextStyle وProvideTextStyle وAmbientContentColor. بدلاً من ذلك، استخدم الإصدارات الجديدة المتوفرة في مكتبة المواد. بالنسبة للتطبيقات غير متعددة المواد، يجب عليك بدلاً من ذلك إنشاء بيئات محددة لنظام التصميم يمكن استخدامها في مكوناتك الخاصة. (I74acc، b/172067770)
  • تم إيقاف Foundation.Text نهائيًا واستبداله بـmaterial.Text. للحصول على واجهة برمجة تطبيقات نصية أساسية غير معرَّفة لا تستهلك قيمًا من مظهر معيّن، يُرجى الانتقال إلى androidx.compose.foundation.BasicText. (If64cb)
  • إعادة تسمية خيارات لوحة المفاتيح باسم ImeOptions (I82f36)
  • تم نقل boardType وImeAction إلى لوحة المفاتيحOptions (I910ce)
  • تم إيقاف BaseTextField نهائيًا. استخدِم BasicTextField بدلاً من ذلك. (I896eb)
  • تمت إزالة التعليق التوضيحي DemoalSubcomposeLayoutApi. يمكن الآن استخدام SubcomposeLayout بدون إضافة @OptIn (I708ad)
  • تم نقل FirstBaseline وLastBaseline إلى حزمة androidx.compose.ui.layout (Ied2e7)
  • تم تحديث واجهة برمجة التطبيقات Icon API لاستخدام Color.Unspecified كلون خفيف محتمل يرسم الألوان المتوفرة الأصل أو الرسم بدون ColorFilter. سابقًا يحاول تجاهل التلوين باستخدام لون.غير محدد مع لون شفاف ينتهي بها بدون عرض أي شيء على الإطلاق. (I049e2، b/171624632)
  • تمت إعادة تسمية relatedPaddingFrom إلى المعدّة حشوة من. تمت إضافة المُعدِّل المجمّعةFromBaseline لتسهيل تحديد المسافات من حدود التنسيق إلى الأسس النصية. (I0440a، b/170633813)
  • تمت إعادة تسمية LaunchedTask إلى LaunchedEffect لتحقيق الاتساق مع واجهتَي برمجة التطبيقات SideEffect وDiveEffect. LaunchedEffect بدون لا يُسمح بمعلمات الموضوع للتشجيع على أفضل الممارسات. (Ifd3d4)
  • تم نقل MeasurementResult من MeasurementScope. (Ibf96d، b/171184002)
  • تم نقل العديد من الرموز ذات الصلة بالتنسيق من androidx.compose.ui إلى androidx.compose.layout.ui. (I0fa98، b/170475424)

الإصدار 1.0.0-alpha06

28 تشرين الأول (أكتوبر) 2020

تم طرح الإصدارات androidx.compose.material:material:1.0.0-alpha06 وandroidx.compose.material:material-icons-core:1.0.0-alpha06 وandroidx.compose.material:material-icons-extended:1.0.0-alpha06. يحتوي الإصدار 1.0.0-alpha06 على هذه عمليات التنفيذ.

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

  • تم نقل androidx.compose.foundation.Icon إلى androidx.compose.material.Icon. يمكنك أيضًا استخدام مكوّن الصورة / Modifier.paint() مع "الرسام" إذا كنت لا ترغب في استخدام مكتبة المواد. (I9f622)
  • تضيف FloatingActionButtonElevation لتمثيل الارتفاع الذي يستخدمه FABs في حالات مختلفة. راجع FloatingActionButtonConstants.defaultElevation() لمعرفة التنفيذ التلقائي (I2d4f5).
  • تضيف واجهة SwitchColors لتمثيل الألوان التي يستخدمها مفتاح التحكّم في حالات مختلفة. راجع SwitchConstants.defaultColors لتخصيص هذه الألوان. (I93805)
  • إضافة واجهتي ButtonEliffs وButtonColors لتمثيل المسقط الرأسي والألوان التي تستخدمها الأزرار في حالات مختلفة. يمكنك الاطّلاع على الدوال التلقائية في ButtonConstants لتخصيص هذه المعلمات. (Ic5b7b)
  • إضافة واجهة RadioButtonColors لتمثيل الألوان التي يستخدمها RadioButton في حالات مختلفة. راجع RadioButtonConstants.defaultColors() لتخصيص الألوان المستخدمة في حالات مختلفة. (I74130)
  • تضيف واجهة CheckboxColors لتمثيل الألوان التي يستخدمها مربّع اختيار في حالات مختلفة. راجع CheckboxConstants.defaultColors() لتخصيص الألوان المستخدمة في حالات مختلفة. (I7dbdb)

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

  • لم تعد مكونات Material تعيين المسقط الرأسي كـ zIndex. مما يعني أنه داخل نفس المجلد الرئيسي، لن يتم رسم العنصر الثانوي ذو حجم الظل الأكبر فوق العنصر الثانوي تلقائيًا. إذا كنت لا تزال بحاجة إلى مثل هذا السلوك، يُرجى ضبط Modifier.zIndex() يدويًا عند الحاجة (I70417, b/170623932)
  • إيقاف العمل بأداة VectorPainter في فخدمة تذكرVectorPainter لتحسين الإشارة إلى أن واجهة برمجة التطبيقات القابلة للإنشاء داخليًا يستفيد من فكرة "تذكّر" للاحتفاظ بالبيانات عبر والمقطوعات الموسيقية. (Ifda43)
  • تفعيل الانتقالات في ComposeTestRule إزالة الخيار إلى تفعيل المؤشر الوامض من ComposeTestRule. (If0de3)
  • تمت إضافة خيار لوحة مفاتيح سطر واحد إلى CoreTextField (I72e6d).
  • تمت إعادة تسمية واجهة برمجة تطبيقات Radius API إلى نصف قطر الزاوية للتعبير بشكل أفضل وكيف يتم استخدامها خلال Compose. تم تعديل المستندات للإشارة إلى أن تكون أقطار الزاوية السالبة مثبَّتة إلى الصفر. (I130c7، b/168762961)
  • تمت إعادة بناء نطاق DrawScope ContentDrawScope إلى واجهات بدلاً من الفصول المجرّدة
    • تم إنشاء تنفيذ CanvasDrawScope من DrawScope
    • عمليات تنفيذ إعادة الهيكلة DrawScope لاستخدام CanvasScope بدلاً من ذلك
    • تم إنشاء DrawContext للالتفاف التبعيات لتطبيق DrawScope
    • تمت إزالة الطُرق المتوقّفة نهائيًا في DrawScope (I56f5e)
  • تم إنشاء Box دالة مضمنة. (Ibce0c، b/155056091)

الإصدار 1.0.0-alpha05

14 تشرين الأول (أكتوبر) 2020

تم طرح الإصدارات androidx.compose.material:material:1.0.0-alpha05 وandroidx.compose.material:material-icons-core:1.0.0-alpha05 وandroidx.compose.material:material-icons-extended:1.0.0-alpha05. يحتوي الإصدار 1.0.0-alpha05 على هذه عمليات التنفيذ.

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

  • تكتسب النوافذ المنبثقة ومربّعات الحوار الآن FLAG_SECURE من النافذة الرئيسية. تمت أيضًا إضافة خيار لضبط ذلك بشكل صريح (I64966 وb/143778148 وb/143778149).
  • يتضمّن القسم تلقائيًا في Modifier.squickable حدًا أدنى يبلغ 56.dp للحالات في الوقت الحالي (Iab825 وb/168610267).
  • جميع حالات السقالة الموضوع عليها علامة @Stable. تم نقل ScaffoldStatesEnabled في ScaffoldState إلى Scaffold نفسه. (I36645، b/168297016)
  • لإزالة النوع القابل للقيم الفارغة من مَعلمات Scaffold lambda، يمكنك استخدام الدالة uniqueContent() لتمثيل عدم وجود محتوى لمَعلمة معيّنة. (I2b318، b/157633857، b/158551084)
  • إيقاف واجهات برمجة التطبيقات contentColor() وcurrentTextStyle()، واستبدالهما ببيئة AmbientContentColor وAmbientTextStyle على التوالي يمكنك الوصول إلى القيمة الحالية باستخدام .current في ميزة "وضع الاستراحة"، كما هي الحال مع أي إعدادات أخرى في البيئة المحيطة. تم إجراء هذا التغيير من أجل الاتساق وتجنب وجود طرق متعددة لإنجاز نفس الشيء. بالإضافة إلى ذلك، يعيد تسمية بعض الخصائص المحيطة لوصف الغرض منها بشكل أفضل على النحو التالي:

    • ContentColorAmbient -> لون المحتوى المحيط
    • TextStyleAmbient -> نمط النص المحيط
    • IndisionAmbient -> مؤشر الاستراحة
    • EmphasisAmbient -> مستويات التركيز المحيطي
    • RippleThemeambient -> AmbientRippleTheme (I37b6d)
  • تضيف هذه السياسة AmbientElevationOverlay، ما يتيح تخصيص أو إيقاف تركيب الارتفاع التلقائي المطبَّق على "الأسطح" في المظهر الداكن. (I5b74d)

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

  • وفي إطار توحيد المعايير قيم الحارس للفئات المضمنة، تغيير اسم اللون.بدون ضبط إلى لون.غير محدد لتحقيق الاتساق مع الفئات الأخرى المضمَّنة (I97611، وb/169797763)
  • تم تقديم TextOverflow.None. عندما يكون التجاوز "None" ("بدون")، لن يتعامل "النص" مع التجاوز بعد الآن، وسيبلغ LayoutNode بحجمه الفعلي. (I175c9، b/158830170)
  • تمت إعادة تسمية launchInConnection إلى LaunchedTask لمطابقة Compose. إرشادات واجهة برمجة التطبيقات (I99a8e)
  • تمت إعادة تسمية OnPositionedModifier إلى OnGloballyPositionedModifier وتتم إعادة تسمية onPositioned() إلى onGloballyPositioned(). (I587e8، b/169083903)

الإصدار 1.0.0-alpha04

1 تشرين الأول (أكتوبر) 2020

تم طرح الإصدارات androidx.compose.material:material:1.0.0-alpha04 وandroidx.compose.material:material-icons-core:1.0.0-alpha04 وandroidx.compose.material:material-icons-extended:1.0.0-alpha04. يحتوي الإصدار 1.0.0-alpha04 على عمليات التنفيذ هذه.

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

  • تعرض معلَمات InteractionState في مكوّنات Material ذات الحالة، للسماح برفع الحالة وقراءة الحالة أو التحكّم فيها. (Iaca5f، وb/168025711، وb/167164434)
  • يغيّر مَعلمات *color في RadioButton وtriStateCheckbox للسماح بتخصيص الألوان المستخدمة في كل حالة بالكامل، بالإضافة إلى تغيير كيفية تحرّك الألوان بين الحالات إذا لزم الأمر. يمكنك الاطّلاع على وظيفتَي ألوان animateDefault* الجديدة في مربع الاختيار Contastants وRadioButtonConstants للحصول على مزيد من المعلومات. (I1c532)
  • تمت إعادة تسمية BackdropState لتذكُّر BackdropScaffoldState وإضافة معلمة إضافية لساعة الرسوم المتحركة. تمت إعادة تسمية المعلّمة. BackdropScaffoldState of BackdropScaffold to فقط scaffoldState. تمت إعادة التسمية BackdropScaffoldConstants. (Ib644d)
  • تمت إضافة مكوِّن BottomSheetScaffold التجريبي. (Ie02f0، b/148996320)
  • تمت إضافة مكوِّن ModalBottomSheetLayout التجريبي. (Ic209e، b/148996320)
  • لإعادة تسمية ButtonConstants/FloatingActionButtonConstants.defaultAnimatedElevation إلى defaultElevation، ويتم الآن عرض قيمة Dp بدلاً من{/6}Value. (I5f3ed)

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

  • تم تحديث العديد من واجهات برمجة تطبيقات الرسومات
    • تم تعديل المقياس والتدوير. التحويل من واجهات برمجة التطبيقات إلى استهلاك معلمة الإزاحة لتمثيل المحور الإحداثيات بدلاً من الأعداد العائمة المنفصلة معاملات للإحداثيات س/ص في DrawScope وDrawTransform
    • تمت إزالة Rect.expandToInclude وRect.join طرق
    • تم تعديل مستندات "النطاق الجغرافي" للإشارة إلى الشكل البيضاوي. بالإضافة إلى جهاز الحركة البيضاوية
    • تمت إضافة وثائق للإشارة إلى الدالة الإنشائية العامة للنطاق الجغرافي المضمّن في الفئة، حيث لن يتم استدعاءها مباشرةً يجب إنشاء مثيل لكائنات النطاق الجغرافي من خلال دوال إنشاء الدوال
    • تمت إزالة واجهات برمجة تطبيقات RoundRect لاستعلام أعلى يمين أسفل يمنى أسفل المنتصف، وما إلى ذلك
    • تم إيقاف Rect.shift لصالح Rect.translate
    • تمت إزالة واجهتَي برمجة تطبيقات RoundRect.grow وRect.shrink
    • تمت إعادة تسمية RoundRect.outerRect إلى Rect.boundingRect.
    • تمت إزالة RoundRect.mediumRect/tallMiddleRect/wideMiddleRect وطرق Rect.isStadium
    • تمت إعادة تسمية RoundRect.longestSide إلى RoundRect.maxDimension.
    • تمت إعادة تسمية RoundRect.shortestSide إلى RoundRect.minDimension.
    • تم تغيير RoundRect.center إلى خاصية بدلاً من دالة.
    • تم تعديل الدالة الإنشائية RoundRect لاستخدام خصائص النطاق الجغرافي. بدلاً من المعلمات الفردية لقيم نصف القطر x/y
    • تمت إزالة واجهات برمجة التطبيقات ذات الحجم التي افترضت أنها كانت مستطيلة ذات نقطة الانطلاق عند 0,0
    • تمت إضافة واجهة برمجة تطبيقات مدمرة إلى Radius
    • تم نقل دوال إضافات RoundRect المتعددة التي سيتم المواقع بدلاً من ذلك
    • (I8f5c7، b/168762961)
  • تم إيقاف Foundation.Box نهائيًا. يُرجى استخدام Foundation.layout.Box بدلاً من ذلك. (Ie5950، b/167680279)
  • تمت إعادة تسمية الحزمة إلى Box. وسيتم إيقاف Box الحالي نهائيًا لصالح Box الجديد في compose.foundation.layout. يتمثّل سلوك Box الجديد في تكديس العناصر الثانوية الواحد فوق بعضها عندما يكون له عدة عناصر فرعية، وهذا يختلف عن المربع السابق، والذي كان يعمل بشكل مشابه للعمود. (I94893، b/167680279)
  • تم إيقاف معلمات تزيين الصندوق نهائيًا. إذا أردت إضافة زخارف/مساحة متروكة على العلبة، يمكنك استخدام Modifiers بدلاً من ذلك (Modifier.background, Modifier.للحدّ، أو Modifier.حشو) (Ibae92، b/167680279)
  • تم تحديث العديد من واجهات برمجة تطبيقات الرسومات
    • تم تعديل واجهات DrawScope API من خلال إضافة النطاق المستهدَف. طرق التحويل للإشارة إلى أن يتم التحويل إلا في عملية معاودة الاتصال وتتم إزالتها بعد استدعاء الاتصال
    • تم تعديل وثائق postPath للإشارة إلى المسار بدلاً من المستطيل المستدير
    • تم إصلاح تباعد في الوثائق للمعلمة الصحيحة في trackPath
    • تمت إعادة تسمية DrawScope.drawCanvas إلى drawIntoCanvas و تمت إزالة معلَمة الحجم
    • تمت إعادة تسمية معلمات dx/dy في طريقة الإدخال إلى أفقي ورأسي
    • إضافة إدراج زائد يوفر نفس إدخال قيمة لكل الحدود الأربعة
    • تمت إزالة المستندات المتعلقة بطريقة الإدخال التي تشير إلى سيتم تطبيق هذه المساحة الداخلية على جميع الجوانب الأربعة
    • تم تعديل المستندات الخاصة بصف Rect.
    • تم تعديل التعليقات على معلَمات Rect لتتطابق مع kdoc النمط
    • تمت إزالة Rect.join وRect.expandToInclude
    • تم إنشاء حمل زائد لـ Rect.translate(offset) و تم إيقاف Rect.shift نهائيًا
    • (If086a وb/167737376)
  • لقد منعنا عمليات الاستيراد الثابتة لمحتويات نطاقات التنسيق (مثل deleteWithSiblings في RowScope). يجب استخدام بديل النطاق الصريح: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be، b/166760797)

الإصدار 1.0.0-alpha03

16 أيلول (سبتمبر) 2020

تم طرح الإصدارات androidx.compose.material:material:1.0.0-alpha03 وandroidx.compose.material:material-icons-core:1.0.0-alpha03 وandroidx.compose.material:material-icons-extended:1.0.0-alpha03. يحتوي الإصدار 1.0.0-alpha03 على هذه عمليات التنفيذ.

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

  • لإعادة تسمية معلَمة onSelect في BottomNavigationItem إلى onClick (I91925، b/161809324)
  • تضيف معلمة InteractionState إلى Bottom NavigationItem وTab، ما يسمح برفع هذه الحالة وضبط كيفية ظهور المكوِّن في حالات مختلفة. (Ia3e9e، b/168025711)
  • يزيل المَعلمتَين disabledBackgroundColor وdisabledContentColor من الأزرار. وبدلاً من ذلك، يجب عليك استخدام دوال اللون الافتراضية الجديدة داخل ButtonConstants. إذا كنت تضبط contentColor / backgroundColor بشكل صريح، عليك بدلاً من ذلك استخدام هذه الدوال التلقائية وتخصيص بعض أو كلّ المَعلمات لتجنُّب استبدال اللون لكلّ من حالتَي التفعيل أو الإيقاف. (If9b52)
  • لم يعد لون خلفية Textfield ضمنيًا يطبق ألفا الشفافية بعد الآن. بدلاً من ذلك، سيتم تطبيق أي لون يتم توفيره من خلال مَعلمة backgroundColor مباشرةً. (Iecee9، b/167951441)
  • تمت إعادة تسمية InnerPadding إلى PaddingValues. (I195f1، b/167389171)
  • المَعلمتَان resistanceFactorAtMin وresistanceFactorAtMax في Modifier.swipeable بمعلمة مقاومة واحدة. تمت إضافة طريقة defaultResistanceConfig جديدة في SwipeableConstants. (I54238)
  • يضيف دعم ارتفاع حالة متحرك للزر وFloatingActionButton. يتحرك المسقط الرأسي الآن بين الحالات الافتراضية والضغطة. لتخصيص الارتفاع بين الحالات، يُرجى استخدام ButtonConstants.defaultAnimatedElevation() وFloatingActionButtonConstants.defaultAnimatedElevation() بدلاً من ضبط قيمة Dp ثابتة في جميع الحالات. (I37925)
  • أصبح التصنيف مَعلمة اختيارية داخل TextField وOutdTextField (I267f6 وb/162234081).

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

  • أصبحت الآن وظائف الاختبار الشاملة مثل onNode أو waitForIdle متوقّفة نهائيًا، يُرجى النقل إلى التطبيقات المشابهة الجديدة المحدّدة على ComposeTestRule (I7f45a)
  • تم إيقاف DpConstraints وواجهات برمجة التطبيقات التي تستخدمها نهائيًا. (I90cdb، b/167389835)
  • تمت إعادة تسمية المعلمتين minwidth وmaxwidth of widthIn إلى الحد الأدنى والحد الأقصى. وبالمثل بالنسبة إلى PreferredHeightIn، وheightIn، وFavoriteHeightIn. (I0e5e1، وb/167389544)
  • إزالة إجراءات دلالات التمرير للأمام/للخلف. الخطوات المضافة في AccessibilityRangeInfo. (Ia47b0)
  • وتمت إعادة تسمية استخدامات الجاذبية باستمرار للمحاذاة أو المحاذاة في واجهات برمجة التطبيقات للتصميم. (I2421a، b/164077038)
  • تمت إضافة onNode وطرق عمومية أخرى في ComposeTestRule كـ سيتم إيقاف الأدوات العالمية الحالية. (Ieae36)
  • تم نقل createAndroidComposeRule وAndroidInputDispatcher من من androidx.ui.test.android إلى androidx.ui.test (Idef08، وb/164060572)

الإصدار 1.0.0-alpha02

2 أيلول (سبتمبر) 2020

تم طرح الإصدارات androidx.compose.material:material:1.0.0-alpha02 وandroidx.compose.material:material-icons-core:1.0.0-alpha02 وandroidx.compose.material:material-icons-extended:1.0.0-alpha02. يحتوي الإصدار 1.0.0-alpha02 على عمليات التنفيذ هذه.

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

  • تمت إضافة مكوِّن BackdropScaffold التجريبي. (Iad908)

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

  • تم استبدال المصفوفة 4 بالمصفوفة. جميع الأجزاء الأخرى إزالة حزمة ectmath. (Ibd665، b/160140398)

الإصدار 1.0.0-alpha01

26 آب (أغسطس) 2020

تم طرح الإصدارات androidx.compose.material:material:1.0.0-alpha01 وandroidx.compose.material:material-icons-core:1.0.0-alpha01 وandroidx.compose.material:material-icons-extended:1.0.0-alpha01. يحتوي الإصدار 1.0.0-alpha01 على عمليات التنفيذ هذه.

مشكلة معروفة

= لا يمكن إزالة الحرف الأول في مادة TextField باستخدام مسافة للخلف (b/165956313)

الإصدار 0.1.0-dev

الإصدار 0.1.0-dev17

19 آب (أغسطس) 2020

تم طرح الإصدارات androidx.compose.material:material:0.1.0-dev17 وandroidx.compose.material:material-icons-core:0.1.0-dev17 وandroidx.compose.material:material-icons-extended:0.1.0-dev17. يحتوي الإصدار 0.1.0-dev17 على هذه العمليات.

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

  • تمت إزالة RadioGroup وRadioGroupItems اللذان تم إيقافهما سابقًا في السابق. استخدِم الصفّ وRadioBotton بدلاً منه (I381b7 وb/163806637).
  • تمت إزالة استدعاءات onFocusChanged من TextField. استخدِم Modifier.focusObserver بدلاً من ذلك. (I51089، b/161297615)
  • تم إيقاف Modifier.DrawBorder نهائيًا. يمكنك استخدام Modifier.party بدلاً من ذلك. تم استبدال فئة بيانات الحدود بـ BorderStroke (I4257d، وb/158160576).
  • تمت إعادة تسمية بعض الخصائص في FastableState: scrollTarget -> targetValue, cacheProgress -> التقدم، والتمرير السريع -> اتجاهك. تمت إضافة دالة التذكرSwipeableState لإنشاء SprintableStates. (I2fc9c، b/163129614، b/163132293)
  • تمّت إضافة دعم Snackbar مع تحديد الموضع والإضافة إلى قائمة الانتظار بشكل صحيح. يمكنك الوصول إليه من خلال دالة التعليق SnackbarHostState.showSnackbar. علاوةً على ذلك:
    • تمت إضافة مكوّنات SnackbarHost. وتستضيف أشرطة إعلامية حسب الحالة، وهي مسؤولة عن الانتقال بين أشرطة الوجبات الخفيفة.
    • تمت إضافة SnackbarHostState للسماح بالتحكم في أشرطة الوجبات الخفيفة ومضيفي الأشرطة الخفيفة وفصلها عن ScaffoldState. يمكنك الوصول إلى هذه الحالة عبر scaffoldState.snackbarHostState أيضًا.
    • تمت إضافة الحمل الزائد على Snackbar لإتاحة الواجهة المشتركة بين signbarHostState وتجارب تناول الطعام الخفيفة نفسها. (I79aaa)
  • إضافة مَعلمة مفعَّلة إلى IconButton، وإعادة ترتيب المَعلمات في IconToggleButton (I0a941 وb/161809385 وb/161807956)
  • تمت إزالة إصدار ListItem مع واجهة برمجة تطبيقات مستندة إلى السلسلة. استخدِم إصدار الخانة بدلاً من ذلك. (Ib8f57، b/161804681)
  • تمت إزالة مكوّن filledTextField المتوقّف نهائيًا. يُرجى استخدام حقل النص بدلاً من ذلك للحصول على تنفيذ التصميم المتعدد الأبعاد لحقل النص المعبأ. (I5e889)
  • تستخدم أداة BalanceDialog الآن للأزرار (I00ec1 وb/161809319 وb/143682374)
  • تمت إضافة معلمات في Modifier.squickable لتغيير مقدار والمقاومة عند التمرير فوق الحدود. تمت إزالة [min/max]مَعلمات القيمة. (I93d98)
  • تمت إضافة مَعلمة backgroundColor إلى LinearProgressIndicator وإزالة المساحة المتروكة الداخلية من CircularProgressIndicator. تمت إضافة ProgressIndicatorConstants.DefaultProgressAnimationSpec الجديد الذي يمكن استخدامه كعنصر AnimationSpec التلقائي عند تحريك القيم (If38b5 وb/161809914 وb/161804677)
  • تمت إضافة المَعلمة الاختيارية velocityThreshold إلى Modifier.squickable. (I698ba)
  • أسفلBarSize وfabSize وغير ذلك لم يعد متاحًا في ScaffoldState. استخدم Modifier.onPosition بدلاً من ذلك على المكون الذي تريد معرفة حجمه. تمت إضافة contentColor and Modifier pamateres إلى Scaffold (Ic6f7b، وb/161811485، وb/157174382).
  • إعادة تسمية بعض المَعلمات في علامة التبويب وإعادة ترتيبها (Ia2d12 وb/161807532)
  • يقسم TabRow إلى TabRow و ScrollableTabRow، مع إزالة قابل للتمرير من TabRow. وتعرض أيضًا EdgePadding في ScrollableTabRow، ما يسمح بالتحكم في المساحة الخالية قبل علامات التبويب أو بعدها. (I583e8، b/161809544)
  • تمت إزالة الكائن TabRow، واستبداله بـ TabConstants. تم نقل TabRow.TabPosition ليصبح مستوى أعلى (TabPosition)، وتمت إعادة تسمية IndexContainer إلى indicator. راجِع النماذج والوثائق للحصول على معلومات تفصيلية حول كيفية استخدام واجهة برمجة التطبيقات المعدَّلة والإعدادات التلقائية. (I54d45، b/161809544)
  • تم تعديل مَعلمة الحدود في Modifier.scacheable. الآن وتأخذ زوجًا من الحالات (من النوع T) وتُرجع الحد الأدنى بينهما في شكل ThresholdConfig. تمت إضافة مَعلمة إجراءات الرفض إلى مرِّر سريعًا لتجاهل، وهو lambda (DonDirection) ->. ThresholdConfig. (Ie1080)
  • يحتوي شريط التمرير على ألوان أكثر للتخصيص الدقيق (I73e64 وb/161810475)
  • تمت إعادة تسمية مَعلمة اللون في البطاقة إلى backgroundColor (I01fc1 وb/161809546).
  • يحتوي Snackbar الآن على ألوان محتوى وخلفية قابلة للتخصيص (I238f2 وb/161804381).
  • تمت إضافة مَعلمات تخصيص معدّل التعديل وBackgroundColor وcontentColor وscrimColor إلى الأدراج (I23655 وb/161804378)
  • تم الآن إيقاف العنصر state { ... } القابل للإنشاء نهائيًا لصالح الطلبات الصريحة إلى remember { mutableStateOf(...) } لمزيد من الوضوح. ويقلل هذا من إجمالي مساحة عرض واجهة برمجة التطبيقات وعدد مفاهيم الحالة وتتطابق مع نمط by mutableStateOf() للفئة تفويض الممتلكات. (Ia5727)
  • تمت إعادة تسمية مَعلمة المساحة المتروكة للزر إلى contentPadding (Id252e وb/161809394).
  • أضف عنصرًا تجريبيًا مكونًا من مكونات المواد والتمرير. (I129e5)

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

  • تمّت إزالة "onChildPositioned" و"OnChildPositionedModifier". على المطوّرين استخدام onPositioned وOnPositionedModifier. على التخطيط الفرعي بدلاً من ذلك. (I4522e، b/162109766)
  • تمت إضافة integrationPolicy lambda إلى SemanticsPropertyKey. يمكن أن تظهر فائدة هذا بوضوح أكبر تُستخدَم لتحديد سياسة مخصّصة للدلالات الدلالية الخاصة بـ integrationAllDescendants الاندماج. والسياسة التلقائية هي استخدام القيمة الرئيسية إذا سبق موجودة، وإلا فإن القيمة الثانوية. (Iaf6c4، b/161979921)
  • أصبحت IntSize الآن فئة مضمّنة (I2bf42).
  • تم تغيير اسم "PlacementScope.placeAbsolute()" إلى "PlacementScope.place()" وتغيير اسم "PlacementScope.place()" السابق إلى "PlacementScope.placeRelative()". ونتيجةً لذلك، لن تحاكي طريقة PlacementScope.place() الموضع تلقائيًا في السياقات من اليمين إلى اليسار بعد الآن. ويمكنك استخدام PlacementScope.placeRelative() بدلاً من ذلك إذا كنت تريد ذلك. (I873ac، b/162916675)
  • PxBounds متوقفة في لصالح المستطيل تم تحديث جميع حالات الاستخدام معامل pxBounds مع المستطيل والمضاف إيقاف/استبدال بشكل مناسب التعليقات التوضيحية للمساعدة في وترحيلها. (I37038، b/162627058)
  • تمت إعادة تسمية RRect إلى RoundRect. لتناسب أنماط التسمية بشكل أفضل تم إنشاء طرق إنشاء دوال مشابهة إلى RRect ودالة RRect المتوقّفة نهائيًا المرادات الإنشاء (I5d325)

الإصدار 0.1.0-dev16

5 آب (أغسطس) 2020

تم طرح الإصدارات androidx.compose.material:material:0.1.0-dev16 وandroidx.compose.material:material-icons-core:0.1.0-dev16 وandroidx.compose.material:material-icons-extended:0.1.0-dev16. يحتوي الإصدار 0.1.0-dev16 على هذه العمليات.

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

  • أصبحت الألوان الآن فئة نهائية بدلاً من واجهة. فبدلاً من توسيع نطاق التنفيذ وتوفيره، عليك إنشاء بيئة جديدة لكائن المظهر المخصّص، والوصول إلى عنصر المظهر من خلال البيئة المحيطة الجديدة في المكوّنات، تمامًا كما تعمل ميزة MaterialTheme داخليًا. (Ibae84)
  • تمت إعادة تسمية ColorPalette إلى "Colors" (الألوان)، لتعيين نظام ألوان Material بشكل أفضل وإزالة الالتباس بسبب استخدام ColorPalette في كونه "عامًا". بدلاً من كونها تطبيقًا محددًا لنظام ألوان Material. بالإضافة إلى ذلك، تعيد تسمية lightColorPalette وDarkColorPalette إلى اسمَي lightColors وDarkColors على التوالي. (I9e976، b/161812111)
  • لإعادة تسمية مَعلمة text في BottomرفّItem إلى label، onSelected إلى onSelect، activeColor إلى selectedContentColor، inactiveColor إلى unselectedContentColor وتعديل ترتيب المَعلمات ليتطابق مع الإرشادات. (Icb605 وb/161809324)
  • تم تعديل "Modifier.stateDraggable" بالكامل وإعادة تسميته إلى Modifier.scacheable. تم طرح فئة جديدة لـ ShortableState، تمت إعادة ضبط DrawerState وBottomDrawerState، ليتم اكتسابه منها. [Modal/Bottom]لم يعد DrawerLayout يستخدم معلَمة onStateChange. (I72332، b/148023068)
  • حزمة Foundation.shape.corner مسطّحة إلى مؤسسة enterprise.share (I46491، وb/161887429)
  • تمت إضافة تعليق تجريبي MaterialApi. تم وضع علامة "تجربة في مظهر RippleTheme" (Ic5fa0، وb/161784800)
  • تمت إعادة تسمية Material filledTextField ليصبح TextField، كما تمت إعادة تسمية حقل TextField الأساسي إلى BaseTextField لتسهيل العثور على واجهة برمجة التطبيقات المطلوبة واستخدامها (Ia6242، وb/155482676).

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

  • تم إيقاف OnChildPositioned نهائيًا. استخدام OnPositioned على الطفل بدلاً من ذلك (I87f95، b/162109766)
  • معالجة عمليات الإصلاح الواسعة النطاق لواجهة برمجة التطبيقات (I077bc)
    1. إزالة واجهة OffsetBase غير المستخدمة
    2. محاذاة فئات الإزاحة وIntOffset للحصول على مساحة متّسقة لواجهة برمجة التطبيقات
    3. إعادة تسمية IntOffset.Origin إلى IntOffset.Zero للتوافق مع واجهة برمجة تطبيقات Offset
    4. تم نقل طريقة "NativeCanvas" - خارج "لوحة الرسم" واجهة لمساعدة المستهلكين على إنشاء مثيلات "لوحة الرسم" الخاصة بك
    5. تم إنشاء فئة nullCanvas لإعادة هيكلة أن تكون DrawScope معلمة غير فارغة بدلاً من Lainit والتأكد من عدم قبول القيم الفارغة للحقل
    6. إعادة تسمية تعدادات ClipOp لتصبح Pascal Case
    7. تمت إعادة تسمية تعدادات filterQuality على شكل Pascal Case
    8. تمت إعادة تسمية تعدادات Stroke Join لتصبح Pascal Case
    9. تمت إعادة تسمية تعدادات PointMode إلى Pascal Case
    10. تمت إعادة تسمية تعداد PaintingStyle ليصبح Pascal Case.
    11. تمت إعادة تسمية تعدادات PathFillType لتصبح Pascal Case
    12. تمت إعادة تسمية تعدادات StrokeCap ليصبح Pascal Case
    13. تم تحديث تنفيذ Drawcache إلى لم يعد استخدام مَعلمات Lainit
    14. تم تعديل DrawScope إلى عدم استخدام التفويض الكسول بعد الآن. للمعلمات الداخلية fillPaint و النتيجة
    15. تم تعديل الصورة القابلة للإنشاء لتجنُّب استخدام Box. بتكلفة عامة أقل
    16. تم تعديل فئة Outline لتتضمّن تعليقات @Immutable توضيحية.
    17. تم تحديث PathNode لتتضمن تعليقات @Immutable التوضيحية تعليمات كل مسار
    18. تعديل تركيبة المتجه الفرعية لإزالة التكرار عمليات تحقق شرطية من أجل المساواة لأن إنشاء عناوين cannot translate
    19. طرق الدالة الإنشائية المصاحبة في Rect التي تم إيقافها نهائيًا لصالح الدالة الإنشائية للدوال
    20. تم تحديث فئات الفرشاة ودوال إنشاء الدوال باستخدام @Immutable و @Stable APIs
    21. تم تحديث تعداد VertexMode ليصبح PascalCase
    22. تم تعديل طريقة DrawScope selectPaint إلى "مشروطة" فاستبدل معلمات الحد الخارجي على الطلاء إذا كان لديهم تم التغيير
    23. تم تحديث الحجم لإضافة واجهة برمجة التطبيقات التالفة، ثم إعادة التسمية غير محدد إلى طرق غير محددة وتمت إزالتها
  • نقل مربع الحوار إلى واجهة المستخدم (I47fa6)
  • تمت إزالة SemanticsNodeInteraction.performPartialGesture. استخدام SemanticsNodeInteraction.performGesture بدلاً من ذلك. (Id9b62)
  • تمت إعادة التسمية SemanticsNodeInteraction.getBoundsInRoot() إلى SemanticsNodeInteraction.getUnclippedBoundsInRoot() (Icafdf، b/161336532)
  • تم تحديث واجهات برمجة التطبيقات التي تتيح الدعم من اليمين إلى اليسار. تمت إضافة LayoutDirectionAmbient الذي يمكن استخدامه لقراءة اتجاه التنسيق وتغييره. تمت إزالة Modifier.rtl وModifier.ltr. (I080b3)
  • تمت إعادة تسمية Modifier.deternimateProgress إلى Modifier.progressSemantics (I9c0b4).
  • تعمل هذه السياسة على تعديل رموز المواقع الإلكترونية الممتدة باستخدام أحدث الرموز التي تمت إضافتها إلى Material.io/icons (I4b1d3).
  • طلب تحديد النوع T بشكل صريح لـ integrationDefinition. (I1aded)
  • تم إيقاف Modifier.plus نهائيًا، لذا يُرجى استخدام Modifier.ثم بدلاً من ذلك. "ثم" لديه إشارة أقوى للطلب، بينما يمنع أيضًا كتابة Modifier.padding().background() + anotherModifier، ما يؤدي إلى كسر السلسلة ويصعب قراءته (Iedd58، b/161529964)
  • تمت إعادة تسمية AndroidComposeTestRule (القاعدة التالية) إلى AndroidComposeRule. (I70aaf)
  • أضف isFocused() وisNotFocused() SemanticsMatcher. (I0b760)
  • تمت إزالة BaseGestureScope.globalBounds، والذي ينبغي ألا يكون استخدامه من الاختبارات. استخدم الإحداثيات المحلية مع العقدة التي يتفاعل بدلاً من ذلك. (Ie9b08)
  • تم تثبيت موضع النافذة المنبثقة على شاشات العرض المقطوعة. (Idd7dd)
  • تمت إعادة تسمية Modifier. drawBackground إلى Modifier.background (I13677).

الإصدار 0.1.0-dev15

22 تموز (يوليو) 2020

تم طرح الإصدارات androidx.compose.material:material:0.1.0-dev15 وandroidx.compose.material:material-icons-core:0.1.0-dev15 وandroidx.compose.material:material-icons-extended:0.1.0-dev15. يحتوي الإصدار 0.1.0-dev15 على هذه العمليات.

تحديث التبعيات

  • لاستخدام إصدار 0.1.0-dev15 من Compose، عليك تعديل العناصر الاعتمادية. وفقًا لمقتطفات الرمز الجديدة الموضّحة أعلاه في بيان التبعيات.

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

  • تم الآن إيقاف التعليق التوضيحي @Model نهائيًا. استخدِم State وmutableStateOf كبدائل. وقد تم التوصل إلى قرار الإيقاف هذا بعد الكثير من المناقشات المتأنية.

    السبب

    وتشمل الأسباب، على سبيل المثال لا الحصر، ما يلي:

    • تقليل مساحة عرض واجهة برمجة التطبيقات والمفاهيم التي نحتاج إلى تدريسها
    • تتوافق بشكل أكبر مع مجموعات الأدوات الأخرى المشابهة (Swift UI وReact وFlutter).
    • قرار يمكن التراجع عنه. ويمكننا استعادة @Model في أي وقت لاحقًا.
    • تتخلص من استخدام الأحرف الكبيرة والإجابة عن الأسئلة التي يصعب الإجابة عنها بشأن إعداد "@Model" لأنّنا نحتاج إلى التعامل معها.
    • @Model فئة بيانات ويساوي ورمز التجزئة وما إلى ذلك
    • كيف يمكنني الاحتفاظ بخصوصية بعض السمات التي تم "تتبّعها" والبعض الآخر لم تتم ملاحظته؟
    • كيف يمكنني تحديد المساواة الهيكلية مقابل المساواة المرجعية لاستخدامها في الملاحظة؟
    • لتقليل "السحر" في النظام. التقليل من احتمالية افتراض شخص أن النظام أذكى مما هو عليه (أي معرفة كيفية الاختلاف في القائمة)
    • تجعل دقة الملاحظة أكثر سهولة.
    • تحسين قابلية إعادة الهيكلة من المتغير -> الموقع في الصف
    • إمكانية إجراء تحسينات يدوية مخصّصة للدولة
    • يتماشى بشكل أوثق مع بقية المنظومة المتكاملة ويقلل من الغموض تجاه الأشخاص غير القابل للتغيير أو "نتبنى الحالة القابلة للتغير"

    ملاحظات عن النقل

    تم إدخال تغييرات بسيطة إلى حدّ ما على جميع الاستخدامات الحالية لتطبيق "@Model" من خلال إحدى الطريقتَين. يحتوي المثال أدناه على فئة @Model تحتوي على سمتَين فقط، ويتم استخدامها في سمة قابلة للإنشاء.

    @Model class Position(
     var x: Int,
     var y: Int
    )
    
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    الخيار البديل 1: استخدام State<OriginalClass> وإنشاء نُسخ

    تم تسهيل هذا النهج باستخدام فئات بيانات Kotlin. بشكل أساسي، يمكنك تحويل جميع سمات var السابقة إلى سمات val من فئة بيانات، ثم استخدام state بدلاً من remember، وتعيين قيمة الحالة للنُسخ المستنسَخة من الأصل باستخدام طريقة تسهيل فئة البيانات copy(...).

    تجدر الإشارة إلى أنّ هذه الطريقة لا تعمل إلا عند إجراء التغييرات على تلك الفئة فقط في النطاق نفسه الذي يتم فيه إنشاء المثيل State. إذا كانت الفئة تتحول نفسها داخليًا خارج نطاق الاستخدام، وكنت تعتمد على ملاحظة ذلك، فإن النهج التالي هو الذي تريد استخدامه.

    data class Position(
     val x: Int,
     val y: Int
    )
    
    @Composable fun Example() {
     var p by state { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p = p.copy(x=it) }
       onYChange={ p = p.copy(y=it) }
     )
    }
    

    البديل 2: استخدام التفويضات في حالة الميزات القابلة للتغيير ومفوَّضي الملكية

    وقد تم تسهيل هذه الطريقة باستخدام ميزة تفويض السمة في Kotlin وواجهة برمجة التطبيقات mutableStateOf التي تتيح لك إنشاء مثيلات MutableState خارج التركيبة. في الأساس، يجب استبدال جميع سمات var في الفئة الأصلية بسمات var مع استخدام mutableStateOf كتفويض ملكية خاص بها. وهي ميزة مفادها أن استخدام الفئة لن يتغير على الإطلاق، بل فقط في التنفيذ الداخلي لها. ومع ذلك، لا يتطابق السلوك تمامًا مع المثال الأصلي، إذ تتم الآن مراقبة/اشتراك كل خاصية على حدة، وبالتالي قد تكون تغييرات التركيبة التي تراها بعد إعادة العامل هذه أكثر تحديدًا (وهو أمر جيد).

    class Position(x: Int, y: Int) {
     var x by mutableStateOf(x)
     var y by mutableStateOf(y)
    }
    
    // source of Example is identical to original
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    (I409e8 وb/152050010 وb/146362815 وb/146342522 وb/143413369 وb/135715219 وb/143263)Ⴏ

  • معاودة الاتصال onFocusChange في الحقول النصية التي تمت إعادة تسميتها إلى onFocusChanged (Ida4a1)

  • تمت إضافة معلمة الحدود في StateDraggable لتحديد الحدود. بين علامات الارتساء. تم استخدامه لضبط حدّ أقصى يبلغ 56 بكسل مستقل الكثافة في الدرج السفلي. بالإضافة إلى ذلك، يستخدم BottomDrawerLayout الآن تعداد BottomDrawerState منفصلاً. (I533fa)

  • يزيل Modifier.ripple الذي سبق إيقافه نهائيًا. أصبح بالإمكان النقر الآن على رمز التموّج كمؤشر تلقائي (إذا تم ضبط MaterialTheme {} في تطبيقك)، لذلك يمكنك في معظم الحالات استخدام ميزة النقر والحصول على مؤشر التموج مجانًا. إذا كنت بحاجة إلى تخصيص اللون / الحجم / المعلمة المحددة للموجة، يمكنك إنشاء مؤشر موجة يدويًا وتمريره إلى قابل للنقر كمعلمة المؤشر. (I663b2، b/155375067)

  • تمت إزالة الإلغاء المتوقّف نهائيًا للمكوّن الإضافي filledTextField القابل للإنشاء (I7f8f8).

  • إعادة تسمية كائن الزر (الذي يحتوي على الإعدادات التلقائية التي تستخدمها وظيفة الزر) إلى ButtonConstants (I7c5f7، b/159687878)

  • تعمل خانة محتوى الزر الآن كصف (مفيد عندما تحتاج إلى رمز يحتوي على نص، ويمكنك الاطّلاع على نماذج على الزر كيفية كتابته) (I0ff10، b/158677863)

  • تم إيقاف RadioGroup وRadioGroupItem نهائيًا. استخدِم Box مع Modifier.selectable و"الصف" و"العمود" لتحديد مجموعة مناسبة من خيارات زر الاختيار حسب تصميمك (I7f5cf وb/149528535).

  • تمت إضافة حقل نصي محدد للمواد (I1a518)

  • androidx.ui.foundation.TextFieldValue و تم إيقاف androidx.ui.input.EditorValue نهائيًا. حقل نصي، العناصر القابلة للإنشاء FileedTextField وCoreTextField التي تستخدم تم أيضًا إيقاف هذا النوع نهائيًا. يُرجى استخدام androidx.ui.input.TextFieldValue بدلاً من ذلك (I4066d، b/155211005)

  • لا يحتوي TabRow.TabPosition على موضع في Dp، وليس في IntPx (I34a07، b/158577776).

  • تم استبدال استخدام IntPx بـ Int. موضع IntPxPosition الذي تم استبداله باستخدام IntOffset. تم استبدال IntPxSize بـ IntSize. (Ib7b44)

  • من أجل دمج عدد الفئات المستخدمة لتمثيل تحديد حجم المعلومات، وتوحيد عند استخدام فئة الحجم بدلاً من من PxSize. فهذا يوفر مزايا لفئةٍ مضمنة للاستفادة من بيانات إلى حزمة 2 قيمتين عائمتين لتمثيل العرض والارتفاع ممثلين بأعداد عشرية. (Ic0191)

  • لإيقاف Modifier.ripple. أصبح بالإمكان النقر الآن على رمز التموّج كمؤشر تلقائي (إذا تم ضبط MaterialTheme {} في تطبيقك)، لذلك يمكنك في معظم الحالات استخدام ميزة النقر والحصول على مؤشر التموج مجانًا. إذا كنت بحاجة إلى تخصيص اللون / الحجم / المعلمة المحددة للموجة، يمكنك إنشاء مؤشر موجة يدويًا وتمريره إلى قابل للنقر كمعلمة المؤشر. (I101cd، b/155375067)

  • تمت إعادة صياغة واجهة برمجة تطبيقات Scaffold: فقد غيّرت بعض المعلمات اسمها، وأضفت معلمات جديدة للحصول على تخصيص أفضل. تمت إضافة دالة getter إلى أحجام طلبات البحث في Fab وTopBar وBottomBar (I0e7ce).

  • تمت إضافة مكون Dropdown Menu في مادة ui-material، وهو تنفيذ لقائمة التصميم المتعدد الأبعاد. (I9bb3d)

  • السماح بإظهار/إخفاء لوحة مفاتيح البرنامج يدويًا باستخدام SoftwareboardController (Ifb9d6 وb/155427736)

  • تمت إضافة Modifier.indiction إلى حزمة المؤسسة. يمكنك استخدامه لإظهار الضغط/السحب/إشارة أخرى على العناصر المخصّصة القابلة للتفاعل (I8425f وb/155287131)

  • عمليات التنفيذ الموحدة في CanvasScope لذلك لا يوجد الآن سوى DrawScope نطاق رسم المحتوى تمت إعادة تسمية CanvasScope إلى DrawScope. تم تعديل DrawScope لتنفيذ الكثافة. وتوفير LayoutDirection تم حذف الفئة الفرعية DrawScope في ContentDrawScope تم تعديل Painter وPainterModifier. عدم الاحتفاظ بخاصية RTL بعد الآن أنفسهم لأن DrawScope يوفر هذا بالفعل بدون تقديمها يدويًا (I1798e)

  • إعادة تسمية Emphasis.confirm() إلى Emphasis.applyEmphasis() (Iceebe)

  • الآن، تتبع الأزرار غير المفعّلة مواصفات التصميم المتعدد الأبعاد (I47dcb وb/155076924) بشكل مرئي.

  • يحصل تطبيق filledTextField على إجراءات فورية وإمكانية التحويل المرئي ونوع لوحة المفاتيح (I1f9cf وb/155075201).

  • تضيف معلمة عرض الخط إلى CircularProgressIndicator لتخصيص حجم الخط. لتغيير حجم خط الرسم (الارتفاع) لـ LinearProgressIndicator، يمكنك استخدام Modifier.FavoriteHeight() أو طريقة تعديل أخرى للحجم. (Icea16، b/154919081)

  • تضيف معلمة عرض الخط إلى CircularProgressIndicator لتخصيص حجم الخط. لتغيير حجم خط الرسم (الارتفاع) لـ LinearProgressIndicator، يمكنك استخدام Modifier.FavoriteHeight() أو طريقة تعديل أخرى للحجم. (Icea16، b/154919081)

  • تمت إضافة واجهة برمجة تطبيقات الخانة للرموز اللاحقة والبادئة في filledTextField والتعامل مع حالة الخطأ (Ic12e0).

  • تم تغيير اللون التلقائي لكل من FAB وExtended FAB إلى MaterialTheme.colors.secondary. (I3b9b9، b/154118816)

  • تم استبدال جميع استخدامات الألوان القابلة للقيم الفارغة في واجهة برمجة التطبيقات بـ غير قابلة للقيم الفارغة وتستخدم Color.Unset بدلاً من null (Iamaa7)

  • تمت إعادة تسمية EdgeInsets إلى InnerPadding. تمت إعادة تسمية المعلمة innerPadding من Material Buttons إلى paddding. (I66165)

  • أصبح شريط التمرير بلا حالة. سيحتاج المستخدمون إلى تمرير الحالة وتعديلها بأنفسهم، كما هو الحال في أي عنصر تحكُّم آخر. (Ia00aa)

  • تمت إزالة StaticDrawer. إذا احتجت إلى ذلك، يمكنك استخدام Box بعرض متوافق مع المواد الأساسية (I244a7).

  • تمت إضافة تنفيذ "تصميم متعدد الأبعاد" لحقل النص المعبأ (Ic75cd).

  • تمت إضافة معلَمة التعديل إلى ListItem وإعادة ترتيب المعلَمات إلى الترويج لنص lambda اللاحقة (I66e21)

  • لإضافة معلمة الدالة الإنشائية defaultFontFamily إلى Typgraphy، بما يسمح بتحديد مجموعة الخطوط التلقائية التي سيتم استخدامها لأي نمط TextStyles تم تقديمه لا يحتوي على مجموعة عائلة. (I89d07)

  • تمت إزالة جداول بيانات المواد مؤقتًا من سطح واجهة برمجة التطبيقات. (Iaea61)

  • المعلمات التي تمت إعادة تسميتها في الفاصل القابل للإنشاء (Ic4373)

  • الأطفال (Ia6d19)

  • إزالة MaterialTheme.emphasisLevels، استخدم EmphasisAmbient.current لاسترداد مستويات التوكيد (Ib5e40) بدلاً من ذلك

  • يتم تحديث نظام تحديد أشكال الشكل وفقًا لمواصفات التصميم المتعدد الأبعاد. يمكنك الآن تقديم أشكال صغيرة ومتوسطة وكبيرة لاستخدامها في معظم المكوّنات (Ifb4d1).

  • تم تغيير واجهات برمجة تطبيقات MaterialTheme، مثل MaterialTheme.colors()، وMaterialTheme.typgraphic() لتكون سمات بدلاً من دوال. يُرجى إزالة الأقواس من المكالمات الحالية، وليس من المتوقع تغيير السلوك. (I3565a)

  • واجهات برمجة تطبيقات FloatingActionButton المُعاد تصميمها لقبول العناصر القابلة للإنشاء لامدا بدلاً من الأساسيات. الاطّلاع على النماذج المعدَّلة للاستخدام المعلومات. (I00622)

  • إضافة مَعلمة enabled إلى مربّع الاختيار، والتبديل، والتبديل (I41c16)

  • أصبحت ميزة "الموجة" الآن معدِّلة. على الرغم من أنّه لم يتم إجراء إحالة ناجحة من خلال ميزة "إمكانية النقر"، يكون الاستخدام المقترَح هو Clickable(onClick = { ... }, modifier = ripple()) (Ie5200، وb/151331852، وb/150060763).

  • تم نقل السطح والبطاقة من androidx.ui.material.surface إلى androidx.ui.material (I88a6d وb/150863888).

  • يتوفّر الآن للزر وFloatingActionButton والقابل للنقر معلَمة enabled منفصلة. تمت إعادة تسمية بعض المَعلمات على Button أو إعادة ترتيبها. (I54b5a)

  • تمت إعادة تسمية الصورة إلى ImageAsset بغرض التمييز بشكل أفضل بين بيانات "الصورة" و"الصورة القابلة للإنشاء" القادمة، والمستخدمة للمشاركة في تصميم المحتوى ورسمه. _Body:تم إنشاء طريقة الإضافة على android.graphics.Bitmap، Bitmap.asImageAsset()، لإنشاء مثيل من تفيد ImageAsset الجمع بين نظام Android التقليدي تطوير التطبيق باستخدام إطار عمل الإنشاء (Id5bbd)

  • تمت إزالة واجهة برمجة تطبيقات Snackbar باستخدام معلَمات السلسلة. التحميل الزائد الذي يقبل دالة lambdas القابلة للإنشاء. الاطّلاع على نماذج محدّثة لـ معلومات الاستخدام (I55f80)

  • واجهات برمجة تطبيقات Tabed Tab التي تمت إعادة تصميمها لقبول text وicon lambdas، (Ia057e)

  • تمت إضافة مكون Bottomرفّ، راجع المستندات والنماذج معلومات الاستخدام (I731a0)

  • تمت إضافة Icon و IconButton و IconToggleButton لإزالة AppBarIcon. يمكنك استبدال الاستخدامات الحالية لتطبيق AppBarIcon مباشرةً بـ IconButton. وسيكون لديها الآن هدف اللمس الصحيح. شاهد نماذج إلى معلومات الاستخدام، والاطلاع على رموز رموز المواد المقدمة يمكنك استخدامها مباشرة مع هذه المكونات. (I96849)

  • تم استبدال ButtonStyle بدوال مميّزة وإزالة الحمل الزائد للنص (السلسلة). يمكنك الاطّلاع على النماذج المعدّلة للحصول على معلومات الاستخدام. (If63ab وb/146478620 وb/146482131)

  • إعادة تسمية مفتاح التعديل Border إلى DrawBorder (I8ffcc)

  • لم تعد LayoutCoordinates لها خاصية موضع. تشير رسالة الأشكال البيانية لا معنى لخاصية الموضع عند التفكير في LayoutModifiers، أو الدوران أو التحجيم. بدلاً من ذلك، يجب على المطوّرين استخدام parentCoordinates وchildToLocal() لحساب التحويل من واحد LayoutCoordinate إلى آخر.

    تستخدم LayoutCoordinates IntPxSize لخاصية الحجم بدلاً من PxSize. تستخدم التخطيطات أحجام وحدات بكسل صحيحة للتنسيقات، بحيث تكون جميع أحجام التخطيط يجب أن تستخدم الأعداد الصحيحة وليس قيم النقاط العائمة. (I9367b)

  • تغييرات قد تؤدي إلى تغيُّر واجهة برمجة تطبيقات البيئة المحيطة يمكنك الاطّلاع على مستندات "Ambient<T>" والسجلّ للحصول على التفاصيل (I4c7ee، وb/143769776).

  • تمت إضافة مكوّن مادة السقالة. أدوات Scaffold (I7731b)

  • تم استبدال DrawBorder لصالح معدِّل الحدود (Id335a)

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

  • تم إيقاف FocusModifier لصالح Modifier.focus، وModifier.focusRequester، وModifier.focusObserver. تم إيقاف FocusState وFocusDetailsState لصالح FocusState2 (I46919، b/160822875، b/160922136)
  • تم إيقاف Vertical Scroller وHoriziontalScroller نهائيًا. يمكنك استخدام ScrollableColumn وScrollableRow للحصول على تجربة مدمجة مع سلوك ومعلَمات العمود/الصف، أو Modifier.verticalportrait وModifier.horizontal scroll على العنصر الخاص بك. وبالمثل، تم إيقاف ScrollerPosition نهائيًا لصالح ScrollState' (I400ce وb/157225838 وb/149460415 وb/154105299)
  • تمت إعادة صياغة واجهات برمجة التطبيقات Modifier.draggable وModifier.scrollable. تمت إزالة DragDirection لصالح Orientation. تم تبسيط الحالة المطلوبة للتمرير السريع. تمت إعادة تسمية scrollableState إلى ScrollableController (Iab63c وb/149460415).
  • تمت إعادة تسمية runOnIdleCompose إلى runOnIdle (I83607).
  • تستخدم الآن خصائص الدلالة الأحادية القيمة أسلوب استدعاء. على سبيل المثال، 'semantics {hidden = true }' يُكتب الآن على النحو التالي: 'semantics {hidden() }'. (Ic1afd، b/145951226، b/145955412)
  • تمت إعادة تسمية العديد من واجهات برمجة تطبيقات الاختبار لتصبح أكثر سهولة. الكل تمت إعادة تسمية واجهات برمجة تطبيقات findXYZ إلى onNodeXYZ. تمت إعادة تسمية جميع واجهات برمجة تطبيقات doXYZ إلى تنفيذ XYZ. (I7f164)
  • تم تغيير Transition API لعرض TransitionState بدلاً من تمرير TransitionState للأطفال. وهذا يجعل واجهة برمجة التطبيقات أكثر تناسقًا مع animate(). (I24e38)
  • تمت إضافة فئة وحدة IntBounds، والتي تمثّل عددًا صحيحًا من حدود البكسل من التخطيط. تم تحديث واجهة برمجة التطبيقات PopupPositionProvider لاستخدامها. (I0d8d0، b/159596546)
  • تمت إضافة علامة جديدة اختيارية UseUnmergedTree إلى أدوات البحث عن الاختبار. (I2ce48)
  • تمت إزالة واجهات برمجة التطبيقات لاختبار الحجم القديم. (Iba0a0)
  • تمت إزالة فئة Shader المضمنة التي تم تضمين فئة NativeShader المتوقعة تمت إعادة تسمية NativeShader ليصبح Shader. قامت فئة Shader المضمَّنة الملفوفة عدم إضافة أي معلومات قيّمة إلى مساحة عرض واجهة برمجة التطبيقات وكانت فئة مضمّنة، لذا يجب استخدام NativeShader الفصل الدراسي مباشرةً. (I25e4d)
  • تكتسِب النوافذ المنبثقة ومربّعات الحوار والقوائم الآن MaterialTheme السياقي (Ia3665 وb/156527485)
  • يمكن الآن التمرير في القائمة المنسدلة الخاصة بالمواد. (Ide699)
  • تمت إزالة معلمة اتجاه التصميم من كتلة القياس للدالة Layout(). في المقابل، يتوفّر اتجاه التنسيق داخل عنصر الاستدعاء من خلال عنصر نطاق القياس (Ic7d9d).
  • استخدام AnimationSpec بدلاً من AnimationBuilder في واجهات برمجة التطبيقات ذات المستوى الأعلى لتوضيح مفهوم مواصفات الرسوم المتحركة الثابتة -تحسين انتقال DSL عن طريق إزالة شرط lambda إنشاء AnimationSpecs مثل tween وspring. وبدلاً من ذلك يأخذون معلمات الدالة الإنشائية مباشرةً. -تحسين سهولة استخدام AnimationSpec بشكل عام البنائين بدلاً من الاعتماد على البنائين -تغيير المدة والتأخير لإطارات KeyFrames وTween إلى Int. هذا النمط بإزالة أشكال النوع غير الضرورية والأحمال الزائد للطريقة ( تدعم كلاً من Long وInt). (Ica0b4)
  • يظهر مفتاح التبديل الآن في حالة إيقاف عند ضبط enabled على خطأ (If4624، وb/155941869، وb/159331694)
  • تمت إعادة تسمية Modifier.tag إلى Modifier.layoutId لتجنُّب حدوث أي التباس مع Modifier.testTag. (I995f0)
  • إن المواضع Int لخط المحاذاة التي تم إرجاعها من Placeable#get(AlignmentLine) أصبحت الآن غير خالية. إذا كان خط المحاذاة الذي تم طلبه مفقودًا، سيتم عرض LineLine.Unspecified. (I896c5، b/158134875)
  • أن تكون فئة نصف القطر المعاد توزيعها فئة تضمين. تمت إزالة إنشاء الإعلان المصاحب. الطرق لصالح الدالة الإنشائية للدالة مع المعلمة الافتراضية ليتضمن نصف القطر radius على طول المحور ص في نفس النقطة معلمة نصف القطر x للمحور x.

    تم تعديل DrawScope. drawRoundRect ليتم استخدامه. معلمة نصف قطر واحدة بدلاً من معاملين منفصلين القيم العائمة لنصف القطر المحوري x وy المحور (I46d1b)

  • من أجل دمج عدد الفئات المستخدمة لتمثيل معلومات عن المكانة في السوق، وتوحيد عند استخدام فئة Offset بدلاً من ذلك لـ PxPosition. فهذا يوفر مزايا لفئةٍ مضمنة للاستفادة من بيانات إلى حزمة 2 قيم عائمة لتمثيل x وإزاحة ص الممثلة على شكل أعداد عشرية. (I3ad98)

  • تم استبدال استخدام فئة Px في مختلف لإنشاء فئات كجزء من جهود إعادة البناء للاعتماد على Dp فقط والأنواع الأولية لمعلمات البكسل. تم حذف فئة Px بالكامل (I3ff33)

  • تم إيقاف المكوِّن القابل للتبديل نهائيًا. يمكنك استخدام Modifier.toggleable بدلاً من ذلك (I35220، وb/157642842).

  • تم استبدال استخدام فئة Px في مختلف لإنشاء فئات كجزء من جهود إعادة البناء للاعتماد على Dp فقط والأنواع الأساسية لمعلمات البكسل (I086f4)

  • تم استبدال استخدام فئة Px في مختلف لإنشاء فئات كجزء من جهود إعادة البناء للاعتماد على Dp فقط والأنواع الأساسية لمَعلمات البكسل (Id3434)

  • تم استبدال استخدام فئة Px في مختلف لإنشاء فئات كجزء من جهود إعادة البناء للاعتماد على Dp فقط والأنواع الأساسية لمعلمات البكسل (I97a5a)

  • تم إصلاح مشكلة عدم استدعاء onClick لـ Dropdon MenuItems. (I3998b، b/157673259)

  • تم إيقاف بشكل متبادل خاص بعنصر التحكّم. يمكنك استخدام Modifier.selectable بدلاً من ذلك. (I02b47، b/157642842)

  • تم إيقاف TestTag نهائيًا الآن. يُرجى استخدام Modifier.testTag بدلاً من ذلك. (If5110، وb/157173105)

  • يحتوي مؤشر حقل النص على صورة متحركة وامضة (Id10a7)

  • تم استبدال استخدام فئة Px في مختلف لإنشاء فئات كجزء من جهود إعادة البناء للاعتماد على Dp فقط والأنواع الأساسية لمعلمات البكسل (I19d02)

  • يوفر Vertical Scroller الآن عمودًا خارج الصندوق. يوفر شريط التمرير الأفقي الآن الصف خارج الصندوق. (Ieca5d، b/157020670)

  • تم استبدال استخدام فئة Px في مختلف لإنشاء فئات كجزء من جهود إعادة البناء للاعتماد على Dp فقط والأنواع الأساسية لمعلمات البكسل (Iede0b)

  • لم يتم إيقاف Modifier.semantics نهائيًا للسماح باستخدامات المكوّنات عالية المستوى. (I4cfdc)

  • تم تغيير واجهة برمجة تطبيقات معدِّلات DrawLayer: تمت إعادة تسمية outlineShape إلى الشكل وله القيمة التلقائية RectangleShape وأصبحت الآن غير قابلة للقيم الفارغة؛ تمت إعادة تسمية lineToOutline إلى مقطع. تمت إزالة musicToBounds لأنّه مماثل للمقطع == true مع RectangleShape (I7ef11، b/155075735).

  • تم تعديل المستوى الأعلى. لإنشاء واجهات برمجة تطبيقات تعرض لوحة رسم عرض CanvasScope بدلاً من ذلك. سيؤدي هذا إلى إزالة حاجة المستهلكين إلى الحفاظ على طلاء الأجسام الخاصة بك. بالنسبة إلى المستهلكين الذين لا تزال بحاجة إلى الوصول إلى لوحة رسم يمكنه استخدام إضافة drawCanvas توفر رد الاتصال للمشكلة أوامر الرسم باستخدام الدالة لوحة. (I80afd)

  • تم بشكل نهائي إيقاف SpamLineOffset القابل للإنشاء نهائيًا، يُرجى استخدام مفتاح التعديل فيما يتعلق بـ relatedPaddingFrom() بدلاً من ذلك. تمت إزالة العنصر CenterAlignmentLine القابل للإنشاء. (I60107)

  • تم تغيير واجهة برمجة تطبيقات lambda اللاحقة بالقيود الخاصة بالقيود المفروضة على واجهة برمجة تطبيقات lambda. فبدلاً من مَعلمتَين، أصبح لديه نطاق للمستلِم، بالإضافة إلى القيود وLayoutDirection الذي يوفّر خصائص minRate وmaxwidth وminHeight وmaxHeight في Dp (I91b9a، وb/149979702)

  • تمت إضافة معدِّل التنسيق defaultMinSizeConstraints، الذي يعيّن قيود الحجم على التنسيق الملفوف فقط عند عدم تحديد القيود المقابلة الواردة (0 للقيود الأدنى واللانهاية للحد الأقصى للقيود). (I311ea، b/150460257)

  • تمت إزالة FocusManagerAmbient. استخدِم FocusModifier.requestFocus لجذب التركيز. (Ic4826)

  • تم إنشاء واجهة برمجة تطبيقات CanvasScope التي تضم عنصر لوحة لكشف بيان عديم الحالة رسم واجهة برمجة التطبيقات. يتم تضمين عمليات التحويل ضمن نطاق المتلقي الخاص بها وتحديد حجم المعلومات يتم أيضًا تحديد نطاقه على الحدود الداخلية المقابلة. لا تتطلّب من المستهلك الحفاظ على حالة "الطلاء" الخاصة به. لتكوين عمليات الرسم.

    تمت إضافة CanvasScopeSample بالإضافة إلى حدّث التطبيق التجريبي ليشمل رسومات تعريفية تجريبي (Ifd86d)

  • إضافة تخصيص لون المؤشر إلى حقل النص (I6e33f)

  • يمكن الآن لـ TextFieldValue الذي يتم استخدامه مع TextField- الاستمرار في إعادة إنشاء النشاط عند استخدامه على النحو التالي: var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() } (I5c3ce، b/155075724).

  • تمت إعادة تسمية LayoutModifier2 إلى LayoutModifier. (Id29f3)

  • تمت إزالة واجهة LayoutModifier المتوقّفة نهائيًا. (I2a9d6)

  • تم استبدال CoreTextField/TextField المقدَّرةIdentifier مع FocusNode من أجل الدمج مع النظام الفرعي للتركيز. (I7ea48)

  • تتضمّن دوال القياسات الجوهرية في كل من "التنسيق" و"LayoutModifier2" مستقبلًا IntrinsicMeasurementScope. (Id9945)

  • تتم إضافة Modifier.zIndex() الجديد للتحكم في ترتيب رسم العناصر الفرعية ضمن نفس التنسيق الرئيسي. تمت إعادة تسمية خاصية الارتفاع في DrawLayerModifier إلى shadowE Liftation ولم تعُد تتحكّم في ترتيب الرسم. تم تغيير ترتيب المعلمات لـ DrawShadow: المسقط الرأسي هو الأول والشكل الثاني مع RectangleShape الافتراضي. (I20150، b/152417501)

  • تم نقل RectangleShape من androidx.ui.foundation.shape.* إلى androidx.ui.graphics.* (Ia74d5، b/154507984)

  • تحديث واجهة برمجة التطبيقات TextField: تم دمج استدعاءات onFocus وonBure في معاودة اتصال onFocusChange(Boolean) واحدة تضم معلمة (I66cd3)

  • تمت إضافة معلمتَي الجاذبية الرأسية والجاذبية الأفقية إلى الصف والعمود، على التوالي. (I7dc5a)

  • تم تعديل wrapContentwidth وwrapContentHeight لتوقُّع محاذاة رأسية أو أفقية بدلاً من أي محاذاة. تم تحديث معدِّل الجاذبية لقبول المحاذاة العمودية أو الأفقية. تم تحديث الصف والعمود والتكديس لدعم المحاذاة المستمرة المخصصة. (Ib0728)

  • تم إنشاء واجهة برمجة التطبيقات PixelMap للدعم للاستعلام عن معلومات البكسل من ImageAsset. (I69ad6)

  • يؤدي هذا الإجراء إلى إزالة OfferContentColor، وبدلاً من ذلك، يمكنك استخدام ContentColorAmbient مباشرةً مع "Providers" (Iee942).

  • إعادة تسمية وحدة إنشاء النص المستخدم باسم ui-text. نص واجهة المستخدم يحتوي الآن على CoreText وCoreTextField قابلَين للإنشاء (Ib7d47).

  • تمت إعادة تسمية وحدة ui-text باسم ui-text-core (I57dec).

  • تم نقل عناصر ui-framework/CoreText وCoreTextField القابلة للإنشاء ضمن إنشاء النص في واجهة المستخدم. قد ترغب في تضمين ui-text-compos في مشروعك. (I32042)

  • تحسين واجهة برمجة تطبيقات DrawModifier:

    • تم إنشاء نطاق المُستلِم لـ draw() ContentDrawScope
    • تمت إزالة جميع المعلمات على draw()
    • واجهة DrawScope هي نفس واجهة تطبيق CanvasScope السابق
    • يحتوي ContentDrawScope على طريقة drawContent() (Ibaced، b/152919067)
  • runOnIdleCompose وrunOnUiThread هما الآن دالتان عموميتان بدلاً من الطرق في ComposeTestRule. (Icbe8f)

  • [Mutable]تم نقل عوامل تشغيل التفويض الخاصة بالموقع الإلكتروني في الولاية إلى الإضافات لإتاحة تحسينات تفويض المواقع على Kotlin 1.4. يجب على المتصلين إضافة لمواصلة استخدام by state { ... } أو by mutableStateOf(...). (I5312c)

  • تمت إضافة positionInParent وboundsInParent لـ LayoutCoordinates (Icacdd، b/152735784)

  • تم إيقاف ColoredRect نهائيًا. استخدِم Box(Modifier.FavoriteSize(width, height).drawBackground(color)) بدلاً من ذلك. (I499fa، b/152753731)

  • تمت إعادة تسمية LayoutResult إلى MeasurementResult. (Id8c68)

  • تمت إضافة LayoutModifier2، وهي واجهة برمجة تطبيقات جديدة لتحديد أدوات تعديل التنسيق؛ LayoutModifier المتوقّف نهائيًا (If32ac)

  • تم استبدال أداة التعديل بالإضافة إلى عامل التشغيل بوظائف إضافة على الإعدادات الأصلية (I225e4).

  • تم نقل ميزة السحب إلى أداة التعديل (Id9b16، وb/151959544).

  • تم إيقاف ParentData القابلة للإنشاء نهائيًا. وعليك إما إنشاء مفتاح تعديل ينفّذ واجهة ParentDataModifier، أو استخدام أداة التعديل LayoutTag إذا كنت تريد ببساطة وضع علامات على العناصر الثانوية للتنسيق من أجل التعرّف عليها داخل كتلة القياس. (I51368، b/150953183)

  • عنصر قابل للإنشاء من خلال المركز المتوقف. يجب استبداله إما بالمُعدّل LayoutSize.Fill + LayoutAlign.Center، أو بأحد عناصر المربع أو الحزمة القابلة للإنشاء مع تطبيق التعديلات المناسبة (Idf5e0).

  • تمت إضافة واجهة برمجة تطبيقات VectorPainter إلى استبدال واجهة برمجة تطبيقات الإنشاء الفرعي الحالية الرسومات المتجهة. نتيجة التركيب الفرعي هو كائن VectorPainter بدلاً من DrawModifier. تم إيقاف DrawVector السابق القابلة للإنشاء لصالح VectorPainter.

    تمت إعادة تسمية واجهة برمجة تطبيقات الصورة(Painter) إلى PaintBox(Painter) تم إنشاء متجه قابل للإنشاء يعمل مثل صورة قابلة للإنشاء باستثناء مادة عرض VectorAsset من ImageAsset (I9af9a، b/149030271)

  • تمت إعادة تسمية Layoutflex إلى Layoutweight. تمت إعادة تسمية معلَمة ضيقة للتعبئة. (If4738)

  • تمت إزالة RepaintBoundary لصالح DrawLayerModifier (I00aa4)

  • تم تغيير DrawVector من قابلة للإنشاء لإرجاع مُعدَّل drawVector() الذي وسوف نرسم المتجه كخلفية لتخطيط. (I7b8e0)

  • تم استبدال دالة التعتيم القابلة للإنشاء باستخدام معدِّل drawOpacity. (I5fb62)

  • استبدال الدالة القابلة للإنشاء "Clip" باستخدام مفتاح التعديل drawClip(). تطبيق DrawClipToBounds هو أداة تعديل ملائمة للاستخدام عندما تحتاج فقط إلى الاقتصاص إلى حدود الطبقة بشكل مستطيل. (If28eb)

  • تم استبدال دالة DrawShadow القابلة للإنشاء بـ drawShadow() مفتاح التعديل. يتم الآن رسم الظلال كجزء من LayerModifier. (I0317a)

  • تمت إضافة LayerModifier، وهو معدِّل يتيح إضافة RenderNode للتصميم. يسمح بإعداد الاقتصاص والتعتيم والتدوير والتحجيم والظلال. سيحل هذا محل RepaintBoundary. (I7100d، b/150774014)

  • تم نقل androidx.compose.ViewComposer إلى androidx.ui.node.UiComposer. تمت إزالة androidx.compose.Emittable. وكان تكرارًا في ComponentNode. تمت إزالة androidx.compose.ViewAdapters. لم تعد حالة استخدام متوافقة. تم إيقاف Compose.composeInto نهائيًا. يمكنك استخدام setContent أو setViewContent بدلاً منها. تم إيقاف واجهة برمجة التطبيقات Compose.disposeAccounts نهائيًا. بدلاً من ذلك، استخدِم طريقة dispose على Composition التي تعرضها setContent. تم نقل androidx.compose.Compose.subcomposeInto إلى androidx.ui.core.subcomposeInto تمت إعادة تسمية ComponentNode#emitInsertAt إلى ComponentNode#insertAt تمت إعادة تسمية ComponentNode#emitRemoveAt إلى ComponentNode#removeAt تمت إعادة تسمية ComponentNode#emitMode إلى ComponentNode#move (Idef00).

  • تم إنشاء صورة قابلة للإنشاء للتعامل معها. الحجم/التخطيط بالإضافة إلى رسم حجم ImageAsset على الشاشة هذا العنصر القابل للإنشاء يدعم أيضًا رسم أي رسام عشوائي سبيل المثال، مع مراعاة حجمها الأساسي بالإضافة إلى دعم قيمة ثابتة معينة الحجم أو الحد الأدنى للحجم (Ibcc8f)

  • التفاف متوقف نهائيًا وقابل للإنشاء. يمكن استبداله إما باستخدام مفتاح التعديل LayoutAlign أو العنصر القابل للإنشاء (Ib237f)

  • حصلت WithConstraints على معلمة LayoutDirection (I6d6f7)

  • تم نشر اتجاه التنسيق من عقدة التنسيق الرئيسية إلى العناصر الثانوية. تمت إضافة معدِّل اتجاه التنسيق. (I3d955)

  • .
  • يتوافق مكوِّن التكديس مع الاتجاه من اليمين إلى اليسار (Ic9e00)

  • تمت إزالة DrawShape القابل للإنشاء. يمكنك استخدام أداة تعديل DrawBackground بدلاً من ذلك. (I7ceb2)

  • إتاحة الاتجاه من اليمين إلى اليسار في أداة التعديل LayoutPadding (I9e8da)

  • تمت إضافة AdapterList، وهو مكون قائمة تمرير لإنشاء العناصر المرئية وتخطيطها. المشاكل المعروفة حاليًا أن يكون عموديًا فقط ولا يعالج جميع حالات التغييرات في عناصرها الثانوية. (Ib351b)

  • تم تعديل علامة ComposeFlags.COMPOSER_PARAM لتصبح true، ما سيؤدي إلى تغيير استراتيجية إنشاء الرموز في المكوّن الإضافي لإنشاء الرموز. على مستوى عالٍ، يؤدي هذا الأمر إلى إنشاء دوال @Composable باستخدام مَعلمة اصطناعية إضافية، والتي يتم تمريرها إلى استدعاءات @Composable اللاحقة لكي يدير بيئة التشغيل عملية التنفيذ بشكل صحيح. ويُعد هذا تغييرًا كبيرًا لأعطال النظام الثنائي، ولكن يجب أن يحافظ هذا التغيير على التوافق على مستوى المصدر في جميع الاستخدامات الخاضعة لعقوبات. (I7971c)

  • تمت إضافة مكوِّن لوحة الرسم. يتطلب هذا العنصر القابل للإنشاء حجمًا (يوفّره المستخدم) ويتيح لك الرسم باستخدام CanvasScope (I0d622).

  • تم دمج الكثافة ونطاق الكثافة في واجهة واحدة. يمكنك الآن استخدام الدالة Densityambient.current بدلاً منبينDensity() . بدلاً من withDensity(density) only with(density) (I11cb1)

  • تم تغيير LayoutCoordinates لتقديم خطوط المحاذاة المقدمة مجموعة بدلاً من خريطة وجعل LayoutCoordinates تعمل على تنفيذ get() بدلاً من ذلك لاسترداد قيمة. يسهل ذلك أن تعدل مفاتيح التعديل قيمة واحدة أو أكثر من قيمة المجموعة دون إنشاء مجموعة جديدة لكل معدِّل. (I0245a)

  • تعرض أدوات التمرير الآن سلوك "التنقل السريع" في Android. (I922af، b/147493715)

  • تحسينات على واجهة برمجة التطبيقات للقيود (I0fd15)