تطبيق Wear Compose

  
كتابة تطبيقات Jetpack Compose للأجهزة القابلة للارتداء من خلال توفير وظائف لتتوافق مع أجهزة قابلة للارتداء وأحجام وأشكال وإيماءات تنقل محددة.
التعديل الأخير الإصدار المستقر إصدار مرشح الإصدار التجريبي إصدار ألفا
14 أيار (مايو) 2024 1.3.1 - الإصدار التجريبي 1.4.0-01 -

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

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

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

رائع

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.3.1"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.3.1"

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

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.3.1")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

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

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.3.1")

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

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

لمزيد من المعلومات حول التبعيات، انظر إضافة تبعيات الإصدار.

ملاحظات

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

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

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

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

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

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

الإصدار 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، الذي يمكن أن يستخدم نفس الألوان المعبأة والمحددة اللون مثل Button.(I05df0)

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

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

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

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

الإصدار 1.0.0-alpha15

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

تم طرح "androidx.wear.compose:compose-material3:1.0.0-alpha15". يحتوي الإصدار 1.0.0-alpha15 على هذه الالتزامات.

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

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

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

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

الإصدار 1.0.0-alpha14

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

تم طرح "androidx.wear.compose:compose-material3:1.0.0-alpha14". يحتوي الإصدار 1.0.0-alpha14 على هذه الالتزامات.

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

  • لقد أزلنا المَعلمة indicatorStyle من Material3 HorizontalPageIndicator، وبدلاً من ذلك، ستكون المعلَمة على شكل شاشة الجهاز (خطية أو دائرية). (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)
  • لقد عدّلنا أسلوب الخط والمحاذاة في الإصدارَين 3 ListHeader وListSubheader من المادة 3. (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 وSlider لا تزال قيد التجربة، وذلك لأنّ تفاصيل واجهة المستخدم لا تزال قيد التطوير. (I84d54)
  • لقد أزلنا مقاسات ExtraSmall من الدورَين TextButton وTextToggleButton لأنّ هذا المقاس لا ينطبق إلا على IconButton. (Ibc7d5)

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

  • لقد حدّثنا الإرشادات حول أسلوب الخط لـ TextToggleButton لاستخدام تسميتان كبيرتان لتكبير حجم كبير (Ib10fa)
  • لقد حدّثنا الإرشادات حول أسلوب الخط لـ TextButton لاستخدام التسميةكي كبيرة الحجم لزر كبير (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 للمادة 3 (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. (إيبيفي)
  • لقد أضفنا سمة Material3 SwipeToDismissBox التي تستدعي الإصدار الجديد من Foundation SwipeToDismissBox وتحدّد قيم اللون التلقائية من مظهرها. (I275fb)
  • لقد أضفنا سمة Material3 InlineSlider إلى Wear Compose. تسمح للمستخدمين بالاختيار من بين مجموعة من القيم. يتم عرض نطاق الاختيارات كشريط بين القيم الدنيا والقصوى للنطاق، والتي يمكن للمستخدمين اختيار قيمة واحدة منها. إنّ InlineSlider مثالي لضبط الإعدادات مثل مستوى الصوت أو السطوع. (I7085f)

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

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

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

  • يمكن للزر الآن تعديل ارتفاعه ليلائم المحتوى الذي ازداد بسبب الخطوط الكبيرة لسهولة الوصول، وذلك عند الحاجة (Iaf302).
  • لقد عدّلنا عددًا من الإصدارات التجريبية للأزرار بهدف معالجة مشاكل إمكانية الوصول. (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 إلى مكتبة ComposeAllowed لمستخدمي 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" (إنشاء مواد الإنشاء 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 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 هو التطور التالي للتصميم المتعدد الأبعاد ويتضمن مظاهر ومكونات معاد تصميمها. تم تصميم المادة 3 في Wear Compose لتكون مترابطة مع مكتبة Material 3 Compose على Android. يحتوي الإصدار الأولي الأول هذا على عمليات تنفيذ مبكرة ووظيفية لما يلي:

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

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

الإصدار 1.4

الإصدار 1.4.0-beta01

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

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

يشير الإصدار 1.4 إلى الإصدار التجريبي 01 من Compose لتطبيق Wear OS إلى أنّ هذا الإصدار من المكتبة مكتمل وأن واجهة برمجة التطبيقات مقفلة (باستثناء الحالات التي تكون فيها ميزة تجريبية). يتضمن إصدار Wear Compose 1.4 الوظائف الجديدة التالية:

  • لقد أضفنا Modifier.rotaryScrollable، وهو مفتاح تعديل جديد يربط بين الأحداث الدورانية والحاويات القابلة للتمرير، ما يتيح للمستخدمين التمرير باستخدام زر الساعة أو حافة دوّارة على جهاز Wear OS. بالإضافة إلى ذلك، يتيح ScalingLazyColumn وPicker الآن استخدام طريقة إدخال البيانات عبر وحدة تحكُّم دورانية تلقائيًا. استخدِم المَعلمة rotaryScrollableBehavior لضبط سلوك الانتقال أو الانطباق. بالنسبة إلى سلوك الانطباق، ننصح بتوفير ميزة الانطباق عبر المعلَمة flingBehavior أيضًا عند التمرير باللمس.
  • يوفّر تطبيق "SwipeDismissableNavHost" الآن صورة متحركة لإدخال عمليات النقل داخل التطبيق.
  • يتم عرض PositionIndicator الآن تلقائيًا عند عرض الشاشة لأول مرة.
  • تمت إضافة SelectableChip وSplitSelectableChip كصيغة على ToggleChip - يمكنك استخدام هذا مع RadioButton لتوفير دلالات قابلة للاختيار بدلاً من دلالات قابلة للتبديل لإمكانية الوصول.
  • يتيح ListHeader الآن ضبط الارتفاع عندما يحتاج المحتوى إلى ارتفاع إضافي ليتوافق مع أحجام الخطوط الكبيرة.

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

  • لقد أصلحنا خطأً حيث أعلنت الشرائح القابلة للاختيار عن تفعيل ميزة "النقر مرّتين" للتبديل بعد اختيار الشرائح. (I7ed88)

الإصدار 1.4.0-alpha08

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

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

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

  • لقد أجرينا التغييرات التالية على واجهة برمجة التطبيقات الدورانية الجديدة: تمت إعادة تسمية Modifier.rotary لتصبح Modifier.rotaryScrollable، وتسمية واجهة RotaryBehavior إلى RotaryScrollableBehavior ووظيفتها handleScrollEvent إلى performScroll، وإعادة تسمية RotaryScrollableAdapter إلى RotaryScrollableLayoutInfoProvider وإزالة الخاصية scrollableState. (I0c8a6)
  • لقد أجرينا تغييرات إضافية على واجهة برمجة التطبيقات roary API، حيث تمت إعادة تسمية RotaryScrollableLayoutInfoProvider لتصبح RotarySnapLayoutInfoProvider (لأنّ هذا المزوّد لا يحتاج إلا للدوران الدوار مع الانطباق)، وتغيير نوع المعلَمة snapOffset في RotaryScrollableDefaults.snapBehavior snapOffset من Int إلى Dp. (Iddebe)
  • أعدنا تسمية المعلَمة clickInteractionSource في SplitSelectableChip لتصبح containerInteractionSource. (Ia8f84)
  • لقد عدّلنا أسماء مَعلمات معاودة الاتصال للنقرات من "SplitSelectableChip" من "onClick" إلى "onSelectionClick" ومن "onBodyClick" إلى "onContainerClick". (I32237)

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

  • لقد عدّلنا المساحة المتروكة الأفقية لـ PositionIndicator إلى 2dp (كانت 5 بكسل مستقل الكثافة)، لإصلاح خطأ يتداخل فيه PositionIndicator (شريط التمرير) مع المحتوى القابل للتمرير. يُرجى العلم أنّه من المتوقّع أن يؤدي هذا التغيير إلى إيقاف لقطات الشاشة الحالية التي تتضمّن PositionIndicator بسبب تغيير المساحة المتروكة. (I57472)
  • لقد أدخلنا تحسينات على المستندات الخاصة بواجهة برمجة التطبيقات الدورانية الجديدة من خلال وصف الاختلافات بين الأجهزة الدورانية منخفضة الدقة والدقة العالية. (I63abe)
  • لقد عالجنا استثناء خارج النطاق في SwipeDismissableNavHost يمكن أن يحدث عندما كانت قيم ألفا المُدخلة أقل من الصفر. (Ib75a1، b/335782510)

الإصدار 1.4.0-alpha07

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

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

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

  • لقد أضفنا Modifier.rotary، وهو مفتاح تعديل جديد يربط بين الأحداث الدورانية والحاويات القابلة للتمرير، ما يتيح للمستخدمين التمرير باستخدام زر الساعة أو حافة دوّارة على جهاز Wear OS. بالإضافة إلى ذلك، يتيح كل من ScalingLazyColumn وأداة الاختيار الآن استخدام طريقة إدخال البيانات عبر وحدة تحكُّم دورانية تلقائيًا، مع التحميلات الزائدة الجديدة التي تتضمّن المَعلمة rotaryBehavior لتحديد إعدادات الانتقال أو الانطباق. إذا تم ضبط المعلَمة rotaryBehavior على الانطباق، من المستحسن توفير الانطباق عبر المعلَمة flingBehavior أيضًا، من أجل التمرير باللمس. (I2ef6f)
  • يتم استبدال مصادر NestedScroll "السحب والتنقل" بـ UserInput وSideEffect لاستيعاب التعريف الموسّع لهذه المصادر التي تتضمن الآن الصور المتحركة (التأثير الجانبي) وبكرة الماوس ولوحة المفاتيح (UserInput). (I40579)
  • لقد أضفنا SelectableChip وSplitSelectableChip لتوضيح الفرق بين عناصر التحكّم في الإيقاف/التفعيل مثل Switch/Checkbox وعناصر التحكّم القابلة للاختيار مثل RadioButton. يستبدل هذا الإجراء الأحمال الزائدة المضافة سابقًا لـ ToggleChip/SplitToggleChip بمَعلمات selectionControl. (Ia0217)
  • تم تحديث معدِّل مستوى الظهور لـ IndeterminateStrokeWidth في ProgressIndicatorDefaults إلى "علني". (I5b5a4)

الإصدار 1.4.0-alpha06

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

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

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

  • لقد أضفنا مسودة داخلية لدعم وحدة المعالجة المركزية (Rotary)، كجزء من الجهود الكبيرة المتمثلة في نقل سلوك Rotary إلى AndroidX من تطبيق Horologist. (I617d1)
  • لقد أضفنا مسودة داخلية لدعم تقنية اللمس، وذلك كجزء من الجهود الكبيرة المتمثلة في نقل سلوك Rotary إلى AndroidX من Horologist. (I5568a)

الإصدار 1.4.0-alpha05

20 آذار (مارس) 2024

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

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

  • لقد جعلنا السمتَين initialCenterItemIndex وinitialCenterItemScrollOffset في ScalingLazyListState علنية. (I0c616)
  • لقد جعلنا FullScreenStrokeWidth من ProgressIndicatorDefaults علنية. (Ibea23)

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

  • لقد تم تحسين أداء PositionIndicator عن طريق خفض عدد المكالمات إلى layoutInfo من ScalingLazyColumn. (Idc83d)

الإصدار 1.4.0-alpha04

‫6 مارس 2024

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

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

  • أضفنا حملاً زائدًا جديدًا لكل من ToggleChip وSplitToggleChip والتي تأخذ المعلَمة selectionControl بدلاً من المعلَمة toggleControl. يجب استخدام هذه السمة مع عنصر التحكم RadioButton لتوفير دلالات قابلة للاختيار بدلاً من دلالات قابلة للتبديل لتسهيل الاستخدام (I1d6d9).
  • لقد عدّلنا أسماء مَعلمات التحميل الزائد selectionControl الجديدة من onSelected إلى onSelect في ToggleChip وSplitToggleChip (I1a971).

الإصدار 1.4.0-alpha03

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

تم طرح "androidx.wear.compose:compose-*:1.4.0-alpha03". يتضمّن الإصدار 1.4.0-alpha03 هذه الالتزامات.

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

  • تم إيقاف برنامج تضمين Modifier.inspectable نهائيًا. ستعمل واجهة برمجة التطبيقات هذه على إنشاء عدد أكبر من عمليات إبطال صلاحية المحرِّر أكثر من اللازم، لذا لا ننصح باستخدامها الآن. ننصح المطوِّرين بتطبيق طريقة inspectableProperties() على ModifierNodeElement إذا أرادوا عرض سمات التعديل للأدوات. (Ib3236)

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

  • لقد أصلحنا خطأً في الوثائق لتعليقات WearPreview* التوضيحية. (Id526d)

الإصدار 1.4.0-alpha02

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

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

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

  • لقد أصلحنا خطأً في ميزة "التمرير السريع" للاطّلاع على الإجراءات التي تمكّن المستخدم من التفاعل مع (وإلغاء) إجراء معيّن تم اتّخاذه بشأن عنصر من خلال البدء بالتمرير سريعًا على عنصر آخر (Ide059).
  • لقد عدّلنا ListHeader لإتاحة إمكانية تعديل الارتفاع عندما يحتاج المحتوى إلى ارتفاع إضافي ليتوافق مع أحجام الخطوط الكبيرة. (I7290c، b/251166127)

الإصدار 1.4.0-alpha01

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

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

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

  • لقد أضفنا مؤثرات حركية لإدخالات إلى SwipeDismissableNavHost لإجراء عمليات النقل داخل التطبيق.(cfeb79a)
  • يتم عرض PositionIndicator الآن تلقائيًا عند عرض الشاشة لأول مرة. تم إجراء هذا التغيير للمساعدة في تلبية إرشادات جودة Wear. هذا يعني أنّه يجب تعديل اختبارات لقطات الشاشة على الشاشات التي تتضمّن PositionIndicator، وذلك لأنّه لم يكن يتم عرض PositionIndicator في السابق. (419cef7)

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

  • أضفنا واجهة برمجة تطبيقات تمويج جديدة في مكتبات wear:compose-material وwear:compose-material3 لتحلّ محلّ واجهة rememberRipple المتوقّفة. تتم أيضًا إضافة CompositionLocal مؤقتًا، LocalUseFallbackRippleImplementation، لإعادة مكوّنات Material إلى استخدام واجهات برمجة تطبيقات rememberRipple/RippleTheme المتوقّفة نهائيًا. ستتم إزالة هذه الميزة في الإصدار الثابت التالي، لأنّ الغرض منها هو أن يكون وسيلة مساعدة مؤقتة لنقل البيانات في الحالات التي توفِّر فيها RippleTheme مخصّص. يمكنك الانتقال إلى developer.android.com للحصول على معلومات حول نقل البيانات والمزيد من المعلومات الأساسية المرتبطة بهذا التغيير. (af92b21)
  • لقد أجرينا تحديثًا لـ ColorScheme ليكون غير قابل للتغيير، ما يجعل التحديثات الفردية للألوان أقل كفاءة، ولكن يجعل الاستخدام الأكثر شيوعًا للألوان أكثر كفاءة. السبب وراء هذا التغيير هو أن معظم التطبيقات لن تقوم بتحديث الألوان الفردية كحالة استخدام رئيسية. لا يزال هذا ممكنًا، لكنه سيعيد إنشاؤه أكثر من ذي قبل، وبدورنا نعمل على تقليل عدد الاشتراكات في الولاية بشكل كبير من خلال جميع الرموز البرمجية لمواد العرض، وسيؤثر ذلك في عملية الإعداد وتكلفة وقت التشغيل للمزيد من حالات الاستخدام العادية. (f5c48b7)
  • تم تعديل مكونات محتوى Wear وMaterial3 التي تعرض MutableInteractionSource في واجهة برمجة التطبيقات لعرض قيمة MutableInteractionSource فارغة يتم ضبطها تلقائيًا على القيمة "فارغ". ما مِن تغييرات دلالية هنا: يعني ضبط القيمة "فارغ" أنك لا تريد رفع MutableInteractionSource، وسيتم إنشاؤه داخل المكوِّن إذا لزم الأمر. يؤدي التغيير إلى قيمة "فارغ" إلى السماح لبعض المكونات بعدم تخصيص MutableInteractionSource مطلقًا، والسماح للمكوّنات الأخرى بإنشاء مثيل بشكل كسول فقط عند الحاجة، ما يحسّن الأداء على مستوى هذه المكوّنات. إذا كنت لا تستخدم MutableInteractionSource الذي تمرّره إلى هذه المكوّنات، نقترح إدخال قيمة فارغة بدلاً من ذلك. يوصى أيضًا بإجراء تغييرات مماثلة في المكونات الخاصة بك. (f8fa920)
  • تم تحديث rememberExpandableState لحفظ الحالة القابلة للتوسيع. ويضمن ذلك تخزين البيانات عند الانتقال إلى شاشة أخرى واستعادتها عند الرجوع إلى الشاشة الأصلية. (5c80095)

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

  • لقد عدّلنا إعدادات ReduceMotion لكي يصبح بإمكانك استخدام أداة معالجة الحدث. (7c6b122)
  • لقد عدّلنا أداة "الاستماع" إلى "TouchExplorationStateProvider" لكي يصبح على دراية بمراحل نشاطها (be28b01).
  • لقد أزلنا طبقة المادة الأساسية في CompactButton لتحسين الأداء (25db8e9).
  • لقد جعلنا BasicSwipeToDismissBox أكثر فعالية في حالات إزاحة NaN لتجنُّب الاستثناءات (b983739).
  • لقد عدّلنا BasicSwipeToDismissBox للتأكّد من أنّ قيم ألفا تقع ضمن النطاق 0,1.
  • أصلحنا خطأً في ToggleButton وSplitToggleButton وCheckbox وSwitch وRadioButton بحيث لا يتم تكرار إشعارات تسهيل الاستخدام (كان يتم تكرار الأدوار الدلالية في السابق) (d11eeb7).

الإصدار 1.3

الإصدار 1.3.1

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

تم طرح "androidx.wear.compose:compose-*:1.3.1". يتضمّن الإصدار 1.3.1 هذه الالتزامات.

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

  • لقد أصلحنا خطأً في ميزة "التمرير السريع"، حيث كان من الممكن التفاعل مع (وإلغاء) إجراء مطلوب بشأن عنصر من خلال البدء بالتمرير السريع على عنصر آخر. (Ide059)

الإصدار 1.3.0

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

تم طرح "androidx.wear.compose:compose-*:1.3.0". يتضمّن الإصدار 1.3.0 هذه الالتزامات.

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

  • أصبحت الآن دالة الفئة SwipeToDismissBoxState والتعداد SwipeToDismissValue والإضافة Modifier.edgeSwipeToDismiss جزءًا من حزمة androidx.wear.compose.foundation، بدلاً من حزمة androidx.wear.compose.material. تتيح لك هذه البنية المحدثة تنفيذ معالجة الإيماءات بشكل مستقل عن اعتبارات التصميم الأخرى. ويتم التعامل مع مهام سير عمل "التصميم المتعدد الأبعاد"، مثل استخدام الألوان من مظهر تم ضبطه، بشكل منفصل.
  • يمكنك الاستعانة بالصفَّين SwipeToRevealCard وSwipeToRevealChip في تنفيذ recommended swipe-to-reveal guidance. توضح الفئة SwipeToRevealSample كيفية استخدام هذه المكوّنات.
  • طرح الإصدار 1.3.0-alpha02 تغييرًا يؤدي إلى زيادة ارتفاع عناصر Chip وToggleChip لإتاحة إمكانية تغيير حجم الخط الذي يختاره المستخدم بشكل أفضل. وقد يؤدي ذلك إلى حدوث اقتصاص. لحلّ هذه المشكلة، يستخدم الآن شكل large في MaterialTheme نصف قطر زاوية أكبر (26 وحدة بكسل مستقلة الكثافة بدلاً من 24 بكسل مستقل الكثافة). يستخدم الكائنان Chip وToggleChip نصف قطر الزاوية الجديد هذا لتجنب اقتصاص المحتوى من زوايا الشريحة وToggleChip.

    • لم يتم تغيير معظم Chips وToggleChips، بناءً على ارتفاعهما التلقائي الذي يبلغ 52 وحدة بكسل مستقلة الكثافة. في المقابل، قد يؤدي استخدام كائنات Chip وToggleChip التي تحتوي على أسطر متعددة من نص تصنيف أساسي أو ثانوي أو تم إلغاء الارتفاع له إلى تعطُّل اختبارات لقطات الشاشة.

تغييرات إضافية

للاطّلاع على مجموعة أكثر اكتمالاً من التغييرات التي تم إدخالها في الإصدار 1.3.0، يمكنك الاطّلاع على ملاحظات الإصدار التجريبي 01.

اقتراحات للتنفيذ

  • إذا كان تطبيقك يسمح للمستخدمين بتحريك محتوى الشاشة، كما هو الحال في تطبيق مستند إلى الخرائط، يمكنك إيقاف معالجة التمرير السريع من خلال ضبط userSwipeEnabled على false في SwipeDismissableNavHost القابل للإنشاء، وتضمين زر يسمح للمستخدمين بالانتقال إلى الشاشة السابقة.
  • لإيقاف الصور المتحركة لمؤشر الموضع أثناء الحركة مع التلاشي للداخل وتغيير الموضع ضمن قائمة تمرير، استخدِم كائن SnapSpec.
  • أثناء الانتظار إلى أن يحمّل أحد تطبيقات الوسائط المحتوى لتشغيله، يمكنك عرض Placeholder فارغة قابلة للإنشاء.
  • لإنشاء مجموعة من العناصر القابلة للتوسيع عند الطلب، ننصحك باستخدام الفئة التجريبية ExpandableStateMapping.

الإصدار 1.3.0-rc01

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

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

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

  • لقد عدّلنا الشكل الكبير MaterialTheme ليستخدم نصف قطر دائرة الزاوية المستديرة 26 بكسل مستقل الكثافة، وسيتم استخدامه الآن من قِبل الرقاقة وToggleChip. وهذا التغيير ضروري لإتاحة تعديلات الارتفاع عندما يحتاج المحتوى إلى ارتفاع إضافي لاستيعاب أحجام الخطوط الكبيرة، وبخلاف ذلك، يعمل شكل الاستاد الحالي على مقاطع بعض المحتوى النصي.

    اقتصاص النص عند الزوايا
    الشكل 1: نص مثبّت على الزوايا.
    لم يتم اقتصاص النص.
    الشكل 2: لم يتم اقتصاص النص.

    قد يؤدي هذا التغيير إلى حدوث خلل في اختبارات لقطات الشاشة. (I2e6ae)

الإصدار 1.3.0-beta02

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

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

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

  • لقد استعدنا حركة التمرير السريع المقصودة في BasicSwipeToDismissBox. تم تغيير ذلك في إصدار سابق، بحيث حدث جزء التمرير من الانتقال أثناء لمس الإصبع للشاشة. (Id8e76)

الإصدار 1.3.0-beta01

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

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

يشير الإصدار 1.3 إلى الإصدار التجريبي 01 من Compose لتطبيق Wear OS إلى أنّ هذا الإصدار من المكتبة مكتمل وأن واجهة برمجة التطبيقات مقفلة (باستثناء الحالات التي تكون فيها ميزة تجريبية). يتضمن إصدار Wear Compose 1.3 الوظائف الجديدة التالية:

  • تم نقل بيانات SwipeToDismissBoxState وSwipeToDismissValue وModifier.edgeSwipeToDismiss من androidx.wear.compose.material إلى androidx.wear.compose.foundation، بالإضافة إلى عملية التنفيذ الأساسية من خلال التمرير السريع للإغلاق في BasicSwipeToDismissBox. ويتيح ذلك استخدام معالجة الإيماءات من أجل التمرير السريع للإغلاق بشكل مستقل عن التصميم المتعدد الأبعاد، على سبيل المثال من SwipeDismissableNavHost في androidx.wear.compose.navigation. لا يزال استخدام SwipeToDismissBox من androidx.wear.compose.material مع "التصميم المتعدد الأبعاد" لأنّه يسحب الألوان من MaterialTheme، ثم يفوّض عملية التنفيذ المتبقية إلى BasicSwipeToDismissBox.
  • يتيح SwipeDismissableNavHost الآن استخدام معلَمة userSwipeEnabled جديدة تتيح إيقاف معالجة التمرير السريع على الشاشات التي لا تتطلّب ذلك.
  • تم تحسين معالجة التركيز من قِبل "BasicSwipeToDismissBox" باستخدام "HierarchicalFocusCoordinator".
  • يتضمّن "SwipeToReveal" عناصر جديدة للإنشاء SwipeToRevealCard وSwipeToRevealChip في Material تتّبع إرشادات تجربة المستخدم المقترَحة لكل من Card وChip. كما تم التراجع عن إتاحة الإجراء الثانوي.
  • يتم الآن إيقاف مساحة متروكة الخط في DefaultTextStyle لتصبح متسقة على نظام Android الأساسي.
  • بإمكان "Chip" و"ToggleChip" الآن ضبط ارتفاعهما ليلائم المحتوى الذي ازدادت نسبة استخدامه بسبب الخطوط الكبيرة لسهولة الوصول.
  • يتضمّن PositionIndicator الآن مواصفات صور متحركة فردية لصور متحركة مثل التلاشي للداخل والاختفاء التدريجي وتغيير الموضع. لأسباب تتعلق بالأداء، ننصحك بإيقاف ميزتَي "التلاشي" و"تغيير الموضع" عند استخدامهما مع القوائم القابلة للتمرير.
  • توفّر ExpandableStateMapping طريقة جديدة لإنشاء ExpandableStates عند الحاجة إلى إنشائها عند الطلب وليس بالضرورة باستخدام نطاق @Composable.
  • يتيح Placeholder الآن إعادة الضبط إذا لم يعُد المحتوى في حالة الاستعداد. بالإضافة إلى ذلك، يتم الآن تطبيق إعداد تقليل الحركة على تأثير اللمعان وحركة محو البيانات في Placeholder.

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

  • لا يتم عرض PositionIndicator في البداية عند عرض الشاشة لأول مرة. ونعتزم إجراء تغيير في الإصدار الأولي 1.4 بحيث يظهر في البداية، ولكن بدون أي رسوم متحركة.

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

  • أعدنا تسمية المستوى SwipeToDismissBox ليصبح BasicSwipeToDismissBox. ويوضّح ذلك الفرق بين المكوِّن على مستوى الأساس ومستوى المادة SwipeToDismissBox. يسحب النموذج الأخير الألوان من MaterialTheme لاستخدامها في إطارات حاجب، ويفوّض عملية التنفيذ المتبقية إلى BasicSwipeToDismissBox. (Ibecfc)
  • تم وضع علامة على rememberExpandableStateMapping تشير إلى أنّه تجريبي، وتم تحسين أداء expandableItem. (I5f6bc)
  • لقد استبدلنا الفئة SwipeToRevealAction في واجهات برمجة التطبيقات للبطاقات والرقائق في المواد SwipeToReveal بواجهة برمجة تطبيقات مستنِدة إلى الخانة باستخدام العناصر SwipeToRevealPrimaryAction وSwipeToRevealSecondaryAction وSwipeToRevealUndoAction القابلة للإنشاء. يُرجى الاطّلاع على رمز نموذجي للحصول على أمثلة حول كيفية استخدام واجهة برمجة التطبيقات الجديدة. (Ia8943)
  • لقد استبدلنا علامات PositionIndicator المتحركة بمعلمات AnimationSpec. يمكن إيقاف الصور المتحركة الفردية من خلال ضبط snap على أنّها AnimationSpec. (I6c523)

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

  • لقد أصلحنا خطأً ناتجًا عن عرض نص منحني محدود عندما يكون الحجم محدودًا (I50efe)
  • عالجنا عطلاً محتملاً في NaN يتعلق بـ curvedComposable (I970eb)
  • لقد تم التراجع عن إزالة الصورة المتحركة التي تحتوي على تمييز تغيير الموضع في PositionIndicator. (Ieb424)
  • لقد أزلنا الطبقة الأساسية المادية لشريحة المواد لتحسين أدائها. (If2dcb)

الإصدار 1.3.0-alpha08

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

تم طرح "androidx.wear.compose:compose-*:1.3.0-alpha08". يتضمّن الإصدار 1.3.0-alpha08 هذه الالتزامات.

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

  • لقد أضفنا علامات فردية إلى عمليات تحميل PositionIndicator الزائدة للتحكّم في الصور المتحركة المختلفة: showFadeInAnimation وshowFadeOutAnimation وshowPositionAnimation. تم إيقاف واجهة برمجة التطبيقات السابقة نهائيًا، وجارٍ إعادة توجيه الطلبات إلى واجهة برمجة التطبيقات الجديدة. لأسباب تتعلّق بالأداء وللحفاظ على اتساق تجربة المستخدم، عند استخدام PositionIndicator مع قائمة قابلة للتمرير، ننصحك بإيقاف العلامتين showFadeInAnimation وshowPositionAnimation. إذا تم استخدام PositionIndicator كمؤشر مستقل، مثلاً لتغيير مستوى الصوت، ننصحك بتفعيل جميع الصور المتحركة الثلاث. (I44294)
  • لقد أوقفنا المواد SwipeToDismissBoxState وSwipeToDismissValue وedgeSwipeToDismiss نهائيًا بعد نقل وظيفة "التمرير السريع للرفض" إلى wear.compose.foundation. يُرجى استبداله بالعناصر المكافئة لـ wear.compose.foundation. (Iee8c9)

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

  • لقد عدّلنا الملفات الشخصية الأساسية لمكتبات ارتداء الملابس الأساسية ومكتبتها ذات الصلة بمواد العرض ومكتبات التنقّل. (Idb060)
  • تم التراجع عن تغيير في السلوك في PositionIndicator تم طرحه في CL سابق، مثلاً أنّ PositionIndicator كانت عليه تأثيرات متحرّكة عندما تم عرض الشاشة في البداية. ونعتزم إجراء تغيير مماثل في الإصدار الأولي 1.4 من ألفا، بحيث يتم عرض PositionIndicator في البداية، ولكن بدون أي رسوم متحركة. (I41843)
  • لقد عالجنا بعض مشاكل الأداء في PositionIndicator. (I1c654، b/302399827)
  • لقد حسَّنا الأداء للتنفيذ التلقائي لمزوِّد حالة الاستكشاف باللمس ليعتمد على State<Boolean> بدلاً من الحالة المشتقّة. (Ieec4d)
  • لقد ضبطنا systemGestureExclusion مستطيلات لنظام التشغيل Android 13 والإصدارات الأحدث. (Ib1f4b)

الإصدار 1.3.0-alpha07

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

تم طرح "androidx.wear.compose:compose-*:1.3.0-alpha07". يتضمّن الإصدار 1.3.0-alpha07 هذه الالتزامات.

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

  • لقد أضفنا علامات فردية إلى PositionIndicator للتحكّم في الصور المتحركة المختلفة: showFadeInAnimation وshowFadeOutAnimation وshowPositionAnimation. تم إيقاف واجهة برمجة التطبيقات السابقة نهائيًا، وجارٍ إعادة توجيه الطلبات إلى واجهة برمجة التطبيقات الجديدة. لأسباب تتعلّق بالأداء وللحفاظ على اتساق تجربة المستخدم، عند استخدام PositionIndicator مع قائمة قابلة للتمرير، ننصحك بإيقاف العلامتين showFadeInAnimation وshowPositionAnimation. إذا تم استخدام PositionIndicator كمؤشر مستقل، مثلاً لتغيير مستوى الصوت، ننصحك بتفعيل جميع الصور المتحركة الثلاث. (Ia2d63)

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

  • لقد أجرينا تحسينات على التمرير السريع لإظهار الحركة من خلال إضافة رسم متحرك بالتلاشي إلى نص الإجراء الأساسي وتخفيف الإجراء الثانوي/تغيير حجم الرمز عند توسيع التمرير السريع بالكامل. (Ib7223)
  • ننصح بأن تكون إجراءات "التمرير السريع للاطّلاع على المحتوى" متوفّرة، لذا أضفنا إجراءات مخصّصة لتسهيل الاستخدام إلى نماذج "التمرير السريع". (I42224)
  • لقد أجرينا تحسينات على أداء SwipeToDismissBox، بما في ذلك إعادة الهيكلة لضمان عدم بدء إعادة هيكلة المنطق الأولي. تم رسم SwipeToDismissBox الآن بحجم ملء الشاشة. (Ie0aa2)
  • لقد أصلحنا خطأً عند اختفاء علامة PositionIndicator عن طريق الخطأ. (I2091a)
  • تم تحسين أداء PositionIndicator عن طريق تحسين عمليات إعادة الإنشاء. تمت إضافة علامات جديدة للتحكم في الصور المتحركة (fadeIn وfadeOut وpositionChange) بعد ذلك (راجع تغييرات واجهة برمجة التطبيقات) (Ifac7d)
  • لقد أضفنا اختبارات مقاييس الأداء المصغّرة للسمة PositionIndicator (Idf875).

الإصدار 1.3.0-alpha06

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

تم طرح "androidx.wear.compose:compose-*:1.3.0-alpha06". يتضمّن الإصدار 1.3.0-alpha06 هذه الالتزامات.

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

  • لقد أتحنا استخدام Modifier.edgeSwipeToDismiss مع SwipeToReveal. (I95774، b/293444286)
  • لقد أضفنا نماذج للمواد SwipeToRevealChip وSwipeToRevealCard. (Ieb974)
  • لقد عدّلنا الملفات الشخصية الأساسية لمكتبات Wear Compose Foundation ومكتبات Material. (I1dd1f)

الإصدار 1.3.0-alpha05

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

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

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

  • لقد أضفنا خيارات المعالجة في ميزة "التمرير السريع" إلى "عرض المحتوى" حيث يمكن التمرير السريع على عنصر واحد فقط في كل مرة. (I3cd7a)
  • تم تحسين مستندات ScalingLazyColumnDefaults لتتطابق بشكل أفضل مع سلوكها الفعلي. (I886d3)

الإصدار 1.3.0-alpha04

23 آب (أغسطس) 2023

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

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

  • لقد أتحنا إمكانية التراجع عن الإجراء الثانوي بشأن SwipeToReveal. (I7a22d)

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

  • يمكنك إضافة "HorizontalPageIndicator" في مكتبة Wear Material3. (Ifee99)
  • تم تعديل أداة معاينة Wear Compose لاستخدام مكتبة "androidx.wear.tooling.preview". (Ib036e)

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

  • إصلاح خطأ في الأزرار الدائرية التي لم تكن فيها مفاتيح التعديل مرتبطة بشكل صحيح (I5e162)

الإصدار 1.3.0-alpha03

9 آب (أغسطس) 2023

تم طرح "androidx.wear.compose:compose-*:1.3.0-alpha03". يتضمّن الإصدار 1.3.0-alpha03 هذه الالتزامات.

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

  • لقد أضفنا عنصرَين جديدَين قابلَين للإنشاء في Material لتنفيذ SwipeToReveal باستخدام البطاقات والشرائح. تتّبع هذه العناصر القابلة للإنشاء إرشادات تجربة المستخدم المقترَحة بشأن المكوّن وتسهّل على المطوّرين تنفيذ SwipeToReveal مع المكوّنات الحالية في Wear Material. (I7ec65)
  • لقد فعّلنا تعليقات FloatRange التوضيحية كقيود لواجهة برمجة التطبيقات كان مذكورًا سابقًا في التعليقات. (Icb401)

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

  • تم نقل منطق التمرير الأولي لـ ScalingLazyColumn داخل onGloballyPositioned(). (Ic90f1)
  • نستخدم الآن drawWithCache في PositionIndicator وProgressIndicator وSelectionControls لتحسين عمليات تخصيص الحدود. (I5f225، b/288234617)
  • لقد أصلحنا إمكانية ظهور علامات الاختيار في الحالات غير المفعّلة. (Ib25bf)
  • لقد عدّلنا سياسة Placeholder للسماح بإعادة الضبط من خلال عرض العنصر النائب إذا لم يعُد المحتوى في حالة جاهزية. (Ibd820)
  • لقد أجرينا بعض الإصلاحات على اختبارات Placeholder غير المستقرة (Idb560)

الإصدار 1.3.0-alpha02

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

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

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

  • لقد قدّمنا ExpandableStateMapping، وهي طريقة جديدة لإنشاء ExpandableStates، للحالات التي يجب فيها إنشاء النماذج عند الطلب، وليس بالضرورة ضمن نطاق @Composable (Iff9e0).
  • تم نقل SwipeToDismissBox من حزمة androidx.wear.compose.material إلى androidx.wear.compose.foundation. (I275fb)
  • تم تعديل ملفات واجهة برمجة التطبيقات لإضافة تعليقات توضيحية إلى قمع التوافق. (I8e87a، b/287516207)
  • لقد جعلنا ثوابت الارتفاع لـ Chip وCompactChip وToggleChip علنية (Idbfde).
  • لقد جعلنا المساحات المتروكة الأفقية والرأسية لـ Chip وCompactChip عامة. (Ieeaf7)
  • تمت إضافة وظيفة لإيقاف معالجة التمرير السريع في SwipeDismissableNavHost من خلال مَعلمة userSwipeEnabled الجديدة. (Id2a0b، b/230865655)
  • لقد حدّثنا مكتبة Wear Compose والانتقال إلى استخدام الإصدار الجديد SwipeToDismissBox من تطبيق Wear Compose Foundation. (I4ff8e)

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

  • لقد أصلحنا خطأ Z-order حيث لم يعرض "expandedItem" المحتوى الصحيح بعد النقر على سلوك أحد الأزرار عند توفّر أزرار. (I1899d، b/289991514)
  • تحسين معالجة التركيز لـ SwipeToDismissBox (وبالتالي SwipeDismissableNavHost) باستخدام HierarchicalFocusCoordinator (I45362، b/277852486)
  • لقد أجرينا إصلاحًا على معالجة الإيماءات في SwipeableV2 . (I89737)
  • لقد أنهينا الملفات الشخصية الأساسية للإصدار 1.2. (Id5740)
  • بعد نقل SwipeToDismissBox إلى Foundation، أصبحت آلية تنفيذ Material SwipeToDismissBox تعيد التوجيه الآن إلى Foundation Foundation وتوفّر قيم اللون التلقائية من المظهر.(If8451)
  • لقد أضفنا دلالات العناوين إلى ListHeader. (Ic5420)
  • بإمكان "Chip" و"ToggleChip" الآن تعديل ارتفاعهما ليلائم المحتوى الذي ازداد ارتفاعه بسبب زيادة حجم الخطوط الكبيرة بسهولة، وذلك عند الحاجة. (Iaf302)
  • تم إصلاح خطأ في الدور الدلالي لمنطقة SplitToggleChip القابلة للنقر، لتسهيل الاستخدام. (Ieed3a)
  • بإمكان إعداد تقليل الحركة الآن إيقاف تأثير البريق ومحو الحركة من العناصر النائبة. (I91046)
  • يتيح Stepper وInlineSlider الآن النقرات المتكرّرة عند الضغط مع الاستمرار حتى تتمكّن من زيادة أو خفض قيمة Stepper وInlineSlider بسرعة من خلال الضغط مع الاستمرار على الزرَّين + أو -. (I27359)

الإصدار 1.3.0-alpha01

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

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

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

  • كما أعلنّا في 1.2.0-alpha07 و1.2.0-alpha10، نحن بصدد تغيير DefaultTextStyle لإيقاف المساحة المتروكة للخط لتكون متسقة على نظام Android الأساسي. سيعالج هذا بعض حالات اقتصاص النص بأحجام خطوط كبيرة وقد يؤثر أيضًا في تصاميم الشاشة، لذلك يجب تحديث اختبارات لقطات الشاشة. على سبيل المثال، يظهر لنا اقتصاص النص (Ic6a86)
تم اقتصاص النص بحجم خط كبير.
الشكل 1: تم اقتصاص النص.
  • لا تتوفّر هذه القيمة عند إيقاف المساحة المتروكة للخط:
لم يتم اقتصاص النص بحجم خط كبير.
الشكل 2: لم يتم اقتصاص النص.
  • لقد عدّلنا wear.compose.foundation لتصبح واجهة برمجة تطبيقات تابعة لواجهة برمجة تطبيقات wear.compose.material (I72004، b/285404743).
  • لقد أصلحنا خطأً في "SwipeToDismissBox". يتم الآن تمرير الخلفية ومفاتيح المحتوى إلى قسم "التذكر" بحيث يتم إنشاء معدِّلات جديدة عند تغيير المحتوى أو الخلفية. (Ib876c، b/280392104)
  • لقد عدّلنا TimeText لاستخدام اللغة عند اختيار تنسيق الوقت 12 أو 24 ساعة. (If4a3d)
  • تم إصلاح التناقض في المعلَمات التلقائية contentScrimColor SwipeToDismissBox. (I2d70f)
  • لقد أدخلنا تحسينات على معالجة الحركة في SwipeToReveal. (I28fb7)

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

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

الإصدار 1.2

الإصدار 1.2.1

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

تم طرح "androidx.wear.compose:compose-*:1.2.1". يتضمّن الإصدار 1.2.1 هذه الالتزامات.

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

  • تم إصلاح خطأ كان يحدث عند اختفاء علامة PositionIndicator عن طريق الخطأ. (7a167f)

الإصدار 1.2.0

9 آب (أغسطس) 2023

تم طرح "androidx.wear.compose:compose-*:1.2.0". يتضمّن الإصدار 1.2.0 هذه الالتزامات.

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

الإصدار 1.2.0-rc01

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

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

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

  • لقد وضعنا اللمسات الأخيرة على الملفات الشخصية الأساسية للإصدار 1.2 (Id5740)

الإصدار 1.2.0-beta02

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

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

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

  • تمت إضافة المتغيّر CompositionLocal التجريبي LocalReduceMotion الجديد الذي يوقِف الضبط والتلاشي على ScalingLazyColumn. (I58024)

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

  • لقد حدّثنا الملفات الشخصية الأساسية لمكتبات المواد والأدوات المستخدَمة في صناعة الملابس(I4725d).
  • تم إصلاح عدم الاتساق في القيم التلقائية لمعلمات SwipeToDismissBox contentScrimColor (I2d70f)
  • لقد أصلحنا القيمة التلقائية DefaultTextStyle المُستخدَمة في الإعداد IncludeFontPadding (I737ed).

الإصدار 1.2.0-beta01

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

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

ميزات ComposeAllowed على الإصدار 1.2 من نظام التشغيل Wear OS

يشير الإصدار 1.2 إلى الإصدار التجريبي 01 من Compose لتطبيق Wear OS إلى أنّ هذا الإصدار من المكتبة مكتمل وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء الحالات التي تم وضع علامة عليها على أنّها تجريبية). يتضمن إصدار Wear Compose 1.2 الوظائف الجديدة التالية:

  • expandableItem وexpandableItems هما مكوّنان جديدان من Foundation يتيحان توسيع العناصر ضمن ScalingLazyColumn. استخدِم expandableItem لعنصر واحد قابل للتوسيع، مثل النص الذي يظهر فيه عدد الأسطر. استخدِم expandableItems لمجموعة من العناصر القابلة للتوسيع وexpandableButton لتبسيط إنشاء زر يمكن تصغيره بعد توسيع المحتوى.
  • HierarchicalFocusCoordinator - تتيح هذه اللعبة التجريبية القابلة للإنشاء إمكانية وضع علامات على الأشجار الفرعية في المقطوعة الموسيقية على أنّها مفعّلة أو تم إيقاف التركيز.
  • Picker: تتضمّن واجهة برمجة التطبيقات الآن userScrollEnabled للتحكّم في ما إذا كانت أداة الاختيار نشطة للتمرير السريع لدى المستخدم.
  • PickerGroup: ميزة جديدة قابلة للإنشاء للتعامل مع أدوات اختيار متعددة معًا تتعامل هذه الأداة مع التركيز بين أدوات الاختيار باستخدام واجهة برمجة التطبيقات HierarchicalFocusCoordinator وتتيح التوسيط التلقائي لعناصر المنتقي.
  • Placeholder: أجرينا تعديلات على الصور المتحركة التي لامعة و"مسح ضوئي". يتم الآن تطبيق تأثير الحذف سريعًا عندما يكون المحتوى جاهزًا.
  • ScalingLazyColumn - تم نقل بيانات ScalingLazyColumn والفئات المرتبطة بها من androidx.wear.compose.material.ScalingLazyColumn إلى androidx.wear.compose.foundation.lazy.ScalingLazyColumn. يُرجى التحديث لاستخدام إصدار "Foundation.Lazy".
  • SwipeToReveal - أتحنا ميزة "التمرير السريع" كوسيلة للوصول إلى الإجراءات الثانوية، وهذا تكميليًا لنمط "الضغط مع الاستمرار" الحالي.
  • Stepper - يتضمن الآن حملاً زائدًا مع معلَمة enableRangeSemantics إضافية لتسهيل إيقاف دلالات النطاق التلقائي.
  • Previews - أضفنا التعليقات التوضيحية المخصّصة التالية لمعاينة العناصر القابلة للإنشاء على شاشات Wear: يعاين WearPreviewSmallRound العنصر القابل للإنشاء على جهاز صغير مستدير، وWearPreviewLargeRound يعاين العنصر القابل للإنشاء على جهاز مستدير كبير، وWearPreviewSquare يعاين العنصر القابل للإنشاء على جهاز مربّع. في ما يلي أيضًا التعليقات التوضيحية التالية والمعاينة المتعددة: يعرض WearPreviewFontScales العناصر القابلة للإنشاء على جهاز قابل للارتداء بأحجام خطوط متعددة، بينما يعاين WearPreviewDevices العناصر القابلة للإنشاء على أجهزة Wear المختلفة.
  • لقد أضفنا السمة DefaultTextStyle إلى ميزة Wear Compose التي ضبطت السمة PlatformTextStyle.includeFontPadding تلقائيًا على "صحيح" (هذا هو الإعداد الحالي). سيتيح لنا ذلك مزامنة إيقاف مساحة متروكة الخطوط تلقائيًا مع مكتبات Compose في الإصدار الأولي 1.3 ألفا. يُرجى الاطّلاع على 1.2.0-alpha10 للحصول على مزيد من المعلومات.

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

  • لقد أضفنا دعمًا تجريبيًا لإيقاف تغيير الحجم وتلاشي الرسوم المتحركة عند تفعيل إعداد drop_motion. (I58024)

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

  • مستندات محسَّنة عن angularWidthDp في CurvedSize.kt (Iab75c)
  • يتم الآن تسجيل تحذير في SwipeDismissableNavHost يتضمن أسبابًا محتملة لظهور حزمة خلفية فارغة. يتم ذلك لمنع حدوث أعطال غير متوقّعة بسبب IllegalArgumentException الذي تم طرحه عندما كانت حزمة الخلفية فارغة. (I04a81، b/277700155)

الإصدار 1.2.0-alpha10

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

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

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

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

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

  • لقد أضفنا السمة RevealScope إلى العناصر القابلة للإنشاء في SwipeToReveal، ما يتيح الوصول إلى الإزاحة التي يتم عندها إظهار الإجراءات الإضافية. (I3fd56)

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

  • تم إصلاح المشكلة المتمثلة في توقف ScalingLazyColumn على Wear API 33 بعد الانتقال (Ic4599).
  • لقد أجرينا بعض التحسينات في الأداء على "PositionIndicator" لتقليل البيانات غير المحتملة. (I35e92)
  • أصلحنا خطأً في الشريحة وCompactChip حيث لم يعُد يتم ضبط الدور الدلالي على Role.Button. (I93f91، b/277326264)

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

  • لقد رصدنا خطأً في "استوديو Android" يؤدي إلى تعذُّر عرض المعاينة عند إضافة تعليقات توضيحية باستخدام @WearPreviewDevices و @WearPreviewFontScales، ومن المقرر إطلاق إصلاح لهذه المشكلة قريبًا. يُرجى العِلم أنّ التعليقات التوضيحية الأخرى لمعاينة نظام التشغيل Wear تعمل على النحو المطلوب في تطبيق Giraffe من "استوديو Android" بالإصدار 2022.3.1 والإصدارات الأحدث.

  • في الإصدار 1.2.0-alpha07، أضفنا واجهة برمجة التطبيقات DefaultTextStyle إلى تطبيق Wear Compose مع الحفاظ على قيمة PlatformTextStyle.includeFontPadding الحالية على أنّها صحيحة. بالنسبة إلى الخلفية، يمكنك الاطّلاع على إصلاح المساحة المتروكة للخطوط في Compose. سنُغيّر سياسة DefaultTextStyle لإيقاف المساحة المتروكة للخطوط في الإصدار الأولي 1.3 ألفا، وذلك لتصبح متسقة على نظام Android الأساسي. سيعالج هذا الإجراء بعض حالات اقتصاص النص بأحجام خطوط كبيرة وقد يؤثر أيضًا في تصاميم الشاشة، لذلك يجب تعديل اختبارات لقطات الشاشة. على سبيل المثال، مع أحجام الخطوط الكبيرة، يظهر اقتصاص النص هنا:

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

يمكن استخدام الإعداد الجديد الآن من خلال إلغاء أسلوب الخط في المظهر - يُرجى الاطّلاع على مثال للرمز البرمجي.

الإصدار 1.2.0-alpha09

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

تم طرح "androidx.wear.compose:compose-*:1.2.0-alpha09". يتضمّن الإصدار 1.2.0-alpha09 هذه الالتزامات.

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

  • إضافة angularSizeDp إلى واجهة برمجة التطبيقات CurvedModifier لضبط العرض الزاوي في DP (I89a52)

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

  • لقد أصلحنا مشاكل تتعلّق بتسهيل الاستخدام في العروض التوضيحية لأداة اختيار الوقت(Id0eb7)

الإصدار 1.2.0-alpha08

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

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

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

  • لقد أعدنا تسمية ExpandableItemsState إلى ExpandableState. (If85ea)
  • أضفنا expandableButton لتبسيط عملية إنشاء زر يمكن تصغيره عند توسيع المحتوى، كما عدّلنا الأمثلة القابلة للتوسيع. (Iae309)

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

  • تم تحسين النماذج القابلة للتوسيع لإظهار المزيد من الاحتمالات. تم تعديل صورة متحركة لـ "expandableItem" للحفاظ على توسيط محتواها من خلال الصورة المتحركة. (I2f637)
  • تم تحديث ToggleControls لتجنُّب عمليات إعادة تركيب إضافية عند الصور المتحركة للألوان يدويًا باستخدام "الحالة". (I5d319)

الإصدار 1.2.0-alpha07

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

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

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

  • لقد نقلنا مكوِّنات العنصر القابل للتوسيع (التي تمت إضافتها في الإصدار 1.2.0 إلى الإصدار alpha06) من المادة الأساسية إلى العنصر الأساسي، لأنّها لا تتضمّن أي إشارة ذات مغزى إلى السمة MaterialTheme. (Ib0525)

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

  • لقد أصلحنا عُطلاً حدث على الشاشة باستخدام "PickerGroup"، وذلك من خلال التأكّد من معالجة "PickerGroup" للتركيز بشكلٍ صحيح عندما لا يكون التركيز على "أداة الاختيار". تمت أيضًا إضافة إمكانية التمرير في واجهة برمجة التطبيقات RSB في الإصدارات التجريبية من "أداة الاختيار". (If8c19)
  • لقد أدخلنا تحسينات على انتقالات مربّعات الحوار، فأصبحت عملية الانتقال في المقدمة أكثر سلاسة لملاءمة الانتقال إلى النهاية. (Ib5af9)
  • لقد أضفنا السمة DefaultTextStyle إلى ميزة Wear Compose التي ضبطت السمة PlatformTextStyle.includeFontPadding تلقائيًا على "صحيح" (هذا هو الإعداد الحالي). سيتيح لنا ذلك مزامنة إيقاف مساحة متروكة الخطوط تلقائيًا مع مكتبات ComposeAllowed في المستقبل، ويمكنك الاطّلاع على (إصلاح مساحة متروكة الخط في Compose) للاطّلاع على الخلفية. (I2aee8)
  • تمت إعادة تبعية معاينة UpsideDownCake من خلال إنشاء النشاط الذي حظر نشر التطبيقات إلى "متجر Google Play". (I6443d)

الإصدار 1.2.0-alpha06

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

تم طرح "androidx.wear.compose:compose-*:1.2.0-alpha06". يتضمّن الإصدار 1.2.0-alpha06 هذه الالتزامات.

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

  • أضِف المكوِّن CurvedBox الذي يضع المكوّنات فوق بعضها في العالم المنحني. (I29200)
  • إضافة عناصر قابلة للتوسيع: مكوّنان جديدان لإتاحة مجموعة من العناصر القابلة للتوسيع في ScalingLazyColumn، أو عنصر واحد قابل للتوسيع، مثل النص الذي يتم فيه توسيع عدد الأسطر. (I95dd5)
  • لقد أضفنا التعليقات التوضيحية المخصّصة التالية لمعاينة العناصر القابلة للإنشاء على شاشات Wear: يعرض "WearPreviewSmallRound" المحتوى القابل للإنشاء على جهاز صغير مستدير، وWearPreviewLargeRound يعاين العنصر القابل للإنشاء على جهاز مستدير كبير، وWearPreviewSquare يعاين العنصر القابل للإنشاء على جهاز مربّع. في ما يلي أيضًا التعليقات التوضيحية التالية والمعاينة المتعددة: يعرض WearPreviewFontScales العناصر القابلة للإنشاء على جهاز قابل للارتداء بأحجام خطوط متعددة، بينما يعاين WearPreviewDevices العناصر القابلة للإنشاء على أجهزة Wear المختلفة. لاستخدام هذه المعاينات، يجب استخدام أحدث إصدار من "استوديو Android" (Giraffe Canary 6) أو إصدار أحدث. تجدر الإشارة إلى أنّه إذا كانت هذه التعليقات التوضيحية لا تناسب هدفك، سيظلّ من الممكن استخدام "المعاينة" وتتيح إجراء المزيد من عمليات التخصيص عبر المَعلمات. (I397ff)
  • لقد وضعنا علامة "HierarchicalFocusCoordinator" على أنّه تجريبي بينما يُعد مؤهلاً لنقله إلى مكتبات الإنشاء الأساسية، نظرًا إلى قابلية تطبيقه على نطاق واسع. (I3a768)

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

  • تم إصلاح خطأ على HierarchicalFocusCoordinator، عندما تم تغيير دالة lambda التي تم تمريرها للمعلَمة focusEnabled، نستخدم الآن الخطأ الجديد بشكلٍ صحيح. (Icb353)
  • لقد عدّلنا لون المحتوى التلقائي الذي تم إيقافه إلى "الخلفية" عند استخدام الألوان الأساسية كخلفية في Button وCompactButton وChip وCompactChip وToggleButton. يعمل هذا على تحسين التباين في سهولة الوصول. (I527cc)

الإصدار 1.2.0-alpha05

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

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

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

  • تم تعديل واجهة برمجة التطبيقات PickerGroup للسماح بنشر قيود الحد الأدنى على العنصر القابل للإنشاء بشكل اختياري. عند ضبط السياسة على "صحيح"، سيتم السماح بالحدّ الأدنى من القيود المفروضة من العنصر الرئيسي القابل للإنشاء على PickerGroup. وفي حال ضبط السياسة على "خطأ"، سيُعيد PickerGroup ضبط الحدّ الأدنى للقيود. (I3e046)
  • لقد أضفنا واجهة برمجة التطبيقات animateScrollToOption إلى Picker API لإتاحة الرسوم المتحركة الآلية في خيار Picker (أداة الاختيار) المحدد (I6fe67).

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

  • تم تحديث HorizontalPageIndicator للتوافق مع التنسيقات من اليمين إلى اليسار. (Ia4359)
  • تمت إضافة اختبارات لقطات الشاشة للتنسيق من اليمين إلى اليسار في HorizontalPageIndicator (I6fbb8)
  • تمت إضافة المزيد من الاختبارات إلى SwipeDismissableNavHostTest التي تستخدم TestNavHostController (I61d54).

الإصدار 1.2.0-alpha04

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

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

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

  • PickerGroup للتعامل مع أدوات اختيار متعددة معًا باستخدام واجهة برمجة التطبيقات للتركيز تتعامل هذه الأداة مع التركيز بين أدوات الاختيار المختلفة، وتفعِّل التوسيط التلقائي للمنتقيات استنادًا إلى المَعلمات، كما تسمح للمطوّرين بتغيير التركيز بين أدوات الاختيار المختلفة أثناء معالجة الأحداث من المجموعة. في وضع TalkBack، تعالج PickerGroup تركيز TalkBack من خلال نقل التركيز إلى "المنتقي" المحدَّد من المجموعة. (I60840)

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

  • أضفنا حملاً زائدًا إلى برنامج الخطوة مع معلَمة enableRangeSemantics إضافية لتسهيل إيقاف دلالات النطاق التلقائي (Ia61d4).

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

  • السماح بتضمين ScalingLazyColumn في صفحة التمرير الأفقي (Iec3f8، b/266555016)
  • تحسين محرّر kdocs واختبارات StepperTest (Ic118e)
  • تم تحديث تبعية androidx.navigation إلى الإصدار 2.5.3 (If58ed)

الإصدار 1.2.0-alpha03

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

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

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

  • لقد نقلنا ScalingLazyColumn (والصفوف المرتبطة بها) من androidx.wear.compose.material.ScalingLazyColumn إلى andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (يمكنك الاطّلاع على هذا المثال لنقل البيانات). إنّ هذا الموقع الجغرافي الجديد يتطابق إلى حدّ كبير مع موقع compose.foundation.lazy.LazyColumn، وسيكون طبيعيًا أكثر لأنّه ليس مكوّنًا من مكوّنات مادّية رأي. يتم إجراء هذا التغيير الآن استعدادًا لإنشاء مكتبة Material3 جديدة والتي سنعمل على تطويرها بالتوازي مع مكتبة Material الحالية. (I060e7)

تشكّل التغييرات التالية جزءًا من عملية نقل ScalingLazyColumn من Material إلى Foundation.Lazy:

  • تم إيقاف واجهات برمجة التطبيقات PositionIndicator التي تستهدف المادة ScalingLazyColumn نهائيًا - يُرجى التحديث إلى Foundation.Lazy ScalingLazyColumn. بالإضافة إلى ذلك، تمت إضافة حقل anchorType إلى ScalingLazyListLayoutInfo. (I29d95)
  • تم وضع علامة على واجهة برمجة التطبيقات ScalingLazyColumn تشير إلى أنّها متوقفة نهائيًا في حزمة Wear Compose Material (I16d34).
  • لقد عدّلنا أداة التعديل في "ScrollAway" لاستخدام ScalingLazyListState من نظام التشغيل Wear Compose Foundation.Lazy، وأوقفنا نهائيًا الحِمل الزائد الذي استغرقته ScalingLazyListState من تطبيق Wear Compose Material. (Ifc42c)
  • لقد حدّثنا واجهات برمجة تطبيقات Dialog API لاستخدام ScalingLazyListState من Foundation.Lazy وإيقاف التحميلات الزائدة التي تستخدم Material ScalingLazyListState (Ic8960)
  • لقد حدّثنا واجهات برمجة تطبيقات Picker API لاستخدام ScalingParams من Foundation.Lazy وأوقفنا نهائيًا عمليات التحميل الزائدة التي تستخدم Material ScalingParams. (Idc3d8)

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

  • لقد أصلحنا خطأً أدّى إلى عمليات إعادة تركيب غير ضرورية في ScalingLazyListState.centerItemIndex من خلال التأكد من أنّ السياسة لا تدفع التعديلات إلا عندما تتغير القيمة فعليًا (Ia9f38).
  • لقد أجرينا تحسينات على أداء SwipeToDismissBox (I3933b).
  • تمت إضافة اختبارات معيارية لتطبيق ScalingLazyColumn في Wear Compose Foundation (Ie00f9).
  • لقد عدّلنا بعض طُرق فئات ScalingLazyColumn الداخلية في Material لاستخدام مكافئاتها من Foundation.Lazy (I38aab).
  • لقد أصلحنا بعض المشاكل في اختبارات "المنتقي" وأضفنا المزيد من الاختبارات للتحقّق من التمرير باستخدام الإزاحة (I6ac34).
  • لقد نقلنا العروض التوضيحية للدمج ScalingLazyColumn للاعتماد على Foundation.Lazy بدلاً من Material ScalingLazyColumn (Ic6caa)
  • لقد أضفنا معلَمات fromDate/toDate اختيارية إلى العرض التوضيحي لـ DatePicker (I961cd).

الإصدار 1.2.0-alpha02

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

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

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

  • تُجري اختبارات واجهة المستخدم في Android Compose الآن اختبارات التنسيق لكل إطار عند تنفيذ الإطارات للوصول إلى وضع عدم النشاط (مثلاً من خلال waitForIdle). قد يؤثر ذلك في الاختبارات التي يتم تأكيدها في الإطارات الفردية للصور المتحركة للتنسيق. (I8ea08، b/222093277)
  • تمت إضافة المَعلمة minLines إلى نظام Wear Text للحصول على سلوك متّسق مع BasicText (I24874).
  • لقد تمّت إتاحة "CompactChipTapTargetPadding" للجميع لكي يظهر في المستندات (If1e70، b/234119038).

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

  • إيقاف إصدارات أنظمة أساسية متعددة لحزم wear.compose (Iad3d7)
  • إصلاح مستندات kdocs في scrollToOption (I6f9a0)
  • تم تعديل السمة PlaceholderState.rememberPlaceholderState() لاستخدام rememberUpdatedState مع تعديل الحالة في حال استخدام onContentReady lambda. (I02635، b/260343754)
  • لقد أصلحنا مشكلة عدم استقرار النص التي ظهرت في المكوِّن Picker من خلال الاستفادة من استراتيجية الإنشاء الجديدة التي تمت إضافتها إلى Modifier.graphicsLayer. (I99302)
  • لقد أصلحنا خطأً تسبّب في ظهور وميض في الإصدار التجريبي من "DatePicker" (I660bd).
  • لقد أدخلنا تحسينات على تسهيل الاستخدام في العروض التوضيحية لأداة اختيار الوقت والتاريخ لمدة 12 ساعة (I05e12)
  • لقد عدَّلنا العروض التوضيحية لأداة اختيار الوقت والتاريخ بحيث لا تتأثر أدوات الاختيار بالتغييرات في خيار الإعلانات المتجاوبة على شبكة البحث عند إلغاء اختيارها (I4aecb).

الإصدار 1.2.0-alpha01

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

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

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

  • لقد حدَّثنا الوظيفة "العنصر النائب" التجريبية ليتم تطبيق تأثير "مسح البيانات" فورًا عندما يكون المحتوى جاهزًا بدلاً من انتظار بدء حلقة الصور المتحركة التالية. لقد أجرينا أيضًا بعض التعديلات على البريق ومحو الصور المتحركة. (I5a7f4)

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

  • وقد أضفنا HierarchicalFocusCoordinatorعنصرًا قابلاً للإنشاء لتفعيل وضع علامة على الأشجار الفرعية في المقطوعة الموسيقية حيث تم تفعيل التركيز أو إيقاف التركيز.(I827cb)
  • لقد أضفنا خاصية جديدة لإلغاء دور دلالي ToggleButton.(I67132)
  • تم تعديل TimeTextDefaults.TimeFormat12Hours لإزالة صباحًا/مساءً في TimeText. سيؤدّي ذلك إلى تغيير القيمة التلقائية لمَعلمات timeSource في TimeText API. (I1eb7f)
  • لقد وسّعنا نطاق واجهة برمجة التطبيقات Picker API لتحسين إمكانية الوصول للشاشات ذات المنتقي المتعدد. يتوفّر موقع جديد userScrollEnabled للتحكّم في ما إذا كانت أداة الاختيار نشطةً كي يتمكّن المستخدم من الانتقال للأسفل أو للأعلى. (I3c3aa)

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

  • لقد غيَّرنا عرض الحد التلقائي لـ OutlinedButton/OutlinedCompactButton من 2.dp إلى 1.dp ليطابق مواصفات تجربة المستخدم النهائية. (Icf84d)
  • لتقليل تأثير العنصر الأول الذي تمت إضافته إلى عنصر ScalingLazyColumn فارغ يظهر عند الانتقال إلى مكانه، أضفنا autoCentering topPadding تقريبًا عندما يكون المحتوى فارغًا. يحتسب هذا التغيير مقدار المساحة المتروكة العلوية المطلوبة بافتراض أنّ قيمة العنصر الأولي بارتفاع 0.dp. بالنسبة إلى ScalingLazyListAnchorType.ItemStart، سيتم احتساب المساحة المتروكة العلوية الصحيحة بالنسبة إلى ScalingLazyListAnchorType.ItemCenter، وستكون هذه العملية الحسابية غير صحيحة لأن ارتفاع العناصر مطلوب لضبط حجم المحتوى بشكل صحيح، ما يؤدي إلى تأثير تمرير صغير في مكانه بناءً على الارتفاع الحقيقي للعناصر.(I239a4)
  • لقد عدّلنا إطار عمل الخلفية الذي تم تطبيقه على الصورة المتحركة SwipeToDismiss لتتوافق مع نظام Wear الأساسي. (I9003e)
  • لقد أصلحنا معالجة PositionIndicator لكل من LazyListState وScalingLazyListState لعناصر القائمة ذات الحجم 0 لتجنُّب القسمة على صفر.(Ic28dd)

الإصدار 1.1

الإصدار 1.1.2

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

تم طرح androidx.wear.compose:compose-foundation:1.1.2 وandroidx.wear.compose:compose-material:1.1.2 وandroidx.wear.compose:compose-navigation:1.1.2. يتضمّن الإصدار 1.1.2 هذه الالتزامات.

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

  • لقد أصلحنا خطأً أدّى إلى عمليات إعادة تركيب غير ضرورية في ScalingLazyListState.centerItemIndex من خلال التأكد من أنّ السياسة لا تدفع التعديلات إلا عندما تتغير القيمة فعليًا (Ia9f38).

الإصدار 1.1.1

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

تم طرح androidx.wear.compose:compose-foundation:1.1.1 وandroidx.wear.compose:compose-material:1.1.1 وandroidx.wear.compose:compose-navigation:1.1.1. يتضمّن الإصدار 1.1.1 هذه الالتزامات.

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

  • تم تعديل السمة PlaceholderState.rememberPlaceholderState() لاستخدام rememberUpdatedState مع تعديل الحالة في حال استخدام onContentReady lambda. (I02635، b/260343754)

الإصدار 1.1.0

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

تم طرح androidx.wear.compose:compose-foundation:1.1.0 وandroidx.wear.compose:compose-material:1.1.0 وandroidx.wear.compose:compose-navigation:1.1.0. يتضمّن الإصدار 1.1.0 هذه الالتزامات.

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

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

  • لقد حدَّثنا الوظيفة "العنصر النائب" التجريبية ليتم تطبيق تأثير "مسح البيانات" فورًا عندما يكون المحتوى جاهزًا بدلاً من انتظار بدء حلقة الصور المتحركة التالية. لقد أجرينا أيضًا بعض التعديلات على البريق ومحو الصور المتحركة. (I5a7f4)

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

  • لقد غيَّرنا عرض الحد التلقائي لـ OutlinedButton/OutlinedCompactButton من 2.dp إلى 1.dp ليطابق مواصفات تجربة المستخدم النهائية. (Icf84d)
  • لتقليل تأثير العنصر الأول الذي تمت إضافته إلى عنصر ScalingLazyColumn فارغ يظهر عند الانتقال إلى مكانه، أضفنا autoCentering topPadding تقريبًا عندما يكون المحتوى فارغًا. يحتسب هذا التغيير مقدار المساحة المتروكة العلوية المطلوبة بافتراض أنّ قيمة العنصر الأولي بارتفاع 0.dp. بالنسبة إلى ScalingLazyListAnchorType.ItemStart، سيتم احتساب المساحة المتروكة العلوية الصحيحة بالنسبة إلى ScalingLazyListAnchorType.ItemCenter، وستكون هذه العملية الحسابية غير صحيحة لأن ارتفاع العناصر مطلوب لضبط حجم المحتوى بشكل صحيح، ما يؤدي إلى تأثير تمرير صغير في مكانه بناءً على الارتفاع الحقيقي للعناصر.(I239a4)
  • لقد حدّثنا إطار عمل الخلفية الذي تم تطبيقه على الصورة المتحركة SwipeToDismiss لتتوافق مع نظام Wear الأساسي.(I9003e)
  • لقد أصلحنا معالجة PositionIndicator لكل من LazyListState وScalingLazyListState لعناصر القائمة ذات الحجم 0 لتجنُّب القسمة على صفر.(Ic28dd)

الإصدار 1.1.0-rc01

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

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

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

  • لقد أضفنا قواعد الملفات الشخصية الأساسية لكل من Placeholders وScrollAway وRadioButton وSwitch وCheckbox وOutlinedButton وOutlinedCompactButton وOutlinedChip وOutlinedCompactChip. (I8249c)
  • لقد أصلحنا خطأً في Modifier.scrollAway بحيث إذا كانت قيمة itemIndex المحدّدة غير صالحة (على سبيل المثال، إذا كان فهرس العناصر هذا خارج النطاق)، سيستمر عرض TimeText الآن. (I2137a)
  • لقد عدّلنا الصورة المتحركة في SwipeToDismissBox لتتوافق مع طريقة تنفيذ النظام الأساسي. بعد تشغيل صورة متحركة للضغط، تنزلق الشاشة الآن إلى اليمين بعد تشغيل الرفض. (I41d34)
  • في إطار التحسين، عدّلنا السمة Modifier.scrollAway لقراءة scrollState فقط داخل مجموعة القياس لتجنّب إعادة تركيب مفتاح التعديل بعد كل عملية إعادة قياس. (I4c6f1)
  • لقد أضفنا مستندات ونموذجًا إلى العناصر النائبة لإظهار الترتيب الصحيح للسمة Modifier.placeholder وModifier.placeholderShimmer عند تطبيقه على العنصر القابل للإنشاء نفسه. (Ie96f4، b/256583229)
  • لقد غيَّرنا عرض الحد التلقائي لـ OutlinedCompactChip/OutlinedChip من 2.dp إلى 1.dp ليطابق مواصفات تجربة المستخدم النهائية. (Ib3d8e)
  • أصلحنا خطأً في rememberPickerState لم يكن يتم فيه حفظ الإدخالات المُعدَّلة، وبالتالي لم يتم تعديل العناصر القابلة للإنشاء بعد إجراء تغييرات على الإدخالات. (I49ff6، b/255323197)
  • لقد أجرينا بعض التعديلات على واجهة المستخدم على العناصر النائبة، 1) تغيير التدرج اللامع إلى 1.5 ضعف حجم الشاشة، 2) إضافة تخفيف (البيزي المكعب) للتقدم اللامع و3) تسريع الصور المتحركة لإزالة اللمعان (250 ملي ثانية). (Id29c1)
  • لقد صححنا خطأ في واجهة المستخدم في تأثير "مسح العناصر النائبة" حيث كان يتم محو خلفيات الشرائح والبطاقة في وقت مبكر قليلاً بسبب عدم أخذ موضع العنصر على الشاشة في الاعتبار. (I2c7cb)
  • لقد عدَّلنا رسم خلفية العنصر النائب لدمج الألوان بدلاً من وضع طبقات عليها حيثما أمكن ذلك لتقليل مخاطر مزج ألفا للطبقات التي تم اقتصاصها المختلفة من السماح بمرور الألوان الأساسية في حواف خلفية العنصر النائب. (I2ea26)
  • لقد صحّحنا طريقة احتساب ScalingLazyListState.centerItemIndex/centerItemOffset بحيث إذا كان العنصران يقعان على جانبَي خط مركز إطار العرض، سيتم اعتبار أنّ العنصر الأقرب هو centerItem. (I30709، b/254257769)
  • لقد صحّحنا خطأً في ScalingLazyListState.layoutInfo.visibleItemsInfo، وكان يُبلغ عن إزاحة غير صحيحة أثناء إعداد ScalingLazyColumn. سيتم الآن عرض قائمة فارغة إلى أن تظهر جميع عناصر القائمة وتحصل على الإزاحة الصحيحة. تحقَّق من وجود ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() للتأكّد من اكتمال إعداد ScalingLazyColumn وظهور العناصر. (I3a3b8)

