Wear Compose Material 3

  
يمكنك كتابة تطبيقات Jetpack Compose لأجهزة Wear OS من خلال توفير وظائف تتوافق مع أحجام الأجهزة المختلفة وإيماءات التنقّل باستخدام نظام تصميم Material 3 Expressive.
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأوّلي
‫13 أغسطس 2025 - 1.5.0-rc02 - -

تحديد الاعتماديات

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

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

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.5.0-rc02"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material3:1.5.0-rc02"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.5.0-rc02"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-rc02")
    
    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.5.0-rc02")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material3:1.5.0-rc02")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.5.0-rc02")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-rc02")

    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

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

الملاحظات

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

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

يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.

الإصدار 1.5 من Wear Compose Material3

الإصدار 1.5.0-rc02

‫13 أغسطس 2025

تم طرح androidx.wear.compose:compose-*:1.5.0-rc02. يتضمّن الإصدار 1.5.0-rc02 هذه التعديلات.

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

  • تم إصلاح الخطأ في TimePicker الذي كان يؤدي إلى تعطُّل التنسيق عند استخدام سلاسل طويلة بلغات متعددة للفترة الزمنية (صباحًا/مساءً). (I0fa81)

الإصدار 1.5.0-rc01

‫30 يوليو 2025

تم طرح androidx.wear.compose:compose-*:1.5.0-rc01. يتضمّن الإصدار 1.5.0-rc01 هذه التعديلات.

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

  • يتم الآن تشغيل TimePicker بالكامل حسب اللغة المحلية للمستخدم، وذلك باستخدام DateFormat.getBestDateTimePattern لتحديد ترتيب أدوات الاختيار والفواصل ومحتواها. يؤدي ذلك إلى إصلاح ترتيب الأعمدة غير الصحيح للغات الصينية واليابانية والكورية، وحلّ مشاكل التنسيق من اليمين إلى اليسار في لغات مثل العربية، واستخدام فواصل مترجَمة، وتوفير تنسيقات الساعات من 0 إلى 11 ومن 1 إلى 12 استنادًا إلى اللغة (I5d543)
  • تعرض DatePicker الآن شهرًا رقميًا في بعض اللغات، مثل الصينية واليابانية والكورية، لتجنُّب الخلط بين التنسيقات الرقمية واللغوية (مثلاً، ‫2025 | 07 | 02 بدلاً من 2025 | 7月 | 02). يطبّق هذا التغيير قاعدة إرشادية تتحقّق مما إذا كانت اللغة تستخدم لاحقات لغوية للسنة، وإذا كان الأمر كذلك، يتم تبديل تنسيق الشهر من نصي (MMM) إلى رقمي (MM) لضمان الاتساق. (Ia93fe)
  • أصبح المساحة العمودية للعنوان في مكوّن "أداة الاختيار" ثابتة الآن، ما يمنع حدوث تغيير مرئي عند اختيار عمود أداة اختيار، لا سيما في وضع Talkback. (I7f8b7)
  • تم إصلاح خطأ في تسهيل الاستخدام ناتج عن عرض HorizontalPageIndicator وVerticalPageIndicator بملء الشاشة. لم تعُد مؤشرات الصفحات تظهر بملء الشاشة، وسيتم تحديد موضعها تلقائيًا عند استخدامها مع HorizontalPagerScaffold أو VerticalPagerScaffold. عند عدم استخدام بنية صفحة ذات أرقام، حدِّد المحاذاة بشكل صريح باستخدام modifier = Modifier.align(Alignment.BottomCenter) مع HorizontalPageIndicator وmodifier =Modifier.align(Alignment.CenterEnd) مع VerticalPageIndicator. (I3a0ad)
  • أصبح اتجاه التمرير السريع في SwipeToReveal متوافقًا الآن مع كل من LayoutDirections من اليمين إلى اليسار ومن اليسار إلى اليمين. (I6d427)
  • تمت إعادة تفعيل ميزة التوسيط العمودي SwipeToReveal للإجراءات. إذا كانت القيمة hasPartiallyRevealedState = true، يجب أن تتم إعادة ضبط RevealState على RevealValue.Covered من قِبل المتصل عند حدوث التمرير. (I6473d)
  • تعمل SwipeDismissableNavHost الآن على قص المحتوى بشكل صحيح للإصدار 36 من واجهة برمجة التطبيقات والإصدارات الأحدث. (Ib9a44)

الإصدار 1.5.0-beta06

‫16 يوليو 2025

تم طرح androidx.wear.compose:compose-*:1.5.0-beta06. يتضمّن الإصدار 1.5.0-beta06 هذه التعديلات.

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

  • إصلاح الرسوم المتحركة EdgeButton عندما يكون LazyColumn أو ScalingLazyColumn يحتويان على reverseLayout = true (I46a1a)
  • تم إصلاح خطأ في ScreenScaffold كان يؤدي إلى عدم عمل ميزة "التنقّل باللمس" في Talkback في حال توفير ScrollIndicator/PageIndicator. (I6dcee)
  • تتيح السمة TransformingLazyColumn الآن إمكانية التحويل المخصّص من TransformationSpec من خلال قراءة قيمة itemHeight التي توفّرها السمة TransformationSpec في أداة رسم الخلفية. (I6a599)
  • انتقالات الألوان المتحركة المفعّلة/غير المفعّلة لـ IconButton، لتكون متوافقة مع IconToggleButton (Ife10a)
  • تمت إزالة الحد الأدنى لتثبيت القسم في CircularProgressIndicator لتجنُّب الانتقال الملحوظ إلى الحد الأدنى لحجم النقطة عند تحريكها. في إطار هذا التغيير، لم يعُد يتم استخدام المَعلمة targetProgress في drawCircularProgressIndicator. (I33309)
  • يتضمّن أداة الاختيار الآن الدور الدلالي ValuePicker الذي يمكن أن تستخدمه برامج قراءة الشاشة لتسهيل استخدام أدوات الاختيار. تتضمّن أداة الاختيار أيضًا تصنيفات نقر معدَّلة لتسهيل الاستخدام، وهي تفرّق بين تعديل القيمة في وضع القراءة فقط واختيار القيمة الحالية في الحالات الأخرى. (I33309)

الإصدار 1.5.0-beta05

‫2 يوليو 2025

تم طرح androidx.wear.compose:compose-*:1.5.0-beta05. يتضمّن الإصدار 1.5.0-beta05 هذه التعديلات.

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

  • تم تعديل المستندات لتوضيح استخدام Modifier.edgeSwipeToDismiss (I78cb5)
  • تم إصلاح الخطأ الذي كان يؤدي إلى إمكانية عرض عناصر متعدّدة تم الكشف عنها باستخدام SwipeToReveal في القوائم الكسولة (I1d4f6)
  • تمت الآن إعادة تحجيم أشكال الحاويات في TransformingLazyColumn لتجنُّب اقتصاص المحتوى. (I9221a)
  • تتضمّن التسمية TimePicker وDatePicker الخاصة بالساعة أو الدقيقة أو الثانية أو السنة أو الشهر أو اليوم الآن دلالات عناوين لبرامج قراءة الشاشة (I77d8b).
  • تمت إزالة التوقف المؤقت بين التكرارات في CircularProgressIndicator غير المحدّد (Iaf0bb)
  • تم إصلاح خطأ في الصورة المتحركة في TransformingLazyColumn عند إزالة عناصر. (I73034)
  • تم تصحيح طريقة التعامل مع العناصر الأساسية في TransformingLazyColumn عند إزالة العناصر. (I841a8)
  • تعرض أداة اختيار PickerGroup الآن رسومًا متحركة لأدوات الاختيار أفقيًا عند تفعيل ميزة "التوسيط التلقائي" وتغيير أداة الاختيار المحدّدة (المتوسّطة). (Ic82c4)

الإصدار 1.5.0-beta04

‫18 يونيو 2025

تم طرح androidx.wear.compose:compose-*:1.5.0-beta04. يتضمّن الإصدار 1.5.0-beta04 هذه التعديلات.

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

  • تم إصلاح خطأ في التنسيق في TransformingLazyColumn، حيث يتم الآن محاذاة المحتوى الذي يتناسب مع الشاشة بشكل صحيح من أعلى الشاشة (I80115)
  • تم إصلاح مشكلة في TransformingLazyColumn حيث تم تغيير حجم العنصر السفلي بشكل غير صحيح عند الانتقال إلى أسفل القائمة التي تتضمّن EdgeButton. يتبع مستوى تقدّم التمرير الآن عملية نزول تدريجي عند استعادة التنسيق. (Iea375)
  • تعرض السمة TransformingLazyColumn الآن ارتفاع العنصر داخل أداة الرسم في الخلفية، ما يسمح للسمة TransformationSpecs المخصّصة بتنفيذ عملية التحوّل. (I022f0)
  • تعمل السمة SwipeToReveal الآن على توسيط الإجراءات المكشوفة عموديًا بشكل صحيح. (I4419b)
  • تم إصلاح خطأ في SwipeToReveal كان يمنع عمله بشكل صحيح مع ميزة "التمرير سريعًا للإغلاق" في حال استخدام كل من طريقتَي العرض وCompose على الشاشة. (I5dc0e)
  • تم إصلاح الخطأ الذي كان يؤدي إلى رسم إجراءات SwipeToReveal بإزاحة عمودية عند التمرير. (I29444)
  • تعمل القيم AlertDialog وConfirmationDialog وOpenOnPhoneDialog وSwipeToReveal الآن على تقريب المساحات المتروكة والأحجام التي يتم احتسابها كنسبة مئوية من حجم الشاشة. (I76367)
  • تعدّل ButtonDefaults.outlinedButtonBorder الآن الحجم بعد تغيير حالة التفعيل/الإيقاف(If2ddd)
  • تم إصلاح خطأ في ارتفاع EdgeButton حدث على شاشات معقّدة تحتوي على Pager وScreenScaffold. (I946e3)
  • تم إصلاح مشكلة تزامن قد تؤدي إلى توقّف الصور المتحركة للعناصر النائبة. (I53530)
  • تحسين أداء HorizontalPageIndicator وVerticalPageIndicator من خلال الرسم على "لوحة الرسم" (Ifae1e)
  • تم تحسين شكل EdgeButton لتسهيل الانتقال بين علامة الحذف والدوائر التي تشكّل المخطّط التفصيلي. (I7721e)
  • تم إصلاح خطأ في LevelIndicator تسبّب في إيقاف الصور المتحركة بسبب عمليات إعادة إنشاء غير ضرورية. (I45d08)

الإصدار 1.5.0-beta03

‫4 يونيو 2025

تم طرح androidx.wear.compose:compose-*:1.5.0-beta03. يتضمّن الإصدار 1.5.0-beta03 هذه التعديلات.

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

  • تعرض ميزة OpenOnPhoneDialog الآن نص الرسالة فقط ضمن TalkBack، وتتخطّى دلالات الرمز. تم تعديل OpenOnPhoneDialogDefaults لإزالة المَعلمتَين iconContentDescription وcontentDescription من icon(). بالإضافة إلى ذلك، يتضمّن ConfirmationDialogDefaults الآن مَعلمات معدِّلة في عناصر SuccessIcon وFailureIcon القابلة للإنشاء. (Id2ae2)

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

  • تم تغيير ترتيب تطبيق تأثير المَعلمات SurfaceTransformation. في السابق، كانت عمليات التحويل المطبَّقة على مكوّنات Wear Material3 تتم على النحو التالي: أداة رسم الخلفية، وعملية تحويل الحاوية، وعملية تحويل المحتوى. الآن، تم عكس أول عنصرَين، ونطبّق أي معدِّل تم تمريره بينهما، لذا يتأثر بتحويلات الحاوية. يحلّ هذا الإجراء مشاكل مثل استخدام تأثير التموّج في العنصر النائب مع عناصر في بطاقة TLC باستخدام مَعلمة التحويل. (I786cf)
  • تمت إضافة RevealState.Saver لاستخدامها في استعادة حالة SwipeToReveal عند إعادة إنشاء النشاط أو العملية. تستخدم الدالة rememberRevealState الآن أداة الحفظ هذه تلقائيًا. (Ie0ecb)
  • يجب أن تكون أزرار الإجراءات الأساسية والثانوية ButtonDefault.Height تلقائيًا (تم إصلاح الخطأ الذي كانت فيه هذه الأزرار تملأ الحد الأقصى للارتفاع للأزرار الأطول).SwipeToReveal (Ibfba1)
  • تم تغيير SwipeToReveal لإعادة ضبط آخر عنصر تم التفاعل معه عند تنفيذ إيماءة التمرير السريع لليسار. (Ia8450)
  • تم تغيير SwipeToReveal إلى الحالة Revealing عندما يكون موضع نهاية التمرير السريع بين نقاط الارتكاز الخاصة بالكشف والكشف الكامل، ويكون أقرب إلى نقطة الارتكاز الخاصة بالكشف. (If4458)
  • تم الآن عكس محتوى ButtonGroup بشكل صحيح في تخطيط من اليمين إلى اليسار (Ib378d)
  • أصبحت AnimatedText متوافقة الآن مع اتجاه النص من اليمين إلى اليسار (I4533c)
  • TransformingLazyColumn يعيد الآن تغيير حجم العناصر بشكل صحيح عند إزالة العنصر السفلي (Idacab)
  • تجري أداة TransformingLazyColumn الآن عملية قياس واحدة فقط، ما يحسّن الأداء من خلال تقليل أوقات عرض اللقطات. (I501a1)