الإصدار 1.1.0-beta01

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

تم طرح androidx.wear.compose:compose-foundation:1.1.0-beta01 وandroidx.wear.compose:compose-material:1.1.0-beta01 وandroidx.wear.compose:compose-navigation:1.1.0-beta01. يتضمّن الإصدار 1.1.0-beta01 هذه الالتزامات.

ميزات Compose ضِمن الإصدار 1.1 من نظام التشغيل Wear OS

أشار الإصدار 1.1.0 إلى الإصدار التجريبي 01 من Compose ضِمن نظام التشغيل Wear OS إلى أنّ هذا الإصدار من المكتبة مكتمل وقد تم قفل واجهة برمجة التطبيقات.

  • يتضمن إصدار Wear Compose 1.1 الوظائف الجديدة التالية:
    • "أداة الاختيار": تحسينات على ميزات تسهيل الاستخدام في "أداة الاختيار" لإتاحة إمكانية التنقّل في الشاشات المتعددة المنتقيات باستخدام برامج قراءة الشاشة وإمكانية الوصول إلى وصف المحتوى
    • تُستخدَم معلَمة المنتقي contentDescription الآن لخيار المنتقي المحدّد فقط وتأخذ سلسلة قابلة للقيم الفارغة (في التنفيذ السابق، كان من الضروري تمرير تعيين من الخيار إلى وصف المحتوى، ولكن تم استخدام الخيار المحدد فقط).
    • أصبحت عناصر أداة الاختيار الآن بمحاذاةgradientRatio
    • Chip/ToggleChip - لقد حدّثنا التدرجات التلقائية لـ Chip/ToggleChip لتتوافق مع أحدث مواصفات تجربة المستخدم. تم تحديث ChipDefaults.gradientBackgroundChipColors لتبدأ من 50٪ من الأساسية بدلاً من 32.5٪.
    • Chip/ToggleChip - تمت إضافة أعباء زائدة لتعديل أشكال الشريحة
    • Chip/Button/ToggleButton: تمت إضافة نمط جديد محدّد لـ "الشرائح والأزرار"، وعناصر OutlinedChip وOutlinedButton جديدة قابلة للإنشاء توفّر مساحة Chip/Button شفافة مع حدود رفيع.
    • البطاقة: تم تعديل التدرجات التلقائية للبطاقات لتتوافق مع أحدث مواصفات تجربة المستخدم. تم تعديل CardDefaults.cardBackgroundPainter لتبدأ من 30% من التدرّج الأساسي وتنتهي عند 20% من onSurfaceVariant (كانت في السابق بين 20% و10% من onSurfaceVariant). تتغيّر ToggleChip.toggleChipColors من التدرج الخطي بنسبة 75% للسطح إلى 32.5% من السطح الأساسي بنسبة 0% إلى السطح الأساسي بنسبة 0%.
    • Button/ToggleButton - تمت إضافة خصائص لتعديل أشكال الأزرار.
    • المظهر: تم تعديل عدد من الألوان التلقائية في MaterialTheme لتحسين إمكانية الوصول، لأنّ الألوان الأصلية لم تتضمّن تباينًا كافيًا، ما أدّى إلى صعوبة في التفريق بين خلفيات الشرائح/البطاقات/الأزرار عن لون خلفية المظهر.
    • InlineSlider/Stepper - تمت إضافة أدوار الأزرار حتى يتمكّن "Talkback" من التعرّف عليها كأزرار.
    • سقّالة - تم تحديد موضع "PositionIndicator" الآن وتغيير حجمه، وبالتالي لا يشغل سوى المساحة المطلوبة. وهذه الميزة مفيدة، على سبيل المثال، إذا تمت إضافة معلومات دلالية إليها، أصبحت TalkBack الآن الحدود الصحيحة للسمة PositionIndicator على الشاشة.
    • CurvedText/TimeText - تمت إضافة Modifier.scrollAway، والتي تعمل على تمرير عنصر عموديًا داخل/خارج العرض، استنادًا إلى حالة التمرير (مع وجود أحمال زائدة للعمل مع Column وLazyColumn وScalingLazyColumn). يتم استخدام ScrollAway عادةً للتمرير في TimeText خارج العرض عندما يبدأ المستخدم في تمرير قائمة من العناصر إلى أعلى.
    • CurvedText/TimeText: تمت إضافة دعم لكل من fontFamily وfontStyle وfontSynthesis في CurvedTextStyle، ويمكن استخدامه في curvedText وbasicCurvedText.
    • CurvedText/TimeText - تمت إضافة fontWeight إلى الدالة الإنشائية وطريقة النسخ على CurvedTextStyle
    • ToggleControls - تمت إضافة عناصر تحكُّم Checkbox وSwitch وRadioButton المتحركة للاستخدام مع ToggleChip وSplitToggleChip. ويمكن استخدامها بدلاً من الرموز الثابتة التي يوفّرها ToggleChipDefaults (switchIcon وcheckboxIcon وradioIcon).
    • عنصر نائب: تمت إضافة إمكانية استخدام العنصر النائب التجريبي. يحتوي هذا على ثلاثة تأثيرات بصرية مميزة تم تصميمها للعمل معًا.
    • أولاً، يتم استخدام تأثير فرشاة الخلفية للعنصر النائب في حاويات مثل الشريحة والبطاقات للرسم فوق الخلفية العادية أثناء انتظار تحميل المحتوى.
    • ثانيًا، أداة تعديل (Modifier.placeholder()) لرسم تطبيق مصغّر لعنصر نائب على شكل استاد فوق المحتوى الذي يتم تحميله.
    • ثالثًا، تأثير تدرج/لمعان تعديل (Modifier.placeholderShimmer()) يتم رسمه فوق التأثيرات الأخرى للإشارة إلى المستخدمين بأنّنا في انتظار تحميل البيانات.
      • جميع هذه التأثيرات مصمّمة ليتمّ التنسيق والتألق ومحوها بطريقة منسَّقة.
  • تم تحديث تبعيات Core Compose من 1.2 إلى 1.3

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

  • يمكن الآن تحديد مَعلمات الخطوط (fontFamily وfontWeight وfontStyle وfontSynthesis) مباشرةً كمَعلمات curvedText (Idc422)

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

  • سيعمل curveText وbasicCurvedText الآن بشكل صحيح مع TalkBack (تحتوي على عقدة إنشاء واجهة مستخدم ذات حجم مناسب وموضعها (ولكنها فارغة) مرتبطة بهما، مع استخدام النص كوصف للمحتوى) (I7af7c، b/210721259)
  • إصلاح الخطأ في Picker عند PickerState.repeatedItems = false لإضافة إعداد صريح لمَعلمات AutoCentering في ScalingLazyColumn الداخلية لأداة الاختيار لضمان إمكانية تمرير خيار "صفر" إلى منتصف العرض. (I8a4d7)

الإصدار 1.1.0-alpha07

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

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

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

  • لقد أضفنا إمكانية استخدام العناصر النائبة التجريبية. يحتوي هذا على ثلاثة تأثيرات بصرية مميزة تم تصميمها للعمل معًا. أولاً، يتم استخدام تأثير فرشاة الخلفية للعنصر النائب في حاويات مثل الشريحة والبطاقات للرسم فوق الخلفية العادية أثناء انتظار تحميل المحتوى. ثانيًا، أداة تعديل (Modifier.placeholder()) لرسم تطبيق مصغّر لعنصر نائب على شكل استاد فوق المحتوى الذي يتم تحميله. ثالثًا، تأثير تدرج/لمعان تعديل (Modifier.placeholderShimmer()) يتم رسمه فوق التأثيرات الأخرى للإشارة إلى المستخدمين بأنّنا في انتظار تحميل البيانات. جميع هذه التأثيرات مصمّمة ليتمّ التنسيق والتألق ومحوها بطريقة منسَّقة. (I3c339)

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

  • تمت إضافة الدعم لـ fontWeight وfontFamily وfontStyle وfontSynthesis في CurvedTextStyle، ويمكن استخدامه على curvedText وbasicCurvedText. يمكن استخدام هذه المَعلمة لتحديد الخط والنمط المراد استخدامهما في النص المنحني.(Iaa1a8),(I72759)
  • تم تعديل معلَمة الإزاحة Modifier.scrollAway إلى Dp لتحقيق التوافق مع Modifier.offset (كانت في السابق بالبكسل). كما تمت إعادة بنائها باعتبارها "LayoutModifier" لتحسين الكفاءة. (I9f94b)
  • كجزء من واجهة برمجة التطبيقات الجديدة للتحكّم والإيقاف، أعدنا تسمية "RadioButton’s circleColor" إلى "ringColor". (I28fa9)
  • لقد أضفنا عناصر تحكُّم Checkbox وSwitch وRadioButton المتحركة للاستخدام مع ToggleChip وSplitToggleChip. ويمكن استخدامها بدلاً من الرموز الثابتة المقدَّمة من ToggleChipDefaults (switchIcon وcheckboxIcon وradioIcon). (I8a8c4)