الإصدار 1.5.0-beta02

‫20 مايو 2025

تم طرح androidx.wear.compose:compose-*:1.5.0-beta02. يتضمّن الإصدار 1.5.0-beta02 هذه التعديلات.

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

  • تم تعديل ملفات تعريف خط الأساس لمكتبات Foundation وMaterial وMaterial3. (I53f06)
  • تم إصلاح خطأ في TransformingLazyColumn، حيث تم تغيير حجم العناصر عند إزالة العنصر السفلي. (Idacab)
  • تم إصلاح خطأ في TransformingLazyColumn، حيث كانت القائمة عالقة في أعلى القائمة أو أسفلها. (I49d00)
  • يجب أن تعلن OpenOnPhoneDialog ضمن TalkBack عن النص المنحني بدلاً من وصف محتوى الرمز. (I4efe8)
  • تم إصلاح خطأ في SwipeToReveal كان يؤدي إلى عرض رابط مرجعي غير صحيح في RevealState.currentValue عندما تكون قيمة hasPartiallyRevealedState هي "خطأ". (I9c7cf)
  • أصبحت أزرار التراجع SwipeToReveal ButtonDefaults.Height تلقائية الآن. (I1f6c8)
  • تم تحسين أداء BasicSwipeToDismissBox من خلال إيقاف استخدام Canvas لرسم الشاشات المعتمة. (I68f2c)
  • تم إصلاح خطأ متعلق بإمكانية الوصول في شريط التمرير، حيث لم تتطابق النسبة المئوية المُعلَن عنها مع القيمة بعد التحديثات (I91146)
  • تم إصلاح خطأ في عملية تنفيذ placeholderShimmer. (Iee39b
  • تم تحسين أداء TransformingLazyColumn من خلال تحسين عملية احتساب ScrollProgress بنسبة %30. (I4c4cb)

الإصدار 1.5.0-beta01

‫7 مايو 2025

تم طرح androidx.wear.compose:compose-*:1.5.0-beta01. يتضمّن الإصدار 1.5.0-beta01 هذه التعديلات.

يشير الإصدار 1.5.0-beta01 من Compose for Wear OS إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء ما تمّت الإشارة إليه على أنّه تجريبي).

يتضمّن الإصدار 1.5.0-beta01 من Wear Compose مكتبة Wear Compose Material3 التي تتوافق مع نظام تصميم واجهة المستخدم الجديد المعروف باسم Material 3 Expressive. ننصحك بالترقية من Material إلى Material3 للاستفادة من التصميم المرئي الجديد في التطبيقات، ومن المكوّنات الجديدة على النحو التالي:

  • MaterialTheme للحصول على أنظمة ألوان وأساليب خطوط وأشكال محدّثة وموسّعة لإضافة عمق وتنوّع إلى تصاميمك
  • ميزة "تطبيق المظهر الديناميكي" التي تنشئ تلقائيًا نظام ألوان لتطبيقك ليتطابق مع ألوان خلفية شاشة الساعة
  • تتكيّف المكوّنات الجديدة تلقائيًا مع أحجام الشاشات الأكبر
  • تغيير الشكل: تتوافق مكوّنات الأزرار الدائرية، مثل IconButton وTextButton وIconToggleButton وTextToggleButton، مع أشكال متغيرة يتم تحريكها عند الضغط عليها أو وضع علامة فيها.
  • EdgeButton: زر جديد على الحافة بتصميم خاص في أسفل الشاشة
  • الأساسات: تقديم AppScaffold وScreenScaffold لتحديد بنية الشاشة وتنسيق الصور المتحركة ScrollIndicator وTimeText
  • الأزرار: تتوفّر أزرار عديدة على شكل ملعب مع حاويات مرنة ذات خانة واحدة وأشكال متعدّدة الخانات للأزرار التي تتضمّن رموزًا وتصنيفات. يتم توفير CheckboxButton وSwitchButton عند الحاجة إلى أزرار تبديل، بينما RadioButton هو زر الاختيار المتاح (يتم توفير أشكال "مقسّمة" من أزرار التبديل والاختيار أيضًا).
  • ButtonGroup: تنفّذ مجموعة تعبيرية من الأزرار في صف واحد تتغيّر أشكالها عند لمسها.
  • تتضمّن صيغ AlertDialog أزرار موافقة/إلغاء أو EdgeButton.
  • تتوفّر السمة ConfirmationDialog لعرض رسالة مع مهلة، ما يتيح استخدام رسوم متحركة خاصة لحالات النجاح والفشل والفتح على الهاتف.
  • تتوفّر أيضًا أشكال مختلفة من أدوات الاختيار، مثل TimePicker وDatePicker، بالإضافة إلى مكوّنات Picker وPickerGroup لإنشاء شاشات أدوات اختيار خاصة بك.
  • ProgressIndicators - مؤشرات التقدّم الدائرية والخطية متوافقة (يحتوي CircularProgressIndicator على أشكال متنوّعة مقسّمة وغير محدّدة).
  • البطاقات: يتوفّر عدد من أشكال البطاقات، بما في ذلك TitleCard التي توفّر تخطيطات محدّدة للبطاقات التي تتضمّن عنوانًا أو وقتًا أو عنوانًا فرعيًا أو خانات محتوى. يمكن أيضًا منح TitleCard خلفية صورة لتعزيز معنى المعلومات في البطاقة.
  • تنسّق عناصر أدوات التقسيم إلى صفحات HorizontalPagerScaffold وVerticalPagerScaffold وAnimatedPage الحركتين HorizontalPageIndicator وVerticalPagerIndicator. تم إصدار HorizontalPager وVerticalPager في مكتبة Wear Compose Foundation.
  • العناصر النائبة: ترسم شكلاً هيكليًا فوق أحد المكوّنات، وذلك في الحالات التي لا يتوفّر فيها أي محتوى مؤقت.
  • شرائط التمرير وأزرار الزيادة والنقصان: تتيح شرائط التمرير وأزرار الزيادة والنقصان للمستخدمين إمكانية الاختيار من بين مجموعة من القيم. تكون شرائط التمرير أكثر إحكامًا ويمكن تقسيمها، في حين أنّ أداة "الخطوات" هي مكوّن بملء الشاشة يتم عادةً إقرانه بعنصر StepperLevelIndicator.
  • SwipeToReveal: تُستخدَم لإضافة إجراءات إضافية إلى عنصر قابل للإنشاء عند التمرير سريعًا من اليمين إلى اليسار.

بالإضافة إلى ذلك، يتضمّن الإصدار 1.5.0-beta01 من Wear Compose Foundation المكوّنات الجديدة التالية:

  • TransformingLazyColumn: قائمة يتم تحميلها عند الحاجة إليها، ويمكن التمرير فيها عموديًا، وتتيح تغيير الحجم وتأثيرات التحوّل
  • مجموعات التركيز الهرمية: تُستخدَم لإضافة تعليقات توضيحية إلى العناصر القابلة للإنشاء في أحد التطبيقات، وذلك لتتبُّع الجزء النشط من التركيب وتنسيق التركيز.
  • أدوات اختيار الصفحات - المكوّنان HorizontalPager وVerticalPager، تم إنشاؤهما استنادًا إلى مكوّنات Compose Foundation مع تحسينات خاصة بنظام التشغيل Wear لتحسين الأداء والالتزام بإرشادات Wear OS

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

  • تم تعديل واجهة برمجة التطبيقات Hierarchical Focus API، إذ تمّت إعادة تسمية Modifier.hierarchicalFocus إلى Modifier.hierarchicalFocusGroup وإزالة مَعلمة معاودة الاتصال، وإزالة التحميل الزائد لـ Modifier.hierarchicalFocusRequester باستخدام المَعلمة FocusRequester، وإنشاء CompositionLocal وLocalScreenIsActive جديدتَين لكي تتمكّن المكوّنات من إعلام الشاشة النشطة والتحقّق منها. (I5ff7c).
  • تم إيقاف SwipeToReveal نهائيًا من Wear Compose Foundation لصالح واجهات SwipeToReveal API في Wear Compose Material وWear Compose Material3. يُرجى استبدال عمليات استيراد Wear Foundation SwipeToReveal بعمليات استيراد Wear Compose Material أو Wear Compose Material3 لمواصلة استخدام واجهات برمجة التطبيقات. (Ia147d).
  • تم نقل تبعيات Wear Compose Material3 SwipeToReveal في Foundation إلى حزمة material3، مثل RevealValue وRevealDirection وRevealActionType وRevealState وrememberRevealState. على المطوّرين تغيير عمليات استيراد هذه الفئات والدوال من androidx.wear.compose.foundation إلى androidx.wear.compose.material3. (I640e6).
  • تم تعديل واجهة برمجة التطبيقات SwipeToReveal Wear Compose Material3 على النحو التالي: تمت إضافة المَعلمات primaryAction وonFullSwipe وsecondaryAction وundoPrimaryAction وundoSecondaryAction وhasPartiallyRevealedState إلى العنصر القابل للإنشاء SwipeToReveal، وتمت إزالة إمكانية تخصيص positionalThreshold وanimationSpec من RevealState، وتمت إزالة lastActionType وrevealThreshold والعرض من RevealState، وتم تغيير الدالة الإنشائية RevealState لقبول RevealDirection بدلاً من نقاط الارتكاز، وتمت إزالة الدوال createRevealAnchors ونقاط الارتكاز وbidirectionalAnchors، وتمت إعادة تسمية الدوال SwipeToRevealScope primaryAction وsecondaryAction وundoPrimaryAction وundoSecondaryAction لتصبح PrimaryActionButton وSecondaryActionButton وUndoActionButton وتحويلها إلى دوال قابلة للإنشاء، وتم وضع علامة "داخلي" على RevealActionType. (I885d0).
  • تم تعديل واجهة برمجة التطبيقات SwipeToReveal على النحو التالي: تمت إعادة تسمية onFullSwipe إلى onSwipePrimaryAction، وإعادة تسمية SwipeToRevealNonAnchoredSample للإشارة إلى استخدام المَعلمة hasPartiallyRevealedState، وإزالة actionButtonHeight لأنّ الارتفاع التلقائي هو الارتفاع التلقائي للزر ويمكن ضبط ارتفاع أكبر باستخدام أداة تعديل، وإزالة SmallActionButtonHeight من SwipeToRevealDefaults، وجعل مَعلمة القيمة في الدالتَين الإنشائيتَين RevealValue وRevealDirection خاصة. (I465ce).

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

  • تم إصلاح طريقة التعامل مع ScreenScaffold في EdgeButton، بحيث يتم تحريك EdgeButton إلى مكانه بعد إزالة عنصر TransformingLazyColumn. (I6d366).
  • تم تعديل تبعيات Wear Compose على مكتبات Compose إلى الإصدار 1.8.0. (I2ef3f).
  • تم تعديل حركة شريط التقدم غير المحدّد CircularProgressIndicator لكي لا يتراجع مؤقتًا. (Ieddb1).
  • تم إصلاح الخطأ SwipeDismissableNavHost: لم يكن التركيز ينتقل بشكل صحيح بعد التمرير سريعًا للرجوع، ما أدّى إلى تعذُّر إدخال البيانات باستخدام أداة التحكم الدوّارة (كان ذلك للإصدار 36 من واجهة برمجة التطبيقات والإصدارات الأحدث التي تستخدم ميزة "الرجوع التوقّعي"). (Ieddb1).
  • تم تعديل مستندات Hierarchical Focus API (Idf2ff).
  • تم تعديل مستندات Button وCard لتوضيح كيفية إلغاء containerPainter وdisabledContainerPainter للقيم containerColor وdisabledContainerColor (I4a453).
  • تم التراجع عن تغيير في TimeText في الإصدار السابق الذي نقل BroadcastReceiver إلى سلسلة عاملة، لأنّ ذلك تسبّب في حدوث مشاكل للتطبيقات التي تدير سلاسلها الخاصة أثناء التنقّل. (I34d02).
  • تم تعديل أمثلة Picker لإزالة طلبات التذكير غير الضرورية واستخدام rememberUpdatedState في Picker بدلاً من ذلك لتذكُّر أحدث دالة lambda contentDescription. (Icb5b1).
  • تم تعديل أنماط النصوص في TimePicker وDatePicker لكي لا تؤدي تغييرات الخط إلى اقتطاع النص. (I26194).
  • تتم الآن محاذاة النص تلقائيًا في ListHeader إلى الوسط وفي ListSubHeader إلى البداية. (I78339).
  • تم تعديل عيّنات Foundation وMaterial Swipe to Reveal وعروضها التوضيحية للإعلان عن إجراءات تسهيل الاستخدام المخصّصة (يجب إضافة الإجراءات المخصّصة كدلالات على المحتوى، وليس على العنصر SwipeToReveal القابل للإنشاء نفسه). (Ie92a3).
  • تم تعديل القيمة التلقائية MaxLines التي تم ضبطها على المحتوى EdgeButton وفقًا لحجمه، وأصبحت الآن 1 للأحجام الصغيرة جدًا، و2 للأحجام الصغيرة والمتوسطة، و3 للأحجام الكبيرة. (Ie35f6).
  • تم تبسيط LocalReduceMotion بحيث يتم تسجيل المراقب مرة واحدة فقط، وذلك لتحسين الأداء. (Ib1979).
  • تم تقليل عدد عمليات إعادة الرسم في ScrollIndicator لتحسين الأداء. (Ia7a67).
  • تم إصلاح خطأ في TransformingLazyColumn، حيث لم يتم تغيير حجم العنصر المرئي العلوي في القائمة بشكل صحيح عندما وصل EdgeButton إلى ارتفاعه الكامل. (I30580).

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

الإصدار 1.0.0-alpha37

‫23 أبريل 2025

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha37. يتضمّن الإصدار 1.0.0-alpha37 هذه التعديلات.

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

  • تمت إزالة scrollTransform من مساحة واجهة برمجة التطبيقات المتاحة للجميع. استخدِم مجموعة المعدِّلَين transformedHeight وgraphicsLayer إذا كنت بحاجة إلى الحصول على الوظيفة نفسها. (Ie181d)
  • تم استبدال الدالتَين القابلتَين للإنشاء ImageButton وImageCard بالدالتَين Button وCard/TitleCard على التوالي. تمت إعادة تسمية "imageButtonColors" إلى "buttonWithContainerPainterColors" و"imageCardColors" إلى "cardWithContainerPainterColors". تمت إضافة ButtonDefaults.scrimBrush وCardDefaults.scrimBrush العلنيَّين. تمت إعادة تسمية الزرَّين "imageBackgroundGradientStartColor" و"imageBackgroundGradientEndColor" إلى "scrimGradientStartColor" و"scrimGradientEndColor". تمت إعادة تسمية CardDefaults.ImageContentPadding إلى CardDefaults.CardWithContainerPainterContentPadding (I7b8b6)
  • تستخدِم الدالتان Picker وPickerGroup الآن contentDescription كدالة lambda لتجنُّب عمليات إعادة التركيب غير الضرورية. (I002dd)

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

  • تم إصلاح مشكلة تذبذب حالة عدم التحديد CircularProgressIndicator أثناء الحركة إذا لم يكن العرض مساويًا للارتفاع. (I76bfe)
  • تم إصلاح مشكلة في تخطيط زر الحافة عند استخدام حجم غير صالح. يمنع الآن تعديل تخطيط الزرّ على الحافة عندما تكون القيمة NaN. (I32b93)
  • تمت زيادة الحد الأقصى لزاوية المسح في OpenOnPhoneDialog حتى لا يتم اقتطاع النص التلقائي "التحقّق من الهاتف" مع أكبر حجم للخط. (I90af9)

الإصدار 1.0.0-alpha36

‫9 أبريل 2025

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha36. يتضمّن الإصدار 1.0.0-alpha36 هذه التعديلات.

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

  • تم استبدال ButtonDefaults.imageBackgroundButtonColors بـ ImageButton وButtonDefaults.imageButtonColors وButtonDefaults.containerPainter وButtonDefaults.disabledContainerPainter. وينطبق الأمر نفسه على Card. تمت إزالة الرسامين من ButtonColors وCardColors. (I8c6a1)
  • تم تعديل العناصر النائبة لتبسيط واجهة برمجة التطبيقات. نوفّر الآن معدِّلَين، هما Modifier.placeholderShimmer لتطبيق تأثير التموّج على مستوى المكوّن، وModifier.placeholder لتطبيق قناع على المحتوى غير المحمّل (Iaee7a).

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

  • تم دمج التمرير السريع إلى ما بعد حدود الصفحة في ScrollIndicator. (Icfb7f)
  • إصلاح المشاكل المتعلّقة بالخلفيات الفارغة ومربّعات الحوار غير المتوفّرة عند تشغيل مربّعات حوار Material3 (Ice597)
  • تم إصلاح المشاكل في FadingExpandingLabel عندما يمتد النص على عدة أسطر. (I04eb7)
  • تم تعديل المساحة المتروكة بين التصنيفات الأساسية والثانوية على الأزرار. (I99b7b)
  • تم خفض قيمة ArcLarge من 20sp إلى 18sp، وتم تعديل المسافات بين الأحرف في ArcLarge وArcSmall. يستخدم ConfirmationDialog/OpenOnPhoneDialog الآن القيمة التلقائية ArcLarge بدلاً من استبدالها بالقيمة 18sp. (Id39a8)

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

  • تستهدف هذه المكتبة الآن مستوى اللغة Kotlin 2.0 وتتطلّب الإصدار 2.0.0 أو إصدارًا أحدث من KGP. (Idb6b5)

الإصدار 1.0.0-alpha35

‫26 مارس 2025

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha35. يتضمّن الإصدار 1.0.0-alpha35 هذه التعديلات.

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

  • تم الآن تقليل مساحة الحشو في الأعلى تلقائيًا عند توفير رمز، ما يتيح الاستفادة بشكل أفضل من حجم الشاشة المتاح.AlertDialog (Ief06c)
  • تمت إعادة تسمية PagerScaffoldDefaults.FadeOutAnimation إلى PagerScaffoldDefaults.FadeOutAnimationSpec. تمت إعادة تسمية مَعلمة الصفحة على AnimatedPage لتصبح pageIndex. (I701f2)
  • تم تعديل التسمية الخاصة بتقسيم TransformingLazyColumn من SurfaceTransformation إلى applyTransformation إلى applyContainerTransformation وapplyContentTransformation، كما تمت إعادة تسمية createBackgroundPainter إلى createContainerPainter. تعديلات إضافية على أسماء TransformationSpec وResponsiveTransformationSpec (I1c534)
  • تمت إعادة تسمية AppScaffold backgroundColor إلى containerColor. (I4e63f)

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

  • تم إصلاح مشكلة في FadingExpandingLabel حيث لم يكن النص يتوسّع دائمًا بشكلٍ صحيح. (I0e773)
  • تم تخفيض ArcLarge من 20sp إلى 18sp، وتم تعديل المسافات بين الأحرف في ArcLarge وArcSmall. تستخدم ConfirmationDialog/OpenOnPhoneDialog الآن القيمة التلقائية ArcLarge بدلاً من استبدالها بالقيمة 18sp. (Id39a8)
  • تم تعديل حركة العنوان في DatePicker وTimePicker، بحيث تعمل حركة التلاشي والظهور كحركة واحدة. (I68963)
  • تم تحسين PagerScaffold من خلال تجنُّب قراءة currentPageOffsetFraction في العنصر القابل للإنشاء AnimatedPage. (I433ef)
  • تم تعديل جميع مقاييس الخطوط لتضمين أرقام متناسبة تلقائيًا، لأنّ ذلك يُعدّ حالة الاستخدام الأكثر شيوعًا، وقد أدّى ضبط القيمة التلقائية على جدولية إلى حدوث مسافة كبيرة جدًا بين أزواج أرقام معيّنة. تظل TimePicker وDatePicker ساريتَين على FontFeatureSetting=tnum للأرقام الجدولية. (I88929)
  • تم تصحيح تركيز الإدخال الأولي في RSB لكل من TimePicker وDatePicker. (I1c773)
  • تم تعديل النص التلقائي على OpenOnPhoneDialog إلى "التحقّق من هاتفك". (I00a3f)
  • تم تعديل أوزان ArcLarge وArcMedium من 600 إلى 599 لتجنُّب مشكلة يتم فيها التعامل مع الوزن 600 على أنّه غامق (I2a51d)
  • تعديل SwipeToReveal المساحات المتروكة بين المحتوى وأزرار الإجراءات، وكذلك المساحة المتروكة بين رمز أزرار الإجراءات ونصها (Ic46cb)

الإصدار 1.0.0-alpha34

‫12 مارس 2025

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha34. يتضمّن الإصدار 1.0.0-alpha34 هذه التعديلات.

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

  • لم يعُد PagerScaffold ينبعث منه المكوّن Pager، بل يجب توفيره من خلال content Composable. أصبحت السمتان AnimatedPage وsnapWithSpringFlingBehaviour متاحتَين الآن للجميع ويمكن استخدامهما مع Pager Wear Foundation لتحقيق سلوك PagerScaffold السابق في الإصدار M3. (اطّلِع على النماذج المعدّلة). (Ia4724)
  • تم تعديل PagerState، وإزالة PagerState Compose Foundation كفئة أساسية وإضافة السمات currentPage وcurrentPageOffsetFraction وpageCount. تم تعديل واجهة GestureInclusion، وإعادة تسمية الطريقة إلى ignoreGestureStart. (I4ae07)
  • تم الآن إضافة تعليقات توضيحية إلى مَعلمات زاوية المسح LevelIndicator باستخدام FloatRange(0, 360) (I7e636)
  • أضفنا CurvedModifier.clearAndSetSemantics لتوفير وسيلة لإيقاف الدلالات المنحنية. لا يزال CurvedText يضبط وصف المحتوى تلقائيًا على النص، ولكنّ timeTextCurvedText وtimeTextSeparator لا يعلنان عن محتوياتهما الآن. (I4b568)
  • تمت إضافة مَعلمتَي لون الخلفية ولون المحتوى التلقائي إلى AppScaffold. (I56652)
  • تمت إعادة تسمية طريقة التعامل التلقائية مع الإيماءات بالسحب في HorizontalPager إلى PagerDefaults.gestureInclusion. يتم الآن تجاهل إيماءات التمرير السريع التي تبدأ على الحافة اليسرى من الصفحة الأولى فقط، وعندما تكون ميزة TalkBack غير مفعّلة. وفي الحالات الأخرى، يكون السلوك التلقائي هو عدم تجاهل إيماءات التمرير السريع من خلال أداة عرض الصفحات، وبالتالي لن تكون متاحة لمعالجات التمرير السريع للإغلاق. (Iee486)
  • تمت إضافة المَعلمة SurfaceTransformation إلى مكوّنات الأزرار والبطاقات وعناوين القوائم، حتى تتمكّن من تطبيق عمليات تحويل مختلفة للخلفية والمحتوى عند استخدامها في الحاويات التي تغيّر مظهر العناصر استنادًا إلى موضعها، مثل TransformingLazyColumn. (Iabe3f)
  • عدّلنا خصائص ‎ 'public const val' في واجهة برمجة التطبيقات Wear Compose Material3 إلى ‎ 'public val'، وذلك لتجنُّب تضمين القيم. (Ib0f32)
  • تمت إضافة منطقة التمرير السريع من الحافة إلى SwipeToReveal. أصبح السلوك التلقائي في Foundation SwipeToReveal هو عدم السماح بالتمرير السريع عندما تبدأ الإيماءة من الحافة. أصبح السلوك التلقائي في Material3 SwipeToReveal’ هو عدم السماح بالتمرير السريع عندما تبدأ الإيماءة من الحافة، وذلك عندما يتم ضبط SwipeDirection على اتجاه واحد. (I32ef0)
  • تمت إضافة FadingExpandingLabel القابل للإنشاء، ما يتيح التلاشي التدريجي للنص مع رسم خط متحرك سطرًا بسطر. (Ic60fa)
  • تستخدم TransformingLazyColumn الآن contentPadding فارغًا تلقائيًا بدلاً من وضع العنصرَين الأول والأخير في المنتصف. (I77ab7)
  • تمت إزالة SwipeToReveal من rememberRevealState في مكتبة Wear Compose Material3. (I8c0e0)

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

  • تم تحديث مكتبات Wear Compose إلى برنامج الترجمة البرمجية Kotlin 2.0. (I2de79)
  • تمت إزالة إمكانية استخدام ScrollIndicator وPageIndicator غير الدائريَّين من Material3. لم يعُد توفير الدعم للشاشات المربّعة جزءًا من متطلبات Wear OS أيضًا، يمكنك الاطّلاع على دليل بدء الاستخدام للحصول على مزيد من المعلومات. (I9a852)
  • تم تعديل CurvedTextStyle المستخدَمة في ConfirmationDialogDefaults وOpenOnPhoneDialogDefaults لاستخدام ArcLarge مع الحجم 18sp والمسافة بين الأحرف 1.8sp. (Ic9ced)
  • لم تعُد Card وListHeader وRadioButton وCheckboxButton وSwitchButton تقيّد ارتفاع محتواها تلقائيًا. استخدِم Modifier.height(IntrinsicSize.Min) لاستعادة السلوك السابق عند الضرورة. (I80bb8)
  • لقد عدّلنا ألوان TimeText وScrollIndicator التلقائية لتشمل المزيد من درجات اللون الرمادي، لأنّ استخدام OnBackground (الأبيض) مباشرةً كان يحمل الكثير من التأثير المرئي عند التنافس مع محتوى آخر على الشاشة، مثل العناوين. (I8b36f)
  • قلّلنا المهلة المحدّدة لتحريك TimeText وScrollIndicator في مكوّنات الهيكل إلى ثانيتَين. (I52021)
  • عدّلنا حركة مربّع الحوار بحيث تتم مزامنة حجم خلفية مربّع الحوار مع التمرير سريعًا لإغلاقه. (I925a9)
  • أضِف عرضًا توضيحيًا لـ M3 SwipeToReveal باستخدام المعدِّل edgeSwipeToDismiss. (I02b07)
  • أضفنا عنوانًا إلى DatePicker وTimePicker ضمن TalkBack لإعلام المستخدم بضرورة الانتقال للأعلى أو للأسفل لضبط التاريخ أو الوقت. (Id738d)
  • تتّبع ميزة AnimatedText الآن إعداد "تقليل الحركة". (Ib6578)
  • تم تحسين عملية التحسين لاستخدام AppScaffold لعرض محتوى مربّع الحوار، وذلك للسماح بعرض مربّعات حوار متعدّدة فوق بعضها البعض (I1209c).