الإصدار 1.1.0-alpha06

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

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

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

  • لقد أضفنا Modifier.scrollAway، التي تعمل على تمرير عنصر عموديًا داخل/خارج العرض، بناءً على حالة التمرير (مع وجود أحمال زائدة للعمل مع Column وLazyColumn وScalingLazyColumn). يتم استخدام ScrollAway عادةً لتمرير TimeText خارج إطار العرض عندما يبدأ المستخدم في تمرير قائمة من العناصر لأعلى. (I61766)

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

  • تم تحديد موضع جهاز PositionIndicator وتغيير حجمه بحيث لا يشغل سوى المساحة المطلوبة. وهذه الميزة مفيدة، على سبيل المثال، إذا تمت إضافة معلومات دلالية إليها، أصبحت TalkBack الآن الحدود الصحيحة للسمة PositionIndicator على الشاشة. (Ie6106، b/244409133)

الإصدار 1.1.0-alpha05

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

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

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

  • تمت إضافة أدوار الأزرار إلى "InlineSlider" و"Stepper" ليتمكّن تطبيق Talkback من التعرّف علىهما كأزرار. (Icb46c وb/244260275)
  • لقد صححنا الترتيب z للموضع ومؤشرات الصفحة في السقالة. سيتم وضع المؤشرات الآن أعلى المقالة الكاملة وبالتالي لن يتم حجبها بواسطة المقالة القصيرة إذا كانت موجودة. (Ib988f، b/244207528)