الإصدار 1.0.0-alpha33

‫26 فبراير 2025

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha33. يتضمّن الإصدار 1.0.0-alpha33 هذه التعديلات.

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

  • لقد أزلنا مَعلمة التصنيف من primaryAction وsecondaryAction الخاصَين بـ "SwipeToRevealScope". يجب أن يضيف المطوّر دلالات الإجراء المخصّص إلى محتوى المكوّن SwipeToReveal مباشرةً. (Ia67f3)
  • أزلنا البادئات "Button" من الأحجام وأنماط النصوص ووظائف الألوان في IconToggleButtonDefaults وTextToggleButtonDefaults (I5471d).
  • لقد أزلنا LocalMinimumInteractiveComponentEnforcement التجريبية (I4ad8a).
  • لقد استبدلنا لغة تصميم المجال PickerGroupScope بعنصر قابل للإنشاء. نتيجةً لذلك، أزلنا طريقة pickerGroupItem من PickerGroupScope، وأضفنا بدلاً منها @Composable PickerGroupItem التي يجب استخدامها لإضافة أداة اختيار إلى PickerGroup. عدّلنا أيضًا نوع المَعلمة PickerGroup "المحتوى" إلى @Composable PickerGroupScope.() -> Unit. (Ic6aec)
  • أضفنا عملية تحميل زائدة LevelIndicator للقيم الكسرية، كما أضفنا البادئة Stepper إلى عمليات التحميل الزائدة التي تتضمّن مَعلمة نطاق (وهي مناسبة للاستخدام مع مكوّن Stepper). (If4234)
  • أضفنا TransformingLazyColumnTransformationSpec إلى واجهة برمجة التطبيقات، ما يتيح تحديد عمليات التحويل الدقيقة التي تحدث للعناصر أثناء التمرير خلال TLC. (I21856)
  • عدّلنا IconButtonShapes وIconToggleButtonShapes وTextButtonShapes وTextToggleButtonShapes لتكون متوافقة مع فئات compose/material3 (I5a081).
  • أضفنا المَعلمة overscrollEffect إلى ScalingLazyColumn وTransformingLazyColumn وScreenScaffold. (I0cee8)
  • أعدنا تسمية المَعلمة swipeDirection إلى revealDirection في rememberRevealState. (I7472f)
  • يحتوي Wear Pager الآن على PagerScope خاص به بدلاً من استخدام PagerScope في Compose. (I9195b)
  • لقد أزلنا الدالة البرمجية القابلة للإنشاء LinearProgressIndicatorContent، يُرجى استخدام LinearProgressIndicator مباشرةً حتى يتم تحريك التغييرات في القيم تلقائيًا. (I2c4ad)
  • لقد أزلنا العنصر القابل للإنشاء CircularProgressIndicatorStatic وأضفنا الدالة العامة DrawScope drawCircularProgressIndicator التي تتضمّن الوظيفة نفسها. يُرجى استخدام CircularProgressIndicator مباشرةً حتى يتم تحريك التغييرات تلقائيًا، ولكن يمكنك إنشاء عنصر قابل للإنشاء من drawCircularProgressIndicator إذا كنت بحاجة إلى رسوم متحركة مخصّصة. (Ie762f)
  • أعدنا ترتيب المَعلمات في DrawScope.drawCircularProgressIndicator لنقل المَعلمة targetProgress إلى الأعلى. (I8ab92)
  • تم تعديل واجهة برمجة التطبيقات OpenOnPhoneDialog لزيادة الوضوح والاتساق مع مربّعات الحوار الأخرى. تمت إعادة تسمية المَعلمة show إلى visible، وأصبح المتصل يقدّم القيمة curvedText بدلاً من استخدام قيمة تلقائية. (Idec2d)
  • لقد أعدنا تسمية openOnPhoneCurvedText إلى openOnPhoneDialogCurvedText (I65bdd)
  • أضفنا ScrollIndicatorColors لتوفير ألوان مخصّصة إلى ScrollIndicator. (I9eb8c)
  • السماح بضبط اللون المستخدَم لرسم خلفية خلف TimeText (I9f5d9)
  • تم تعديل خطوط ArcLarge وArcMedium وArcSmall لتصبح CurvedTextStyle (Iffc41)
  • لقد أزلنا ScreenScaffoldDefaults.contentPaddingWithEdgeButton. (Ia923e)
  • أضفنا errorDim إلى ColorScheme، وذلك للأخطاء ذات الأولوية العالية أو إجراءات الطوارئ، مثل تنبيهات الأمان أو تراكبات مربّعات الحوار التي تعذّر عرضها أو أزرار الإيقاف. (I70998)

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

  • لقد ثبّتنا wear.compose.material3 على الإصدار 1.15.0 من androidx.core.core (I132e9)
  • لقد حسّنّا أداء Dialog من خلال استخدام AppScaffold لتراكب مربّعات الحوار على محتوى الشاشة الآخر (I1b9a4)
  • تم تقليل المساحة المتروكة الرأسية الداخلية في EdgeButton. (I1a5bb)
  • أضفنا دلالات الأزرار إلى أزرار شريط التمرير. (I80cc6)

الإصدار 1.0.0-alpha32

‫29 يناير 2025

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha32. يتضمّن الإصدار 1.0.0-alpha32 هذه التعديلات.

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

  • في CurvedTextStyle، قسّمنا تباعد الأحرف إلى تباعد الأحرف في اتجاه عقارب الساعة وتباعد الأحرف في عكس اتجاه عقارب الساعة. هذا الإجراء مطلوب لأنّ الحروف التي تدور في اتجاه عقارب الساعة تتوسّع من خط الأساس، بينما الحروف التي تدور في عكس اتجاه عقارب الساعة تتضيّق (لذا يجب زيادة تباعد الحروف) (I4b848).
  • لقد عدّلنا IconButtonShapes وIconToggleButtonShapes وTextButtonShapes وTextToggleButtonShapes لتحسين التناسق في جميع مكتبات Material3. يقدّم هذا التغيير أيضًا ميزة تخزين الأشكال مؤقتًا للحدّ من عدد عمليات التخصيص. (I049fc)
  • أزلنا المَعلمة pressedShapeCornerSizeFraction من الطريقة variantAnimatedShape في IconToggleButton وTextToggleButton (I58a65).
  • نحن بصدد طرح تحسينات على عرض النص المنحني (بما في ذلك TimeText) غير متوافقة مع الشاشات غير الدائرية. لم يعُد توفير الدعم للشاشات غير الدائرية من متطلبات Wear OS أيضًا، يمكنك الاطّلاع على دليل بدء الاستخدام للحصول على مزيد من المعلومات. (I1cc1c)
  • لقد عدّلنا ButtonGroupScope في ButtonGroup، واستبدلنا ButtonGroupItem المستند إلى DSL بـ Modifier.weight وModifier.minWidth وModifier.enlargeOnPress. (I16c3c)
  • في واجهة برمجة التطبيقات ButtonGroup، عدّلنا ButtonGroupScope الجديدة المستندة إلى المعدِّلات: أصبح اسم enlargeOnPress هو animateWidth، ويقبل InteractionSource بدلاً من MutableInteractionSource لأنّه ليس من الضروري تعديله. أضفنا أيضًا الثابت العام ButtonGroupDefaults.DefaultMinWidth، وهو الحد الأدنى التلقائي لعرض الأزرار في ButtonGroup. (Ie27ec)
  • عدّلنا ListHeaderDefaults.contentColor لتبدأ بحرف صغير لأنّها سمة قابلة للإنشاء (I125a5)
  • أضفنا مَعلمة وصف المحتوى إلى SliderDefaults.DecreaseIcon وSliderDefaults.IncreaseIcon، مع قيم تلقائية مناسبة (I2e1a7).
  • أعدنا تسمية المَعلمة spacing في Picker وPickerGroup إلى verticalSpacing (Ib75cc)
  • لقد أزلنا ConfirmationDialogDefaults.successText وfailureText لأنّه من المتوقّع أن يقدّم مستخدمو ConfirmationDialog سلاسل تتضمّن المزيد من السياق. تمت أيضًا إعادة تسمية confirmationCurvedText إلى confirmationDialogCurvedText. أخيرًا، تمّت إعادة تسمية المَعلمة Dialog show إلى visible لتكون متّسقة مع التعديلات الأخرى الأخيرة على مربّعات الحوار. (I10074)
  • تمت إعادة تسمية IconButton من disabledImageOpacity إلى DisabledImageOpacity. (I5f94a)

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

  • أصلحنا خطأ في الرسوم المتحركة EdgeButton لكي يتم استخدام الحجم الصحيح في كل إطار (Id3b58).
  • تم إصلاح مشكلة عدم عمل animateContentSize مع Button. (Ib18a0)
  • غيّرنا مقياس نوع "العنوان الكبير" ليصبح حجم الخط 18dp (Ic9d52)
  • عدّلنا تباعد AlertDialog وحجم الرمز (Iac28c)
  • تم إصلاح حالات عدم الاتساق في نقاط التوقف على الشاشات الكبيرة (الشاشات التي تبلغ 225 وحدة بكسل مستقل الكثافة أو أكثر هي شاشات كبيرة) (I36474)
  • تم إصلاح خطأ بسيط في تحديد موضع الزر (I952c2)

الإصدار 1.0.0-alpha31

‫15 يناير 2025

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha31. يتضمّن الإصدار 1.0.0-alpha31 هذه التعديلات.

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

  • لقد عدّلنا جميع مكتبات Wear Compose إلى وضع "واجهة برمجة التطبيقات الصريحة". (Iebf9f)
  • لقد عدّلنا واجهتَي برمجة التطبيقات ScreenScaffold وEdgeButton لتسهيل تحديد مساحات الحشو في الشاشات التي تتضمّن EdgeButton. في واجهة برمجة التطبيقات الجديدة، يتم تمرير size الخاص بـ EdgeButton إلى EdgeButton فقط، وتتلقّى ScreenScaffold المَعلمة edgeButtonSpacing لتحديد المسافة بين EdgeButton ومحتوى القائمة. (I424fd)
  • في DatePicker، أعدنا تسمية المَعلمتَين minDate إلى maxDate وminValidDate إلى maxValidDate. في DatePickerColors، أعدنا تسمية المَعلمة selectedPickerContentColor إلى activePickerContentColor، والمَعلمة unselectedPickerContentColor إلى inactivePickerContentColor (Iba17b).
  • عدّلنا الإعدادات التلقائية في ArcProgressIndicator إلى strokeWidth=6dp واقترحنا diameter = 81.24% من ارتفاع الشاشة (I6f248)
  • عدّلنا واجهة برمجة التطبيقات Confirmation API لتعكس استخدامها كمربع حوار. يُطلق الآن على العنصر القابل للإنشاء اسم ConfirmationDialog، مع تعديلات مرتبطة بتسمية الألوان وفئات القيم التلقائية. أعدنا أيضًا تسمية المَعلمة show إلى visible لتكون متوافقة مع واجهات برمجة التطبيقات الأخرى للرسوم المتحركة في Compose. بالإضافة إلى ذلك، أتحنا استخدام ConfirmationDialogContent وSuccessConfirmationDialogContent وFailureConfirmationDialogContent في الحالات التي يحتاج فيها المطوّرون إلى تخصيص الصور المتحركة لمربّعات حوار المقدمة/الخاتمة. (Iaeb33)
  • لقد عدّلنا CircularProgressIndicatorContent إلى CircularProgressIndicatorStatic (النسخة غير المتحركة من CircularProgressIndicator) ليصبح بإمكانك الآن استخدامها لإنشاء CircularProgressIndicator مع صور متحركة مخصّصة. (I1346f)
  • لقد أصلحنا ترتيب المَعلمات في ArcProgressIndicator، ووضعنا مَعلمة المعدِّل أولاً (I4656a).
  • تم تحسين واجهة برمجة التطبيقات SwipeToReveal لتلقّي مَعلمة موضع نص لتصنيفات الإجراءات (باستثناء الإجراء الثانوي) ولإزالة مَعلمات التصنيف من إجراء التراجع (I5b3db)

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

  • تم إصلاح الخطأ الذي كان يؤدي إلى تشغيل اهتزازات LongPress أكثر من مرة في Button وCard وIconButton وTextButton (Ia8b0f)
  • تغييرات على تجربة المستخدم في AlertDialog: أصبحت أزرار التأكيد والإغلاق أصغر حجمًا على الشاشات الكبيرة. تم أيضًا زيادة المسافة أسفل زرّي التأكيد والإغلاق. (I4f066)
  • غيّرنا مواصفات الحركة لتصنيف زر الإجراء في المكوّن SwipeToReveal. (Ib87fb)
  • تم تغيير SwipeToReveal لتوسيع الحاوية في الوقت نفسه الذي يتم فيه عرض النص. (I44cf8)
  • تم تحسين SwipeToReveal لتوفير ملاحظات حسية عند تجاوز التمرير السريع للحدّ الذي يتم فيه تنفيذ الإجراء الأساسي. (I23efe)
  • عدّلنا SwipeToReveal لعرض علامات الحذف عند تجاوز النص للحدّ الأقصى تلقائيًا، وذلك للإجراءات الأساسية وإجراءات التراجع. (I71f5a)
  • لقد أصلحنا مشكلة كانت تتسبّب في حدوث تشويش في الرسوم المتحركة في ButtonGroup. (I63f8f)
  • أضفنا دلالات نصية إلى AnimatedText (I6063c)
  • يعيد مربّع الحوار الآن ضبط تغيير حجم الخلفية عند إزالته من التركيب (بدون هذا الإصلاح، قد تظل شاشة التشغيل في حالة مصغّرة) (Id24ac)
  • أضفنا حركة تحوّل الأشكال إلى الأزرار في مكوّن "الخطوات" (Id6ed3)