الإصدار 1.1.0-alpha04

24 آب (أغسطس) 2022

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

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

  • لقد عدّلنا عددًا من الألوان التلقائية في MaterialTheme بهدف تحسين إمكانية الوصول إلى المحتوى، لأنّ الألوان الأصلية لم تتضمّن تباينًا كافيًا، ما يمنع المستخدمين من التفريق بين خلفيات الشرائح/البطاقات/الأزرار عن لون خلفية المظهر. الألوان المعدَّلة هي السطح (0xFF202124->0xFF303133)، وonPrimary(0xFF202124->0xFF303133)، وonsecondary(0xFF202124->0xFF303133)، وPrimaryVariant(0xFF669DF6->0xFF669DF6->0xFF669DF6->0xFF0FF2F8) وonPrimary(0xFF202124->0xFF303133)، وonsecondary(0xFF202124->0xFF303133)، وPrimaryVariant(0xFF669DF6->0xFF669DF6->0xFF669DF6->0xFF0FF4F8) وonPrimary(0xFF202124->0xFF303133). قد تؤثر التغييرات في الألوان على الرغم من أنها طفيفة نسبيًا على اختبارات لقطات الشاشة الحالية. (81ab09)

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

  • إصلاح خطأ منطقي في ScalingLazyColumn قد يؤدي إلى عدم إكمال إعداد القوائم التي تحتوي على عدد صغير (2 بالضبط) من عناصر القائمة، ونتيجةً لذلك (504347)

الإصدار 1.1.0-alpha03

10 آب (أغسطس) 2022

تم طرح androidx.wear.compose:compose-foundation:1.1.0-alpha03 وandroidx.wear.compose:compose-material:1.1.0-alpha03 وandroidx.wear.compose:compose-navigation:1.1.0-alpha03. يتضمّن الإصدار 1.1.0-alpha03 هذه الالتزامات.

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

  • لقد أضفنا نمطًا جديدًا محدَّدًا لكل من Chips وButtons، وعناصر OutlinedChip وOutlinedButton جديدة قابلة للإنشاء توفّر Chip/Button شفافًا بحدود رفيعة. (Id5972)

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

  • تمت إضافة أعباء زائدة لتعديل أشكال الأزرار (Icccde).

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

  • لقد صحّحنا حجم منطقة التحكّم في مفتاح الإيقاف/التفعيل في ToggleChip لأنّها لم تكن مطابقة لمواصفات تجربة المستخدم. تطلب مواصفات تجربة المستخدم فاصلاً بحجم 4.dp بين التصنيف ومنطقة رمز مفتاح التبديل التي تبلغ 24x24.dp، ما يعطي عرضًا إجماليًا يبلغ 28.dp. ومع ذلك، فإن عملية التنفيذ تمنح بشكل غير صحيح منطقة تحكّم تبديل 36x24.dp. ويؤدي ذلك إلى إزالة مساحة تصنيف النص القابلة للاستخدام والتي تبلغ 8.dp. ملاحظة: يوفّر إصلاح الخطأ هذا مساحة إضافية للتسمية النصية ويمكن أن يؤثر (بشكل إيجابي) في تنسيق النص للحصول على نص متجاوز. إذا كانت لديك اختبارات لقطات شاشة، بما في ذلك ToggleChips، قد تحتاج إلى تعديل. (I514c8، b/240548670)

الإصدار 1.1.0-alpha02

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

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

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

  • لقد بدّلنا تبعيات Compose ضِمن نظام التشغيل Wear OS في مكتبات Compose الأساسية من الإصدار 1.2.0 إلى 1.3.0-alpha0X

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

  • تمت إضافة أعباء زائدة لتعديل أشكال الشرائح (I02e87).

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

  • وقد حرّكنا إمكانية رؤية إعلان الشاشة الكاملة عند إظهار/إخفاء مربع الحوار، لتكون متوافقة مع الرسوم المتحركة الحالية للتحجيم. (Ida33e)
  • لقد أصلحنا خطأً يؤدّي إلى حدوث فاصلة "تقسيم على صفر" مع بعض الحركات السريعة أثناء الانتقال للأسفل. (I86cb6)
  • تم إصلاح خطأ في ChipDefaults.childChipColor() للتأكّد من أنّ لون الخلفية الذي تم إيقافه شفاف بالكامل. (I2b3c3، b/238057342)

الإصدار 1.1.0-alpha01

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

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

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

  • تُستخدَم مَعلمة contentDescription للمنتقي الآن فقط لخيار "المنتقي" المحدّد، وتأخذ سلسلة قابلة للقيم الفارغة (في السابق، كان من الضروري تمرير تعيين من الخيار إلى وصف المحتوى، ولكن تم استخدام الخيار المحدّد فقط). (Ife6a7)
  • لقد أدخلنا تحسينات على تسهيل الاستخدام على أداة "المنتقي" حتى يمكن التنقّل على الشاشات المتعددة المنتقيات باستخدام برامج قراءة الشاشة وإمكانية الوصول إلى وصف المحتوى (I64edb).

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

  • لقد حدّثنا قواعد الملف الشخصي الأساسية المتوفرة في مكتبة Wear Compose (I9c694).
  • لقد صححنا اتجاه تدرج الشرائح في الوضع من اليمين إلى اليسار. كان أعلى اليسار > أسفل اليمين الآن، أعلى اليمين > أسفل اليسار. (Ic2e77)
  • لقد حدّثنا التدرجات التلقائية لـ Chip/ToggleChip/Card لتتوافق مع أحدث مواصفات تجربة المستخدم. تم تحديث ChipDefaults.gradientBackgroundChipColors لتبدأ من 50٪ من الأساسية بدلاً من 32.5٪. تم تعديل CardDefaults.cardBackgroundPainter بحيث يبدأ من 30% من السطح الأساسي وينتهي عند 20% من onSurfaceVariant (كان في السابق 20% إلى 10% onSurfaceVariant). يتغير ToggleChip.toggleChipColors من تدرج خطي بنسبة 75% للسطح إلى 32.5% من السطح الأساسي إلى سطح بنسبة 0% إلى 50% أساسي. (I43bbd)
  • لقد أضفنا لون خلفية (MaterialTheme.color.surface) خلف Chip/ToggleChips يتضمّن خلفيات متدرجة لضمان ظهور هذه الخلفيات بشكل صحيح في حال استخدام لون فاتح خلفها، وهو أمر مستبعد. (Ibe1a4، b/235937657)
  • أصبحت عناصر أداة الاختيار الآن بمحاذاةgradientRatio (I712b8)

الإصدار 1.0

الإصدار 1.0.2

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

تم طرح androidx.wear.compose:compose-foundation:1.0.2 وandroidx.wear.compose:compose-material:1.0.2 وandroidx.wear.compose:compose-navigation:1.0.2. يتضمّن الإصدار 1.0.2 هذه الالتزامات.

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

  • لقد صححنا الترتيب z للموضع ومؤشرات الصفحة في السقالة. سيتم وضع المؤشرات الآن أعلى المقالة الكاملة وبالتالي لن يتم حجبها بواسطة المقالة القصيرة إذا كانت موجودة. (Ib988f، b/244207528)

الإصدار 1.0.1

24 آب (أغسطس) 2022

تم طرح androidx.wear.compose:compose-foundation:1.0.1 وandroidx.wear.compose:compose-material:1.0.1 وandroidx.wear.compose:compose-navigation:1.0.1. يتضمّن الإصدار 1.0.1 هذه الالتزامات.

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

  • إصلاح خطأ منطقي في ScalingLazyColumn قد يؤدي إلى عدم إكمال إعداد القوائم التي تحتوي على عدد صغير (2 بالضبط) من عناصر القائمة، ونتيجةً لذلك (076c61)

الإصدار 1.0.0

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

تم طرح androidx.wear.compose:compose-foundation:1.0.0 وandroidx.wear.compose:compose-material:1.0.0 وandroidx.wear.compose:compose-navigation:1.0.0. يتضمّن الإصدار 1.0.0 هذه الالتزامات.

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

  • هذا هو الإصدار الثابت الأول من Compose ضِمن تطبيقات Wear OS (مزيد من المعلومات).
  • تعتمد ميزة "الكتابة على نظام التشغيل Wear OS" على مكتبات Compose الأساسية التي توفّر مكونات إضافية خاصة بالأجهزة القابلة للارتداء، بالإضافة إلى عمليات تنفيذ بديلة لمكوّنات Compose الأساسية والمخصّصة للأجهزة القابلة للارتداء، عند الاقتضاء.
  • للحصول على قائمة بالمكوّنات الرئيسية في Wear OS، يمكنك الاطّلاع على ملاحظات الإصدار (Compose for Wear OS الإصدار التجريبي 01).

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

  • وقد حرّكنا إمكانية رؤية إعلان الشاشة الكاملة عند إظهار/إخفاء مربع الحوار، لتكون متوافقة مع الرسوم المتحركة الحالية للتحجيم. (Ida33e)
  • لقد أصلحنا خطأً يؤدّي إلى حدوث فاصلة "تقسيم على صفر" مع بعض الحركات السريعة أثناء الانتقال للأسفل. (I86cb6)
  • تم إصلاح خطأ في ChipDefaults.childChipColor() للتأكّد من أنّ لون الخلفية الذي تم إيقافه شفاف بالكامل. (I2b3c3، b/238057342)

الإصدار 1.0.0-rc02

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

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

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

  • لقد صححنا اتجاه تدرج البطاقات من وضع اليمين إلى اليسار (RTL). كان الموضع العلوي الأيمن > أسفل اليمين، وأصبح الآن أعلى اليمين > أسفل اليسار. (Ic2e77)
  • لقد حدّثنا التدرجات التلقائية لـ Chip/ToggleChip/Card لتتوافق مع أحدث مواصفات تجربة المستخدم. تم تحديث ChipDefaults.gradientBackgroundChipColors لتبدأ من 50٪ من الأساسية بدلاً من 32.5٪. تم تعديل "CardDefaults.cardBackgroundPainter" لتبدأ من 30% من التشكيل الأساسي وتنتهي عند 20% من onSurfaceVariant (كانت نسبة% 20 في السابق إلى 10% على SurfaceVariant). تغيُّر ToggleChip.toggleChipColors من تدرج خطّي مقداره سطحيّ بنسبة 75% إلى سطح أولي بنسبة 32.5% إلى تدرج أساسي بنسبة 50% (I43bbd)
  • لقد أضفنا لون خلفية (MaterialTheme.color.surface) خلف Chip/ToggleChips يتضمّن خلفيات متدرجة لضمان ظهور هذه الخلفيات بشكل صحيح في حال استخدام لون فاتح خلفها، وهو أمر مستبعد. (Ibe1a4، b/235937657)
  • لقد حدّثنا قواعد الملف الشخصي الأساسية المتوفرة في مكتبة Wear Compose (I9c694).

الإصدار 1.0.0-rc01

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

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

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

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

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

  • لقد أزلنا الاستدعاء الصريح إلى fillMaxWidth() في عنوان القائمة لأنه غير مطلوب، وقد يؤدي إلى حدوث مشاكل إذا كان ScalinglazyColumn يحتوي على مكوّنات ListHeader() وChip() لأنّ العرض سيزيد أو يتقلص مع انتقال ListHeader عنصر داخل/خارج العرض. (I37144، b/235074035)
  • أصلحنا خطأً في ScalingLazyColumn قد يؤدي إلى عدم رسم عناصر القائمة بشكل صحيح إلى أن يتم تمريره إذا كان عنصر القائمة رقم 0 كبيرًا بدرجة كافية (بما في ذلك المساحة المتروكة) (Ic6159، b/234328517)
  • لقد أجرينا تعديلاً بسيطًا على تغيير السرعة في ScalingLazyColumn، حيث تصل العناصر إلى حافة الشاشة لمطابقتها مع التعديلات على مواصفات تجربة المستخدم. القيم القديمة CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> القيم الجديدة CubicBezierEasing(0.3f, 0f, 0.7f, 1f). للحفاظ على السلوك القديم، يمكنك إلغاء scalingParams من ScalingLazyColumn (Ie375c).
  • وقد أضفنا مساحة متروكة إلى CompactChip لضمان ارتفاع حجم هدف النقر عن 48.dp على الأقل لاستيفاء إرشادات تسهيل الاستخدام حسب المواد. قد يؤثر ذلك في أي تنسيقات تستخدمها باستخدام "CompactChips" لأنّها ستستهلك مساحة إضافية. (I3d57c)

الإصدار 1.0.0-beta03

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

تم طرح androidx.wear.compose:compose-foundation:1.0.0-beta03 وandroidx.wear.compose:compose-material:1.0.0-beta03 وandroidx.wear.compose:compose-navigation:1.0.0-beta03. يتضمّن الإصدار 1.0.0-beta03 هذه الالتزامات.

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

  • تم إجراء عمل "ScalingLazyColumn" في وضع "إنشاء" @Preview. (I3b3b6، b/232947354)

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

  • لقد غيّرنا القيمة التلقائية للسمة ScalingLazyColumn.horizontalAlignment من "البدء" إلى "CenterHorizontally" لضمان محاذاة عناصر القائمة بعرض العمود بالكامل، وذلك لضمان أقصى مستوى ظهور. للرجوع إلى مجموعة السلوك السابقة horizontalAlignment = Alignment.Start.(I9ed4b)

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

  • ارتفاع النقر/اللمس في CompactChip أصغر من إرشادات إمكانية الوصول إلى المواد. وسيتم تصحيح ذلك في الإصدار التالي (15 حزيران/يونيو). إذا كنت تستخدم CompactChip، فسيؤثر ذلك في التنسيقات حيث سيحتوي CompactChips الآن على مساحة متروكة إضافية أعلى وأسفل. يُرجى ضبط التنسيقات واختبارها أو الاطّلاع على تعليقات الأخطاء للحصول على حلّ بديل لاستخدام السلوك الحالي. (b/234332135)

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

  • عرض توضيحي جديد لإضافة أو إزالة نص بداية على TimeText (I16d75)
  • إضافة اختبارات لـ HorizontalPageIndicator.PagesState (I64ed0)
  • جارٍ تعديل TimeText مع اقترابها من مواصفات تجربة المستخدم (Ib7ea1)

الإصدار 1.0.0-beta02

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

تم طرح androidx.wear.compose:compose-foundation:1.0.0-beta02 وandroidx.wear.compose:compose-material:1.0.0-beta02 وandroidx.wear.compose:compose-navigation:1.0.0-beta02. يتضمّن الإصدار 1.0.0-beta02 هذه الالتزامات.

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

  • تستجيب أداة الاختيار الآن دائمًا لأحداث التمرير حتى عندما تكون في وضع القراءة فقط. يؤدي ذلك إلى تجنب حاجة المستخدمين إلى تحديد "منتقي" أولاً من خلال النقر، قبل أن يتمكنوا من التمرير. في وضع القراءة فقط، يحجب الضوء في gradientColor الخيارات الأخرى بخلاف الخيارات المحددة حاليًا. (I72925)
  • لقد غيّرنا سلوك تجربة المستخدم على متصفّح Chip/ToggleChip/CompactChip/SplitToggleChip لمنعه من تنفيذ fillMaxWidth تلقائيًا. بدلاً من ذلك، ستنمو لتلائم محتواها. للاحتفاظ بالسلوك السابق، ما عليك سوى إضافة modifier = Modifier.fillMaxWidth()(I60a2c، b/232206371)

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

  • تحترم دالة إنشاء CurvedTextStyle التي تستخدم TextStyle الآن أيضًا fontWeight(يمكن إضافة هذه الدالة إلى الدالة الإنشائية وطرق النسخ في المراجعات المستقبلية لواجهة برمجة التطبيقات) (Ieebb9)
  • تم إدخال تحسينات على التمرير السريع على الحافة. عند استخدام "Modifier.edgeSwipeToDismiss" مع تفعيل ميزة "التمرير السريع" إلى اليمين من منطقة الحافة، لن يؤدي هذا الإجراء إلى تفعيل ميزة "التمرير السريع للإغلاق" عند تغيُّر اتجاه التمرير السريع إلى اليسار. في السابق، كان من الممكن تفعيل ميزة "التمرير السريع للإغلاق" من خلال التمرير سريعًا لليسار ثم التمرير سريعًا لليمين.(I916ea)
  • يعرض HorizontalPageIndicator الآن ما يصل إلى 6 صفحات على الشاشة. وإذا كان هناك أكثر من 6 صفحات إجمالاً، سيتم عرض مؤشر بنصف الحجم على اليمين أو اليسار، مع انتقال سلس بين الصفحات.(I2ac29)
  • تحسين سلوك الانطباق التلقائي على ScalingLazyColumn وPicker (I49539)
  • تم إدخال تحسينات على التمرير السريع على الحافة. عند استخدام "Modifier.edgeSwipeToDismiss"، لا يتم تفعيل ميزة "التمرير السريع للإغلاق" إلا عند وصولها إلى الحافة للمرّة الأولى مع التمرير سريعًا جهة اليسار. في السابق، كان من الممكن تفعيل ميزة "التمرير السريع للرفض" من خلال التمرير سريعًا من أي جزء من الشاشة في حال وصول شريط التمرير إلى البداية.(I8ca2a)

الإصدار 1.0.0-beta01

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

تم طرح androidx.wear.compose:compose-foundation:1.0.0-beta01 وandroidx.wear.compose:compose-material:1.0.0-beta01 وandroidx.wear.compose:compose-navigation:1.0.0-beta01. يتضمّن الإصدار 1.0.0-beta01 هذه الالتزامات.

ميزات ComposeAllowed على الإصدار 1.0 من نظام التشغيل Wear OS

تمثّل 1.0.0-beta01 ميزة ComposeAllowed على نظام التشغيل Wear OS إنجازًا مهمًّا، لأنّ المكتبة مكتملة العدد وواجهة برمجة التطبيقات مقفلة.

تشمل مكونات Wear Compose Material في إصدار 1.0 ما يلي:

  • يوفر مظهر Material Design كبديل عن Compose for Mobile MaterialTheme الألوان والأشكال وأسلوب الخط لتصميم المكوّنات على الأجهزة القابلة للارتداء التي تطبّق إرشادات تجربة المستخدم في نظام Wear Material Design بشكل غير تقليدي.
  • Button وCompactButton وToggleButton - يوفر هذا الزر فتحة واحدة لالتقاط رمز أو صورة أو نص قصير (3 أحرف كحد أقصى). دائرية الشكل مع المقاسات المقترحة للأزرار الافتراضية أو الكبيرة أو الصغيرة. يوفر CompactButton فتحة واحدة لأخذ أي محتوى (رمز أو صورة أو نص) وهو دائري في الشكل مع حجم الخلفية صغير جدًا. يتضمّن "CompactButton" مساحة متروكة شفافة اختيارية حول الخلفية تزيد من المساحة القابلة للنقر. ToggleButton هو زر يوفر فتحة واحدة لاستيعاب أي محتوى (نص قصير أو رمز أو صورة) ويحتوي على حالات تشغيل/إيقاف (محددة/غير محددة) بألوان ورموز مختلفة لإظهار ما إذا كان تم وضع علامة عليه أم لا
  • البطاقات - تُستخدم لعرض معلومات عن التطبيقات مثل الإشعارات. تصميم مرن لحالات الاستخدام المختلفة حيث يقدّم AppCard وTitleCard تنسيقات مختلفة ويتيح استخدام الصور باعتبارها محتوى للبطاقة أو خلفيات
  • الرقائق هي مكونات على شكل استاد تشبه الأزرار، ولكن بمساحة أكبر وفتحات متعددة للسماح بالتصنيفات والتسميات الثانوية والأيقونات. بأحجام مختلفة مع إتاحة استخدام الصور كخلفيات
  • ToggleChips و"تقسيم الشرائح": شريحة ذات حالة محدّدة أو غير محدَّدة، مع إضافة فتحة ToggleControl لعرض رمز، مثل مفتاح تبديل أو زر اختيار، لعرض الحالة التي تم وضع علامة فيها على المكوِّن. بالإضافة إلى ذلك، يتضمّن "SplitToggleChip" منطقتَين يمكن النقر عليهما، إحداهما قابلة للنقر والأخرى قابلة للتبديل.
  • مؤشر Circular Progressator: مؤشّر مستوى التقدّم لمواد ارتداء المنتج مع شكلَين مختلفَين يعبر الأول عن نسبة الإنجاز في مهمة جارية ويدعم فجوة في المسار الدائري بين زوايا البداية والنهاية. بينما يشير الثانية إلى تقدم غير محدد لوقت انتظار غير محدد.
  • المنحنيات النصية: تشكّل جزءًا من DSL لوصف CurvedLayouts، إلى جانب curvedRow وcurvedColumn، لوضع المكوّنات حول الأجهزة الدائرية. يمكنك الاطّلاع على نظام Wear Component Foundation أدناه للحصول على مزيد من التفاصيل عن CurvedLayout وCurvedModifier (يلعب هذا دور مشابه لـ "المعدِّلات" في العالم غير المنحني ويتيح ضبط جوانب مختلفة للتخطيط والمساحة المتروكة والتدرجات وما إلى ذلك).
  • مربّع الحوار والتنبيه والتأكيد - يعرِض هذا الخيار مربّع حوار بملء الشاشة، مع وضع طبقات فوق أي محتوى آخر، كما يتيح التمرير سريعًا للإغلاق. تتطلّب هذه الميزة فتحة واحدة يُتوقّع أن تعبّر عن رأيها في محتوى مربّع حوار Wear Material، مثل "تنبيه" أو "تأكيد". التنبيه هو محتوى مربّعات حوار يستند إلى رأي معيّن، مع خانات للرمز والعنوان والرسالة. إنّها تتضمّن عبئًا زائدًا إما لزرَّين سالبَين وإيجابيَين يظهران جنبًا إلى جنب أو فتحة لشريحة واحدة أو أكثر من الشرائح المكدسة عموديًا. التأكيد هو محتوى مربّع حوار يتضمّن آراءً ويعرِض رسائل لمدة معيّنة. يحتوي على فتحة لرمز أو صورة (يمكن أن تكون متحركة).
  • مؤشر أفقي للصفحة: يعرض موضع الصفحة الأفقي بطريقة تناسب شكل الجهاز القابل للارتداء. مصممة للعرض بملء الشاشة وإظهار مؤشر منحنٍ على الأجهزة المستديرة. يمكن استخدامها مع عارض صفحة Accompanist
  • رمز: تطبيق على Wear الذي يستخدم اللون وألفا من مظهر Wear Material. للحصول على أيقونة قابلة للنقر، راجع "الزر" أو "الشريحة".
  • المنتقي - يعرض قائمة قابلة للتمرير بالعناصر التي يمكنك الاختيار منها. سيتم تلقائيًا تكرار العناصر "إلى ما لا نهاية" في كلا الاتجاهَين. يمكن عرضه في وضع القراءة فقط لإخفاء الخيارات التي لم يتم اختيارها.
  • مؤشر الموضع: يعرض موضع التمرير أو أي مؤشر موضعي آخر بطريقة تناسب شكل الجهاز القابل للارتداء. مصممة للعرض بملء الشاشة وتُظهر مؤشرًا منحنٍ على الأجهزة المستديرة.
  • سقالة - يتم تنفيذ هيكل التخطيط المرئي الأساسي لـ Wear Material Design. يوفّر هذا المكوِّن واجهة برمجة تطبيقات لتجميع العديد من مكوّنات Wear Material (مثل "TimeText" و"PositionIndicator" و"Vignette") التي تؤدي إلى إنشاء الشاشة، ما يضمن استخدام استراتيجية تصميم مناسبة لها وجمع البيانات اللازمة حتى تعمل هذه المكوّنات معًا بشكل صحيح.
  • ScalingLazyColumn - مكون التمرير/قائمة عين السمكة الذي يشكل جزءًا أساسيًا من لغة Wear Material Design. يوفر تأثيرات التوسيع والشفافية لعناصر المحتوى. تم تصميم ScalingLazyColumn بشكل يتيح التعامل مع أعداد كبيرة من عناصر المحتوى، والتي يتم إنشاؤها عند الحاجة فقط.
  • شريط تمرير - يسمح للمستخدمين بالاختيار من بين مجموعة من القيم. يتم عرض نطاق الاختيارات كشريط، ويمكن عرضه اختياريًا باستخدام فواصل.
  • الخطوة - مكون في وضع ملء الشاشة يسمح للمستخدمين بالاختيار من بين مجموعة من القيم، باستخدام أزرار الزيادة/الخفض في أعلى وأسفل الشاشة، مع فتحة في المنتصف للنص أو الرقاقة.
  • مرِّر سريعًالإغلاق مربع الاختيار، وهو يعالج إيماءة التمرير السريع للإغلاق. ويتم أخذ فتحة واحدة للخلفية (يتم عرضها أثناء إيماءة التمرير السريع فقط) والمحتوى الذي يعمل في المقدّمة. يمكن دمجه اختياريًا مع مكتبة التنقّل androidx باستخدام SwipeDismissableNavHost (يمكنك الاطّلاع على مكتبة التنقل في Wear Compose أدناه).
  • النص - تطبيق Wear لمكوِّن Compose Material Text، مع استخدام اللون وألفا من مظهر Wear Material
  • TimeText - وهو مكوّن لعرض الوقت وحالة التطبيق في أعلى الشاشة. يتم ضبط هذه الميزة على شكل الشاشة باستخدام نص منحنٍ على الشاشات المستديرة.
  • نقوش الصورة النصفية - هي معالجة شاشة للاستخدام في السقالة التي تخفي الجزء العلوي والسفلي من الشاشة عندما يكون المحتوى القابل للتمرير قيد الاستخدام.

  • يتم أيضًا تضمين المكونات التالية من Wear Compose Foundation:

  • CurvedLayout - Wear Foundation CurvedLayout هو تصميم قابل للإنشاء يضع عناصره الثانوية في قوس، مع تدويرها حسب الحاجة. يشبه هذا تخطيط الصف المقوّس إلى جزء من حلقات. يُرجى العِلم أنّ محتوى CurvedLayout ليس لغة لامدا قابلة للإنشاء، بل هو DSL (لغة خاصة بالنطاق). تدعم جميع العناصر في DSL من CurvedLayout معلَمة تعديل اختيارية تم إنشاؤها من CurvedModifier.

  • BasicCurvedText: وهو عنصر في خدمة DSL CurvedLayout، ويتيح النطاق basicCurvedText للمطوّرين كتابة نص منحنٍ بسهولة باتّباع انحناء دائرة (يكون ذلك عادةً على حافة شاشة دائرية). يمكن إنشاء basicCurvedText فقط ضمن CurvedLayout لضمان أفضل تجربة، مثل القدرة على تحديد الموضع واستخدام CurvedModifiers. وتجدر الإشارة إلى أنّه في معظم الحالات، يجب استخدام CurdText بدلاً من ذلك لأنّها تستخدم تحديد نسق المواد.

  • المنحنيات القابلة للإنشاء - تلفّ المحتوى العادي القابل للإنشاء بحيث يمكن استخدامه مع CurvedLayout. إذا كان curvedComposable بداخلها عدة عناصر، سيتم رسمها فوق بعضها البعض (مثل مربع). لإضافة عدة عناصر قابلة للإنشاء على طول منحنى، عليك لفّ كل عنصر باستخدام curvedComposable.

  • منحني صف وعمود منحني - على غرار الصف والعمود، يمكن دمج curvedRow وcurvedColumn داخل CurvedLayout لوضع العناصر حسب الحاجة. بالنسبة إلى curvedRow، يمكن تحديد اتجاه التنسيق الزاوي والمحاذاة الشعاعية. بالنسبة إلى curvedColumn، يمكن تحديد المحاذاة الزاويّة والاتجاه الشعاعي.

  • CurvedModifier - تقبل جميع المكوّنات المنحنية معلَمة تعديل يمكن إنشاؤها باستخدام CurvedModifier: الخلفية والحجم والوزن والمساحة المتروكة.

  • يتم أيضًا تضمين المكوّن التالي من ميزة التنقّل في تطبيق Wear Compose:

  • ScrollableNavHost - يوفر مكانًا في التسلسل الهرمي Compose لحدوث التنقل المستقل، مع توفير التنقل للخلف من خلال إيماءة التمرير السريع. يتم عرض المحتوى على SwipeToDismissBox، مع عرض مستوى التنقّل الحالي. أثناء إيماءة التمرير السريع للإغلاق، يتم عرض مستوى التنقّل السابق (إن وُجد) في الخلفية.

  • يمكنك الاطّلاع على ملاحظات الإصدار السابق الخاصة بإصدارات ألفا المختلفة للحصول على مزيد من التفاصيل حول ما تم تسليمه.

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

  • تمت إضافة CurvedModifier.padding* دالة. تُستخدم هذه لتحديد المساحة الإضافية المراد إضافتها حول مكون منحني. (I4dbb4)
  • تمت إزالة صف داخلي واحد (CompositionLocal) (I42490)
  • لقد أضفنا قيمًا ثابتة لأحجام الرموز Button وCompactButton وToggleButton كإرشادات (I57cab).
  • إضافة المَعلمة المفعّلة إلى AppCard وTitleCard وتتوفّر لديهم الآن واجهة برمجة تطبيقات مشابهة لبطاقات androidx.compose.material. عند ضبط المعلَمة على false، لن تكون البطاقة قابلة للنقر. (Idc48d، b/228869805)

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

  • توقِف أداة الخطوة الآن زرَّي التصغير والزيادة عند الوصول إلى الحدَّّين الأدنى والأقصى (وتُطبّق ContentAlpha.Disable على رمزColor) (I4be9f).
  • أضفنا مساحة متروكة واحدة (dp) حول محتوى "أداة الاختيار" عند الرسم بتدرج لمنع عدم الاستقرار على النص الذي يظهر عند التمرير السريع. (I0b7b9)
  • إضافة اختبارات لقطات الشاشة لنظام PositionIndicator (I5e8bc)
  • إضافة المزيد من الاختبارات AppCard وTitleCard (I85391، b/228869805)

الإصدار 1.0.0-alpha21

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

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

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

  • تمت إضافة مُعدِّلات منحنية جديدة لتحديد خلفية العنصر منحنٍ: CurvedModifier.background و.radialGradientBackground و.angularGradientBackground (I8f392).
  • السماح بتحديد وضع تجاوز النص المقوّس (مقطع/علامة حذف/مرئي) (I8e7aa)
  • تمت إضافة عنصر تعديل CurvedModifier.weight، مشابهًا للمُعدِّل في Compose. يمكن استخدامه هذا مع عناصر drawdRow و CurvedLayout (للعرض) وعناصر أصغر حجمًا منحنية (للارتفاع). (I8abbd)
  • تمت إضافة مفاتيح التعديل CurvedModifier.size و.angularSize و.radialSize لتحديد حجم العنصر المقوّس. (I623c7)

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

  • يمكنك إعادة ترتيب المَعلمات للتأكّد من ظهور اللون بشكل متّسق قبل اللون في واجهة برمجة التطبيقات Wear Compose API (I43208).
  • تمت إزالة المعلَمات وinsideOut في اتجاه عقارب الساعة واستبدالها بثوابت أكثر تعبيرًا في الفئات الجديدة. يمكن الآن معرفة اتجاه التنسيق المنحني LayoutDirection، ويتم اكتسابه عندما لا يتم تحديده (If0e6a).
  • لقد استبدلنا autoCenter: Boolean بـ autoCenter: AutoCentringParams لإصلاح مشكلة في واجهة برمجة التطبيقات في ScalingLazyColumn. (Ia9c90)
  • لقد أعدنا تسمية "iconTintColor" و"toggleControlTintColor" إلى "iconColor" و"toggleControlColor" في واجهة برمجة التطبيقات (Chip/ToggleChip/Dialog/Slider/Stepper/...) لأنّه يتم تطبيق اللون على خانة الرمز/toggleControl. (Ied238)
  • إعادة كتابة تعداد PageIndicatorStyle في فئة القيمة (I2dc72)
  • لقد أضفنا RowScope/ColumnScope/BoxScope إلى بعض الخانات في العناصر القابلة للإنشاء كي توضّح للمطوّرين افتراضات التنسيقات. سيسمح هذا للمطوّرين باستخدام معدِّلات إضافية على بعض محتوى الخانة وتجنب الحاجة إلى توفير عناصر تخطيط إضافية. بالإضافة إلى ذلك، أجرينا بعض التعديلات البسيطة على ألوان AppCard/TitleCard حتى يتم ضبط timeColor وappColor تلقائيًا على contentColor، ويبقى بالإمكان إلغاء كل هذه السمات بشكل فردي إذا لزم الأمر. (I26b59)
  • تم ضبط عنصر SwipeToDismissBoxState.Companion على "خاص" (I39e84).
  • إصلاح ترتيب المَعلمات في InlineSlider وStepper تغيير بسيط لاتّباع إرشادات واجهة برمجة التطبيقات (I11fec)
  • أزلنا كائن "توفير" الخاص بـ "SwipeToDismissBoxState" لأنّه لم يكن مستخدَمًا. (Ifb54e)
  • لقد عدّلنا تطبيق "CompactChip" ليصبح متوافقًا مع أحدث مواصفات تجربة المستخدم. تم تقليل المساحة المتروكة إلى أفقي = 12.dp ورأسي = 0.dp. تم تغيير خط التسمية من الزر إلى التسمية التوضيحية 1. وتكون أحجام الرموز المقترَحة هي 20x20 عند توفّر الرمز والتصنيف، و24x24 لشريحة مضغوطة فقط على شكل رمز. وبالنسبة إلى حالة الاستخدام للرمز فقط، تأكّدنا أيضًا من محاذاة الرمز إلى الوسط. (Iea2be)
  • لقد أضفنا عددًا من الحقول الجديدة إلى ScalingLazyListLayoutInfo لكي يتمكّن المطوِّرون من معرفة مقدار contentPadding وautoCenteringPadding الذي تم تطبيقه. ويمكن أن تكون مفيدة للمطوّرين عند حساب الانتقال السريع أو التمرير (I7577b)
  • لقد نفذنا عمليات النقل الداخلية/الخارجية لـ Dialog. تمت إضافة مَعلمة showDialog ويتحكّم مربّع الحوار الآن في مستوى رؤيته (يفعِّل ذلك مربّع الحوار من تشغيل الصور المتحركة للمقدمة والخاتمة عند إظهار/إخفاء مربّع الحوار). تجدر الإشارة إلى أنّه لا يتم تنفيذ الحركة الختامية عندما يغادر المستخدم مربّع الحوار من خلال التمرير السريع للإغلاق. أضفنا أيضًا قيمة تلقائية للحالة في حِمل SwipeToDismissBox الزائد التي تمت إضافتها مؤخرًا. (I682a0)
  • لتوفير توافق أفضل مع i18n وa11y، غيّرنا ToggleChip وSplitToggleChip بحيث لا تتم إعادتهما تلقائيًا للخانة toggleControl. لقد غيّرنا أيضًا ToggleChipDefaults بحيث تعرض الطرق التالية الآن ImageVector بدلاً من Icon (يُرجى العلم أنّه بما أنّها لم تعد تعرض @Composables، تم تغييرها بحيث تبدأ بالأحرف الصغيرة) وSwitchIcon()->switchIcon() وCheckboxIcon->checkboxIcon() وRadioIcon()->radioIcon()، ويتيح ذلك للمطوّرين إنشاء عناصر Icon() قابلة للإنشاء باستخدام مجموعة contentDescription مناسبة. (I5bb5b)
  • أضفنا مَعلمة SwipeDismissableNavHostState إلى SwipeDismissableNavHost. يتيح ذلك استخدام التمرير السريع على الحواف على الشاشات المستخدَمة كوجهات تنقُّل، لأنّه يمكن الآن رفع SwipeToDismissBoxState واستخدامه لإعداد كل من SwipeDismissableNavHostState وModifier.edgeSwipeToDismiss على الشاشات التي تتطلب التمرير السريع على الحافة. (I819f5، b/228336555)

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

  • تأكّد من تعديل التنسيقات المنحنية عند الحاجة. (Ie8bfa، b/229079150)
  • إصلاح الخطأ بشأن https://issuetracker.google.com/issues/226648931 (Ia0a0a، b/226648931)
  • تمّت إزالة التعليقات التوضيحية التجريبية غير الضرورية (I88d7e).

الإصدار 1.0.0-alpha20

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

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

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

  • إضافة عنصر تعديل edgeSwipeToDismiss للوضع "SwipeToDismiss" يسمح هذا الخيار بأن يكون swipeToDismiss نشطًا على الحافة اليمنى لإطار العرض فقط. يتم استخدامه عندما يحتاج مركز الشاشة إلى التمكّن من التعامل مع التنقل الأفقي، مثل التمرير الثنائي على الخريطة أو التمرير سريعًا أفقيًا بين الصفحات.(I3fcec، b/200699800)

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

  • تطبيق CurvedModifiers الأساسي، سيفتح طريقة لتقديم طرق لتخصيص المحتوى المقوّس (ولكن لم يتم توفير CurvedModifiers حتى الآن، وقد تتوفّر إمكانية إنشاء مُعدِّلات مخصّصة لاحقًا) (I9b8df)
  • EdgeSwipeيتم تعديل مستندات أداة التعديل والقيم التلقائية لفهم البيانات بشكل أفضل .(I6d00d)
  • إضافة خانة "PageIndicator" في سقالة من خلال إضافة PageIndicator مباشرةً إلى Scaffold، قد نضمن لك أنّه سيظهر بشكلٍ صحيح على الأجهزة الدائرية. (Ia6042)
  • يمكنك إزالة الرموز التلقائية من مَعلمتَي InlineSlider وStepper. سيساعد ذلك المطوّرين في أن يكونوا أكثر اهتمامًا بمتطلبات الأقلمة وتسهيل الاستخدام. تم عرض استخدامات الرموز التلقائية في الإصدارات التجريبية والعيّنات. (I7e6fd)
  • استبدال أسماء المَعلمات اللاحقة أو البادئة بـ "Start" (البداية) و"End" (النهاية) في TimeText (Iaac32)
  • أضفنا حِمل SwipeToDismissBox زائدًا مع مَعلمة onDismissed لإتاحة الاستخدام الشائع لبدء حدث تنقُّل عند اكتمال إيماءة التمرير السريع. (I50353، b/226565726)
  • تمت إزالة تعليقات ExperimentalWearMaterialApi التوضيحية من استخدام TimeText (Ide520)
  • لقد وضعنا علامة "مغلقة" على واجهات المعلومات والنطاق في ScalingLazyList/Column، لأنّها غير مخصّصة للمطوّرين الخارجيين، وسيتيح لنا ذلك إضافة أعضاء جُدد إليها في المستقبل بدون حدوث تغييرات في البرامج الثنائية. (I7d99f)
  • لقد أضفنا السمة flingBehaviour الجديدة إلى أداة الاختيار وطريقة PickerDefaults.flingBehaviour() لتفعيل ضبط سلوك الانتقال السريع، مثل إضافة دعم RSB. PickerState ينفذ الآن واجهة ScrollableState. (Ib89c7)

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

  • يمكنك تعديل قواعد الملفات الشخصية الأساسية لوقت تشغيل Android (ART) لمكتبات Wear Compose. يمكن لـ ART الاستفادة من قواعد الملف الشخصي على الأجهزة من أجل تجميع مجموعة فرعية معيّنة من التطبيق في وقت مبكر لتحسين أداء التطبيق. لاحظ أن ذلك لن يؤثر في التطبيقات التي يمكن تصحيح الأخطاء فيها. (Iaa8ef)
  • تحسين الوثائق (I2c051)