الإصدار 1.0.0-alpha30

‫11 ديسمبر 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha30. يتضمّن الإصدار 1.0.0-alpha30 هذه التعديلات.

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

  • تمت إعادة تصميم المعدِّل scrollTransform الخاص بـ TransformingLazyColumn، ما أدّى إلى تغيير في واجهة برمجة التطبيقات. (I0c6dc)
  • عدّلنا IconToggleButtonShapes وTextToggleButtonShapes ليصبح لديهما مَعلمتَا شكل مختلفتان uncheckedPressed وcheckedPressed (I85dbd)
  • تظهر الآن خيارات الشهر/اليوم غير الصالحة في DatePicker، مع invalidPickerContentColor جديد، عند استخدام minDate أو maxDate. (If4541)
  • عدّلنا واجهة برمجة التطبيقات Stepper لتوفير خانتَي increaseIcon وdecreaseIcon، ويمكن إنشاء المحتوى الخاص بهما كالمعتاد من العنصر القابل للإنشاء Icon. (Id35da)
  • لقد عدّلنا dynamicColorScheme من خلال إزالة المَعلمة الاختيارية defaultColorScheme وعرض ColorScheme القابل للتصغير. وهذا يعني أنّه على المتصل معالجة حالة الرجوع إلى الإعدادات التلقائية بشكلٍ صريح عند عدم توفير نظام ألوان ديناميكي. (I6d62e)
  • لقد عدّلنا أحجام الرموز في ButtonDefaults لتكون متوافقة مع CompactButton. يجب أن يستخدم CompactButton الذي يحتوي على رمز فقط ButtonDefaults.SmallIconSize = 24.dp، بينما يجب أن يستخدم CompactButton الذي يحتوي على رمز ونص ButtonDefaults.ExtraSmallIconSize = 20.dp. ننصح بأن تلتف CompactButton حول محتواها (بدلاً من ملء الحد الأقصى للعرض)، وقد تم تعديل العيّنات لإظهار ذلك. (I0582c)
  • أضفنا EdgeButtonDefaults مع أحجام الرموز الموصى بها لأنواع EdgeButtonSizes الأربعة المختلفة. تم أيضًا تعديل التنسيق EdgeButton بحيث يحتوي على مساحة حشو سفلية أكبر قليلاً من مساحة الحشو العلوية، ما يحسّن المظهر لكلّ من محتوى الرمز والنص. (Id772a)
  • أضفنا حركة إلى LinearProgressIndicator وعرضنا LinearProgressIndicatorContent الذي يوفّر المحتوى المرئي بدون رسوم متحركة. (Idee99)
  • أضفنا عنصر CircularProgressIndicatorContent جديدًا قابل للإنشاء لعرض المحتوى المرئي الخاص بـ CircularProgressIndicator بدون رسوم متحركة. (Ie33d4)
  • توفّر TransformingLazyColumn الآن LocalTransformingLazyColumnItemScope محلية جديدة Card وButton وListHeader تستخدمها الآن لتغيير شكلها تلقائيًا عند وضعها داخل TransformingLazyColumn. يمكن للمتصلين إيقاف التغيير التلقائي باستخدام أداة TransformExclusion الجديدة. (I1652f)
  • عدّلنا نوع ButtonDefaults.shape إلى RoundedCornerShape (Iccdf2)

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

  • أصلحنا خطأً يتعلق باحترام قيمة ألفا الحالية في الخلفية بالنسبة إلى TimeText (I1eb60)
  • لقد ضبطنا القيمة TextMotion على Animated تلقائيًا في تصميم الخطوط لدينا، وذلك لتجنُّب اهتزاز النص بسبب محاذاة أشكال الحروف مع حدود البكسل أثناء عمليات تغيير الحجم. (I626fa)
  • عدّلنا مظهر ScrollIndicator من خلال زيادة العرض وحجم الفجوة لتحسين مستوى الظهور. (Ied7cb)
  • لقد أصلحنا خطأ في Modifier.scrollTransform عند إضافة عناصر أو إزالتها أو نقلها. (I6830f)
  • أصلحنا مشكلة في الصورة المتحركة للزر الدائري عند النقر عليه نقرات قصيرة (في السابق، لم يكن يتم دائمًا الالتزام بالحد الأدنى لمدة الصورة المتحركة). (I757a7)
  • عدّلنا زاوية المسح الضوئي لـ LevelIndicator لتصبح %20 (أي 72 درجة). (Idde5c)
  • لقد حللنا مشكلة تحديد موضع ScrollIndicator عند استخدام ScalingLazyColumn مع AutoCenteringParams. (I387dd)
  • لقد عدّلنا الألوان وأسلوب الخط في ListHeader وListSubHeader. وكذلك ألوان عناصر التحكّم في التبديل على CheckboxButton وSwitchButton. (I39817)
  • لقد حللنا مشكلة تحديد موضع ScrollIndicator في LazyColumn وScalingLazyColumn باستخدام ContentPadding. (I2bc51)
  • لقد أصلحنا خطأً ظهر في OpenOnPhoneDialog الرسوم المتحركة الخاصة بشريط التقدّم من خلال استخدام CircularProgressIndicatorContent الجديد. (I3e443)
  • عدّلنا HorizontalPagerScaffold وVerticalPagerScaffold لإيقاف الصور المتحركة عند تفعيل خيار "تقليل الحركة" (Iaaf68).
  • لقد نفّذنا صورة متحركة منفصلة لمؤشرات التقدّم الدائرية عندما يتجاوز التقدّم %100. (I47135)
  • أصلحنا خطأ كان يؤدي إلى رسم EdgeButton بشكل غير صحيح في مكوّنات Pager (I91db9)

الإصدار 1.0.0-alpha29

‫13 نوفمبر 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha29. يتضمّن الإصدار 1.0.0-alpha29 هذه التعديلات.

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

  • لقد عدّلنا TimeText لتوفير محتوى تلقائي يعرض الوقت. (Id23b3)
  • لقد بسّطنا ScrollInfoProvider لـ PagerState من خلال إزالة المَعلمة orientation التي لم تعُد ضرورية. السلوك الجديد هو أن يظلّ TimeText في مكانه عند التصفّح أفقيًا وعموديًا. (I71767)
  • توفّر LocalHapticFeedback الآن عملية تنفيذ تلقائية HapticFeedback عندما تشير واجهة برمجة التطبيقات Vibrator API إلى أنّ الأجهزة المتوافقة مع تقنية اللمس متاحة. تمت إضافة ما يلي إلى HapticFeedbackType - Confirm وContextClick وGestureEnd وGestureThresholdActivate وReject وSegmentFrequentTick وSegmentTick وToggleOn وToggleOff وVirtualKey. تُصدر الآن مكوّنات Wear Compose التي يمكن النقر عليها مع الاستمرار، مثل Button وIconButton وTextButton وCard، اهتزاز LONG_PRESS عند توفير معالج للنقر مع الاستمرار. (I5083d)

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

  • عدّلنا حركة "التأكيدات". (I04bff)
  • لقد عدّلنا الحد الأدنى من إصدار واجهة برمجة التطبيقات المطلوب إلى 1.7.4 لمكتبات Compose. (I88b46)
  • تمت إضافة حركة جديدة لمربّع الحوار OpenOnPhone. (I1e10a)
  • أصلحنا خطأً في LevelIndicator، وأصبح يظهر الآن بشكل صحيح عندما يكون المستوى صفرًا. (Ie95a4)
  • عدّلنا الرسوم المتحركة HorizontalPageIndicator وVerticalPageIndicator. (I5c8f3)
  • أضفنا صورة متحركة لتقليص ArcProgressIndicator إلى نقطة. (I9fd51)

الإصدار 1.0.0-alpha28

‫30 أكتوبر 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha28. يتضمّن الإصدار 1.0.0-alpha28 هذه التعديلات.

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

  • أضفنا شكل قوس إلى مؤشر التقدّم الدائري غير المحدّد (I2efc1)
  • لقد أتحنا للجميع استخدام العنصرَين القابلَين للإنشاء AlertDialogContent وDialog اللذين يشكّلان واجهة برمجة التطبيقات AlertDialog، وذلك لإتاحة إمكانية إضافة التخصيص عند الضرورة (مثل تخصيص حركة AlertDialog مع الحفاظ على تخطيط المحتوى المقترَح). بالإضافة إلى ذلك، أضفنا المَعلمتَين Modifier وColor إلى الأعضاء EdgeButton وConfirmButton وDismissButton في AlertDialogDefaults. (I4eb71)
  • لقد عدّلنا واجهة برمجة التطبيقات Placeholder على النحو التالي: أعدنا تسمية PlaceholderState.startPlaceholderAnimation إلى PlaceholderState.animatePlaceholder وPlaceholderState.isShowContent إلى PlaceholderState.isHidden وPlaceholderDefaults.shape إلى PlaceholderDefaults.Shape، وأعدنا تسمية المَعلمة painter في painterWithPlaceholderOverlayBackgroundBrush إلى originalPainter، وغيّرنا مستوى ظهور PlaceholderState.placeholderProgression من عام إلى داخلي وأعدنا تسميته إلى placeholderShimmerProgression، وأضفنا ثوابت مدة الرسوم المتحركة للعناصر النائبة إلى PlaceholderDefaults. (Ie5a59)
  • لقد عدّلنا واجهة برمجة التطبيقات EdgeButton على النحو التالي: أعدنا تسمية المَعلمة في ScreenScaffold من bottomButton إلى edgeButton، وجعلنا EdgeButtonSize فئة قيمة. (Ieef15)
  • لقد غيّرنا مستوى عرض copy() إلى "علني" في فئات ألوان Material3 على Wear OS (I0287f).

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

  • تمت إضافة الحدّ الأدنى لمدّة عرض الصور المتحركة للعنصرَين IconToggleButton وTextToggleButton عند النقر (Ieb333)
  • تمت إضافة الحدّ الأدنى لمدة ظهور الحركة على شكل IconButton وTextButton (Iebcee)
  • تم تصحيح حالة خيار التكرار في DatePicker. (I3587c)
  • تمت إضافة حركة إلى مربّعات الحوار "التنبيه" و"التأكيد". (I173b1)

الإصدار 1.0.0-alpha27

‫16 أكتوبر 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha27. يتضمّن الإصدار 1.0.0-alpha27 هذه التعديلات.

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

  • لقد عدّلنا ScreenScaffold وScrollIndicator بعد إعادة تسمية Wear Compose Foundation LazyColumn إلى TransformingLazyColumn. (I0608b)
  • تمت إعادة تسمية المَعلمة preferredHeight الخاصة بالسمة EdgeButton إلى buttonSize، ولا يمكن اختيار قيمتها إلا من 4 ثوابت في فئة القيمة EdgeButtonSize التي تمّ تقديمها حديثًا. (Icdd70)
  • غيّرنا اسم ListSubheader إلى ListSubHeader وأضفنا قيمًا تلقائية يمكن للجميع الوصول إليها لكلّ من ListHeader وListSubHeader. (I96730)
  • أضفنا مكوّنَين جديدَين HorizontalPagerScaffold وVerticalPagerScaffold لنظام التشغيل Wear يوفّران رسومًا متحركة جديدة وتنسيقًا بين مكوّنَي نص الوقت ومؤشر الصفحة. (Iff7d0)
  • أضفنا إمكانية استخدام أجهزة التحكّم الدوّارة في HorizontalPagerScaffold وVerticalPagerScaffold، ما يتيح للمستخدمين التنقّل في أدوات التقسيم باستخدام أجهزة التحكّم الدوّارة. (I9770d)
  • أجرينا MotionScheme تغييرات على واجهة برمجة التطبيقات لتسهيل الاستخدام وتحسين التناسق. تمت إزالة دوال التذكير المضمّنة ونقل "مخططات الحركة" المضمّنة إلى عنصر مصاحب مخصّص باسم MotionScheme. تمت إعادة تسمية standardMotionScheme وexpressiveMotionScheme إلى "عادي" و"معبّر". (I5fd45)
  • أضفنا إمكانية استخدام نظام ألوان ديناميكي يستند إلى ألوان النظام. (I073e9)
  • عدّلنا أداة Stepper لتتوافق مع أحدث مواصفات تجربة المستخدم. (I622bb)

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

  • لقد عدّلنا أسلوب الخطوط والهوامش لمكوّنات البطاقات. (I3ae48)
  • غيّرنا مساحة الحشو في AlertDialog بين زرَّي "تأكيد" و"رفض" وبقية المحتوى من 8 وحدات بكسل إلى 12 وحدة بكسل وفقًا لمواصفات تجربة المستخدم (Ie55f0).
  • عدّلنا معدّل شفافية اللون لمكوّن "شريط التمرير". (Idb383)