الإصدار 1.0.0-alpha19

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

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

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

  • تمت إعادة تسمية CurvedRow إلى CurvedLayout، وأُعيد صياغته ليصبح نطاقًا يستخدم DSL. وباستخدام DSL هذا، يمكن تحديد التخطيطات المقوّسة الأكثر تعقيدًا باستخدام سلسلة من curvedRow وcurvedColumn المدمَجة (وهي مكافئَي التصميم المنحني للصف والعمود). وداخل عناصر التنسيق هذه، يمكن استخدام ثلاثة عناصر: curvedComposable (لإضافة أي @Composable) وbasicCurvedText (النصّ المقوّس للتأسيس) وcurvedText (ارتداء النصوص المقوّسة على معرفة المواد). (Ib776a)
  • اجعل جانب PositionIndicator قابلاً للضبط. يمكن الآن تهيئة موضع مؤشر PositionIndex الأساسي ليكون "End" (مع تحديد اتجاه التنسيق) أو OppositeRsb (يأخذ في الاعتبار دوران الشاشة، لوضع نفسه عكسًا للإطار الأيمن الفعلي) أو القيمة المطلقة لليسار واليمين. (I2f1f3)
  • بالنسبة إلى SwipeToDismissBox، أعدنا تسمية SwipeDismissTarget.Original إلى SwipeToDismissValue.Default وSwipeDismissTarget.Dismissal إلى SwipeToDismissValue.Dismissed. لقد نقلنا أيضًا SwipeToDismissBoxDefaults.BackgroundKey وSwipeToDismissBoxDefaults.ContentKey إلى SwipeToDismissKeys.Background، SwipeToDismissKeys.Content على التوالي. (I47a36)
  • لقد أضفنا وضع القراءة فقط إلى "أداة الاختيار"، وذلك للشاشات التي تحتوي على "أدوات اختيار" متعددة والتي يمكن فيها تعديل "أداة اختيار" واحدة فقط في كل مرة. وعندما يكون "أداة الاختيار" للقراءة فقط، يتم عرض الخيار المحدَّد حاليًا وتصنيف في حال توفُّر واحد. (I879de)
  • تمت إعادة هيكلة SwipeToDismissBoxState لحصر نطاق ExperimentalWearMaterialApi على Modifier.swipeable وSwipeableState، ويتم استخدامهما الآن داخليًا. يتضمَّن SwipeToDismissBoxState الآن أعضاء currentValue وtargetValue وisAnimationRunning وsnapTo لإتاحة حالات الاستخدام الشائعة. يُرجى إعلامنا إذا كنت بحاجة إلى توفير أي خصائص أخرى. ويتم أيضًا إصلاح سلوك SwipeableState في حال كانت إزاحة التمرير السريع ضمن خطأ تقريبي لعلامة الارتساء. (I58302)

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

  • رمز مبسّط وثابت لاكتشاف ما إذا كان يمكن الانتقال في محتوى ScalingLazyColumn (يُستخدَم لتحديد ما إذا كنا نعرض شريط تمرير أم لا) (I7bce0)
  • تم إصلاح خطأ في مؤشر الموضع عند استخدامه مع أكثر من حالة واحدة والتبديل بينها (I320b5)
  • لقد عدَّلنا خطوط الطباعة أو الخطوط التلقائية الخاصة بمظهر تطبيق Wear OS لتتوافق مع أحدث إرشادات تجربة المستخدم لدينا. من الملاحظة، تم إجراء تعديلات ثانوية متعدّدة لارتفاع الأسطر وتباعد الأسطر، وهي قيمة الآن أصغر من قيمهما السابقة. (Ie3077)
  • أضفنا مقاومة لجهاز SwipeToDismissBox بحيث لا تحدث الحركة إلا عند التمرير سريعًا للإغلاق وليس في الاتجاه المقابل على الإطلاق. (Ifdfb9)
  • لقد غيّرنا بعض قيم المَعلمات التلقائية للدوال CircularProgressIndicator لجعلها متوافقة مع إرشادات تجربة المستخدم في تصميم Wear Material. بالنسبة إلى الإصدار الدوّار أو غير المحدّد، تم تعديل الحجم (40->24.dp) و"ColorColor" (الأساسي->onBackground) و"شفافية تتبُّع الألوان" ( 30%-> 10%) وعرض الخط (4-> 3dp). بالنسبة إلى إصدار التقدم/تحديد إصدار المسار، تم تحديث شفافية اللون (30%->10%). (I659cc)
  • لقد عدَّلنا مَعلمات التوسعة التلقائية لـ ScalingLazyColumn بما يتوافق مع أحدث مواصفات تجربة المستخدم في تصميم Wear Material. ينتج عن هذا بصريًا بدء اقتراب حجم عناصر القائمة من مركز القائمة، ولكن تقليل الحجم عند حافة القائمة من ذي قبل. (Ica8f3)
  • بعض التعديلات على ScalingLazyColumnDefaults.snapFlingBehavior لتحسين نهاية الصورة المتحركة (If3260)

الإصدار 1.0.0-alpha18

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

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

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

  • العديد من التحسينات على مؤشر الموضع: أعادت ShowResult تسمية مَعلم Positionموضع الفهرسة. بعض تحسينات الأداء لتجنُّب إعادة العمليات الحسابية عند عدم الحاجة (Iaed9d)
  • تم تعديل اللون المقترَح لـ SplitToggleChip. أصبح لـ SplitToggleChip الآن خلفية ملونة خالصة عند وضع علامة عليه أو إلغاء تحديده، بحيث يكون لون عنصر ToggleControl هو المؤشر الأساسي على ما إذا تم تحديد المكوِّن أم لا. لقد أضفنا سمة ToggleDefaults.splitToggleChipColors() جديدة لتتوافق مع نظام الألوان الجديد. لقد بسّطنا أيضًا طرق toggleChipColors() لإزالة splitBackgroundOverlayColor (I7e66e).
  • لقد أضفنا القيمة غير المعدَّلة إلى ScalingLazyListItemInfo لأنّه ليس من الآمن احتساب حجم العنصر الأصلي باستخدام الحجم الذي تمّ تحجيمه وعامل القياس بسبب الدقة في العمليات الحسابية للعائم. (I54657، b/221079441)
  • أضِف HorizontalPageIndicator. وهي تمثل إجمالي عدد الصفحات وصفحة محددة. قد يكون خطيًا أو منحنيًا حسب شكل الجهاز. كما أنها تدعم شكل المؤشر المخصص، الذي يحدد كيفية تمثيل كل مؤشر بشكل مرئي. (Iac898)
  • تم تحديث PickerState بحيث يمكن تحديث numberOfOptions. يدعم ذلك حالات الاستخدام مثل DatePicker، عندما يتغير عدد الأيام في الشهر حسب الشهر المحدّد. تم تغيير معلمة الدالة الإنشائية لـ PickerState إلى firstNumberOfOptions. (Iad066)
  • إخفاء PositionIndicator عندما يكون شريط تمرير ولا يمكن التمرير (Id0a7f)
  • لتحقيق التوافق مع Scaffold، يعرض الآن مكوّن مربّع الحوار بملء الشاشة PositionIndicator وVignette. نستخدم الآن أيضًا ScalingLazyColumn بدلاً من Column، ما يعني أنّ محتوى مربّع الحوار متوفّر الآن في ScalingLazyListScope (ويجب عادةً أن يكون مُحاطًا بالعنصر { /* content */ }). ويدعم الحوار معلَمة verticalArrangement وفقًا لذلك. (Idea13)
  • لقد غيَّرنا اسم خاصيّتَي ToggleChip وSplitToggleChip لتفعيل SwitchIcon ليتلاءم بشكل أفضل مع التصميم المتعدد الأبعاد من أجل مساعدة المصممين والمطوّرين على استخدام واجهة برمجة التطبيقات. (If5921، b/220129803)
  • لقد أضفنا شرحًا جديدًا للإدخال 3 إلى نوع سمة Wear Material Typology.Caption3 هو خط صغير يُستخدم في الكتابة الطويلة جدًا مثل النصوص القانونية. (I74b13، b/220128356)

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

  • أوقف الرسوم المتحركة السريعة عندما نكون هناك. (Idb69d)
  • تحريك التغييرات في مؤشر الموضع. (I94cb9)
  • استنادًا إلى الملاحظات التي تتعلّق بواجهة المستخدم أو تجربة المستخدم، غيّرنا ميزة "التوسيط التلقائي" في ScalingLazyColumn لكي لا توفِّر مساحة كافية إلا للتأكّد من أنّ العناصر التي تحتوي على الفهرس ScalingLazyListState.initialCenterItemIndex أو أعلى سيتم تمريرها بشكل كامل إلى منتصف إطار العرض. يسمح هذا للمطورين بوضع عنصر أو عنصرين حول العنصر في البداية في المنتصف ولا يمكن التمرير في المنتصف. يعني هذا أنّ ScalingLazyColumn الذي يعمل في مركز السيارات لن يتمكّن من التمرير فوق initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2).
  • لقد أضفنا عرضًا توضيحيًا لـ "أداة اختيار التاريخ" وأصلحنا خطأً في PickerState حيث لم يتم تطبيق خيار "مُحدّد ومبدئي" إلى أن يتم عرض "منتقي التاريخ". (Id0d7e)
  • لتقليل اقتصاص عناصر ScalingLazyColumn الأعرض على الشاشات الدائرية، تمت زيادة المساحة المتروكة التلقائية في المحتوى الأفقي من 8 إلى 10 وحدات بكسل مستقلة الكثافة. (I0d609)
  • تأكَّد من ظهور "PositionIndicator" عند التمرير. (Ied9a2)

الإصدار 1.0.0-alpha17

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

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

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

  • أضفنا ميزة Snap التي يمكن استخدامها مع ScalingLazyColumn. اضبط flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) لتفعيل ميزة Snap. (I068d3، b/217377069)
  • لقد أضفنا عروضًا توضيحية لأداة "المنتقي" التي تُستخدم لاختيار وقت إما في 24 ساعة أو 12 ساعة. (Ie5552)

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

  • حل مشكلة متعلقة بنمطَين وخطوط مخصّصَين (TimeText) على الجهاز المربّع (Iea76e)
  • يتضمّن ScalingLazyListLayoutInfo الآن خصائص reverseLayout وviewportSize واتجاهات مطابقة لتلك الواردة من LazyListLayoutInfo (I4f258، b/217917020).
  • يحتوي ScalingLazyColumn الآن على سمة userScrollEnabled مطابقة للسمة LazyList (I164d0، b/217912513).
  • تحتوي أدوات الاختيار الآن على تدرج في الجزء العلوي والسفلي تلقائيًا (Iab92a)

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

  • لقد عدّلنا الموقع الإلكتروني ScalingLazyColumn بحيث لا يملأ كل المساحة في نطاقه الرئيسي. وبدلاً من ذلك، يأخذ حجمه من حجم محتواه. وهذا يجعلها متوافقة مع سلوك LazyColumn. إذا كنت تريد استعادة السلوك القديم، عليك تمرير Modifier.fillMaxWidth()/width()/widthIn() إلى ScalingLazyColumn (I51bf8)
  • لقد أدخلنا تحسينات على رسالة الاستثناء في SwipeDismissableNavHost.kt التي تم تشغيلها إذا كانت حزمة الخلفية للتنقّل فارغة. (I1b1dc)

الإصدار 1.0.0-alpha16

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

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

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

  • أضِف CircularProgressIndicator. تعرض مؤشرات التقدم طول العملية أو وقت انتظار غير محدد. إتاحة فجوة (مقطوعة) في TimeText أو عناصر أخرى في حال استخدامها في وضع ملء الشاشة (Iab8da)

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

  • تحتوي أدوات الاختيار الآن على معلَمة flingBehavior، وتجعل القيمة التلقائية هذه المعلَمة الأقرب عند التمرير/التمرير. (I09000)
  • واجهة برمجة تطبيقات إضافية تتضمّن عددًا صحيحًا للشريط المضمّن وشريط الخطوات (I1b5d6)

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

  • لقد غيَّرنا القيمة firstCenterItemIndex التلقائية لـ ScalingLazyListState من 0 إلى 1. وهذا يعني أنه ما لم يتم إلغاؤه في إنشاء الحالة باستخدام ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =)، سيتم وضع عنصر القائمة الثاني (الفهرس == 1) في وسط إطار العرض عند الإعداد ووضع العنصر الأول (الفهرس == 0) قبله. ويسمح هذا بتأثير مرئي افتراضي أفضل خارج الصندوق، حيث سيتم ملء معظم إطار العرض بعناصر قائمة. (I0c623، b/217344252)
  • لقد خفّضنا عنصر extraPadding التلقائي في ScalingLazyColumn المتوفّر للتأكّد من توفّر الكثير من عناصر القائمة لرسمها (حتى في حال تصغير حجم بعضها) من% 10 إلى %5. فسيتجنب ذلك إنشاء عناصر قائمة إضافية قد لا تظهر في إطار العرض. في حال استخدام مَعلمات تحجيم غير قياسية (على سبيل المثال، تحجيم أكثر فأكثر)، يمكن للمطوّر تعديل المساحة المتروكة الإضافية باستخدام viewportVerticalOffsetResolver. (I76be4)
  • إصلاح مشكلة في TimeText (نص الوقت) على عدة أسطر على الجهاز المربّع (Ibd3fb)
  • لقد عدّلنا الموقع الإلكتروني ScalingLazyColumn بحيث لا يملأ كل المساحة في نطاقه الرئيسي. وبدلاً من ذلك، يأخذ حجمه من حجم محتواه. وهذا يتوافق مع سلوك LazyColumn. إذا أردت استعادة السلوك القديم، مرِّر Modifier.fillMaxSize() إلى ScalingLazyColumn. ملاحظة: هذا التغيير غير مكتمل وسيتم معالجته في تغيير لاحقة في إصدار ألفا التالي. (I3cbfa)

الإصدار 1.0.0-alpha15

26 يناير 2022

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

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

  • لقد أضفنا السمة الجديدة autoCentering إلى ScalingLazyColumn. عندما تكون القيمة true (الإعداد التلقائي)، سيضمن هذا إمكانية التمرير في جميع العناصر، بما في ذلك الأول والأخير، بحيث تظهر في منتصف إطار عرض القوائم. تجدر الإشارة إلى أنّه في حال استخدام التوسيط التلقائي، ننصحك على الأرجح بضبط المساحة المتروكة في الوضع العمودي على 0.dp. في حال توفير كل من التوسيط التلقائي والمساحة المتروكة للمحتوى العمودي، سيؤدي ذلك إلى توفير مساحة إضافية قبل عناصر القائمة الأولى وبعدها، مما يسمح بالتمرير بشكل أكبر. (I2a282، b/214922490)
  • لقد أضفنا مكوّن Dialog يتيح لأي عنصر قابل للإنشاء تشغيل مربّع حوار بملء الشاشة يظهر فوق المحتوى الآخر. عندما يتم عرض مربّع الحوار، يتيح هذا الخيار التمرير سريعًا لإغلاق الإشعار وسيعرض محتوى أحد الوالدَين في الخلفية أثناء إيماءة التمرير السريع. من المتوقّع أن يكون محتوى مربّع الحوار Alert أو Confirmation (تمت إعادة تسميته من المكوّنَين السابقَين AlertDialog وConfirmationDialog)، علمًا بأنّ Alert وConfirmation وDialog كلها في حزمة androidx.wear.compose.material.dialog. يمكن استخدام التنبيه والتأكيد كوجهة للتنقل. وتمت أيضًا إضافة نطاق العمود إلى معلمات التنبيه والتأكيد حسب الضرورة. (Ia9014)
  • لقد أزلنا onSurfaceVariant2 من أداة Compose لألوان المظاهر في نظام التشغيل WearOS Material واستبدلنا الاستخدامات المتاحة في المكتبة بـ onSurfaceVariant. (Icd592)
  • تمت إضافة طريقة لاختيار خيار آليًا على PickerState. ويمكن الآن أيضًا تحديد الخيار المحدد في البداية عند إنشاء PickerState. (I92bdf)
  • لقد وفّرنا إمكانية تخصيص طريقة تبادل البيانات مع ScalingLazyColumn. (I1ad2e، b/208842968)
  • أضفنا "NavController.currentBackStackEntryAsState()" إلى مكتبة "Wear.Compose.Navigation". (If9028، b/212739653)
  • تمت إضافة Modifier.onRotaryScrollEvent() وModifier.onPreRotaryScrollEvent() لأجهزة Wear التي تحتوي على زر جانبي دوار.(I18bf5، b/210748686)

الإصدار 1.0.0-alpha14

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

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

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

  • لقد أضفنا عددًا من الطرق إلى ScalingLazyListState للسماح للمطوّرين بالتحكّم في الانتقال إلى عناصر قائمة معيّنة وكذلك إعداد عنصر القائمة الأولي والإزاحة.

    وكجزء من هذا التغيير، عدّلنا أيضًا سمة ScalingLazyList بحيث يتم توجيهها حول مركز إطار العرض في ScalingLazyList بدلاً من بداية إطار العرض.

    تمت إضافة الموقع الجديد anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter إلى ScalingLazyList للتحكّم في ما إذا كان يجب محاذاة الوسط (ScalingLazyListAnchorType.ItemCenter) أو Edge (ScalingLazyListAnchorType.ItemStart) مع خط الوسط لإطار العرض.

    نتيجةً لذلك، تم تغيير ScalingLazyListItemInfo.offset وScalingLazyListItemInfo.adjustedOffset وسيعكسان الآن معادلة العنصر في ما يتعلق بموضع عنصر القائمة وanchorType في القائمة. على سبيل المثال، بالنسبة إلى ScalingLazyColumn الذي يتضمّن anchorType من ItemCenter وعنصر قائمة مع وضع وسطه في منتصف إطار العرض، ستكون الإزاحة 0.

    الطرق الجديدة هي scrollTo وanimatedScrollTo وcenterItemIndex وcenterItemOffset. (I61b61)

  • أضفنا معالِج زر الرجوع إلى SwipeDismissableNavHost، لكي يؤدي الضغط على زر الرجوع إلى الانتقال إلى المستوى السابق في التسلسل الهرمي للتنقّل. (I5b086، b/210205624)

الإصدار 1.0.0-alpha13

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

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

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

  • لقد أجرينا RangeIcons داخليًا (يُشار إليه داخليًا من خلال InlineSlider وStepper). (I927ec)

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

  • تم إصلاح مشكلة تكمن في إضافة وجهة في التسلسل الهرمي SwipeDismissableNavHost قبل الوصول إلى حالة دورة حياة CREATED، ما يؤدي إلى حدوث IllegalStateException. كان هذا الإصلاح شرطًا أساسيًا لتعديل الاعتمادية على navigation-compose إلى 2.4.0-beta02 وغيرها. (I40a2b، b/207328687)

  • تمت إضافة فئة تعداد Drawables للحصول على موارد قابلة للرسم داخل مكتبة Wear Compose، وبذلك لن تكون هناك حاجة للانعكاس. يؤدي هذا إلى إصلاح الخطأ الذي كانت تتم فيه إزالة العناصر القابلة للرسم في المكتبة عند استخدام minifyEnabled=true أو shrinkResources=true). (Ib2a98)

  • تمت إضافة اختبارات لـ Stepper في Wear Compose (I2d03a).

  • تمت إضافة نماذج لـ "SwipeDismissableNavHost" في ميزة التنقّل في تطبيق Wear Compose. (I85f06)

الإصدار 1.0.0-alpha12

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

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

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

  • لقد أضفنا مكون برنامج الخطوة الذي يسمح للمستخدمين بالاختيار من بين مجموعة من القيم. الخطوة 2 عبارة عن عنصر تحكم في وضع ملء الشاشة مع زري زيادة وخفض في الجزء العلوي والسفلي، ومساحة في المنتصف (من المتوقع أن تأخذ إما شريحة أو نص). يمكن تخصيص رموز الأزرار إذا لزم الأمر. (I625fe)

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

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

  • أضِف وحدات (بالمللي ثانية) إلى قيم مدة مربّعات الحوار المقترَحة. (I09b48)