الإصدار 1.0.0-alpha26

‫2 أكتوبر 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha26. يتضمّن الإصدار 1.0.0-alpha26 هذه التعديلات.

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

  • عدّلنا واجهة برمجة التطبيقات ومظهر HorizontalPageIndicator وأضفنا VerticalPageIndicator لاستخدامه مع VerticalPager (Ic9309).
  • تتيح AlertDialog الآن إمكانية حذف الزر التلقائي السفلي من مجموعة أزرار التصميم البديل، وذلك للتصاميم المخصّصة التي لا تتطلّب EdgeButton. (I34fa9)
  • أضفنا مكوّن SwipeToReveal إلى Wear Material 3 (Ic38b2)
  • أضفنا إمكانية التمرير في اتجاهَين في SwipeToReveal، وذلك في الحالات النادرة التي لا تتيح فيها الشاشة الحالية التمرير لإغلاقها. لا يزال الإعداد التلقائي هو التمرير سريعًا للكشف عن المحتوى عند التمرير من اليمين إلى اليسار فقط، ويُنصح بشدة باحترام السلوك التلقائي لتجنُّب التعارض مع التمرير سريعًا للإغلاق. (Ifac04)
  • أعدنا تسمية المَعلمة buttonHeight الخاصة بـ EdgeButton لتصبح preferredHeight. (I4fab3)
  • تم تعديل إصدار Kotlin إلى 1.9 (I1a14c)
  • لقد أعدنا تسمية OpenOnPhoneDialogDefaults.Icon إلى OpenOnPhoneDialogDefaults.OpenOnPhoneIcon لتجنُّب التعارض مع Icon(I0f391)
  • أتحنا استخدام ScrollIndicator في LazyColumn. (Ia546a)
  • عدّلنا القيم التلقائية لكلّ من TextToggleButton وIconToggleButton. (I7aaa9)
  • لقد بسّطنا واجهة برمجة التطبيقات Picker وPickerGroup. (Id0653)
  • لقد أضفنا CardDefaults.Shape وCardDefaults.Height، وهما (باعتبارهما رموزًا مميزة) كانا متاحَين فقط للمطوّرين الذين يستخدمون المكتبة. (I1594a، b/347649765)
  • أعدنا تسمية مَعلمة مؤشر التقدم الدائري المجزّأ الثنائي إلى segmentValue. (Ib72d9)
  • عدّلنا الألوان والتنسيق في "شريط التمرير". (Ic3eec)

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

  • عدّلنا الصورة المتحركة لرمز openOnPhone (I66f85)
  • نستخدم الآن رموز Google Symbols في Slider وTimePicker وDatePicker. (I46c7c)
  • لقد عدّلنا المساحات المتروكة في Confirmation وOpenOnPhoneDialog. (Iaa82e)

الإصدار 1.0.0-alpha25

‫18 سبتمبر 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha25. يتضمّن الإصدار 1.0.0-alpha25 هذه التعديلات.

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

  • أضفنا مؤشر تقدّم دائريًا غير محدّد. (I427a7)
  • أتحنا إمكانية تجاوز الحد الأقصى للتقدّم (> 100% من التقدّم) لكل من CircularProgressIndicator وSegmentedCircularProgressIndicator. عندما يتجاوز مستوى التقدّم 1.0، سيتم الإشارة إلى ذلك باللون overflowTrack الجديد. (Iaaa3d)
  • يتيح الزرّان الدائريان IconToggleButton وTextToggleButton الآن شكلًا جديدًا من أشكال الحركة، حيث تمثّل الأشكال المختلفة حالات التحديد وإزالة التحديد والضغط. سيظلّ شكل الزر المتحرّك السابق متاحًا للحالة التي تم الضغط عليها للتو. (I29f03)
  • أزلنا إمكانية استخدام EdgeButton مع Column بسبب الحاجة إلى تحديد ارتفاع EdgeButton بشكل صريح في ScreenScaffold. (Ie353d)
  • أضفنا إمكانية استخدام Wear Compose LazyColumn مع ScreenScaffold (وأضفنا عملية تنفيذ ScrollInfoProvider لـ LazyColumnState). (Ib8d29)
  • لقد جمعنا LocalTextMaxLines وLocalTextAlign وLocalTextOverflow في LocalTextConfiguration واحد محلي التركيب لتوفير حلّ أكثر قابلية للتوسّع في المستقبل. (I5edbc)
  • أضفنا arc-large كنوع مقياس إضافي، وهو مخصّص لسلاسل نصية قصيرة في أعلى الشاشة أو أسفلها، كما هو الحال في التراكبات الخاصة بالتأكيد. (I60e3e)
  • أضفنا قيمًا تلقائية إلى الزر لأحجام الرموز الكبيرة والكبيرة جدًا وحجم المساحة المتروكة في المحتوى. (I84675)

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

  • لقد عدّلنا ألوان IconButton وTextButton. (I48324)
  • لقد غيّرنا عمليات التحميل الزائد الأساسية للزر لتكون محاذية للوسط عموديًا من أجل التوافق مع عمليات التحميل الزائد الأخرى. لاستعادة السلوك السابق، استخدِم Modifier.align من RowScope. (I66e57)

الإصدار 1.0.0-alpha24

‫4 سبتمبر 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha24. يتضمّن الإصدار 1.0.0-alpha24 هذه التعديلات.

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

  • أضفنا مخطط "الحركة" إلى تصميم Material3. سيتم استخدام هذا الإعداد من خلال المكوّنات في جميع أنحاء المكتبة لتطبيق مواصفات الحركة، مثل النوابض للحصول على حركة معبّرة. (I54ff3)
  • أضفنا المكوّنين AppScaffold وScreenScaffold إلى مكتبة Material3، وهما يتضمّنان وظائف لتنسيق الطبقات وعمليات الانتقال بين TimeText وScrollIndicator. توفّر AppScaffold مستوى أعلى من مكوّنات السقالات التي تظهر في أعلى جميع الشاشات. وبالتالي، يؤدي إضافة TimeText إلى AppScaffold إلى إبقائه في مكانه أثناء التمرير سريعًا بين الشاشات. يمكن للشاشات نفسها تجاهل نص الوقت أو إخفاؤه. توفّر ScreenScaffold موضعًا لعنصر ScrollIndicator، وتُنشئ تلقائيًا تأثيرًا متحركًا لمؤشر التمرير عند التمرير، بما في ذلك مهلة لإخفاء مؤشر التمرير بعد عدم النشاط. (I047d6)
  • لقد أضفنا ScrollIndicator الذي يعرض تصميم Material3 الجديد. يحتوي على حجم صورة مصغّرة ثابت استنادًا إلى محتويات القائمة الأولية، وذلك لتجنُّب اختلافات الحجم عند تحميل المحتوى الكسول في القائمة. (Ic228d)
  • لقد غيّرنا واجهة برمجة التطبيقات ScrollAway بحيث تكون ScreenStage فئة قيم بدلاً من فئة تعداد، وذلك للسماح بإضافة مراحل إضافية حسب الحاجة في المستقبل. (I48c93)
  • أضفنا EdgeButton، وهو زر مميّز خاص بأجهزة Wear يتميّز بشكله المنحني الذي يتوافق مع انحناء أسفل الشاشة (I16369)
  • أضفنا خانة جديدة إلى ScreenScaffold لزر في أسفل الصفحة (مثل EdgeButton)، وسيتم عرض هذا الزر وتغيير حجمه استنادًا إلى المحتوى الذي يتم تمريره (I032eb).
  • أضفنا Modifier.scrollTransform وModifier.targetMorphingHeight لإضافة تأثيرات الحركة في Material3 إلى العناصر في LazyColumn. (Ie229a)
  • لقد أضفنا SegmentedCircularProgressIndicator كصيغة من CircularProgressIndicator. تعرض السمة المتغيرة المقسّمة إما قيمة تقدّم واحدة على مستوى جميع الأقسام أو تعرض كل قسم على أنّه نشط أو غير نشط. (I6e059)
  • أضفنا LinearProgressIndicator كبديل عن CircularProgressIndicator الحالي. (I89182)
  • أضفنا AlertDialog، ما يوفّر تخطيطات لعرض الطلبات المهمة للمستخدم. يتم تضمين أشكال مختلفة إما لزوج من أزرار التأكيد/الرفض أو لزر واحد في أسفل الشاشة (عادةً ما يكون EdgeButton) أسفل مجموعة من الخيارات. يتضمّن كلا النوعين خانات للأيقونة والعنوان والنص الإضافي لتقديم المزيد من التفاصيل. (Ieb873)
  • أضفنا OpenOnPhoneDialog، ويجب استخدامه للإشارة إلى إجراء سيستمر على هاتف المستخدم. يتم إغلاق OpenOnPhoneDialog بعد انتهاء مهلة محدّدة. (I978fd)
  • أضفنا Confirmation، وهو مكوّن مربّع حوار يتضمّن خانات لرمز ونص منحني أو خطي. يتم توفير صيغ مختلفة لرسائل النجاح/الفشل. يتم إغلاق رسائل التأكيد تلقائيًا بعد انتهاء المهلة. (Ib43e8)
  • أضفنا خلفية إلى TimeText للحدّ من المشاكل التي يتداخل فيها المحتوى الأساسي مع TimeText، ما يؤدي إلى إخفاء الوقت. (Ia11fd)
  • أضفنا LevelIndicator الذي يعرض قيمة أحد الإعدادات، مثل مستوى الصوت، ويمكن استخدامه مع المكوّن Stepper الحالي لإنشاء شاشة مستوى الصوت. LevelIndicator مشابه لـ ScrollIndicator، ولكنّه يظهر على الجانب الآخر من الشاشة وله عرض خط أكبر ولون مؤشر مختلف تلقائيًا. (I8a4ac)
  • أضفنا TimePicker، مع تنسيقات للوقت بتنسيق 24 ساعة (مع الثواني أو بدونها)، أو الوقت بتنسيق 12 ساعة مع تحديد صباحًا أو مساءً. (Ia5124)
  • أضفنا DatePicker، مع إعدادات لترتيب الأعمدة (مثل يوم-شهر-سنة أو شهر-يوم-سنة أو سنة-شهر-يوم) وتواريخ اختيارية للحد الأدنى/الأقصى. (Ibf13b)
  • أضفنا مَعلمة وزن إلى الدالة text في TimeText. في الحالات التي يتألف فيها TimeText من أكثر من عنصر نصي واحد، يتيح ذلك التحكّم في كيفية توزيع المساحة. (I36700)
  • لقد أضفنا RadioButton وSplitRadioButton، وهما عنصران يبسّطان واجهة برمجة التطبيقات السابقة من خلال الجمع بين كلّ من (Split)SelectableButton وعنصر التحكّم في الراديو الفرعي (If7ae8).
  • لقد أضفنا CheckboxButton وSplitCheckboxButton، وهما عنصران يبسّطان واجهة برمجة التطبيقات السابقة من خلال الجمع بين كلّ من (Split)ToggleButton وعنصر التحكّم في مربّع الاختيار الفرعي (Ia8f70).
  • أضفنا SwitchButton وSplitSwitchButton، وهما عنصران يبسّطان واجهة برمجة التطبيقات السابقة من خلال الجمع بين (Split)ToggleButton وعنصر التحكّم في مفتاح التبديل الخاص بالأطفال (I0d349).
  • عدّلنا مستندات AnimatedText لتوضيح سلوك التجاوز. (Iff30a)
  • لقد أضفنا ButtonGroup لدمج زرَّين أو ثلاثة أزرار معًا، بحيث تؤدي الضغطات على الأزرار إلى إنشاء صورة متحركة منسَّقة. (Ie27db)
  • أضفنا صورة متحركة اختيارية للشكل IconButton وTextButton عند الضغط عليهما. (Iffca5)
  • أضفنا درجة لون إضافية، FilledVariant، إلى Button وIconButton وTextButton وCompactButton وEdgeButton (I65fc3)
  • أضفنا المَعلمة forcedSize إلى ImageWithScrimPainter، بحيث تحتفظ خلفيات صور الأزرار الآن بحجم المكوّن تلقائيًا. يؤدي ضبط forcedSize = null إلى اعتماد Painter.instrinsicSize بدلاً من ذلك. (Ic57af)
  • أضفنا ميزة النقر مع الاستمرار إلى "الأزرار" (Ib613d)
  • تمّت أيضًا إضافة إمكانية الضغط مع الاستمرار إلى IconButton وTextButton. (I38891)
  • تمت إضافة ميزة النقر مع الاستمرار إلى "البطاقات". (I305d5)
  • لقد أضفنا LocalTextMaxLines وLocalTextAlign وLocalTextOverflow كـ CompositionLocals واستخدمناها كقيم تلقائية للمعلمات في Text. يمكن الآن استخدام المتغيرات المحلية الخاصة بالتأليف من خلال مكوّنات مثل CheckboxButton وSwitchButton وRadioButton لتنفيذ إرشادات تجربة المستخدم، ولكن يمكن للمطوّرين تجاهل المَعلمات إذا لزم الأمر. (Iab841)
  • أضفنا Placeholder للمساعدة في إخفاء محتوى المكوّنات، مثل الأزرار والبطاقات، إلى حين تحميل البيانات. (I1a532)
  • أضفنا IconToggleButtonColors وTextToggleButtonColors لاستبدال ToggleButtonColors الذي تمت إزالته الآن. (Ie0bf1)

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

  • عدّلنا Button وFilledTonalButton وOutlinedButton وChildButton وCompactButton لاستخدام CompositionLocals وLocalTextMaxLines وLocalTextAlign وLocalTextOverflow الجديدة لتنفيذ إرشادات تجربة المستخدم. ويمكن للمطوّرين تجاهل هذه المَعلمات مباشرةً في "النص" إذا لزم الأمر (Ie51f7).
  • لقد غيّرنا عرض الخط التلقائي لـ LevelIndicator إلى 6dp لتمييزه عن ScrollIndicator الذي يبلغ عرض خطه 4dp. (If6f63)
  • لقد أصلحنا مشكلة في TimeText لكي تصبح زوايا المسح الأكبر متوافقة. (Ie489f)
  • تم إصلاح مشكلة أثناء إعادة إنشاء EdgeButton. (I4cdca)
  • تم تصحيح تنسيقات أزرار التبديل المنقسمة عند توفير مساحة متروكة مخصّصة للمحتوى. (Ia33d3)
  • تم تقريب قيم التقدم الصغيرة إلى عرض خط مؤشر التقدم على الأقل. (I3bd84)

الإصدار 1.0.0-alpha23

‫14 مايو 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha23. يتضمّن الإصدار 1.0.0-alpha23 هذه التعديلات.

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

  • عدّلنا واجهتَي برمجة التطبيقات ToggleButton وRadioButton بحيث يمكن ضبط ألوان غير مفعّلة. (If13a7)
  • أضفنا CircularProgressIndicator جديدًا إلى Material3. (Ib3bd7)

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

  • لقد أصلحنا الخطأ الذي كان يتسبب في إعلان الأزرار القابلة للاختيار عن النقر المزدوج للتبديل عندما تكون محددة مسبقًا. (I7ed88)

الإصدار 1.0.0-alpha22

‫1 مايو 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha22. يتضمّن الإصدار 1.0.0-alpha22 هذه التعديلات.

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

  • لقد عدّلنا ColorScheme في Material3. (I7b2b8)
  • لقد عدّلنا مفتاح التبديل في Material3، بالإضافة إلى بعض التغييرات في الألوان، وأصبح رمز علامة الصح يتطابق مع الرمز المستخدَم في مربّع الاختيار. (Icac7b)

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

  • عدِّل جميع العروض التوضيحية لعمليات الدمج لاستخدام المعدِّل الجديد rotaryScrollable. (I25090)

الإصدار 1.0.0-alpha21

‫17 أبريل 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha21. يتضمّن الإصدار 1.0.0-alpha21 هذه التعديلات.

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

الإصدار 1.0.0-alpha20

‫3 أبريل 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha20. يتضمّن الإصدار 1.0.0-alpha20 هذه التعديلات.

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

  • لقد عدّلنا قيم ألفا لحالة الضغط والتركيز على التموج من أجل التباين. (I59f0a)
  • أضفنا مسافة بين التصنيفات الأساسية والثانوية في Button وToggleButton وRadioButton، وذلك بعد إجراء آخر التغييرات على أنماط الطباعة وارتفاعات الأسطر. (I2c0ba)

الإصدار 1.0.0-alpha19

‫6 مارس 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha19. يتضمّن الإصدار 1.0.0-alpha19 هذه التعديلات.

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

  • لقد أضفنا TimeText إلى مكتبة Wear Compose Material3. يعرض هذا المكوّن الوقت الحالي (والحالة الإضافية) في أعلى الشاشة. تتجنّب واجهة برمجة التطبيقات الجديدة والموجزة Material3 تكرار المحتوى الخطي والمنحني. (I4d7c3)
  • لقد عدّلنا أسماء المَعلمات من onSelected إلى onSelect في RadioButton. (I1a971)
  • يمكنك تحويل RadioButton وSplitRadioButton إلى رموز مميزة، وإعادة تصميم الطرق الحالية لتقليل عدد عمليات البحث عن CompositionLocal من خلال إضافة مثيلات مخزّنة مؤقتًا للألوان، وجعل طرق RadioButtonColors وSplitRadioButtonColors داخلية. (I02b33)

الإصدار 1.0.0-alpha18

‫21 فبراير 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha18. يتضمّن الإصدار 1.0.0-alpha18 هذه التعديلات.

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

  • لقد أعدنا تصميم نمط الإعدادات التلقائية لكل من CardColors وToggleButtonColors وSplitToggleButtonColors من خلال إنشاء مثيلات مخزّنة مؤقتًا داخليًا وتقليل استخدام CompositionLocal. (If3fec)

الإصدار 1.0.0-alpha17

‫7 فبراير 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha17. يتضمّن الإصدار 1.0.0-alpha17 هذه التعديلات.

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

  • لقد عدّلنا Button API لاستخدام buttonColors تلقائيًا وأزلنا filledButtonColors المكرّرة. (I4fe3b)
  • أعدنا تصميم الأنماط التلقائية لـ ButtonColors وIconButtonColors وTextButtonColors من خلال إنشاء نسخة مخزّنة مؤقتًا داخليًا وتقليل استخدام CompositionLocal. (I5f51c)
  • لقد أزلنا الحمل الزائد rememberUpdatedState في فئات الألوان الخاصة بالمكوّنات، وصنّفنا طرق الوصول داخل فئات الألوان على أنّها داخلية. (If6571)

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

  • لقد عدّلنا Modifier.minimumInteractiveComponentSize لاستخدام Modifier.node. (Iba6b7)

الإصدار 1.0.0-alpha16

‫24 يناير 2024

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha16. يتضمّن الإصدار 1.0.0-alpha16 هذه التعديلات.

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

  • أضفنا CompactButton، الذي يمكنه استخدام ألوان التعبئة والتعبئة اللونية والخطوط الخارجية نفسها التي يستخدمها الزر.(I05df0)

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

  • أضفنا RadioButton/SplitRadioButton كحاويات لعناصر التحكّم في الاختيار، مثل عنصر التحكّم "زر الاختيار". يختلف هذا الخيار عن ToggleButton الحالي في أنّ RadioButton يمكن تحديده (ويعمل ضمن مجموعة تحديد)، بينما يمكن تفعيل ToggleButton أو إيقافه (وهو مستقل). (I61275)
  • سنزيل LocalContentAlpha من مكتبة Wear Compose Material3 لضمان التوافق مع مكتبة Compose Material3. (I49a0a)
  • تم تعديل مكوّنات Wear material وWear material3 التي تعرض MutableInteractionSource في واجهة برمجة التطبيقات الخاصة بها لتصبح تعرض الآن MutableInteractionSource قابلاً للقيم الخالية، والقيمة التلقائية هي null. لا توجد تغييرات دلالية هنا: يعني تمرير قيمة فارغة أنّك لا تريد نقل MutableInteractionSource إلى الأعلى، وسيتم إنشاؤه داخل المكوّن إذا لزم الأمر. يسمح التغيير إلى القيمة الخالية لبعض المكوّنات بعدم تخصيص MutableInteractionSource مطلقًا، ويسمح لمكوّنات أخرى بإنشاء مثيل فقط عند الحاجة، ما يحسّن الأداء في جميع هذه المكوّنات. إذا كنت لا تستخدم MutableInteractionSource الذي تمرّره إلى هذه المكوّنات، ننصحك بتمرير قيمة فارغة بدلاً من ذلك. يُنصح أيضًا بإجراء تغييرات مماثلة في مكوّناتك. (Ib90fc، b/298048146)
  • تضيف واجهة برمجة تطبيقات جديدة لتأثير التموّج في المكتبتَين wear:compose-material وwear:compose-material3، وهي تحلّ محلّ rememberRipple المتوقّفة نهائيًا. تضيف أيضًا CompositionLocal وLocalUseFallbackRippleImplementation مؤقتَين للعودة إلى استخدام واجهات برمجة التطبيقات rememberRipple/RippleTheme المتوقّفة نهائيًا في "مكوّنات Material". ستتم إزالة هذا الخيار في الإصدار الثابت التالي، وهو يهدف فقط إلى تقديم مساعدة مؤقتة في عملية نقل البيانات في الحالات التي تقدّم فيها RippleTheme مخصّصة. يمكنك الانتقال إلى developer.android.com للاطّلاع على معلومات حول نقل البيانات والمزيد من المعلومات الأساسية حول هذا التغيير. (af92b21)
  • أجرينا تحسينات بسيطة على واجهة برمجة التطبيقات HorizontalPageIndicator ومستنداتها. (I60efc)
  • عدّلنا ColorScheme ليصبح غير قابل للتغيير، ما يجعل تعديل الألوان الفردية أقل كفاءة، ولكنّه يجعل الاستخدام الأكثر شيوعًا للألوان أكثر كفاءة. ويعود سبب هذا التغيير إلى أنّ معظم التطبيقات لن يكون لديها تحديث الألوان الفردية كحالة استخدام رئيسية. لا يزال ذلك ممكنًا، ولكن سيتم إعادة إنشاء المزيد من المكوّنات مقارنةً بالسابق، وبالتالي سنقلّل بشكل كبير من عدد عمليات الاشتراك في الحالة من خلال جميع رموز Material البرمجية، وسيؤثر ذلك في تكلفة الإعداد ووقت التشغيل لحالات الاستخدام الأكثر شيوعًا. (Ibc2d6)
  • تم تعديل واجهتَي برمجة التطبيقات ToggleButton وSplitToggleButton للسماح بتخصيص الألوان غير المفعّلة. بالإضافة إلى ذلك، يتم الآن استخدام رموز Material Design المميزة لقيم الألوان وأسلوب الخط. (If087c)
  • تم تعديل ألوان خلفية صورة الزر لاستخدام رموز Material Design المميزة. (Iba215)
  • لقد غيّرنا المكوّنات Checkbox وSwitch وRadioButton لتصبح مخصّصة للعرض فقط، وذلك من خلال إزالة وظيفة معالجة النقرات. من المتوقّع استخدام هذه المكوّنات في (Split)ToggleButton الذي يتعامل مع النقرة، لذا يتم الآن الإشارة إلى المكوّنات بشكل أكثر وضوحًا على أنّها مخصّصة للعرض فقط (ولا يُقصد استخدامها بشكل مستقل على Wear). (I2322e)

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

  • أضفنا رموزًا مميّزة لقيم الحركة الخاصة بالمدد والمنحنيات السلسة في Wear Compose Material 3. (I437cd)
  • لقد أصلحنا خطأً في ToggleButton وSplitToggleButton وCheckbox وSwitch وRadioButton لكي لا يتم تكرار إشعارات تسهيل الاستخدام (في السابق، كانت الأدوار الدلالية مكرّرة). (Ica281)
  • أزلنا طبقة materialcore من CompactButton لتحسين الأداء. (7902858)

الإصدار 1.0.0-alpha15

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

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha15. يتضمّن الإصدار 1.0.0-alpha15 هذه التعديلات.

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

  • لقد أعدنا تسمية المستوى الأساسي SwipeToDismissBox ليصبح BasicSwipeToDismissBox. ويجعل ذلك التمييز أكثر وضوحًا بين مكوّن المستوى الأساسي ومستوى Material3 SwipeToDismissBox. يستمد الأخير الألوان من MaterialTheme لاستخدامها في الخلفيات الشفافة، ويفوّض عملية التنفيذ المتبقية إلى BasicSwipeToDismissBox. (Ibecfc)

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

  • أزلنا طبقة material-core من زر Material3 لتحسين الأداء. (I55555)

الإصدار 1.0.0-alpha14

‫18 أكتوبر 2023

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha14. يتضمّن الإصدار 1.0.0-alpha14 هذه التعديلات.

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

  • أزلنا المَعلمة indicatorStyle من HorizontalPageIndicator في Material3، وبدلاً من ذلك، ستتّبع شكل شاشة الجهاز (خطية أو دائرية). (I83728)
  • لقد فصلنا ألوان SplitToggleButton عن ألوان ToggleButton من خلال إضافة فئة SplitToggleButtonColors جديدة. (I78bee)

الإصدار 1.0.0-alpha13

‫4 أكتوبر 2023

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha13. يتضمّن الإصدار 1.0.0-alpha13 هذه التعديلات.

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

  • أضفنا حقل "العنوان الفرعي" الاختياري إلى TitleCard. (Ifc45a)
  • لقد أضفنا رموز ألوان Material Design إلى TextButton. (I769dc)