الإصدار 1.0.0-alpha11

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

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

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

  • أضفنا مكوِّن أداة اختيار يتيح للمستخدم اختيار عنصر من قائمة التمرير. تتكرر قائمة العناصر القابلة للاختيار "بشكل لا نهائي" في كلا الاتجاهين، لمنح انطباع أسطوانة دوّارة من الجانب. ستتم إضافة ميزتين في الإصدارات اللاحقة: الانطباق إلى قيمة بعد التمرير السريع/التمرير السريع، وإضافة دالة إلى PickerState لضبط/الانتقال إلى القيمة الحالية. (I6461b)

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

  • تمّت إضافة ScalingLazyItemScope وبعض أدوات التعديل الجديدة fillParentMaxSize/fillParentMax width/fillParentMaxHeight للسماح بتغيير حجم عناصر القائمة استنادًا إلى حجم الحاوية الرئيسية. يمكن ضبط العناصر لملء كل مقاس أحد الوالدَين أو جزء منه. يكشف ذلك عن الوظائف المتوفرة حاليًا في LazyRow/العمود (I4612f)
  • تمت إضافة دعم إلى ScalingLazyColumn للسماح للعناصر بالحصول على مفتاح. تمت أيضًا إضافة طرق ملائمة للسماح بإضافة عناصر من المصفوفات والقوائم. (Ic1f89)

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

  • أمثلة إضافية على TimeText (I8cb64)

الإصدار 1.0.0-alpha10

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

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

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

  • تمت إضافة شريط تمرير مضمَّن للإنشاء باستخدام خاصية Wear. يسمح شريط التمرير المضمّن للمستخدمين بالاختيار من بين نطاق من القيم. يتم عرض نطاق الاختيارات كشريط بين القيم الدنيا والقصوى للنطاق، والتي يمكن للمستخدمين اختيار قيمة واحدة منها. (If0148)

  • اطّلِع على ميزة Compose الجديدة المخصّصة في الدرس التطبيقي حول الترميز في WearOS.

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

  • أصبحت قيمة مقياس "الأداء العالي" الآن minSdkVersion من 23. (If2655)

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

  • حدِّث معالجة النقل في ScrollRejectableNavHost في SideEffect (I04994، b/202863359)
  • تحديث طريقة معالجة النقل في ScrollEscapeableNavHost (I1cbe0، b/202863359)

الإصدار 1.0.0-alpha09

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

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

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

  • لقد أطلقنا معاينة المطوّر Compose على نظام التشغيل Wear OS. يمكنك الاطّلاع على مشاركة المدونة التي تضم عناصر قابلة للإنشاء الرئيسية وروابط تؤدّي إلى موارد إضافية لبدء استخدامها.

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

  • وقد أضفنا دعمًا للمطوّرين ليتمكّنوا من تخصيص كل الألوان في مظهر الألوان على Wear Material. (I4759b، b/199754668)

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

  • تمت إضافة نماذج TakeToRejectBox التي لا تزال قائمة (Ibaffe)
  • تمت إضافة روابط تؤدي إلى أدلة developer.android.com من K Docs، التي توضّح كيفية CurvedText وTimeText وScrollTo المطلوبةBox. (I399d4)
  • يتم الآن أمر ScrollableNavHost الآن في حال عدم وجود وجهة حالية (تشير إلى أن الرسم البياني NavGraph لم يتم إنشاؤه باستخدام وظيفة wear.compose.navigation.composable (الأدوات المساعدة)) (I91403).
  • تمت إضافة وثائق وأمثلة إضافية حول استخدام مصدر الوقت في TimeText (I4f6f0)

الإصدار 1.0.0-alpha08

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

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

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

  • لقد أعدنا تسمية خاصيتَي AppCard وTitleCard body إلى content وتم نقلهما إلى نهاية قائمة الخصائص للسماح بتقديمهما باعتبارهما لامدا لاحقة. تمت أيضًا إعادة التسمية bodyColor إلى contentColor للحفاظ على التوافق مع أسماء الخانات الجديدة. (I57e78)

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

  • تمت إضافة روابط تؤدي إلى أدلة developer.android.com من Kdocs، بخصوص الأزرار والبطاقة والشرائح والمظهر ومؤشر الموضع وتوسيع نطاق مكوّنات الأعمدة الكسولة. (I22428)
  • أصلح نظام التشغيل WearOS مرِّر سريعًا ToRejectBox في بعض الأحيان لا يتعامل مع التمريرات السريعة. (I9387e)
  • تمت إضافة نماذج لكل من Button وCompactButton وChip وCompactChip وAppCard وTitleCard وToggleButton وToggleChip وتقسيمToggleChip (Iddc15)
  • وتمت إضافة اختبارات الأداء المصغّرة للبطاقات والشريحة وToggleChip وTimeText وScalingLazyColumn. (If2fe9)

الإصدار 1.0.0-alpha07

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

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

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

  • تمت إضافة مكون CurvedText في المادة وهو مكون يسمح للمطورين بكتابة نص منحنٍ بسهولة متبعًا انحناء دائرة (عادةً على حافة شاشة دائرية). (I19593)

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

  • تمت إضافة اختبارات لحقل TimeText (Idfead)
  • حوِّل ArcPaddingValues إلى واجهة. (Iecd4c)
  • تمت إضافة رسم متحرك إلى ScrollToChooseBox (I9ad1b).
  • تمت إضافة معلمة hasBackground إلى واجهة برمجة التطبيقات للتمرير السريع للتجاهل بحيث يمكن إيقاف إيماءة التمرير السريع عند عدم وجود محتوى في الخلفية لعرضه. (I313d8)
  • تأخذ ميزة "rememberNavController()" الآن مجموعة اختيارية من مثيلات Navigator التي ستتم إضافتها إلى NavController التي تم إرجاعها لتوفير دعم أفضل لبرامج التنقّل الاختيارية، مثل تلك الواردة من مواد التنقّل المتوافقة مع الأجهزة الجوّالة. (I4619e)
  • ارجع إلى NamedNavArgument من navigation-common وأزل نسخة من wear.compose.navigation. (I43af6)

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

  • تم إصلاح الخطأ في اختبار CurvedRow على الأجهزة الأصغر. (If7941)
  • إصلاح الوميض المحتمل على CurvedRow عند تحديث المحتوى، ويضمن إعادة قياس الصف المنحني (Ie4e06).
  • تم تعديل ChipDefaults.RestrictBackgroundChipColors() بما يتماشى مع تغييرات مواصفات تجربة المستخدم. يبدأ التدرج الآن بـ MaterialTheme.colors.primary مع ألفا 32.5% وينتهي بـ MaterialTheme.colors.surface بدرجة ألفا بنسبة 0% على خلفية MaterialTheme.colors.surface @ 75% ألفا. (Id1548)
  • لقد عدّلنا ألوان ToggleChips عندما تكون في الحالة المحدّدة، وذلك لتتوافق مع أحدث إرشادات حول مواصفات تجربة المستخدم لنظام Material Design. عند اختيار ToggleChips، أصبح لديه الآن خلفية متدرجة من MaterialTheme.color.surface @ 0% alpha، من أعلى اليمين، إلى MaterialTheme.color.primary @ 32% alpha، أسفل اليمين، على خلفية من MaterialTheme.color.surface بنسبة ألفا تبلغ% 75. ينتج عن ذلك اختلاف أدق بين وضع علامة في مربّع الاختيار أو عدم وضع علامة فيه في حقل ToggleChip. (Idd40b)

الإصدار 1.0.0-alpha06

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

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

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

  • لقد أضفنا "سقّالة" وهو تطبيق من المستوى الأعلى قابل للإنشاء يوفّر بنية للتعامل مع مؤشرات الموضع (مثل موضع التمرير أو مستوى الصوت)، وهو عبارة عن منطقة أعلى الشاشة لعرض الوقت وحالة التطبيق، كما يتيح استخدام نقوش الصورة النصفية لتمويه حافة الشاشة العلوية والسفلية للمحتوى القابل للتمرير. المنطقة الرئيسية للسقالة هي مكان وضع محتويات التطبيق. (I5e0bf)
  • تمت إضافة تطبيق TimeText لـ Wear Compose (I5654c).

مكتبة التنقّل في تطبيق Wear Compose

  • لقد أضفنا الإصدار الأول من مكتبة التنقّل في نظام التشغيل Wear Compose، والتي توفّر التكامل بين مكتبتَي Wear Compose والتنقل ضِمن Androidx. وهو يوفر وسيلة بسيطة للتنقل بين الدوال @Composable كوجهة في تطبيقك.

  • يوفر هذا الإصدار الأولي ما يلي:

    • جهاز SwipeDismissableNavHost قابل للإنشاء يستضيف رسمًا بيانيًا للتنقّل، ويوفّر إمكانية التنقّل للخلف من خلال إيماءات التمرير السريع
    • إضافة واحدة (NavGraphBuilder.composable) للمساعدة في إنشاء الرسوم البيانية للتنقّل
    • rememberSwipeDismissableNavController() للسماح بحالة الرفع
  • مثال على الاستخدام حيث ننشئ شاشتين ونتنقل بينهما:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • يتم حزم التنقّل في نظام التشغيل Wear Compose كمكتبة منفصلة، وبالتالي لا تتطلّب تطبيقات WearCompose البسيطة التي تنفّذ التنقّل المشغَّل يدويًا الاعتماد على مكتبة التنقّل في نظام التشغيل Androidx.

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

  • تم تحديث "SwipeDismissableNavHost" للتوافق مع rememberSaveable من خلال ضبط الهوية الأساسية للخلفية والمحتوى (I746fd).
  • أضفنا محوّل PositionIndexator الذي يمكنه التعامل مع LazyListState (I21b88).
  • تم تحديث ScrollToSubBox لتتيح إمكانية الحفظ (Ie728b)
  • لقد أضفنا دعم renameLayout إلى ScalingLazyColumn. يتيح ذلك عكس اتجاه التمرير والتنسيق (I9e2fc)
  • تم إيقاف performGesture وGestureScope نهائيًا، وقد تم استبدالهما بـ performTouchInput وTouchInjectionScope. (Ia5f3f، b/190493367)
  • لقد أعدنا تسمية VignetteValue إلى VignettePosition وأطلقنا على VignetteValue.Both اسمهما إلى VignettePosition.TopAndBottom. (I57ad7)
  • قمنا بإعادة تسمية ScalingLazyColumnState إلى ScalingLazyListState و ScalingLazyColumnItemInfo إلى ScalingLazyListItemInfo و ScalingLazyColumnLayoutInfo إلى ScalingLazyListLayoutInfo و ScalingLazyColumnDomain إلى ScalingLazyListScope في حالة ما إذا قررنا إضافة تنفيذ ScalingLazyListScope (I22734)

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

  • تم تعديل وثائق CompactChip لوصف ما يحدث في حال عدم توفير رمز أو تسمية. (I4ba88)
  • لقد أجرينا بعض التعديلات على مكوّنات بطاقة Wear OS. (I6b3d0)
    1. تم تقليل التباعد بين العنوان والنص في بطاقة العنوان من 8.dp إلى 2.dp.
    2. تم تغيير خط عنوان بطاقة TitleCard من النص الأساسي إلى العنوان 3.
    3. تم تغيير تدرج خلفية البطاقة لجعل الخلفية أغمق.

الإصدار 1.0.0-alpha05

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

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

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

  • وضع علامة على ArcPaddingValues على أنها @Stable (I57deb)
  • تنفِّذ ScalingLazyColumnState الآن واجهة ScrollableState لمنح المطورين إمكانية الوصول الآلي لتمرير المكون. (I47dbc)

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

  • لقد قللنا التباعد بين الرمز والنص في الشريحة وToggleChip لكي يتماشى مع التعديلات على مواصفات تجربة المستخدم. (I83802)

الإصدار 1.0.0-alpha04

18 آب (أغسطس) 2021

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

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

  • تمت إضافة ScrollToSepBox ومعدِّل قابل للتمرير السريع يمكن استخدامهما لإتاحة إيماءة التمرير السريع من اليسار إلى اليمين للإغلاق. على الرغم من أنها مستقلة عن مكونات التنقل، فمن المتوقع أن يتم استخدامها للخروج من شاشة والانتقال إلى أخرى. تمت إضافة اختبارات الدمج إلى العرض التوضيحي بالتمرير السريع للإغلاق. (I7bbaa)
  • أضفنا واجهتَي ScalingLazyColumnItemInfo وScalingLazyColumnLayoutInfo إلى الفئة ScalingLazyColumnState. للسماح للمطورين بمعرفة المواضع والأحجام الفعلية للعناصر في ScalingLazyColumn بعد تطبيق التوسيع. وأصلحنا أيضًا خطأً بالطريقة التي تم بها احتساب الحجم عند تطبيق المساحة المتروكة في المحتوى "الأعلى" على عمود ScalingLazyColumn. (I27c07)

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

  • أضِف الفئة CurvedTextStyle لتحديد خيارات نمط النص المقوّس. يشبه TextStyle، ولكنه يتيح الآن استخدام اللون وحجم الخط والخلفية فقط. وستتم إضافة المزيد من خيارات التصميم في المستقبل. (I96ac3)
  • أضفنا واجهتَي ScalingLazyColumnItemInfo وScalingLazyColumnLayoutInfo إلى الفئة ScalingLazyColumnState. للسماح للمطورين بمعرفة المواضع والأحجام الفعلية للعناصر في ScalingLazyColumn بعد تطبيق التوسيع. وأصلحنا أيضًا خطأً بالطريقة التي تم بها احتساب الحجم عند تطبيق المساحة المتروكة في المحتوى "الأعلى" على عمود ScalingLazyColumn. (I27c07)
  • تمت إضافة @ExperimentalWearMaterialApi إلى تعداد SwipeDismissTarget، وهو جزء من واجهة برمجة التطبيقات SwipeToDismissBox. (I48b5e)

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

  • تمت إضافة مواد الاختبار لـ TakeTo المطلوبةBox (I9febc)

الإصدار 1.0.0-alpha03

4 آب (أغسطس) 2021

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

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

  • تمت إضافة مكوّن CurvedText الذي يتيح للمطوّرين كتابة النص بسهولة باتّباع انحناء دائرة (عادةً ما يكون على حافة شاشة دائرية) (Id1267).
  • لقد أعدنا تسمية CardDefaults.imageBackgroundPainter() إلى CardDefaults.imageWithScrimBackgroundPainter() لتوضيح أنّ صورة الخلفية التي تحتوي على إطار مرسوم فوقها. (I53206)
  • إضافة مكوِّن ScalingLazyColumn الذي يوفر مكون قائمة لـ Wear Material الذي يوفر عرضًا عين السمكة مع تقليل حجم محتوى القائمة ويصبح شفافًا عندما يتغير باتجاه حافة العنصر. (I7070c)

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

  • لقد غيَّرنا اللون التلقائي لمحتوى appName في AppCard استجابة لتعديل مواصفات تجربة المستخدم. أصبح اللون التلقائي لاسم appName الآن MaterialTheme.colors.onSurfaceVariant. بالإضافة إلى ذلك، تمت إضافة وصف لمستند معلمة مفقود لخانة العنوان. (Ic4ad1)

الإصدار 1.0.0-alpha02

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

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

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

  • تمت إضافة فئة CurvedRow الجديدة لوضع العناصر القابلة للإنشاء في قوس (I29941)
  • تمت إضافة نوع جديد من البطاقات للاستخدام في التطبيقات (TitleCard)، بالإضافة إلى إمكانية إضافة صور إلى البطاقات كخلفية للبطاقات لإبراز محتواها (I53b0f)

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

  • إتاحة المحاذاة الشعاعية مع CurvedRow (على غرار المحاذاة العمودية في صف) (Id9de5)
  • أضِف فئة CurvedRow جديدة لوضع العناصر القابلة للإنشاء في قوس (I29941)
  • تمت إضافة نوع جديد من البطاقات للاستخدام في التطبيقات (TitleCard)، بالإضافة إلى إمكانية إضافة صور إلى البطاقات كخلفية للبطاقات لإبراز محتواها (I53b0f)
  • تمت إضافة رموز التبديل (مربع اختيار، ومفتاح تبديل، وأزرار الاختيار) إلى ToggleChipDefaults لتسهيل عملية إعداد ToggleChip وتقسيمToggleChips (I7b639 على المطوّرين).
  • تم تعديل المساحة المتروكة في محتوى البداية والنهاية في الشرائح بحيث تصبح 14.dp باستمرار بغض النظر عما إذا كان هناك رمز في الشريحة أم لا (كان في السابق 12.dp في حال توفّر الرمز و14.dp إذا لم يكن كذلك) (I34c86)

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

  • إضافة اختبارات لـ CurvedRow (I93cdb)
  • ربط تبعيات Wear Compose بـ Compose 1.0.0-rc01. (Ie6bc9)
  • تم تغيير تسليم صورة الخلفية في البطاقات والشرائح بحيث يتم اقتصاص الصورة بدلاً من تمديدها للحفاظ على تناسب الصورة. (I29b41)
  • تمت إضافة المزيد من العروض التوضيحية واختبارات الدمج لكل من Button وToggleButton. (5e27ed2)
  • تمت إضافة المزيد من اختبارات الشرائح لتغطية ألوان محتوى imageBackgroundChips (Ia9183).

الإصدار 1.0.0-alpha01

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

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

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

Wear Compose هي مكتبة مستندة إلى لغة البرمجة Kotlin ومتوافقة مع تصميم Wear Material، وهو إحدى إضافات التصميم المتعدد الأبعاد للأجهزة القابلة للارتداء التي تعمل بنظام التشغيل WearOS. يحتوي الإصدار الأولي الأول هذا على عمليات تنفيذ مبكرة ووظيفية لما يلي:

  • تحديد نسق المواد - يخلق الألوان وأسلوب الخط والأشكال باستمرار عبر المكونات المستخدمة من هذه المكتبة.
  • الشريحة وCompactChip: يتم تصميم الرقائق على شكل ملعب، ويمكن إضافة أشكال مختلفة إليها، سواء على مستوى الأيقونة أو شركة الإنتاج أو شركة الإنتاج الثانوية.
  • - ToggleChip وتقسيمToggleChip: نوع متخصص من الرقائق يشتمل على فتحة لرمز تبديل ثنائي الحالة، مثل زر الاختيار أو مربّع الاختيار. بالإضافة إلى ذلك، يحتوي SplitToggleChip على منطقتين قابلتين للنقر، إحداهما قابلة للنقر والأخرى قابلة للتبديل.
  • زر، زر مضغوط - الأزرار دائرية الشكل، مع فتحة محتوى واحدة للرمز أو الحد الأدنى من النص (3 أحرف كحد أقصى).
  • زر التبديل - زر لتشغيل إجراء أو إيقافه، مع فتحة واحدة للرمز أو الحد الأدنى من النص (3 أحرف كحد أقصى).
  • بطاقات وAppCard: مستطيلة الشكل بزوايا مستديرة توفر فتحات للمحتوى مثل رمز التطبيق والوقت والعنوان والجسم.

ستعمل الإصدارات المستقبلية على توسيع نطاق مجموعة التطبيقات المصغّرة مع إضافة دعم لأدوات اختيار تصميم Material Design وأشرطة التمرير والقوائم ومؤشرات الصفحات ومربعات الحوار ومؤشرات rsb القابلة للتمرير والخبز المحمّص وغير ذلك.

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

تم تصميم Wear Compose Material باستخدام المبادئ نفسها المتبّعة في Compose Material، على الرغم من أنّها تستهدف الأجهزة القابلة للارتداء. يجب استخدام مكتبة Wear Compose Material بدلاً من مكتبة Compose Material عند إنشاء جهاز قابل للارتداء.

يجب اعتبار مكتبتَي "Material" غير مختلطتين ويجب عدم مزجهما في التطبيق نفسه. فإذا وجد المطورون أنفسهم يدرجون مكتبة Compose Material في ملحقاتهم، يقترحون إما أ) عدم وجود مكونات في مكتبة Wear Compose Material، يُرجى إخبارنا بما تحتاج إليه، أو ب) استخدام أحد المكوّنات التي لا ننصح باستخدامها على جهاز قابل للارتداء.