الإصدار 1.0.0-alpha12

‫20 سبتمبر 2023

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha12. يتضمّن الإصدار 1.0.0-alpha12 هذه التعديلات.

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

  • لقد عدّلنا IconButton لاستخدام رموز Material Design المميزة. (I3f137)
  • لقد عدّلنا IconToggleButton لاستخدام رموز Material Design المميزة. (I7d263)
  • لقد أتحنا للجميع استخدام أدوات إنشاء CheckboxColors وRadioButtonColors وSwitchColors. (I82b73)

الإصدار 1.0.0-alpha11

‫6 سبتمبر 2023

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

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

  • عدّلنا تصميم الخطوط في بطاقات Material3 إلى TitleMedium. (I597bd)
  • عدّلنا تصميم الخطوط والمحاذاة في ListHeader وListSubheader من Material3. (Ib5ceb)

الإصدار 1.0.0-alpha10

‫23 أغسطس 2023

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

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

  • أضِف HorizontalPageIndicator في مكتبة Wear Material3. (Ifee99)

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

  • تعديل رمز الأزرار لاستخدام رموز تصميم Material3 (I92fe4)
  • تم تصنيف واجهات برمجة التطبيقات Wear Material 3 Stepper وSlider على أنّها تجريبية لأنّ تفاصيل واجهة المستخدم لا تزال في مراحلها النهائية. (I84d54)
  • لقد أزلنا المقاسات ExtraSmall من الأشكال الدائرية TextButton وTextToggleButton لأنّ هذا المقاس ينطبق فقط على IconButton. (Ibc7d5)

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

  • عدّلنا الإرشادات المتعلّقة بالتصميم الطباعي في TextToggleButton لاستخدام LabelLarge مع LargeButtonSize (Ib10fa).
  • عدّلنا الإرشادات المتعلّقة بالتصميم الطباعي لـ TextButton لاستخدام LabelLarge مع LargeButtonSize (I8f3a7).
  • لقد ضبطنا الحدّ الأدنى لمساحة اللمس في البطاقة على 48 بكسل مستقل الكثافة لتسهيل الاستخدام. (Ieb9b1)
  • إضافة AppCard مع عرض توضيحي للصور، وإزالة AppCard مع عرض توضيحي للخلفية (Id735f)
  • تم إصلاح خطأ في الأزرار الدائرية حيث لم يتم ربط المعدِّلات بشكل صحيح. (I5e162)

الإصدار 1.0.0-alpha09

‫9 أغسطس 2023

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

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

  • لقد أضفنا ToggleButton إلى material3 (I6bed6)

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

  • لقد فعّلنا التعليق التوضيحي FloatRange كقيود على واجهة برمجة التطبيقات، والتي تم ذكرها سابقًا في التعليقات. (Icb401)
  • عدّلنا أسلوب الخط في Wear Material3 ليتوافق مع أحدث إرشادات Material3. (I1bad6)

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

  • عدّلنا ألوان Button وIconButton وTextButton بما يتوافق مع تصميم Material3. (Ib2495)
  • أصلحنا مشكلة عدم ظهور علامة الصح في مربّع الاختيار في الحالات التي يكون فيها غير مفعّل. (Ib25bf)

الإصدار 1.0.0-alpha08

‫26 يوليو 2023

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha08. يتضمّن الإصدار 1.0.0-alpha08 هذه التعديلات.

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

  • لقد أضفنا عناصر التحكّم التالية في Material3: ‏Switch وCheckbox وRadioButton. (Ib918c)
  • أضفنا IconToggleButton وTextToggleButton إلى Material3، وهما زرّا تبديل دائريان يتضمّنان خانة واحدة للرمز والنص على التوالي. بالنسبة إلى أحجام ToggleButton المختلفة، ننصحك باستخدام Modifier.touchTargetAwareSize مع الأحجام المتوفّرة في أزرار التبديل المعنية. (I9f015)
  • أضفنا ListHeader وListSubheader إلى مكونات Material3. (Ibaefe)
  • أضفنا Material3 SwipeToDismissBox، الذي يستدعي Foundation SwipeToDismissBox الجديد ويوفّر قيم الألوان التلقائية من نسقه. (I275fb)
  • أضفنا Material3 InlineSlider إلى Wear Compose. تتيح للمستخدمين إمكانية الاختيار من بين مجموعة من القيم. يظهر نطاق الاختيارات كشريط بين الحد الأدنى والحد الأقصى لقيم النطاق، ويمكن للمستخدمين اختيار قيمة واحدة من ذلك الشريط. InlineSlider مثالية لتعديل الإعدادات، مثلاً مستوى الصوت أو السطوع. (I7085f)

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

  • عدّلنا "الأشكال" في مظهر Wear Material 3 لاستخدام RoundedCornerShape بدلاً من "الشكل". (Idb133)
  • لقد أتحنا ثوابت الارتفاع الخاصة بالزر للجميع (Idbfde)
  • تم تعديل ملفات واجهة برمجة التطبيقات لإضافة تعليقات توضيحية بشأن إيقاف التوافق (I8e87a، b/287516207)
  • عدّلنا InlineSliderColors في Wear Compose Material 3 ليتضمّن دالة إنشاء عامة وسمات عامة. (I6b632)
  • عدّلنا جميع فئات الألوان في Wear Compose Material 3 لتتضمّن أدوات إنشاء وسمات عامة. (I17702)
  • لقد أتحنا ثوابت الحشو الأفقي والرأسي للزر. (Ieeaf7)

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

  • سيعدّل الزرّ الآن ارتفاعه لاستيعاب المحتوى الذي زاد حجمه بسبب استخدام خطوط كبيرة لتسهيل الاستخدام، وذلك عند الحاجة (Iaf302).
  • عدّلنا عددًا من عروض Button التوضيحية لمعالجة مشاكل تسهيل الاستخدام. (I61ce9)
  • تتيح الآن Stepper وInlineSlider النقر المتكرر مع الضغط مع الاستمرار، ما يتيح لك زيادة قيمة Stepper وInlineSlider أو خفضها بسرعة من خلال الضغط مع الاستمرار على الزرَّين + أو - (I27359)

الإصدار 1.0.0-alpha07

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

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha07. يتضمّن الإصدار 1.0.0-alpha07 هذه التعديلات.

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

  • لقد أضفنا المكوّن Stepper إلى مكتبة Compose for Wear OS Material 3. يشبه هذا الإصدار إصدار Material السابق، ولكنّه يحذف دلالات النطاق تلقائيًا، وذلك استنادًا إلى ملاحظات المطوّرين. نقدّم Modifier.rangeSemantics الحالات التي تكون فيها دلالات النطاق مطلوبة. (Ic39fd)
  • لقد أضفنا curvedText إلى مكتبة Compose for Wear OS Material 3. (Ia8ae3)

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

  • لقد عدّلنا wear.compose.foundation ليصبح من التبعيات لواجهة برمجة التطبيقات wear.compose.material3 (I72004، b/285404743).

الإصدار 1.0.0-alpha06

‫7 يونيو 2023

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha06. يتضمّن الإصدار 1.0.0-alpha06 هذه التعديلات.

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

  • لقد عدّلنا TextButton لاستخدام دالة الإضافة toDisabledColor من أجل الحصول على قيم ألفا غير مفعّلة صحيحة. (I814c8)

الإصدار 1.0.0-alpha05

‫24 مايو 2023

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha05. يتضمّن الإصدار 1.0.0-alpha05 هذه التعديلات.

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

  • أضفنا TextButton إلى Material3، وهو زر دائري يتضمّن خانة واحدة للنص. بالنسبة إلى أحجام TextButton المختلفة، ننصحك باستخدام Modifier.touchTargetAwareSize وExtraSmallButtonSize وSmallButtonSize وDefaultButtonSize وLargeButtonSizeIcon المتوفّرة في TextButtonDefaults. لا يحتوي الزر التلقائي TextButton على حدود وخلفية شفافة للإجراءات التي لا تتطلّب تركيزًا كبيرًا. بالنسبة إلى الإجراءات التي تتطلّب تركيزًا عاليًا، استخدِم filledTextButtonColors. أمّا بالنسبة إلى الإجراءات التي تتطلّب تركيزًا متوسطًا، استخدِم TextButton مع ضبط الحدود على ButtonDefaults.outlinedButtonBorder. وبالنسبة إلى الإجراءات التي تتطلّب تركيزًا متوسطًا بين الإجراءات المحدّدة والإجراءات المعبّأة، استخدِم filledTonalTextButtonColors. (I667e4)
  • لقد أضفنا Card وOutlinedCard وAppCard وTitleCard إلى مكتبة Wear Compose Material3. يمكن أيضًا منح الرمزين AppCard وTitleCard المظهر المحدّد باستخدام CardDefaults.outlinedCardColors وCardDefaults.outlinedCardBorder(I80e72)

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

  • نقلنا مَعلمة "تصنيف الزر" إلى النهاية لتوفير دعم لبنية lambda اللاحقة، وأزلنا مَعلمة الدور (لأنّه يمكن إلغاء هذه المَعلمة باستخدام Modifier.semantics). أصبحت الآن دوال إنشاء ButtonColors متاحة للجميع. (Ie1b6d)

الإصدار 1.0.0-alpha04

‫10 مايو 2023

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha04. يتضمّن الإصدار 1.0.0-alpha04 هذه التعديلات.

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

  • أضفنا IconButton إلى Material3، وهو زر دائري يتضمّن خانة واحدة للرمز أو الصورة. هناك أربعة أشكال: IconButton وFilledIconButton وFilledTonalIconButton وOutlinedIconButton. بالنسبة إلى أحجام IconButton المختلفة، ننصحك باستخدام Modifier.touchTargetAwareSize وExtraSmallButtonSize وSmallButtonSize وDefaultButtonSize وLargeButtonSizeIcon المتوفّرة في IconButtonDefaults. نوفّر أيضًا IconButtonDefaults.iconSizeFor لتحديد حجم الرمز المقترَح لحجم زر معيّن. (I721d4)

الإصدار 1.0.0-alpha03

‫19 أبريل 2023

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha03. يتضمّن الإصدار 1.0.0-alpha03 هذه التعديلات.

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

  • أضفنا مكوّن الزر Material 3، وهو زر على شكل ملعب كان يُطلق عليه سابقًا اسم Chip في مكتبة Wear Compose Material (تمت إعادة تسميته إلى Button لضمان التوافق مع مكتبة Compose Material 3). يحتوي الزر التلقائي على خلفية مملوءة، وهناك أشكال مختلفة للأزرار، مثل FilledTonal (خلفية باهتة) و"مخطّط" (شفاف مع حدود رفيعة) و"عنصر تابع" (خلفية شفافة وبدون حدود، ويُستخدم للإجراءات التكميلية التي تتطلّب أقل قدر من البروز). سيتم توفير أزرار دائرية للمحتوى البسيط من الرموز والنصوص في إصدار مستقبلي.(Ia6942)

الإصدار 1.0.0-alpha02

‫5 أبريل 2023

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha02. يتضمّن الإصدار 1.0.0-alpha02 هذه التعديلات.

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

  • لقد أضفنا DefaultTextStyle إلى Wear Compose Material 3 الذي يضبط القيمة التلقائية PlatformTextStyle.includeFontPadding على "صحيح" (الإعداد الحالي). سيسمح لنا ذلك بمزامنة إيقاف مساحة الحشو في الخط تلقائيًا مع مكتبات Compose في المستقبل (راجِع إصلاح مساحة الحشو في الخط في Compose للخلفية). (I7e461)

الإصدار 1.0.0-alpha01

‫22 مارس 2023

تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha01. يتضمّن الإصدار 1.0.0-alpha01 هذه التعديلات.

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

  • ‫Material 3 هو التطوّر التالي في Material Design ويتضمّن تصميمًا محدّثًا للمظهر ومكوّنات مُعاد تصميمها. تم تصميم Material 3 على Wear Compose ليكون متوافقًا مع مكتبة Material 3 Compose على Android. يحتوي إصدار الألفا الأول هذا على عمليات تنفيذ مبكرة وعملية لما يلي:

    • تصميم Material: يضبط نظام الألوان وأسلوب الخط والأشكال بشكل متسق في جميع المكوّنات في المكتبة. يتضمّن مظهر Material3 ألوانًا معدَّلة تتوافق مع التباين الذي يسهل الوصول إليه. (I84005)
    • النص/الرمز - وحدات أساسية لتطبيقات Wear Compose (I8e06a)
  • سنواصل تطوير Wear Material (androidx.wear.compose:compose-material) وWear Material 3 (androidx.wear.compose:compose-material3) بالتوازي. ستوسّع إصدارات Material3 المستقبلية مجموعة التطبيقات المصغّرة لتشمل مكوّنات أخرى مألوفة من Compose for Wear OS، مثل الأزرار وأدوات الاختيار وأشرطة التمرير.

  • تستبعد مكتبتا Wear Material وWear Material 3 بعضهما البعض ويجب عدم دمجهما في التطبيق نفسه، ويرجع السبب الرئيسي إلى أنّهما تشيران إلى نسقين مختلفين ما يؤدي إلى حدوث تناقضات غير متوقّعة.