Wear Compose

  
يمكنك كتابة تطبيقات Jetpack Compose لأجهزة Wear OS من خلال توفير وظائف تتوافق مع أحجام الأجهزة المختلفة وإيماءات التنقّل.
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأوّلي
‫23 سبتمبر 2026 1.7.0 - - -

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

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

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

Groovy

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

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

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

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.7.0")
    
    // 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.7.0")

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

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

    // 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. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

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

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

الإصدار 1.7

الإصدار 1.7.0

‫23 سبتمبر 2026

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

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

  • تم طرح واجهة برمجة تطبيقات جديدة للإيماءات بيد واحدة، وتتألف من معالجات الإيماءات للإجراء الأساسي (الضغط المزدوج بإصبعين) وإجراء الرفض (تحريك المعصم)، بالإضافة إلى مؤشرات متحركة للنقر/التمرير/تقسيم الصفحة تظهر عند توفّر الإيماءات.
  • تمت إضافة إمكانية استخدام PinnableContainer في TransformingLazyColumn، وذلك للاحتفاظ بعنصر في الذاكرة بدلاً من التخلص منه عند التمرير خارج إطار العرض.
  • يتيح TransformingLazyColumn الآن تحريك العناصر أثناء خروجها من إطار العرض، ما يسمح لها بالانزلاق بسلاسة خارج الشاشة بدلاً من التلاشي.
  • تمت إضافة firstLayoutItemProvider إلى TransformingLazyColumn كتخصيص اختياري لعنصر التصميم الأول. عند تحديدها، يحدّد مقدّم الخدمة العنصر وحافته المستخدَمة كمرجع للموضع الأوّلي، وهو أمر مفيد للتحكّم في اتجاه تغيير موضع المحتوى عند تعديل العناصر بشكلٍ ديناميكي.
  • تحسينات على SwipeToReveal لتوفير التمرير المتداخل، وعمليات التحريك السريع، وردود فعل لمسية ثانية في حالة الكشف الجزئي، وactionContentSpacing للمسافة بين المحتوى الرئيسي وأزرار الإجراءات
  • تم تقديم التعليقَين التوضيحيَين @FrequentlyChangingValue و@RememberInComposition اللذين يوفّران تحذيرات lint لمنع حدوث مشاكل في الأداء بسبب قراءة تحديثات الحالة المتكرّرة أو عدم تذكُّر العناصر أثناء الإنشاء.

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

  • تم تعديل الاعتمادية androidx.lifecycle:lifecycle-runtime إلى الإصدار 2.10.0. هذا الإصدار مطلوب لتشغيل عمليات التحقّق من أخطاء lint المجمَّعة في وقت التشغيل لدورة الحياة مع الإصدار 9.5.0-alpha04 أو إصدار أحدث من "مكوّن Android الإضافي لبرنامج Gradle". (If8e16)

الإصدار ‎1.7.0-rc01

‫9 سبتمبر 2026

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

  • يعدّل هذا الإصدار نسخة Compose for Wear OS 1.7.0 إلى إصدار محتمل، ولكن لا توجد تغييرات مهمة أخرى عن الإصدار 1.7.0-beta02.

الإصدار ‎1.7.0-beta02

‫26 أغسطس 2026

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

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

  • تم تعديل ملفات تعريف خط الأساس لمكتبات Wear Compose Foundation وMaterial3 وNavigation3. (I9b0a3)
  • تم إصلاح مشكلة وميض الرسوم المتحركة الخاصة بتلميحات الإيماءات في OneHandedGestureScrollIndicator. (6e0c1cb)

الإصدار ‎1.7.0-beta01

‫12 أغسطس 2026

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

يشير الإصدار 1.7.0-beta01 من Compose for Wear OS إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وأنّ واجهة برمجة التطبيقات مقفلة. يتضمّن الإصدار 1.7.0-beta01 من Wear Compose الوظائف الجديدة التالية:

  • إتاحة الإيماءات بيد واحدة، والتي تتضمّن أدوات معالجة الإيماءات للإجراء الأساسي (مثل الضغط بإصبعين) وإجراء الرفض (مثل تدوير المعصم) والمؤشرات المتحركة التي توضّح متى تكون الإيماءات متاحة على عناصر واجهة المستخدم القابلة للنقر (مثل الأزرار والبطاقات) والقوائم القابلة للتمرير وأدوات التقسيم إلى صفحات
  • تمت إضافة إمكانية استخدام PinnableContainer في TransformingLazyColumn، وذلك للاحتفاظ بعنصر في الذاكرة بدلاً من التخلص منه عند التمرير سريعًا خارج إطار العرض.
  • يتيح TransformingLazyColumn الآن تحريك العناصر أثناء خروجها من إطار العرض، ما يسمح لها بالانزلاق بسلاسة خارج الشاشة بدلاً من التلاشي.
  • تمت إضافة firstLayoutItemProvider إلى TransformingLazyColumn كتخصيص اختياري لعنصر التصميم الأول. عند تحديدها، يحدّد مقدّم الخدمة العنصر وحافته المستخدَمة كمرجع للموضع الأوّلي، وهو أمر مفيد للتحكّم في اتجاه تغيير موضع المحتوى عند تعديل العناصر بشكلٍ ديناميكي.
  • تحسينات على SwipeToReveal لتوفير التمرير المتداخل، وعمليات التحريك السريع، وردود فعل لمسية ثانية في حالة الكشف الجزئي، وactionContentSpacing للمسافة بين المحتوى الرئيسي وأزرار الإجراءات
  • تم تقديم التعليقَين التوضيحيَين @FrequentlyChangingValue و@RememberInComposition اللذين يوفّران تحذيرات lint لمنع حدوث مشاكل في الأداء بسبب قراءة تحديثات الحالة المتكرّرة أو عدم تذكُّر العناصر أثناء الإنشاء.

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

  • تمت إعادة تسمية GestureAction إلى OneHandedGestureAction وGesturePriority إلى OneHandedGesturePriority وGestureIndicatorSize إلى OneHandedGestureIndicatorSize (Ifc7f4 وb/522761843)

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

  • تم إصلاح مشكلة في ScrollInfoProvider كانت تؤدي إلى وميض TimeText أو اختفائه عند تغيير عناصر القائمة أو تغيير حجمها. (Ief762، b/537433564)

الإصدار ‎1.7.0-alpha07

‫29 يوليو 2026

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

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

  • تمت إعادة تصميم واجهات برمجة التطبيقات OneHandedGesture، واستبدال حالة مؤشر القيمة المنطقية (التي كانت تتطلّب إعادة الضبط بعد عرض المؤشر) بدالّة تعليق لتشغيل الصورة المتحركة. يحتوي كل نوع من المؤشرات الآن على فئة حالة مؤشر خاصة به، تتضمّن منطق الحركة لهذا المؤشر. تم تغيير الاسم من key إلى gestureId في GestureConfiguration. (I7974f، b/522761843)
  • إضافة CompactButton زيادة تحميل المحتوى في خانة واحدة (Idaffc، b/527889640)
  • إضافة دعم PinnableContainer إلى TransformingLazyColumn (Id3dc9، b/492418172)

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

  • تمت إضافة وتعديل مستندات على مستوى الوحدة النمطية لكلّ من Wear Compose Foundation وMaterial 3 وNavigation 3. (I111d7، b/498153783)
  • تم إصلاح مشكلة في ScreenScaffold حيث يمكن أن تؤدي عمليات إعادة التركيب إلى إعادة ضبط حالة تتبُّع التمرير التي لم يتم تذكُّرها في ScrollInfoProvider. (I8be02، b/524620765)
  • حدث خطأ في العنوان IllegalArgumentException: maxWidth must be >= than minWidth بسبب مساحات الحشو الأفقية الكبيرة (I014e8، b/531192734)
  • إصلاح مشكلة الرسوم المتحركة EdgeButton عند التمرير السريع (I9657f، b/512700520)

الإصدار 1.7.0-alpha06

‫15 يوليو 2026

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

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

  • نقل عناصر ButtonContent وAppCardContent وTitleCardContent القابلة للإنشاء في Material3 إلى العنصرَين ButtonDefaults وCardDefaults على التوالي (I8d589، b/527889640)
  • إزالة القيمة التلقائية من المَعلمة Modifier.oneHandedGesture gestureLabel (Ica100، b/527068051)
  • تمّت إعادة تسمية gestureLabel إلى onGestureLabel في Modifier.oneHandedGesture وجعلها تقبل القيم الخالية، وذلك لتحقيق الاتساق مع مَعلمات contentDescription الأخرى (I952a8، b/527068051)
  • أضِف OneHandedGestureIndicatorState لتنسيق مستوى الظهور والرسوم المتحركة بين Modifier.oneHandedGesture() ومؤشرات الإيماءات. استبدِل InteractionSource بهذا الأسلوب المستند إلى الحالة لتحسين التحكّم في مراحل النشاط. أضِف المَعلمة wrapAround إلى OneHandedGestureDefaults.scrollToNextPage لتحقيق الاتساق مع وظائف التمرير الأخرى باستخدام الإيماءات التلقائية. (I9e1e3، b/522761843)

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

  • توضيح مستندات interactionSource بشأن Modifier.oneHandedGesture لتحديد التفاعلات التي يتم إصدارها (I2dc8d)
  • تمت إزالة ميزة الإيماءات بيد واحدة في AlertDialog مؤقتًا بشكل تلقائي، وذلك بسبب مشاكل في الاعتماد على Wear SDK في الأجهزة التي لا تستخدم Wear SDK أو الإيماءات بيد واحدة. (Ib19e0، b/503841738)
  • تم تحسين TransformingLazyColumn لتوفير صور متحركة للعناصر التي تخرج من إطار العرض، ما يسمح لها بالانزلاق خارج الشاشة بدلاً من التلاشي. تم أيضًا إصلاح مشكلة التثبيت المرئي التي كانت تؤدي إلى تثبيت العناصر التي تم تغيير حجمها ديناميكيًا على الارتفاع المستهدف على الفور أثناء الرسوم المتحركة الخاصة بموضعها (I89d84، b/525071281).
  • استخدِم ItemInfo المستندة إلى الفهرس في firstVisibleItemLayoutItemInfo. (I256e3، b/527881678)
  • تم إصلاح سلوك الرسوم المتحركة TimePicker عند تفعيل خيار "الحدّ من الحركة". (Ic9150، b/467288916)

الإصدار ‎1.7.0-alpha05

‫01 يوليو 2026

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

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

  • تمت إضافة واجهة TransformingLazyColumnFirstLayoutItemProvider في Foundation لإتاحة تخصيص المحتوى الذي يغيّر اتجاهه أثناء تعديلات المحتوى، بالإضافة إلى عمليات التنفيذ الجاهزة rememberTransformingLazyColumnFirstLayoutItemProvider وrememberTransformingLazyColumnFirstVisibleItemProvider في Material3. (I54814، b/503353428)

  • تمت إعادة تسمية مَعلمة الاحتياط من current إلى centerItem في TransformingLazyColumnFirstLayoutItemProvider. تمت إضافة الإضافتين TransformingLazyColumnState وfirstVisibleItemLayoutItemInfo، وتم تعديل layoutItemInfoOf rememberTransformingLazyColumnFirstLayoutItemProvider لاستخدام دالة lambda بسيطة تستند إلى المَعلمات. (I9a8d9، b/503353428)

  • إضافة عمليات تحميل زائدة لمحتوى "الزر" و"البطاقة" في Material3 اللذين يتضمّنان خانات متعدّدة، وذلك لاستخدامهما مع الإيماءات بيد واحدة (I74ccb، b/515718015، b/490343658)

  • إضافة ميزات تسهيل الاستخدام إلى الإيماءات بيد واحدة (I0054d، b/519085906)

  • إعادة تسمية OneHandedGestureDefaults.scrollToNextItem() إلى OneHandedGestureDefaults.scrollDownToNextItem وإضافة المَعلمة wrapAround إلى دوال التمرير OneHandedGestureDefaults (I940ce، b/509639667)

  • أضِف Modifier.oneHandedGesture() غير قابل للإنشاء إذا كان المطوّر يريد تقديم المفتاح يدويًا. (I191e1، b/504712626)

  • تمت إعادة تسمية واجهة برمجة التطبيقات offsetOf في RevealState إلى positionOf. (I2675f، b/522387997)

  • تمت إضافة المَعلمة actionContentSpacing إلى SwipeToReveal، ما يتيح للمطوّرين تخصيص المسافة بين مواضع الإعلانات التي تحثّ على اتّخاذ إجراء والمحتوى. (I2abaf، b/507073912)

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

  • تم إصلاح مشكلة في ScreenScaffold حيث يمكن أن تؤدي عمليات إعادة التركيب إلى إعادة ضبط حالة تتبُّع التمرير التي لم يتم تذكُّرها في ScrollInfoProvider. (I98f6d، b/524620765)
  • TransformingLazyColumn يتبع لون شريط التمرير لون خلفية مؤشر الإيماءات أثناء حركة المؤشر (I353fb، b/524915104)
  • تم تغيير الإعداد التلقائي OneHandedGestureIndicator gestureIndicatorTint إلى LocalContentColor (I1abd3، b/524228063)
  • تحديد مَعلمات لوصف محتوى أدوات اختيار اليوم والسنة في DatePicker لتوفير إمكانية الترجمة (I5dcd9، b/430563857)
  • تقديم معدّلات عرض تكيفية في GestureIndicators استنادًا إلى ما إذا كان المؤشر يتم عرضه داخل مكوّن واجهة المستخدم المضيف أو خارجه (Ic618f، b/515071642)
  • تم إصلاح مشكلة التزامن عند تفعيل الإيماءات بيد واحدة (I7b95f، b/512086558)

الإصدار ‎1.7.0-alpha04

‫3 يونيو 2026

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

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

  • تمت إضافة RevealState.drag() وSwipeToRevealDragScope، وتم عرض flingBehavior مخصّص في SwipeToReveal للسماح بالتحكّم آليًا في إيماءات التمرير السريع والإزاحات والرسوم المتحركة الخاصة بالاستقرار. (Ibfe56، [b/484185090]
  • تم توسيع OneHandedGestureIndicator ليشمل الإجراءَين "أساسي" و"رفض"، ونقل بنية الربط إلى InteractionSource لإدارة مراحل النشاط آليًا. (I7e893، [b/512836472]
  • تمت إضافة ميزة التمرير الجديدة المستندة إلى الإيماءات للمكوّنات المستندة إلى ScalingLazyColumn ومربّعات الحوار الخاصة بالتنبيهات. يقدّم هذا التحديث ميزة التمرير التلقائي بنسبة% 50 من الشاشة لتحسين إمكانية التوقّع، ويتضمّن وضعًا اختياريًا "للانتقال السريع إلى العنصر" لتسهيل التنقّل بدقة. (Ie9cfb، [b/509639667]
  • استبدِل علامة isOneHandedGesturesInAlertDialogEnabled في Wear Compose Material3 بالعلامة LocalOneHandedGestureEnabled CompositionLocal، التي يمكن استخدامها لإيقاف الإيماءات بيد واحدة في جميع تسلسلات المكوّنات الهرمية. (Ib9240، [b/516777416]
  • تم إيقاف ButtonDefaults نهائيًا.ExtraSmallIconSize وButtonDefaults.SmallIconSize، وكانت هذه القيم التلقائية خاصة بـ CompactButton وتم نقلها إلى CompactButtonDefaults.‫ExtraSmallIconSize وCompactButtonDefaultsSmallIconSize على التوالي (Id747c، [b/513588028]

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

  • إصلاح مشكلة الرسوم المتحركة EdgeButton عند التمرير السريع (I88215، [b/512700520]
  • إصلاح مشكلة عدم تعديل AppScaffold TimeText عند إعادة التركيب (Iecea5، [b/512439755]
  • يجب أن تستخدم ScreenScaffold بشكل صريح PaddingValues التي توفّرها دالة lambda للمحتوى الداخلي. (I20d71، [b/512355364]
  • تمت إضافة التعليقين التوضيحيين ‎ @FrequentlyChangingValue و‎ @RememberInComposition لتقديم تحذيرات lint لمنع حدوث مشاكل في الأداء بسبب قراءة تحديثات الحالة المتكررة أو عدم تذكُّر العناصر أثناء الإنشاء. (I955f4، [b/409488336]
  • تأكَّد من أنّ تأثير التموّج ينشأ من وسط الزرّ عند تفعيل إيماءة بيد واحدة لعناصر Button القابلة للإنشاء. (Ie61ec، [b/514600304]
  • تم حلّ مشكلة تعارض المفاتيح في Modifier.oneHandedGesture من خلال دمج إجراء الإيماءة والأولوية في المفتاح الذي يتم إنشاؤه تلقائيًا. (I49760، [b/517045657]

الإصدار ‎1.7.0-alpha03

‫19 مايو 2026

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

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

  • أضِف Modifier.oneHandedGesture() غير قابل للإنشاء إذا كان المطوّر يريد تقديم المفتاح يدويًا. (I191e1، b/504712626)
  • إزالة مؤشرات الإيماءات من OneHandedGestureDefaults وإتاحة استخدام الألوان في الإيماءات بيد واحدة (I7934f، b/505009712، b/504712626)
  • تمت إضافة معالجة صريحة لإيماءات الإغلاق بيد واحدة في AlertDialog. (Id71e8، b/509675781)
  • لم تعُد ميزة "DeferredTargetAnimation" تجريبية، يُرجى إزالة الموافقة. (I1e4ae، b/500030165)

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

  • تم إصلاح مشكلة التزامن عند تفعيل الإيماءات بيد واحدة (I7b95f، b/512086558)
  • تم إصلاح مشكلة انعكاس مؤشرات الإيماءات بيد واحدة استنادًا إلى اتجاه المعصم بدلاً من LayoutDirection. (I6db5d، b/512003346)
  • إصلاح مشكلة رسم الحدود على عناصر TLC (I0c3c1، b/510772213)
  • تمت إضافة معاينات للصور المضمّنة للعينات في Kdoc للملفات SurfaceTransformation.kt وSwitchButton.kt وTextButton.kt. سيتم الآن عرض هذه الصور في مستندات صفحات DAC الخاصة بـ Wear Compose Material 3، ما يوفّر للمطوّرين سياقًا مرئيًا فوريًا لكل خيار ومثال من خيارات الأزرار. (Ib53ae، b/484905061)
  • تمت إضافة معاينات للصور المضمّنة لجميع العيّنات في Kdoc من Button.kt. سيتم الآن عرض هذه الصور مباشرةً في المستندات على صفحات DAC الخاصة بمكتبة Wear Compose Material 3، ما يوفّر للمطوّرين سياقًا مرئيًا فوريًا لكل خيار ومثال من أزرار التطبيق. (Ie2fb5، b/484905061)
  • تمت إضافة معاينات للصور المضمّنة للعينات في KDoc ضمن Card.kt وIconButton.kt وLevelIndicator.kt وListHeader.kt. سيتم الآن عرض هذه الصور في مستندات صفحات DAC الخاصة بـ Wear Compose Material 3. (I371bc، b/484905061)
  • تمت إضافة معاينات للصور المضمّنة للعينات في KDoc لكل من Picker وSegmentedCircularProgressIndicator وSlider وStepper. سيتم الآن عرض هذه الصور في مستندات صفحات DAC الخاصة بـ Wear Compose Material 3، ما يوفّر للمطوّرين سياقًا مرئيًا فوريًا لهذه المكوّنات والأمثلة. (I6c6ef، b/484905061)
  • تمت إضافة معاينات للصور المضمّنة في عيّنات KDoc لكل من CheckboxButton وSplitCheckboxButton وCircularProgressIndicator وConfirmationDialog وSuccessConfirmationDialog وFailureConfirmationDialog وcurvedText. سيتم الآن عرض هذه الصور في مستندات صفحات DAC الخاصة بـ Wear Compose Material 3، ما يوفّر للمطوّرين سياقًا مرئيًا فوريًا لهذه المكوّنات والأمثلة. (Ie4662، b/484905061)
  • Fix AlertDialogScreenshotTest test (I9be58، b/508678506)
  • تمت إضافة معاينات للصور المضمّنة للعينات في KDoc لكل من NonClickableCard وOpenOnPhoneDialog وVerticalPageIndicator وVerticalPagerScaffold وRadioButton. سيتم الآن عرض هذه الصور في مستندات صفحات DAC الخاصة بـ Wear Compose Material 3، ما يوفّر للمطوّرين سياقًا مرئيًا فوريًا لهذه المكوّنات والأمثلة. (I2aa2d، b/484905061)

الإصدار ‎1.7.0-alpha02

‫6 مايو 2026

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

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

  • حجم GestureIndicator مثبّت في AlertDialogs (I0c16e، b/504912009)
  • تم تعديل LeftRevealed/RightRevealed من نقاط الارتكاز البالغ عددها SwipeToReveal لتحديد موضع العناصر التي تظهر خارج حدود الشاشة. (Id84ff، b/498681589)
  • إضافة وصف الحالة إلى Checkbox وSwitch (Iba12e، b/485098874)
  • تم إصلاح خطأ مرئي في FadingExpandingLabel كان يؤدي إلى ظهور النص القديم بشكل متقطع عند تقليل عدد الأسطر. (Ia40c9، b/503709020)
  • إضافة إيماءة تلقائية بيد واحدة إلى Material3 AlertDialog (I5848e، b/479098589)
  • تمت إزالة منطق إمكانية العرض المضمّن في وضع اليد الواحدة (I8c602، b/502903320)

الإصدار 1.7.0-alpha01

‫8 أبريل 2026

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

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

  • تم طرح واجهة برمجة تطبيقات جديدة للإيماءات بيد واحدة، حيث يمكن تسجيل عمليات ردّ الاتصال ذات الأولوية للإجراءات الأساسية وإجراءات الرفض. يحدّد النظام تلقائيًا العنصر الأكثر صلة على الشاشة لضمان تفعيل الإيماءات ومؤشراتها فقط للعناصر التي يمكن للمستخدم رؤيتها والتفاعل معها حاليًا. أضِف Modifier.oneHandedGesture إلى الدالة المركّبة المرتبطة بالإيماءة (مثل الزر)، واستخدِم OneHandedGestureDefaults.GestureIndicator لإعلام المستخدم عندما يكون إجراء الإيماءة متاحًا. يمكن أيضًا بدء التمرير والتصفّح باستخدام الإيماءة الأساسية، مع اقتراح استخدام OneHandedGestureDefaults.scrollDown وOneHandedGestureDefaults.scrollToNextPage في عمليات معاودة الاتصال. يتم توفير OneHandedGestureDefaults.ScrollGestureIndicator وOneHandedGestureDefaults.VerticalPageGestureIndicator كبديلَين لـ ScrollIndicator وPageIndicator على التوالي، وذلك لعرض مؤشر إيماءة للمستخدم مؤقتًا. (Ic6324، b/479098447، b/485488443)
  • تمت إضافة requestAnchorItem إلى TransformingLazyColumnState وتم تقديم TransformingLazyColumnAnchorType لمنح المطوّرين تحكّمًا دقيقًا في اتجاه توسيع العناصر وتثبيت التصميم. (I0c1e6، b/494301025)
  • تمت إضافة العلامة isSwipeToRevealDualFlingThresholdEnabled التي تكون مفعّلة تلقائيًا، ولكن يمكن إيقافها إذا تسبّبت إصلاحات الأخطاء في سلوك التمرير السريع في SwipeToReveal في هذا الإصدار في حدوث تراجع (في هذه الحالة، يُرجى إبلاغنا عن الخطأ في أقرب وقت ممكن) (Ie6db6، b/497743775)

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

  • تم تحسين SwipeToReveal لتوفير عمليات تحريك سريعة، ما يتيح للمستخدمين الكشف عن الإجراءات بالكامل بغض النظر عن مسافة التمرير السريع (يمكن إيقاف هذا التغيير من خلال إيقاف العلامة isSwipeToRevealDualFlingThresholdEnabled). (I833fd، b/490728860)
  • تم إصلاح SwipeToReveal لتفعيل التمرير السريع الكامل عند التمرير على أكثر من% 75 من عرض الشاشة (يمكن إيقاف هذا التغيير من خلال إيقاف العلامة isSwipeToRevealDualFlingThresholdEnabled). (Id5604، b/490728860)
  • تمت إضافة تجاوب حسّي ثانٍ لـ SwipeToReveal عندما يصل التمرير السريع إلى حالة الكشف الجزئي (يمكن إيقاف هذا التغيير من خلال إيقاف العلامة isSwipeToRevealDualFlingThresholdEnabled). (Ic27e3، b/492273799)
  • تم إصلاح مشكلة في TransformingLazyColumn حيث توقّفت رسوم العناصر المتحركة (Modifier.animateItem) عن العمل. (I904ec، b/493167084)
  • تم إصلاح خطأ في PickerGroup (وبالتالي في DatePicker) لمنع اللمسات المتعددة من التسبّب في التمرير المطلوب في أعمدة أداة اختيار التاريخ والوقت غير المحدّدة (Id76c5، b/378646798)

الإصدار 1.6 من Wear Compose

الإصدار 1.6.2

‫19 مايو 2026

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

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

  • إصلاح مشكلة رسم الحدود على عناصر TransformingLazyColumn (I0c3c1، b/510772213)

  • حلّ مشكلة تعيين itemSpacing في استراتيجية قياس مساحة الحشو في المحتوى TransformingLazyColumn (I12d2f، b/498137919)

الإصدار 1.6.1

‫8 أبريل 2026

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

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

  • تم إصلاح مشكلة توقّف رسوم العناصر المتحركة (من خلال Modifier.animateItem) عن العمل في TransformingLazyColumn. (I904ec، b/493167084)

الإصدار 1.6.0

‫25 مارس 2026

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

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

  • تم طرح مكتبة Wear Compose Navigation3 التي تتكامل مع مكوّنَي NavDisplay وSceneStrategy في مكتبة Navigation 3، ما يتيح إضافة منطق التمرير السريع للإغلاق الخاص بأجهزة Wear باستخدام SwipeDismissableSceneStrategy الجديد.
  • تمت إضافة دعم TransformingLazyColumn إلى reverseLayout، والتقاط الصور باستخدام TransformingLazyColumnDefaults.snapFlingBehavior وModifier.minimumVerticalContentPadding، ما يتيح تحديد مساحة متروكة مفضّلة للمحتوى للعناصر في القائمة عندما تكون في الحواف العلوية أو السفلية.
  • تمت إضافة عمليات تحميل زائدة جديدة للدالة AlertDialog تستخدم TransformingLazyColumn للحفاظ على الاتساق مع التمرير في شاشات Material3 الأخرى.
  • تحسين عرض النص المنحني، لا سيما للخطوط المائلة، من خلال إدخال ميزة "تشويه النص" باستخدام المَعلمة الجديدة CurvedTextStyle warpOffset، والتي يتم تفعيلها تلقائيًا في الإصدار 34 من واجهة برمجة التطبيقات والإصدارات الأحدث
  • تمت إضافة LocalAmbientModeManager، وهي CompositionLocal جديدة تتيح تحديد واجهة مستخدم وسلوك مختلفَين للوضعَين التفاعلي والمحيطي.
  • للاطّلاع على قائمة أكثر اكتمالاً بالميزات التي تم طرحها في الإصدار 1.6.0، يُرجى الاطّلاع على ملاحظات إصدار الإصدار التجريبي 01.

الإصدار 1.6.0-rc01

‫11 مارس 2026

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

  • يعدّل هذا الإصدار نسخة Compose for Wear OS 1.6.0 إلى إصدار محتمل، ولكن لا توجد أي تغييرات مهمة أخرى مقارنةً بالإصدار 1.6.0-beta01.

الإصدار 1.6.0-beta01

‫25 فبراير 2026

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

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

  • مكتبة Wear Compose Navigation3، التي تتكامل مع مكوّنَي NavDisplay وSceneStrategy في مكتبة Navigation 3، وتضيف منطق التمرير السريع للإغلاق الخاص بأجهزة Wear باستخدام SwipeDismissableSceneStrategy الجديد.
  • تمت إضافة دعم TransformingLazyColumn إلى reverseLayout، والتقاط الصور باستخدام TransformingLazyColumnDefaults.snapFlingBehavior وModifier.minimumVerticalContentPadding، ما يتيح تحديد مساحة متروكة مفضّلة للمحتوى للعناصر في القائمة عندما تكون في الحواف العلوية أو السفلية.
  • تمت إضافة عمليات تحميل زائدة جديدة للدالة AlertDialog تستخدم TransformingLazyColumn للحفاظ على الاتساق مع التمرير في شاشات Material3 الأخرى.
  • تحسين عرض النص المنحني، لا سيما للخطوط المائلة، من خلال إدخال ميزة "تشويه النص" باستخدام المَعلمة الجديدة CurvedTextStyle warpOffset، والتي يتم تفعيلها تلقائيًا في الإصدار 34 من واجهة برمجة التطبيقات والإصدارات الأحدث
  • تمت إضافة LocalAmbientModeManager، وهي CompositionLocal جديدة تتيح تحديد واجهة مستخدم وسلوك مختلفَين للوضعَين التفاعلي والمحيطي.
  • تم تعديل TimePicker ليتوافق مع النوع الجديد MinutesSeconds وليشمل المَعلمة الجديدة initialSelection لتحديد مكوّن الوقت المحدّد في البداية.
  • عمليات تحميل زائدة جديدة على البطاقات لتوفير صيغ غير قابلة للنقر حيث تكون البطاقات عرضية فقط ولا يُقصد منها الاستجابة لنقرات المستخدمين
  • تمت إضافة LocalRippleConfiguration لتوفير إمكانية التحكّم في مظهر التموج.
  • تمّت إضافة المَعلمة snapSensitivity إلى RotaryScrollableDefaults.snapBehavior وPagerScaffoldDefaults، وهي تتضمّن الآن القيم التلقائية المقترَحة لكلّ من SnapPositionalThreshold وHighSnapPositionalThreshold لاستخدامها مع PagerDefaults.snapFlingBehavior.

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

  • تمت إعادة تسمية القيم التلقائية المقترَحة لـ Modifier.minimumVerticalContentPadding من minimumListVerticalContentPadding إلى minimumVerticalListContentPadding للتأكيد على أنّ مساحة العرض هذه تشير إلى القائمة، وتم تعديل المستندات ذات الصلة. (I496ca، b/426154225)
  • يتم الآن تشويه النص المنحني تلقائيًا، ما يؤدي إلى تحسين عرض النص المنحني، خاصةً للخطوط المائلة. (I6979d، b/450526792، b/481617443)

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

  • إصلاح التفاعل بين عناصر التحكّم في المحتوى المباشر animateItem وminimumVerticalContentPadding (Ia865c، b/483663045)
  • أصبح الإزاحة المشوّهة للنص المنحني مفعّلة تلقائيًا فقط في الإصدار 34 من واجهة برمجة التطبيقات والإصدارات الأحدث، وذلك بسبب الاعتماد على PathIterator من مكتبة androidx.graphics.path غير المتاحة لاختبار المطوّرين باستخدام Robolectric قبل الإصدار 34 من واجهة برمجة التطبيقات (ما يؤدي إلى تعطُّل اختبارات المطوّرين الحالية). (Ie5bae، b/484319336)
  • تحسين جودة النص المنحني المشوّه (If2b34، b/483390353)
  • تم تعديل ConfirmationDialogDefaults.SuccessIcon لتجاهل اتجاه التنسيق من اليمين إلى اليسار كي لا يتم عكس علامة الاختيار. (Ic6add، b/481966029)

الإصدار ‎1.6.0-alpha10

‫11 فبراير 2026

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

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

  • تمت إعادة تسمية Modifier.responsiveVerticalPadding إلى Modifier.minimumVerticalContentPadding، مع استخدام مَعلمات المساحة المتروكة كوحدات بكسل مستقلة عن الكثافة، بدلاً من واجهة ResponsiveVerticalPadding. تم نقل الإعدادات التلقائية المقترَحة من ResponsiveVerticalPaddingDefaults إلى عناصر الإعدادات التلقائية الخاصة بالمكوّنات، مثل ButtonDefaults وCardDefaults وما إلى ذلك (Icaab2، b/426154225)
  • تمت إضافة WearComposeFoundationFlags.isTransformingLazyColumnClickableThresholdEnabled للتحكّم في الوظيفة الجديدة التي تم طرحها في TransformingLazyColumn، والتي تتجاهل الآن النقرات التي تتجاوز الحدّ البالغ 20 وحدة بكسل مستقل الكثافة في أعلى وأسفل التصميم، وذلك لمنع النقرات غير المقصودة في الأماكن التي لا يظهر فيها العنصر إلا بشكل جزئي. تم أيضًا تعديل التغيير ليتم فقط اعتراض النقرات على العناصر الطرفية في الأحداث التي تقع ضمن مساحة التفاعل باللمس، وذلك لتجنُّب تجاهل إيماءات السحب. (I1ba28، b/480910891)
  • تستخدِم rememberAmbientModeManager الآن LocalActivity في عملية التنفيذ للحصول على "النشاط" الحالي، بدلاً من استخدام "النشاط" كمَعلمة (Idf114، b/473603258)
  • تم تغيير AmbientMode ليكون غير شامل من أجل إمكانية التوسيع (I92cc3، b/473603258)
  • تم تعديل rememberSwipeDismissableSceneStrategyState لإزالة المَعلمة swipeToDismissBoxState، لأنّها تفصيل تنفيذي حتى المستوى 35 من واجهة برمجة التطبيقات فقط (I5907c، b/476105162)
  • [TLC] تمت إضافة Modifier.responsiveVerticalPadding إلى TransformingLazyColumn، ما يتيح إجراء تعديلات تلقائية على مساحة العرض الداخلية للمحتوى بما يتوافق مع إرشادات التصميم Material 3 في Wear OS. (Ia7e73، b/426154225)

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

  • تم تعديل شرط الجلب المسبق TransformingLazyColumn ليتم احتساب الأولوية استنادًا إلى حواف إطار العرض بدون مساحة متروكة (I48d85، b/476420552)
  • تتيح السمة Picker الآن الشفافية السلسة على الخلفيات المخصّصة، مثل التدرجات أو الصور، وذلك من خلال تمرير Color.Unspecified كقيمة gradientColor في أداة الاختيار. بالنسبة إلى TimePicker وDatePicker، يمكن تحقيق هذا التأثير من خلال إلغاء MaterialTheme.colorScheme.background محليًا واستبداله بـ Color.Unspecified. (Icc476، b/458429791، b/458429791)
  • تم تقديم حدّ أدنى للنقر يبلغ 20 وحدة بكسل مستقلة الكثافة لعناصر TransformingLazyColumn في أعلى الشاشة وأسفلها، وذلك لمنع النقرات غير المقصودة عندما تكون العناصر مخفية إلى حد كبير. (I2c9cb، b/443285887)
  • تم تحسين طريقة التعامل مع ميزة "الحدّ من الحركة" في OpenOnPhoneDialog. (Ib1d12، b/48558283)

الإصدار 1.6.0-alpha09

‫28 يناير 2026

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

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

  • تمّت إعادة تسمية PagerScaffoldDefaults.SnapPositionalThreshold إلى LowSnapPositionalThreshold وRotaryScrollableDefaults.SnapSensitivity إلى LowSnapSensitivity (I157ee، b/449949891)
  • تمت إزالة المعدِّل من SwipeDismissableSceneStrategy. (Iff30f، b/449949891)

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

  • إصلاح مشكلة تأخّر الرسوم المتحركة عند التمرير السريع في سلوك المحاذاة (I7db89، b/474016470)
  • إصلاح SwipeDismissableSceneStrategy الذي يمنع الرجوع إلى الخلف في الإصدار 36 من واجهة برمجة التطبيقات أو الإصدارات الأحدث (Icf20b، b/476105162)
  • إصلاح مشكلة عدم ظهور تأثير SwitchButton بشكل صحيح عند تغيير حجم الشكل أو تلاشيه (I7a7eb، b/378644361)
  • تحسين الصورة المتحركة الخاصة بعرض رمز التحقّق من CheckboxButton بالتناوب (I89944، b/378646769)

الإصدار ‎1.6.0-alpha08

‫14 يناير 2026

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

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

  • تم تعديل RotaryScrollableDefaults.snapBehavior لتلقّي المَعلمة snapSensitivity من النوع float، وأصبحت PagerScaffoldDefaults الآن تتيح للجميع القيم التلقائية المقترَحة SnapPositionalThreshold وHighSnapPositionalThreshold لاستخدامها مع PagerDefaults.snapFlingBehavior. (I7e11c، b/449949891)
  • تمت إضافة دعم المحاذاة إلى TransformingLazyColumn لكلّ من الإدخال باللمس وإدخال البيانات عبر وحدة تحكم دورانية. عند ضبط ميزة "المحاذاة"، يُنصح بتوفير كل من flingBehavior باستخدام TransformingLazyColumnDefaults.snapFlingBehavior وrotaryScrollableBehavior باستخدام RotaryScrollableDefaults.snapBehavior للحصول على تجربة متّسقة. (I5326f، b/422455104)
  • تم تقديم LocalAmbientModeManager، وهي دالة مركّبة جديدة لتحديد واجهات مستخدم وسلوك مختلفَين بسهولة في الوضعَين التفاعلي ووضع عدم النشاط. (I00161، b/427724331)

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

  • تم إصلاح مشكلة عدم ارتداد القوائم التي تتضمّن سلوك التثبيت الدوّار بعد التمرير الزائد. (I05216، b/470317969)
  • تم إصلاح مشكلة تأثير التموّج في زرَي الزيادة والإنقاص في أداة Material3 Slider. يمتد التأثير الآن بشكل صحيح على كامل عرض مكوّن شريط التمرير. (I8c0c4، b/378658409)

الإصدار 1.6.0-alpha07

‫17 ديسمبر 2025

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

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

  • تمت إضافة العنصر wear-compose:compose-navigation3 إلى المكتبة (I01b5c، b/427463127)
  • تمت إضافة SwipeDismissableSceneStrategy لإمكانية استخدام Navigation3 على Wear. يمكن استخدامه مع NavDisplay لعرض محتوى Wear Compose. (I7aa08، b/427463127)
  • نقدّم لك ResponsiveTransformingLazyColumn، وهو مكوّن جديد من Material3 يستند إلى TransformingLazyColumn من أساسيات Wear Compose، ويحتسب تلقائيًا مساحة الحشو العمودية المتجاوبة ويطبّقها استنادًا إلى نوع محتوى القائمة. (I102f4، b/426154225)

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

  • تم إصلاح مشكلة عدم إعادة رسم PageIndicator بشكلٍ صحيح عند تغيير فهرس الصفحة الحالية ضمن PagerState (على سبيل المثال، من خلال استدعاء scrollToPage() أو استخدام animateScrollToPage() مع خيار "تقليل الحركة"). (I97150، b/465669950)
  • إصلاح دلالات TransformingLazyColumn واحتساب scrollOffset (Idec30، b/417941554)
  • تم تصحيح مساحة العرض المتروكة في إجراء التراجع SwipeToReveal (I770f8 وb/382259843)
  • تم تنفيذ PredictiveBackScene للتعامل مع Navigation3 في الإصدار 36 من واجهة برمجة التطبيقات والإصدارات الأحدث. (Idedf6، b/427463127)

الإصدار 1.6.0-alpha06

‫3 ديسمبر 2025

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

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

  • تمت إضافة LocalRippleConfiguration لتوفير إمكانية التحكّم في مظهر التموج (I9e0fa، b/382336566)
  • تمت إضافة عمليات تحميل زائدة جديدة للرمز AlertDialog تستخدم TransformingLazyColumn لتوفير تحكّم متقدّم في الرسوم المتحركة الخاصة بتمرير العناصر. تمت إضافة تحسينات على التنسيق للشاشات الأكبر حجمًا. (I862ff، b/438468382)
  • تمّت إضافة مَعلمة التحويل إلى ButtonGroup، لاستخدامها مع الحاويات المتغيّرة ديناميكيًا، مثل TransformingLazyColumn. (I8743b، b/453710565)

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

  • حلّ مشكلة ظهور عنوان AlertDialog وزرَّي التأكيد/الرفض عدة مرات في التكوين (I8e1b0، b/463955367)
  • اجعل رمز TimeText أكثر قوة عند الاستماع إلى تغييرات TimeZone. (I1c276، b/457909952)
  • تحسين أداء SplitRadioButton وSplitCheckboxButton من خلال تقليل عدد عمليات إعادة الإنشاء (I3ddc9، b/455845192)

الإصدار ‎1.6.0-alpha05

‫19 نوفمبر 2025

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

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

  • إضافة RotarySnapSensitivity لسلوك الالتقاط الدوّار وPagerSensitivity لسلوك التمرير السريع في أجهزة النداء، وذلك للسماح للتطبيقات بضبط مستوى حساسية السلوك الدوّار وسلوك التمرير السريع، خاصةً في أجهزة النداء (Ic3a83، b/449949891)
  • تغييرات مبسطة على rememberTransformingLazyColumnState تم إجراؤها عند طرح التنسيق العكسي لـ TransformingLazyColumn، وتم دمجها في دالة واحدة واستخدام قيمة مراقبة لاستخدام فهرس العنصر الأساسي التلقائي. (I09302، b/453731755)
  • تمت إضافة قيمة تلقائية جديدة GenericFailureIcon لاستخدامها في FailureConfirmationDialog، والتي تعرض رمز خطأ عامًا. تمت إعادة تسمية FailureIcon الحالية إلى ConnectionFailureIcon. (I8e965، b/453730430)

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

  • أصبحت السمة TimePicker أكثر فعالية عند تحليل أنماط اللغات المعقّدة. (I7b169، b/456538838)
  • تم إصلاح تنسيق TransformingLazyColumn الأولي عندما تكون قيمة verticalArrangement هي Arrangement.Center. (Id18ef، b/451481233)
  • تمت مطابقة أداة إنشاء TransformingLazyColumnState مع الدالة rememberTransformingLazyColumnState (I36d6a، b/453731755)
  • تم تعديل رمز علامة الصح في CheckboxButton ليصبح دائريًا. (Ie645e، b/378645751)
  • تم تعديل رمز علامة الصح في SwitchButton ليصبح دائريًا. (I31fbf، b/378642590)
  • تم تصحيح إزاحة scrollToItem في TransformingLazyColumn التي كانت تعكس اتجاه التمرير. (Ib2c93، b/451481233)
  • تحسين أداء SwitchButton وSplitSwitchButton (I708de، b/448781327)

الإصدار ‎1.6.0-alpha04

‫22 أكتوبر 2025

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

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

  • تنفيذ reverseLayout لـ TransformingLazyColumn (I19f9e، b/352513793)
  • تمّت إضافة ConfirmationDialogDefaults.VariantFailureIcon لاستخدامها في FailureConfirmationDialog. قد يكون رمز الخطأ العام الجديد هذا مفضّلاً في بعض الحالات مقارنةً بالرمز ConfirmationDialogDefaults.FailureIcon الذي يشير إلى انقطاع الاتصال بالهاتف. (Ifc851، b/443115305)

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

  • تحسين أداء "أداة الاختيار" من خلال إعادة تصميم استخدام LaunchedEffect (I94519، b/418192973)
  • تم إصلاح الخطأ في SwipeDismissableNavHost على الإصدار 36 من واجهة برمجة التطبيقات أو الإصدارات الأحدث، حيث كان الضغط على زر الرجوع أثناء الصورة المتحركة لإيماءة إظهار شاشة الرجوع يؤدي إلى إيقاف الصورة المتحركة وإعادة تشغيلها. تستخدم عملية التنفيذ الآن SeakableTransitionState.animateTo بدلاً من Animatable، ما يؤدي إلى تحسين الأداء بشكل طفيف. (I2241f، b/428156670)
  • تم إصلاح خطأ في ترتيب إشعارات تسهيل الاستخدام في AlertDialog، حيث تم الإعلان عن زر التأكيد على أنّه "زر". Confirm بدلاً من Confirm القياسي. الزرّ. (Ic2381، b/429378202)
  • تحسين إمكانية عرض الرقم TimePicker على الشاشات الصغيرة (I68386، b/447625365)
  • تمت إزالة تشعّب Lazy Layout من Wear Compose Foundation، ما يعني أنّ TransformingLazyColumn تستخدم الآن تنفيذ Lazy Layout في Compose Foundation، بما في ذلك الجلب المُسبَق، وتستفيد من تحسين الأداء في توقيتات اللقطات في معظم الحالات. (Idd743، b/445911630)

الإصدار 1.6.0-alpha03

‫8 أكتوبر 2025

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

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

  • تمت إضافة المَعلمة إلى TimePicker لتحديد مكوّن الوقت الذي يتم التركيز عليه في البداية. يتم تلقائيًا اختيار المكوّن الأول المتاح استنادًا إلى اللغة وTimePickerType. (Ie5dfe، b/437015874)
  • تمّت إزالة المَعلمة targetProgress غير المستخدَمة في طريقة CircularProgressIndicator drawCircularProgressIndicator. (Ieeb3c، b/430544552)

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

  • تمت إضافة دعم TransformingLazyColumn verticalAlignment - يتوافق الآن مع الترتيبات العادية التي تستند إلى أعلى الشاشة أو أسفلها أو وسطها. (I2e630، b/444143326)
  • تحسين عملية احتساب عرض النص المنحني لاحتساب المسافات قبل النص وبعده (قد يؤدي ذلك إلى إتلاف لقطات الشاشة التي تتضمّن نصًا منحنيًا، خاصةً عندما يكون لها خلفية مثل TimeText) (I924a4، b/446601899)
  • تم تعديل WarpedCurvedTextRenderer في Compose Foundation إلى EmojiCompatInitializer من androidx.emoji2 لإصلاح خطأ في فئة وقت التشغيل. (I589b4، b/444422736)
  • تم تعديل ScalingLazyColumn للتركيز على العقدة القابلة للتمرير باستخدام CollectionInfo، وذلك لكي تعمل مع أداة التحكم الدوّارة في المزيد من السياقات، مثل Material3 AlertDialog. (I6be3c، b/445332360)

الإصدار ‎1.6.0-alpha02

‫24 سبتمبر 2025

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

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

  • تحسين عرض النص المنحني، لا سيما للخطوط المائلة، من خلال تقديم ميزة "تشويه النص" باستخدام المَعلمة الجديدة CurvedTextStyle warpOffset. (If5dcb)

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

  • تم تحسين التخزين المؤقت للصور المتحركة للعناصر أثناء التمرير في TransformingLazyColumn. (I62ae8)
  • تم تعديل الصيغتين OpenOnPhoneDialog وConfirmationDialog لضبط FLAG_KEEP_SCREEN_ON، وذلك لكي يتم تشغيل الصور المتحركة حتى اكتمالها ويتم إغلاق مربعات الحوار تلقائيًا على النحو المطلوب. (Iad7d4)
  • تم إصلاح الخطأ الذي كان يؤدي إلى تعطُّل Modifier.edgeSwipeToDismiss عند استخدامه مع SwipeDismissableNavHost على الإصدار 36 من واجهة برمجة التطبيقات والإصدارات الأحدث. (Ifc13d)
  • تم تعديل المستندات والتعليقات المرتبطة بالمعلَمة الجديدة CurvedTextStyle warpOffset للإشارة بشكل صحيح إلى حالة "غير محدّد". (I41aa5)

الإصدار ‎1.6.0-alpha01

‫10 سبتمبر 2025

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

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

  • تمت إضافة أشكال غير قابلة للنقر لكل من Card وTitleCard وOutlinedCard وAppCard (I509bb، b/406690146)
  • تمت إزالة المَعلمة interactionSource من واجهات برمجة التطبيقات الجديدة للبطاقات غير القابلة للنقر. (If0c7a، b/440323280)
  • تمت إضافة نوع MinutesSeconds جديد إلى مكوّن TimePicker، والذي يعرض أعمدة الدقائق والثواني فقط، مع حذف عمود الساعات (Ia9e94، b/438004664)

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

  • إصلاح استخدام HorizontalPagerScaffold لمعلَمة المعدِّل الخاصة بها كي لا تفقد HorizontalPager مؤشر الصفحة عند إضافة Modifier.fillMaxSize() (I07ae1، b/441682601)
  • محاذاة اتجاه ScrollIndicator مع اتجاه تخطيط المحتوى تلقائيًا (I0da0f، b/441489028)
  • تم حلّ المشكلة في ScrollAway عند استخدامها مع TransformingLazyColumn. لم يكن يتم التمرير في TimeText بشكل صحيح بعد الانتقال إلى شاشة أخرى والرجوع. (Ic0ef1، b/433549148)
  • تم تصحيح عملية TransformingLazyColumn الإبلاغ عن دلالات SCROLL_BACKWARDS وSCROLL_FORWARDS لحالات هامشية في أعلى الشاشة أو أسفلها. (I5c28d، b/405205994)
  • تم إصلاح خطأ في SwipeDismissableNavHost كان يؤدي إلى عدم وضع علامة "مكتمل" على عمليات الانتقال قيد التقدّم بعد التمرير سريعًا للرجوع على الإصدار 36 من واجهة برمجة التطبيقات. (Ife72e، b/441089689)
  • عدِّل القيمة التلقائية OpenOnPhoneMaxSweepAngle إلى 200 درجة لمنع اقتطاع بعض ترجمات عبارة "التحقّق من هاتفك". (Ib2e4c، b/428243902)

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

الإصدار 1.5.6

‫3 ديسمبر 2025

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

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

  • تحسين التخزين المؤقت للصور المتحركة للعناصر أثناء التمرير في TransformingLazyColumn (I62ae8، b/441701460)
  • تم تعديل الصيغ OpenOnPhoneDialog وConfirmationDialog لضبط FLAG_KEEP_SCREEN_ON، وذلك لكي يتم تشغيل الصور المتحركة حتى اكتمالها ويتم إغلاق مربّعات الحوار تلقائيًا على النحو المنشود. (Iad7d4، b/437986990)
  • تم إصلاح الخطأ الذي تسبّب في تعطُّل Modifier.edgeSwipeToDismiss عند استخدامه مع SwipeDismissableNavHost على الإصدار 36 من واجهة برمجة التطبيقات والإصدارات الأحدث. (Ifc13d، b/441901722)

الإصدار 1.5.5

‫5 نوفمبر 2025

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

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

  • تحسين مستوى ظهور الأرقام TimePicker على الشاشات الصغيرة (I70fbe)

الإصدار 1.5.4

‫22 أكتوبر 2025

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

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

  • تحسين أداء "أداة الاختيار" من خلال إعادة تصميم استخدام LaunchedEffect (I94519، b/418192973)
  • تم إصلاح الخطأ في SwipeDismissableNavHost على الإصدار 36 من واجهة برمجة التطبيقات أو الإصدارات الأحدث، حيث كان الضغط على زر الرجوع أثناء الصورة المتحركة لإيماءة إظهار شاشة الرجوع يؤدي إلى إيقاف الصورة المتحركة وإعادة تشغيلها. تستخدم عملية التنفيذ الآن SeakableTransitionState.animateTo بدلاً من Animatable، ما يؤدي إلى تحسين الأداء بشكل طفيف. (I2241f، b/428156670)
  • تم إصلاح خطأ في ترتيب إشعارات تسهيل الاستخدام في AlertDialog، حيث تم الإعلان عن زر التأكيد على أنّه "زر". Confirm بدلاً من Confirm القياسي. الزرّ. (Ic2381، b/429378202)

الإصدار 1.5.3

‫8 أكتوبر 2025

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

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

  • تمت إضافة دعم TransformingLazyColumn verticalAlignment - يتوافق الآن مع الترتيبات العادية التي تستند إلى أعلى الشاشة أو أسفلها أو وسطها. (I2e630، b/444143326)

الإصدار 1.5.2

‫24 سبتمبر 2025

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

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

  • تم تحسين التخزين المؤقت للصور المتحركة للعناصر أثناء التمرير في TransformingLazyColumn. (I62ae8)
  • تم تعديل الصيغ OpenOnPhoneDialog وConfirmationDialog لضبط FLAG_KEEP_SCREEN_ON، وذلك لكي يتم تشغيل الرسوم المتحركة حتى اكتمالها ويتم إغلاق مربعات الحوار تلقائيًا على النحو المنشود. (Iad7d4)
  • تم إصلاح الخطأ الذي تسبّب في تعطُّل Modifier.edgeSwipeToDismiss عند استخدامه مع SwipeDismissableNavHost على الإصدار 36 من واجهة برمجة التطبيقات والإصدارات الأحدث. (Ifc13d)
  • تم تعديل المستندات والتعليقات المرتبطة بالمعلَمة الجديدة CurvedTextStyle warpOffset للإشارة بشكل صحيح إلى حالة "غير محدّد". (I41aa5)

الإصدار 1.5.1

‫10 سبتمبر 2025

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

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

  • إصلاح استخدام HorizontalPagerScaffold لمعلَمة المعدِّل حتى لا يفقد HorizontalPager مؤشر الصفحة عند إضافة Modifier.fillMaxSize() (I07ae1، b/441682601)
  • محاذاة اتجاه ScrollIndicator مع اتجاه تخطيط المحتوى تلقائيًا (I0da0f، b/441489028)
  • تم حلّ المشكلة في ScrollAway عند استخدامها مع TransformingLazyColumn. لم يكن يتم التمرير في TimeText بشكل صحيح بعد الانتقال إلى شاشة أخرى والرجوع. (Ic0ef1، b/433549148)
  • تم تصحيح TransformingLazyColumn الإبلاغ عن دلالات SCROLL_BACKWARDS وSCROLL_FORWARDS لحالات هامشية في أعلى الشاشة أو أسفلها. (I5c28d، b/405205994)
  • تم إصلاح خطأ في SwipeDismissableNavHost كان يؤدي إلى عدم وضع علامة "مكتمل" على عمليات الانتقال قيد التقدّم بعد التمرير سريعًا للرجوع على الإصدار 36 من واجهة برمجة التطبيقات. (Ife72e، b/441089689)
  • عدِّل القيمة التلقائية OpenOnPhoneMaxSweepAngle إلى 200 درجة لمنع اقتطاع بعض ترجمات عبارة "التحقّق من هاتفك". (Ib2e4c، b/428243902)

الإصدار 1.5.0

‫27 أغسطس 2025

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

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

الإصدار الأول من مكتبة Wear Compose Material 3 التي تتوافق مع نظام تصميم Material 3 Expressive الجديد يتضمّن هذا الإصدار ما يلي:

  • تم تعديل MaterialTheme وسمات الألوان الديناميكية.
  • عناصر جديدة AppScaffold, ScreenScaffold وHorizontalPagerScaffold وVerticalPagerScaffold لتحديد بنية الشاشة وتنسيق الصور المتحركة ScrollIndicator وTimeText وHorizontalPageIndicator وVerticalPageIndicator
  • تغيير شكل IconButton وTextButton وIconToggleButton وTextToggleButton، مع أشكال متغيرة يتم تحريكها عند الضغط عليها أو وضع علامة فيها
  • EdgeButton، الذي يتضمّن شكلاً خاصًا مصمّمًا لأسفل الشاشة
  • تنفّذ ButtonGroup مجموعة معبّرة من الأزرار، في صف يتغيّر شكله عند لمسه.
  • AlertDialog وConfirmationDialog مع صيغ مختلفة لمحتوى مربّع الحوار الإضافي
  • المكوّنان TimePicker وDatePicker
  • تشمل مؤشرات التقدّم CircularProgressIndicator (مع اختلاف مقسَّم) وArcProgressIndicator وLinearProgressIndicator.

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

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

مزيد من المعلومات حول (Material 3 Expressive لنظام التشغيل Wear OS)

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

الإصدار ‎1.5.0-rc02

‫13 أغسطس 2025

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

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

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

الإصدار 1.5.0-rc01

‫30 يوليو 2025

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

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

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

الإصدار ‎1.5.0-beta06

‫16 يوليو 2025

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

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

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

الإصدار ‎1.5.0-beta05

‫2 يوليو 2025

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

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

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

الإصدار ‎1.5.0-beta04

‫18 يونيو 2025

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

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

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

الإصدار ‎1.5.0-beta03

‫4 يونيو 2025

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

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

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

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

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

الإصدار ‎1.5.0-beta02

‫20 مايو 2025

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

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

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

الإصدار ‎1.5.0-beta01

‫7 مايو 2025

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

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

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

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

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

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

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

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

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

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

الإصدار ‎1.5.0-alpha14

‫23 أبريل 2025

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

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

  • تم نقل جميع تبعيات Material SwipeToReveal في Foundation SwipeToReveal إلى حزمة Material، مثل RevealValue وRevealDirection وRevealActionType وRevealState وrememberRevealState. على المطوّرين تغيير عمليات استيراد هذه الفئات والدوال من androidx.wear.compose.foundation إلى androidx.wear.compose.material. (Ib7cb8)
  • تم تعديل واجهة برمجة التطبيقات HierarchicalFocusCoordinator لتصبح معدِّلات بدلاً من عناصر قابلة للإنشاء.
  • ملاحظات حول نقل البيانات:
    • يمكن استبدال HierarchicalFocusCoordinator(function, content) بإضافة Modifier.hierarchicalFocus(function()) إلى content أو العنصر القابل للإنشاء الذي يضمّه.
    • يمكن استبدال ActiveFocusListener { if (it) focusRequester.requestFocus() } بإضافة Modifier.hierarchicalFocusRequester(focusRequester)
    • يمكن استخدام المَعلمة الجديدة في Modifier.hierarchicalFocus مع الاستخدامات الأخرى الأقل شيوعًا لـ ActiveFocusListener
    • يمكن استبدال focusRequester(rememberActiveFocusRequester()) بـ hierarchicalFocusRequester()
    • يمكن استبدال val focusRequester = rememberActiveFocusRequester() بـ remember { FocusRequester() } وإضافة Modifier.hierarchicalFocusRequester(focusRequester). (Ie319a)

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

  • تمت زيادة الحد الأدنى للسرعة الذي يجب أن تتجاوزه إيماءات التمرير السريع لتفعيل تغيير الحالة في المكوّنات التالية: SwipeToReveal وBasicSwipeToDismissBox وSwipeDismissableNavHost (فقط لإصدارات واجهة برمجة التطبيقات 35 والإصدارات الأقدم من SwipeDismissableNavHost). (If47bf)
  • تم إصلاح مشكلة في الحركة عند إضافة عناصر جديدة إلى TransformingLazyColumn. (I589b2)

الإصدار ‎1.5.0-alpha13

‫9 أبريل 2025

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

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

  • تتطلّب المشاريع التي تم إصدارها باستخدام Kotlin 2.0 استخدام الإصدار 2.0.0 أو إصدار أحدث من KGP (Idb6b5)
  • تمّت إضافة السمة targetPage إلى PagerState (I4de8b)

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

  • منع إعادة التكوين غير الضرورية أثناء إيماءة إظهار شاشة الرجوع (Iecd6d)
  • تم إصلاح السمة isScrollable الخاصة بـ ScrollInfoProvider لعرض القيمة الحالية. (Icbfb8)

الإصدار 1.5.0-alpha12

‫26 مارس 2025

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

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

  • تحسين التنفيذ التلقائي لـ SwipeToReveal في gestureInclusion لتجاهل الإيماءات فقط إذا كانت حالة المكوّن هي Covered (I7e3d6)
  • بالنسبة إلى SwipeToReveal، تم تغيير bidirectionalGestureInclusion إلى قيمة بدلاً من دالة، وتمت إضافة @FloatRange إلى المَعلمة edgeZoneFraction في gestureInclusion. (Ica7c3)

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

  • غيِّر SwipeToReveal bidirectionalGestureInclusion لعرض عنصر بدلاً من فئة. (I29597)
  • تم إيقاف استخدام ردود الفعل اللمسية عند إجراء الاختبارات ضمن RoboElectric. (I58bd1)
  • تعديل SwipeToReveal المساحات المتروكة بين المحتوى وأزرار الإجراءات، وكذلك المساحة المتروكة بين الرمز ونص أزرار الإجراءات (Ic46cb)

الإصدار 1.5.0-alpha11

‫12 مارس 2025

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

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

  • تم تعديل PagerState، وإزالة Compose Foundation PagerState كصنف أساسي وإضافة السمات currentPage وcurrentPageOffsetFraction وpageCount. تم تعديل واجهة GestureInclusion، وأصبحت الطريقة تُعرف باسم ignoreGestureStart. (I4ae07)
  • أضِف requireOffset إلى SwipeToDismissBoxState كطريقة مقترَحة للحصول على إزاحة بمقدار SwipeToDismissBoxState. (I21042)
  • تمت إضافة CurvedModifier.semantics، مع توفير الدعم في البداية لوصف المحتوى وفهرس التنقّل (I0b093)
  • لقد أضفنا CurvedModifier.clearAndSetSemantics لتوفير وسيلة لإيقاف الدلالات المنحنية. يواصل CurvedText ضبط وصف المحتوى تلقائيًا على النص، ولكنّ timeTextCurvedText وtimeTextSeparator لا يعلنان الآن عن محتوياتهما. (I4b568)
  • تمت إعادة تسمية طريقة التعامل التلقائية مع إيماءات التمرير السريع في HorizontalPager إلى PagerDefaults.gestureInclusion. يتم الآن تجاهل إيماءات التمرير السريع التي تبدأ على الحافة اليسرى من الصفحة الأولى فقط، وعندما تكون ميزة TalkBack غير مفعّلة. وفي الحالات الأخرى، لن يتجاهل عنصر pager إيماءات التمرير السريع، وبالتالي لن تكون متاحة لمعالجات التمرير السريع للإغلاق. (Iee486)
  • تمت إضافة ميزة التمرير السريع الدائري إلى واجهة برمجة التطبيقات rotaryScrollable. تمت إضافة التمرير السريع والتمرير المتداخل إلى سلوك التمرير السريع في rotaryScrollable. من المفترض أن يؤدي هذا التغيير إلى توفير وظائف تجاوز حد التمرير والتمرير المتداخل نفسها في كل من التمرير باللمس والتمرير باستخدام أداة التحكم الدوّارة. (I71926)
  • تمت إضافة منطقة التمرير السريع من الحافة إلى SwipeToReveal. أصبح السلوك التلقائي في Foundation SwipeToReveal الآن هو عدم السماح بالتمرير سريعًا عندما تبدأ الإيماءة من الحافة. يتمثّل السلوك التلقائي في Material3 SwipeToReveal الآن في عدم السماح بالتمرير سريعًا عندما تبدأ الإيماءة من الحافة، وذلك عندما يتم ضبط SwipeDirection على اتجاه واحد. (I32ef0)
  • تستخدم TLC الآن قيمة contentPadding فارغة تلقائيًا بدلاً من وضع العنصرَين الأول والأخير في المنتصف. (I77ab7)

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

  • تم تعديل مكتبات Wear Compose لتتوافق مع برنامج الترجمة البرمجية Kotlin 2.0. (I2de79)
  • تم إصلاح عيّنة LetterSpacing المنحنية على الأساس. (Iebf7c)

الإصدار ‎1.5.0-alpha10

‫26 فبراير 2025

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

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

  • اجعل SwipeToRevealDefaults متاحًا للجميع. (I0c34c)
  • لقد استبدلنا المَعلمة swipeToDismissEdgeZoneFraction في HorizontalPager. بدلاً من ذلك، تم تقديم مَعلمة جديدة، وهي gestureInclusion، يمكن استخدامها لتحقيق السلوك اللازم للتجاهل عن طريق التمرير سريعًا. تتلقّى gestureInclusion مثيلاً من GestureInclusion يحدّد ما إذا كان يجب المتابعة في حدث التمرير اللاحق أم لا. يعني السماح بإيماءة أنّ أداة Pager تستهلكها، وإلا سيتم التعامل معها في مكان آخر، مثل معالج التمرير السريع للإغلاق. يتمثل السلوك التلقائي الجديد في عدم السماح بالإيماءات على الحافة اليمنى من الصفحة الأولى في Pager، وبالتالي السماح بالتمرير سريعًا للإغلاق في هذه المنطقة. ستسمح جميع الصفحات الأخرى لـ Pager باستخدام جميع الإيماءات، ما يعني أنّه لا يمكن تفعيل الإيماءة "التمرير السريع للإغلاق" من هذه الصفحات. لتحقيق سلوك التمرير السريع للإغلاق على جميع الصفحات، ما عليك سوى تقديم مثيل GestureInclusion مخصّص (راجِع PagerDefaults.disableLeftEdgeOnFirstPage) يتجاهل الصفحة الحالية. من التغييرات غير المتوافقة الأخرى التي تم إدخالها هنا أنّ مكوّن Pager لم يعُد بملء الشاشة تلقائيًا، وبدلاً من ذلك، يجب إضافة Modifier.fillMaxSize() لتحقيق هذا السلوك. (I9d3aa)
  • أعدنا تسمية createAnchors إلى createRevealAnchors في واجهة برمجة التطبيقات "السحب للكشف" (If5999)
  • لقد أزلنا RevealScope من واجهة برمجة التطبيقات "التمرير السريع للكشف عن المحتوى". (Ie4ad5)
  • لقد أزلنا Revealing وRevealed من RevealValue في واجهة برمجة التطبيقات "التمرير السريع للكشف عن المحتوى". (I8dbc5)
  • أعدنا تسمية SwipeDirection إلى RevealDirection في واجهة برمجة التطبيقات "التمرير السريع للكشف عن المحتوى". (I7472f)
  • لقد غيّرنا توقيع المَعلمة positionalThreshold للدالة rememberRevealState الخاصة بـ SwipeToReveal. (I29c0a)
  • أضفنا مَعلمة overscrollEffect جديدة إلى ScalingLazyColumn وTransformingLazyColumn وScreenScaffold. (I0cee8)
  • عند استخدام PagerDefaults#snapFlingBehaviour، تم استبدال المَعلمة pagerSnapDistance بمَعلمة Int maxFlingPages، والتي يمكن استخدامها لتحديد الحدّ الأقصى لعدد الصفحات التي يجب أن يمرّرها Pager. (I8cfc0)
  • يحتوي Wear Pager الآن على PagerScope خاص به بدلاً من استخدام PagerScope Compose Foundation. (I9195b)
  • أضفنا دعمًا للسمة lineHeight في "النص المنحني" (I1c936)
  • أضفنا initialAnchorItemIndex وinitialAnchorItemOffset إلى TransformingLazyColumnState وrememberTransformingLazyColumnState لكي يمكن تحديد موضع التمرير الأولي في TransformationLazyColumn. (I0a0d5)
  • إيقاف runWithTimingDisabled نهائيًا واستخدام runWithMeasurementDisabled بدلاً منه، لأنّه يصف السلوك بشكل أكثر وضوحًا، أي أنّه يتم إيقاف جميع المقاييس مؤقتًا. بالإضافة إلى ذلك، يجب عرض الفئة الرئيسية MicrobenchmarkScope لأنّه لا يمكن إعادة تعريف الدالة runWithMeasurementDisabled لفتح الوصول، لأنّها مضمّنة. (I9e23b، b/389149423، b/149979716)
  • أضفنا TransformingLazyColumnItemScrollProgress.Unspecified إلى واجهة برمجة التطبيقات لتجنُّب الملاكمة في TransformingLazyColumnItemScrollProgress. (I0835d)

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

  • تحسين Kdoc لـ CurvedTextStyle (Id45e3)
  • لقد جعلنا SwipeableV2 (جزء من عملية تنفيذ SwipeToReveal) داخليًا بدلاً من علنيًا، ولكن مع حصر الوصول إلى مجموعة المكتبة. (Idbb94)
  • أضفنا اختبارات إلى HierarchicalFocusCoordinator (I1ce54، b/395548918)
  • أجرينا تحسينات على SwipeToReveal في عيّنات أساس Wear Compose. (I5f307)
  • إصلاح البيانات الدلالية لمحور التمرير في verticalScrollAxisRange ضمن TransformingLazyColumn لتسهيل الاستخدام (I68123)
  • تحسين أداء ردود الفعل اللمسية الدوّارة على Wear4+ من خلال إزالة سلاسل الخلفية غير الضرورية (I39cfe)
  • غيِّر SwipeDismissableNavHost لاستخدام PredictiveBackNavHost فقط على الإصدار 36 من واجهة برمجة التطبيقات والإصدارات الأحدث. (I59bed)
  • أضفنا إجراء وقائيًا لتجنُّب حدوث عُطل عند الوصول إلى إعدادات "تقليل الحركة". (I01e2c)
  • لقد نفّذنا عملية الجلب المُسبَق لـ TransformingLazyColumn من أجل تقليل التشويش (Icca88)

الإصدار ‎1.5.0-alpha09

‫29 يناير 2025

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

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

  • في CurvedTextStyle، قسّمنا تباعد الأحرف إلى تباعد الأحرف في اتجاه عقارب الساعة وتباعد الأحرف عكس اتجاه عقارب الساعة. هذا الإجراء مطلوب لأنّ الأحرف التي تدور في اتجاه عقارب الساعة تتوسّع من خط الأساس، بينما الأحرف التي تدور في عكس اتجاه عقارب الساعة تتضيّق (لذلك يجب زيادة تباعد الأحرف) (I4b848).
  • تم تبسيط CompositionLocal LocalReduceMotion لعرض قيمة منطقية بدلاً من عنصر ReduceMotion. تم إيقاف واجهة ReduceMotion نهائيًا. يمكن استبدال الاستدعاءات السابقة، مثل LocalReduceMotion.current.enabled()، بالاستدعاء LocalReduceMotion.current (I4937f).
  • في PagerDefaults، تمت إعادة تسمية snapAnimationSpec إلى SnapAnimationSpec. (I20c9a)

الإصدار ‎1.5.0-alpha08

‫15 يناير 2025

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

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

  • لقد عدّلنا جميع مكتبات Wear Compose إلى وضع "واجهة برمجة تطبيقات صريحة". (Iebf9f)
  • لقد جعلنا مَعلمة الرسوم المتحركة الخاصة بميزة "المحاذاة" في أداة عرض الصفحات جزءًا من PagerDefaults. (Ifff64)
  • أضفنا مَعلمة إزاحة إلى SwipeToDismissBoxState. (I586bd)

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

  • يتم الآن طلب تقنية اللمس الدوّارة في إصدارات Wear OS بعد الإصدار V (Idb03e)

الإصدار ‎1.5.0-alpha07

‫11 ديسمبر 2024

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

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

  • توفّر TransformingLazyColumnState الآن طريقة لمراقبة مستوى التقدّم الحالي في التمرير استنادًا إلى فهارس العناصر الثابتة. (I72b01)
  • أضفنا صورًا متحركة إلى TransformingLazyColumn عند إضافة عناصر وإزالتها ونقلها، إذا كانت تتضمّن Modifier.animateItem الجديدة. (Iecb9c)
  • تعرض السمة TransformingLazyColumn الآن قيمتَي beforeContentPadding وafterContentPadding. (Iccd5f)
  • توفّر TransformingLazyColumn الآن LocalTransformingLazyColumnItemScope المحلي الخاص بالتصميم، والذي يمكن أن تستخدمه المكوّنات (مثل Card وButton في Material3) لتغيير الشكل تلقائيًا عند وضعها داخل TransformingLazyColumn. يمكن للمتصلين إيقاف ميزة "التحويل التلقائي" باستخدام أداة التغليف الجديدة TransformExclusion. (I1652f)

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

  • عدّلنا الحدّين الأدنى والأقصى لسرعات التحريك الدائري على الأجهزة التي تستهدف الإصدار U والإصدارات الأحدث. (I33559)
  • تم إصلاح عُطل كان يحدث إذا لم يكن العنصر في TransformingLazyColumn يحتوي على أي عناصر قابلة للإنشاء (Idb99d)
  • أضفنا ScrollFeedbackProvider دعمًا لردود الفعل اللمسية الدوّارة على إصدار Android Vanilla ice cream. (Ibc553)
  • لقد طبّقنا ميلًا متزايدًا للمس عند استخدام SwipeToReveal من أجل تقليل فرص التمرير السريع عن طريق الخطأ عند التمرير عموديًا. (Ic0672)
  • عدّلنا SwipeDismissableNavHost لاستخدام PredictiveBackHandler عندما يكون متاحًا مع الإصدار 35 من واجهة برمجة التطبيقات والإصدارات الأحدث. في هذه الحالة، سيتم تطبيق رسوم متحركة جديدة. (I08c11)

الإصدار ‎1.5.0-alpha06

‫13 نوفمبر 2024

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

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

  • لقد بسّطنا ScrollInfoProvider لـ PagerState من خلال إزالة المَعلمة orientation التي لم تعُد ضرورية. يتمثل السلوك الجديد في بقاء TimeText في مكانه عند التنقل بين الصفحات أفقياً وعموديًا. (I71767)
  • تم تقديم TransformingLazyColumn في الإصدارات السابقة. سنزيل الآن أسماء LazyColumn Wear المستعارة (التي كانت تتم إعادة توجيهها إلى TransformingLazyColumn) لصالح الاسم الجديد TransformingLazyColumn. أزلنا أيضًا السمة height من TransformingLazyColumnVisibleItemInfo، لذا يُرجى استخدام measuredHeight بدلاً منها. (I0ea1e)
  • لقد غيّرنا PagerDefaults.snapFlingBehavior snapAnimationSpec من مواصفات Tween إلى مواصفات Spring.(I10d02، b/349781047، b/303807950)
  • لقد رقّينا الإصدار LocalReduceMotion CompositionLocal إلى إصدار ثابت (Ia6f32).

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

  • عدّلنا السمة Modifier.rotaryScrollable لاستخدام focusTargetWithSemantics من أجل توفير دعم أفضل للدلالات في عناصر التحكّم الدوّارة. (Ief0a0)
  • عدّلنا الحد الأدنى من إصدار واجهة برمجة التطبيقات المطلوب إلى 1.7.4 لمكتبات Compose. (I88b46)
  • أوقفنا ميزة "تغيير الشكل حسب العرض" في TransformingLazyColumn كحلّ بديل لخطأ في الاقتصاص. (I3dfb8)
  • لقد أصلحنا خطأً كان يتسبب في اختفاء العناصر بعد تجاوز حد التمرير باستخدام TransformingLazyColumn (Id7668)
  • أضفنا LazyLayoutSemantics إلى TransformingLazyColumn. (Ia8f56)

الإصدار ‎1.5.0-alpha05

‫30 أكتوبر 2024

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

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

  • أضفنا إمكانية استخدام animateScrollTo على TransformingLazyColumnState حتى يمكن تحريك عملية الانتقال إلى عنصر معيّن. (I4097d)
  • أضفنا requestScrollTo في TransformingLazyColumnState لتأجيل الانتقال إلى القياس التالي. (I20a5e)
  • أتحنا استخدام contentPadding في TransformingLazyColumn. (I3a69c)

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

  • أصلحنا خطأ في عرض TransformingLazyColumn عندما يكون ارتفاع المحتوى أقصر من ارتفاع الشاشة. (I6c3e1)
  • يتتبّع ScrollInfoProvder TransformingLazyColumn الآن العنصر الأول بشكل صحيح. (I1e4a3)
  • يحفظ TransformingLazyColumnState الآن حالته (anchorItemIndex وanchorItemScrollOffset). (I3d265)

الإصدار ‎1.5.0-alpha04

‫16 أكتوبر 2024

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

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

  • لقد أعدنا تسمية Wear Compose Foundation LazyColumn إلى TransformingLazyColumn ليكون التمييز بينه وبين Compose Foundation LazyColumn أكثر وضوحًا. (I0608b)
  • تمت إضافة إمكانية استخدام أجهزة الإدخال الدوّارة مع أدوات عرض الصفحات الأفقية/العمودية، ما يتيح للمستخدمين التنقّل في أدوات عرض الصفحات باستخدام أجهزة الإدخال الدوّارة. (I9770d)
  • لقد عدّلنا PagerDefaults الجديد لتوضيح أنّ أداة تقسيم المحتوى إلى صفحات ستنتقل إلى الصفحة تلقائيًا. (Iff7d0)
  • أصبحت TransformingLazyColumnItemScrollProgress الآن فئة قيمة من المفترض أن تحسّن الأداء. (Ic399e)
  • يتوافق TransformingLazyColumn الآن مع أجهزة التحكم الدوّارة بدون الحاجة إلى إجراء أي إعدادات. (I05206)
  • يتوافق TransformingLazyColumnState الآن مع scrollToItem. (I507b3)
  • إزالة @ExperimentalWearFoundationApi من واجهة برمجة التطبيقات SwipeToReveal (I34a66)

الإصدار ‎1.5.0-alpha03

‫2 أكتوبر 2024

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

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

  • أضفنا إمكانية التمرير في اتجاهَين في SwipeToReveal، وذلك للحالات النادرة التي لا تتيح فيها الشاشة الحالية إمكانية التمرير لإغلاقها. . لا يزال الإعداد التلقائي هو التمرير السريع للكشف عن المحتوى عند التمرير من اليمين إلى اليسار فقط، ويُنصح بشدة باتّباع السلوك التلقائي لتجنُّب التعارض مع التمرير السريع للرفض. (Ifac04)
  • عدّلنا LazyColumnState لتجاوز canScrollForward وcanScrollBackward، ما يؤدي الآن إلى إيقاف التمرير عندما يكون العنصر الأول أو الأخير في وسط الشاشة تمامًا. (Ia77d7)
  • أضفنا مكوّنَين جديدَين هما HorizontalPager وVerticalPager اللذان يعالجان المشاكل الشائعة، مثل التعامل مع التركيز والتفاعل مع الإيماءة السريعة التي يوفّرها النظام لإغلاق الشاشة والتي قد تحدث على Wear. (I2902b)
  • أضفنا إمكانية استخدام LazyColumn لعرض key وcontentType الخاصين بالعميل من خلال layoutItems. (I1bd9c)

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

  • عدّلنا الرسوم المتحركة للنصوص المنحنية لتصبح أكثر سلاسة، وذلك باستخدام علامات الطلاء. (I73a15)
  • عدّلنا مستندات Material Dialog لتوضيح أنّه لا يتم استدعاء onDismissRequest بعد ضبط علامة العرض على "خطأ". (Ifd8d6)
  • أصلحنا خطأً في الرسوم المتحركة الخاصة بالصور المصغّرة في مربّع الحوار Material Dialog (I126bf)

الإصدار ‎1.5.0-alpha02

‫18 سبتمبر 2024

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

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

  • أضفنا إمكانية استخدام Wear Compose LazyColumn مع ScreenScaffold (وأضفنا عملية تنفيذ ScrollInfoProvider لـ LazyColumnState). (Ib8d29)
  • أضفنا viewportSize إلى LazyColumnLayoutInfo. (I4187f)

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

  • لقد أصلحنا خطأً بحيث يتم الآن إيقاف التمرير الدائري في ScalingLazyColumn عندما يتم ضبط العلامة userScrollEnabled على false. (I490ab، b/360295825)
  • لقد أصلحنا خطأً يتعلّق بالمسافة العمودية غير المتوقّعة في النص المنحني. أصبح ارتفاع النص المنحني يتطابق بشكل أكبر مع المساحة الفعلية التي يشغلها النص. يُرجى العِلم أنّ هذا التغيير سيؤدي على الأرجح إلى إيقاف اختبارات لقطات الشاشة التي تتضمّن نصًا منحنيًا (Iaa6ef).
  • لقد ألغينا إصلاح خطأ في Dialog حيث تم استدعاء onDismissRequest عند ضبط showDialog على "خطأ"، لأنّ ذلك أدى في بعض الحالات إلى استدعاء onDismissRequest عدة مرات. (I64656)

الإصدار ‎1.5.0-alpha01

‫4 سبتمبر 2024

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

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

  • لقد أضفنا LazyColumn جديدًا إلى مكتبة Wear Compose Foundation مع واجهات برمجة التطبيقات LazyColumnState وLazyColumnScope المرتبطة به. ويشكّل هذا الأساس لبناء تأثيرات قابلة للتخصيص لتغيير الحجم والشكل باستخدام Wear Compose. (Ib3b22)
  • أضفنا نسخة مفهرسة من itemsIndexed إلى LazyColumnScope كجزء من واجهة برمجة التطبيقات الجديدة LazyColumn. (Ib4a57)
  • أضفنا معدِّلات LazyColumn من أجل إتاحة سلوكيات تغيير الحجم والتشكّل. (Ie229a)
  • تمت ترقية HierarchicalFocusCoordinator إلى الإصدار الثابت. (I31035)
  • أضفنا إمكانية ضبط تباعد الأحرف في النص المنحني. (I3c740)
  • تمت إضافة المَعلمة rotationLocked إلى CurvedLayout.curvedComposable لمنع تدوير المكوّنات. (I66898)
  • تمت إزالة واجهة برمجة التطبيقات المؤقتة LocalUseFallbackRippleImplementation من wear material وwear material3 (I62282)
  • تمت إزالة WearDevices.SQUARE من المعاينة المتعددة @WearPreviewDevices (I11c02)

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

  • تعمل ميزة SwipeToReveal الآن على وضع العناصر التي تم الكشف عنها في الجزء المرئي من الشاشة، ما يساعد عند استخدام SwipeToReveal ضمن قائمة، وبالتالي يمكن دائمًا التفاعل مع العناصر ولا تخرج أبدًا عن نطاق الشاشة. (I38929)
  • تعمل السمة SwipeToReveal الآن على إعادة ضبط lastActionType على "بلا" عند اكتمال animatedTo. (I59b03)
  • حسّنّا المستندات الخاصة بالمعلَمة الجديدة rotationLocked على curvedComposable. (Ifbd57)
  • تم إصلاح عُطل يحدث عند تمرير NaN إلى performFling في ScalingLazyColumnSnapFlingBehavior. (Ic13da)
  • تم إصلاح الخطأ في مفتاح تعديل حجم التصميم المنحني (I0fedf)
  • أضفنا إمكانية ضبط تباعد الأحرف المحدّد في "sp". (I9f6e3)
  • تم إصلاح خطأ في Material2 Dialog حيث لم يتم استدعاء عملية رد الاتصال onDismissRequest عندما أصبح مربّع الحوار غير مرئي (I64656)
  • تمت إعادة تسمية LayoutCoordinates.introducesFrameOfReference إلى LayoutCoordinates.introducesMotionFrameOfReference لتعكس الغرض منها بشكل أفضل. تمت إعادة تسمية الدالة ذات الصلة لحساب الإحداثيات استنادًا إلى هذا العَلَم. (I3a330)

الإصدار 1.4

الإصدار 1.4.1

‫12 فبراير 2025

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

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

  • لقد اتّخذنا إجراءات وقائية لتجنُّب حدوث عُطل عند الوصول إلى إعداد "تقليل الحركة" العام، والذي تم تفعيله على بعض المنصات التي لم يتم توفير هذا الإعداد فيها. (I01e2c)

الإصدار 1.4.0

‫4 سبتمبر 2024

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

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

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

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

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

الإصدار 1.4.0-rc01

‫21 أغسطس 2024

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

  • لقد عدّلنا إصدارات حِزم Compose إلى 1.7.0-rc01 وثبّتنا Wear Compose Navigation على الإصدار 2.8.3 من androidx.lifecycle.

الإصدار 1.4.0-beta03

‫12 يونيو 2024

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

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

  • عدّلنا Modifier.rotaryScrollable لاستبدال استخدام "قابلة للتركيز" بـ "focusTarget"، ما يؤدي إلى تحسين الأداء. (Id294b)
  • لقد حللنا مشكلة تكرار إعلان ProgressIndicator ضمن TalkBack. (I94563)
  • لقد عدّلنا ملفات تعريف خط الأساس لمكتبة Wear Compose. (I3cbc3)

الإصدار 1.4.0-beta02

‫29 مايو 2024

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

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

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

الإصدار 1.4.0-beta01

‫14 مايو 2024

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

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

  • أضفنا 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)
  • أجرينا تغييرات إضافية على واجهة برمجة التطبيقات الخاصة بأداة التحكّم الدوّارة: أعدنا تسمية RotaryScrollableLayoutInfoProvider إلى RotarySnapLayoutInfoProvider (لأنّ هذا الموفّر مطلوب فقط لأداة التحكّم الدوّارة مع ميزة "المحاذاة")، وغيّرنا نوع المَعلمة snapOffset في RotaryScrollableDefaults.snapBehavior snapOffset من Int إلى Dp. (Iddebe)
  • أعدنا تسمية المَعلمة clickInteractionSource في SplitSelectableChip إلى containerInteractionSource. (Ia8f84)
  • عدّلنا أسماء مَعلمات معاودة الاتصال عند النقر على SplitSelectableChip، من onClick إلى onSelectionClick ومن onBodyClick إلى onContainerClick. (I32237)

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

  • عدّلنا الحشو الأفقي لعنصر PositionIndicator إلى 2dp (كان 5dp)، وذلك لإصلاح خطأ يتداخل فيه عنصر 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 وPicker الآن مع إدخال البيانات عبر وحدة تحكم دورانية تلقائيًا، مع عمليات تحميل زائد جديدة تتضمّن المَعلمة rotaryBehavior لتحديد إعدادات التمرير أو الانطباق. إذا تم ضبط المَعلمة rotaryBehavior على "محاذاة"، يُنصح بتوفير المحاذاة من خلال المَعلمة flingBehavior أيضًا، وذلك للتمرير باللمس. (I2ef6f)
  • سيتم استبدال مصادر NestedScroll "السحب والإفلات" بمصادر UserInput وSideEffect لاستيعاب التعريف الموسّع لهذه المصادر الذي يشمل الآن الصور المتحركة (Side Effect) وعجلة الماوس ولوحة المفاتيح (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 هذه التعديلات.

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

  • أضفنا مسودة داخلية لتوافق التطبيقات مع أزرار التدوير، وذلك كجزء من الجهد الأكبر لنقل سلوك أزرار التدوير إلى AndroidX من Horologist. (I617d1)
  • أضفنا مسودة داخلية لميزة دعم ردود الفعل اللمسية، وذلك في إطار الجهود الأوسع نطاقًا لنقل سلوك "المفتاح الدوّار" إلى 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 مؤقتَين للعودة إلى استخدام واجهات برمجة التطبيقات rememberRipple/RippleTheme المتوقّفة نهائيًا في "مكوّنات Material". ستتم إزالة هذه السمة في الإصدار الثابت التالي، وهي تهدف فقط إلى تقديم مساعدة مؤقتة في نقل البيانات في الحالات التي تقدّم فيها RippleTheme مخصّصة. يمكنك الانتقال إلى developer.android.com للاطّلاع على معلومات حول عملية نقل البيانات والمزيد من المعلومات الأساسية حول هذا التغيير. (af92b21)
  • عدّلنا ColorScheme ليصبح غير قابل للتغيير، ما يجعل تعديلات الألوان الفردية أقل كفاءة، ولكنّه يجعل الاستخدام الأكثر شيوعًا للألوان أكثر كفاءة. ويعود سبب هذا التغيير إلى أنّ معظم التطبيقات لن تستخدم تعديل الألوان الفردية كحالة استخدام رئيسية. لا يزال ذلك ممكنًا، ولكن سيتم إعادة إنشاء المزيد من العناصر مقارنةً بالسابق، ما سيؤدي إلى تقليل عدد عمليات الاشتراك في الحالة بشكل كبير في جميع رموز Material، وسيؤثر ذلك في تكلفة التهيئة ووقت التشغيل لحالات الاستخدام الأكثر شيوعًا. (f5c48b7)
  • تم تعديل مكوّنات Wear material وWear material3 التي تعرض MutableInteractionSource في واجهة برمجة التطبيقات الخاصة بها لتصبح تعرض الآن MutableInteractionSource قابلاً للقيم الخالية، والقيمة التلقائية هي null. لا توجد تغييرات دلالية هنا: يعني تمرير القيمة null أنّك لا تريد رفع MutableInteractionSource، وسيتم إنشاؤه داخل المكوّن إذا لزم الأمر. يسمح التغيير إلى قيمة فارغة لبعض المكوّنات بعدم تخصيص MutableInteractionSource مطلقًا، ويسمح لمكوّنات أخرى بإنشاء مثيل عند الحاجة فقط، ما يؤدي إلى تحسين الأداء في جميع هذه المكوّنات. إذا كنت لا تستخدم MutableInteractionSource الذي تمرّره إلى هذه المكوّنات، ننصحك بتمرير قيمة فارغة بدلاً من ذلك. ننصحك أيضًا بإجراء تغييرات مماثلة في مكوّناتك. (f8fa920)
  • عدّلنا rememberExpandableState لحفظ حالة التوسيع. يضمن ذلك تخزين البيانات عند الانتقال إلى شاشة أخرى واستعادتها عند الرجوع إلى الشاشة الأصلية. (5c80095)

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

  • عدّلنا الإعداد ReduceMotion لاستخدام أداة معالجة متوافقة مع مراحل النشاط. (7c6b122)
  • عدّلنا Listener في TouchExplorationStateProvider ليكون على دراية بدورة الحياة (be28b01)
  • أزلنا طبقة materialcore من 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 نصف قطر الزاوية الجديد هذا لتجنُّب قص المحتوى في زوايا Chip وToggleChip.

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

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

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

اقتراحات بشأن التنفيذ

  • إذا كان تطبيقك يتيح للمستخدمين تحريك المحتوى على الشاشة، كما هو الحال في التطبيقات المستندة إلى الخرائط، أوقِف معالجة التمرير السريع من خلال ضبط 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 وحدة بكسل مستقل الكثافة، وسيتم الآن استخدام هذا الشكل في Chip و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-beta01 من Compose for Wear OS إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء الأجزاء التي تم وضع علامة "تجريبي" عليها). يتضمّن الإصدار 1.3 من Wear Compose الوظائف الجديدة التالية:

  • تم نقل 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 alpha بحيث يتم عرضه في البداية، ولكن بدون أي صورة متحركة.

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

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

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

  • لقد أصلحنا خطأً ناتجًا عن نص منحني محدود عندما يكون الحجم محدودًا (I50efe)
  • تم حلّ عُطل محتمل مرتبط بقيمة NaN في curvedComposable (I970eb)
  • لقد تراجعنا عن إزالة الصورة المتحركة التي تميّز تغيير موضع الإعلان على PositionIndicator. (Ieb424)
  • لقد أزلنا طبقة material-core من Chip الخاص بمكتبة Material لتحسين أدائه. (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 في Material بعد نقل وظيفة "التمرير السريع للإغلاق" إلى الرمز wear.compose.foundation. يُرجى استبدالها بما يعادلها من wear.compose.foundation. (Iee8c9)

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

  • لقد عدّلنا ملفات تعريف خط الأساس لمكتبات Wear Compose الأساسية والتصميم المتعدد الأبعاد والتنقّل. (Idb060)
  • لقد أرجعنا تغييرًا سلوكيًا لـ PositionIndicator تم تقديمه في طلب تغيير سابق، بحيث يتم تحريك 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)
  • أضفنا اختبارات Microbenchmark لجهاز 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 Navigation لاستخدام الإصدار الجديد SwipeToDismissBox من Wear Compose Foundation. (I4ff8e)

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

  • تم إصلاح خطأ في ترتيب العناصر حسب محور z، حيث لم يعرض expandedItem المحتوى الصحيح بعد النقر على سلوك أحد الأزرار عندما يحتوي على أزرار. (I1899d، b/289991514)
  • تحسين معالجة التركيز في SwipeToDismissBox (وبالتالي SwipeDismissableNavHost) باستخدام HierarchicalFocusCoordinator (I45362، b/277852486)
  • لقد أصلحنا مشكلة التعامل مع الإيماءات في SwipeableV2 . (I89737)
  • لقد انتهينا من إعداد ملفات تعريف الأداء الأساسية لإصدار 1.2. (Id5740)
  • بعد نقل SwipeToDismissBox إلى Foundation، يتم الآن إعادة توجيه عملية تنفيذ Material SwipeToDismissBox إلى 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)
  • لقد أصلحنا عدم اتساق في المَعلمات التلقائية SwipeToDismissBox contentScrimColor. (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 هذه التعديلات.

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

  • لقد أضفنا المتغيّر التجريبي الجديد LocalReduceMotion CompositionLocal الذي يوقف تغيير الحجم والتلاشي على ScalingLazyColumn. (I58024)

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

  • لقد عدّلنا ملفات تعريف خط الأساس لمكتبات Wear Compose الأساسية ومكتبات التصميم المتعدد الأبعاد(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 هذه التعديلات.

ميزات Compose for Wear OS 1.2

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

  • 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 معاينة العناصر القابلة للإنشاء على جهاز Wear مزوّد بأحجام خطوط متعددة، بينما تعمل WearPreviewDevices على معاينة العناصر القابلة للإنشاء على أجهزة Wear مختلفة.
  • لقد أضفنا DefaultTextStyle إلى Wear Compose، ما يؤدي إلى ضبط قيمة السمة PlatformTextStyle.includeFontPadding تلقائيًا على "صحيح" (وهذا هو الإعداد الحالي). سيسمح لنا ذلك بمزامنة إيقاف المساحة المتروكة في الخط تلقائيًا مع مكتبات Compose في إصدار أولي من الإصدار 1.3 - يمكنك الاطّلاع على 1.2.0-alpha10 للحصول على مزيد من المعلومات.

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

  • أضفنا ميزة تجريبية لإيقاف التحجيم وتأثير التلاشي عند تفعيل خيار reduce_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)
  • لقد أصلحنا خطأً في Chip وCompactChip لم يعُد يتم فيه ضبط الدور الدلالي على Role.Button. (I93f91، b/277326264)

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

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

  • في الإصدار 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 لتجنُّب عمليات إعادة التركيب الإضافية عند تحريك الألوان يدويًا باستخدام State. (I5d319)

الإصدار 1.2.0-alpha07

‫22 مارس 2023

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

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

  • نقلنا مكوّنات "العنصر القابل للتوسيع" (التي تمت إضافتها في الإصدار 1.2.0-alpha06) من Material إلى Foundation، لأنّها لم تتضمّن أي مرجع مفيد إلى MaterialTheme. (Ib0525)

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

  • لقد أصلحنا عُطلاً حدث في شاشة تستخدم PickerGroup، وذلك من خلال التأكّد من أنّ PickerGroup يتعامل مع التركيز بشكل صحيح عندما لا يكون أي عنصر Picker في حالة التركيز. تمت أيضًا إضافة إمكانية التمرير في RSB في عروض Picker التوضيحية. (If8c19)
  • لقد حسّنّا عمليات الانتقال بين مربّعات الحوار، وأصبح الانتقال إلى المقدمة أكثر سلاسة ليتوافق مع الانتقال إلى الخاتمة. (Ib5af9)
  • لقد أضفنا DefaultTextStyle إلى Wear Compose، ما يؤدي إلى ضبط قيمة السمة PlatformTextStyle.includeFontPadding تلقائيًا على "صحيح" (وهذا هو الإعداد الحالي). سيتيح لنا ذلك مزامنة إيقاف مساحة الحشو في الخط تلقائيًا مع مكتبات Compose في المستقبل. يمكنك الاطّلاع على حلّ مشكلة مساحة الحشو في الخط في Compose للحصول على معلومات أساسية. (I2aee8)
  • تمت إعادة إصدار UpsideDownCake لمعاينة الاعتمادية من خلال activity-compose التي كانت تحظر نشر التطبيقات على "متجر 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 معاينة العناصر القابلة للإنشاء على جهاز Wear مزوّد بأحجام خطوط متعددة، بينما تعمل WearPreviewDevices على معاينة العناصر القابلة للإنشاء على أجهزة Wear مختلفة. لاستخدام هذه الإصدارات التجريبية، يجب استخدام أحدث إصدار من "استوديو Android" (Giraffe Canary 6) أو إصدار أحدث. يُرجى العِلم أنّه إذا كانت هذه التعليقات التوضيحية لا تناسب غرضك، سيظلّ بإمكانك استخدام "المعاينة"، كما أنّها تتيح إجراء المزيد من التخصيصات من خلال المَعلمات. (I397ff)
  • لقد وضعنا علامة "تجريبي" على HierarchicalFocusCoordinator لأنّه يُعدّ مرشحًا للانتقال إلى مكتبات Compose الأساسية، وذلك نظرًا إلى إمكانية تطبيقه على نطاق واسع. (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)

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

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

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

  • السماح بتضمين ScalingLazyColumn في صفحة يمكن التمرير فيها أفقيًا (Iec3f8 وb/266555016)
  • تحسين مستندات Stepper kdoc وعملية تنظيف اختبارات 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، كما أنّه أكثر طبيعية لأنّه ليس أحد مكونات Material التي تتضمّن آراءً مسبقة. نعمل حاليًا على إجراء هذا التغيير استعدادًا لإطلاق مكتبة Material3 الجديدة التي سنعمل عليها بالتوازي مع مكتبة Material الحالية. (I060e7)

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

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

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

  • لقد أصلحنا خطأً تسبّب في إعادة إنشاء غير ضرورية في ScalingLazyListState.centerItemIndex من خلال التأكّد من أنّه لا يتم إرسال التعديلات إلا عندما تتغيّر القيمة فعليًا (Ia9f38).
  • لقد حسّنّا أداء SwipeToDismissBox (I3933b)
  • تمت إضافة اختبارات قياس الأداء لـ ScalingLazyColumn في Wear Compose Foundation (Ie00f9)
  • عدّلنا بعض طرق فئات ScalingLazyColumn الداخلية في Material لاستخدام ما يعادلها من Foundation.Lazy (I38aab)
  • لقد حللنا بعض المشاكل في اختبارات Picker وأضفنا المزيد من الاختبارات للتحقّق من التمرير مع الإزاحة (I6ac34).
  • نقلنا ScalingLazyColumn Integration Demos ليعتمد على 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)
  • إصلاح مستندات kdoc الخاصة بـ scrollToOption (I6f9a0)
  • تم تعديل PlaceholderState.rememberPlaceholderState() لاستخدام rememberUpdatedState حتى يتم تعديل الحالة إذا كانت دالة onContentReady Lambda. (I02635، b/260343754)
  • لقد حللنا مشكلة اهتزاز النص التي كانت تظهر في المكوّن Picker من خلال الاستفادة من استراتيجية الدمج الجديدة التي تمت إضافتها إلى Modifier.graphicsLayer. (I99302)
  • لقد أصلحنا خطأً تسبّب في حدوث وميض في العرض التوضيحي DatePicker (I660bd).
  • لقد حسّنّا إمكانية الوصول إلى العروض التوضيحية لأداة اختيار الوقت والتاريخ بنظام 12 ساعة (I05e12).
  • عدّلنا عروضنا التوضيحية لأداة اختيار الوقت والتاريخ لكي لا تتأثر أدوات الاختيار بتغييرات RSB عند إلغاء تحديدها (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 لإزالة AM/PM في TimeText. سيؤدي ذلك إلى تغيير القيمة التلقائية لمَعلمات timeSource في واجهة برمجة التطبيقات TimeText. (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 for Wear OS 1.1

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

  • يتضمّن الإصدار 1.1 من Wear Compose الوظائف الجديدة التالية:
    • أداة الاختيار: تحسينات على أداة الاختيار لتسهيل استخدامها، ما يتيح التنقّل في شاشات أدوات الاختيار المتعدد باستخدام برامج قراءة الشاشة وإمكانية الوصول إلى وصف المحتوى
    • يتم الآن استخدام المَعلمة Picker contentDescription للخيار Picker المحدّد فقط، وتتلقّى قيمة String قابلة للتصغير (في عملية الإرسال السابقة، كان من الضروري تمرير عملية ربط من الخيار إلى وصف المحتوى، ولكن تم استخدام الخيار المحدّد فقط).
    • أصبحت عناصر أداة الاختيار الآن محاذية دائمًا للوسط، ما يؤدي إلى إصلاح خطأ كان يحدث عند ضبط gradientRatio على صفر، وهو تغيير المحاذاة.
    • Chip/ToggleChip - عدّلنا التدرجات التلقائية في Chip/ToggleChip لتتوافق مع أحدث مواصفات تجربة المستخدم. تم تعديل ChipDefaults.gradientBackgroundChipColors لتبدأ من% 50 من اللون الأساسي بدلاً من %32.5.
    • Chip/ToggleChip - تمت إضافة عمليات تحميل زائدة لتعديل أشكال Chip
    • Chip/Button/ToggleButton - تمت إضافة نمط جديد محدَّد الجوانب إلى الشرائح والأزرار، بالإضافة إلى عنصرَي OutlinedChip وOutlinedButton الجديدَين القابلَين للإنشاء اللذين يوفّران Chip/Button شفافًا مع إطار رفيع.
    • البطاقة: تم تعديل التدرّجات التلقائية للبطاقات لتتوافق مع أحدث مواصفات تجربة المستخدم. تم تعديل CardDefaults.cardBackgroundPainter ليبدأ من% 30 من اللون الأساسي وينتهي عند% 20 من onSurfaceVariant (كانت النسبة سابقًا من% 20 إلى% 10 من onSurfaceVariant). تم تغيير ToggleChip.toggleChipColors من تدرّج خطي بنسبة% 75 من لون الخلفية إلى% 32.5 من اللون الأساسي إلى% 0 من لون الخلفية إلى% 50 من اللون الأساسي.
    • Button/ToggleButton: تمت إضافة سمات لتعديل أشكال الأزرار.
    • التصميم: تم تعديل عدد من الألوان التلقائية في MaterialTheme لتحسين إمكانية الوصول، لأنّ الألوان الأصلية لم يكن فيها تباين كافٍ، ما أدّى إلى صعوبة تمييز خلفيات الشرائح أو البطاقات أو الأزرار عن لون خلفية التصميم.
    • InlineSlider/Stepper: تمت إضافة أدوار الأزرار حتى يتمكّن Talkback من التعرّف عليها كأزرار.
    • تم الآن ضبط موضع وحجم عنصر Scaffold - 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()) يتم رسمه فوق المؤثرات الأخرى للإشارة إلى المستخدمين بأنّنا ننتظر تحميل البيانات.
      • تم تصميم كل هذه التأثيرات لتكون منسّقة وتتألق وتتلاشى بطريقة منظَّمة.
  • تم تعديل التبعيات الأساسية في Compose من الإصدار 1.2 إلى 1.3

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

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

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

  • ستعمل الرمزان curveText وbasicCurvedText الآن بشكل صحيح مع TalkBack (يحتويان على عقدة compose-ui بحجم وموضع مناسبَين (ولكن فارغة) مرتبطة بهما، باستخدام النص كوصف للمحتوى) (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 لمؤشّرات الموضع والصفحة في Scaffold. ستظهر المؤشرات الآن فوق الإعلان الصغير، وبالتالي لن يحجبها الإعلان الصغير إذا كان معروضًا. (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 من أجل تحسين إمكانية الوصول، لأنّ الألوان الأصلية لم يكن فيها تباين كافٍ، ما أدّى إلى صعوبة تمييز المستخدمين لخلفيات الشرائح/البطاقات/الأزرار عن لون خلفية المظهر. الألوان المعدَّلة هي surface(0xFF202124->0xFF303133) وonPrimary(0xFF202124->0xFF303133) وonSecondary(0xFF202124->0xFF303133) وprimaryVariant(0xFF669DF6->0xFF8AB4F8) وonError(0xFF202124->0xFF000000). على الرغم من أنّ التغييرات في الألوان طفيفة نسبيًا، إلا أنّها قد تؤثّر في اختبارات لقطات الشاشة الحالية. (81ab09)

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

  • إصلاح خطأ منطقي في ScalingLazyColumn كان يمكن أن يؤدي إلى عدم اكتمال تهيئة القوائم التي تتضمّن عددًا صغيرًا (عادةً عنصرَين فقط) من عناصر القائمة، وبالتالي ظهورها بشكل شفاف (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 وحدات بكسل مستقلة الكثافة من مساحة تصنيف النص القابلة للاستخدام. ملاحظة: يوفّر إصلاح الخطأ هذا مساحة إضافية للتسمية النصية، ونتيجةً لذلك، يمكن أن يؤثّر (بشكل إيجابي) في تخطيط النص المتجاوز. إذا كانت لديك اختبارات لقطات شاشة تتضمّن 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 for 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 الخاصة بأداة الاختيار فقط للخيار المحدّد في أداة الاختيار، وتتلقّى قيمة String قابلة للتصغير (في السابق، كان من الضروري تمرير عملية ربط من الخيار إلى وصف المحتوى، ولكن تم استخدام الخيار المحدّد فقط). (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 لمؤشّرات الموضع والصفحة في Scaffold. ستظهر المؤشرات الآن فوق الإعلان الصغير، وبالتالي لن يحجبها الإعلان الصغير إذا كان معروضًا. (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 كان يمكن أن يؤدي إلى عدم اكتمال عملية التهيئة للقوائم التي تتضمّن عددًا صغيرًا من عناصر القائمة (عادةً عنصرَين فقط)، وبالتالي تصبح القوائم شفافة. (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 for Wear OS (مزيد من المعلومات).
  • تستند Compose for Wear OS إلى مكتبات Compose الأساسية، وتوفّر مكوّنات إضافية خاصة بالأجهزة القابلة للارتداء، كما توفّر، عند الحاجة، عمليات تنفيذ بديلة لمكوّنات Compose الأساسية مصمَّمة خصيصًا للأجهزة القابلة للارتداء.
  • للاطّلاع على قائمة بالمكوّنات الرئيسية في Wear Compose، راجِع ملاحظات الإصدار (Compose for Wear OS Beta01).

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

  • لقد أضفنا صورًا متحركة إلى مستوى ظهور الصورة المصغّرة عند عرض/إخفاء مربّع الحوار، وذلك ليتوافق مع الصورة المتحركة الحالية الخاصة بتغيير الحجم. (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 هذه التعديلات.

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

  • تم تصحيح اتجاه التدرّج اللوني للبطاقات في وضع الكتابة من اليمين إلى اليسار. كانت الزاوية العلوية اليسرى -> الزاوية السفلية اليمنى، وأصبحت الآن الزاوية العلوية اليمنى -> الزاوية السفلية اليسرى. (Ic2e77)
  • عدّلنا التدرّجات اللونية التلقائية في Chip/ToggleChip/Card لتتوافق مع أحدث مواصفات تجربة المستخدم. وتم تعديل ChipDefaults.gradientBackgroundChipColors ليبدأ من% 50 من اللون الأساسي بدلاً من %32.5. تم تعديل CardDefaults.cardBackgroundPainter ليبدأ من% 30 من اللون الأساسي وينتهي عند% 20 من onSurfaceVariant (كانت النسبة سابقًا من% 20 إلى% 10 على SurfaceVariant). يتغيّر ToggleChip.toggleChipColors من تدرّج خطي بنسبة% 75 من السطح إلى% 32.5 من اللون الأساسي إلى% 0 من السطح إلى% 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 هذه التعديلات.

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

  • أصبحت الواجهات في مكتبات Compose الآن تستخدم طرق الواجهة التلقائية في الإصدار 8 من حزمة تطوير البرامج (JDK) (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 بكسل مستقل الكثافة على الأقل، وذلك لاستيفاء إرشادات تسهيل الاستخدام في Material Design. قد يؤثر ذلك في أي تخطيطات تستخدم 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 في وضع Compose @Preview. (I3b3b6، b/232947354)

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

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

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

  • ارتفاع النقر/اللمس في CompactChip أصغر من إرشادات تسهيل الاستخدام في Material. سيتم تصحيح ذلك في الإصدار التالي (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 الآن أيضًا TextStylefontWeight(قد تتم إضافة ذلك إلى الدالة الإنشائية وطُرق النسخ في المراجعات المستقبلية لواجهة برمجة التطبيقات) (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 هذه التعديلات.

ميزات الإصدار 1.0 من Compose for Wear OS

يمثّل الإصدار 1.0.0-beta01 من Compose for Wear OS إنجازًا مهمًا، إذ إنّ المكتبة تتضمّن جميع الميزات وتم قفل واجهة برمجة التطبيقات.

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

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

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

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

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

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

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

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

  • يتم أيضًا تضمين المكوّن التالي من Wear Compose Navigation:

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

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

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

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

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

  • تؤدي أداة Stepper الآن إلى إيقاف زرَي الإنقاص والزيادة عند بلوغ الحدّ الأدنى أو الأقصى (ويتم تطبيق ContentAlpha.disabled على iconColor) (I4be9f)
  • أضفنا مساحة متروكة بحجم وحدة بكسل واحدة حول محتوى أداة الاختيار عند رسمها باستخدام تدرّج لوني لمنع التشويش على النص الذي يظهر عند التمرير سريعًا. (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. يمكن استخدام هذه السمة مع العناصر التابعة لكل من curvedRow وCurvedLayout (بالنسبة إلى العرض) والعناصر التابعة لـ curvedColumn (بالنسبة إلى الارتفاع). (I8abbd)
  • تمت إضافة المعدّلات CurvedModifier.size و.angularSize و.radialSize لتحديد حجم عنصر منحني. (I623c7)

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

  • إعادة ترتيب المَعلمات لضمان ظهور الخلفية قبل اللون بشكلٍ متّسق في جميع أنحاء واجهة برمجة التطبيقات Wear Compose (I43208)
  • تمت إزالة المَعلمتَين clockwise و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 إلى بعض الخانات في عناصر Composables للإشارة إلى المطوّرين إلى افتراضات التصميم. سيسمح ذلك للمطوّرين باستخدام معدِّلات إضافية على بعض محتوى المساحات الإعلانية وتجنُّب الحاجة إلى توفير عناصر تخطيط إضافية. بالإضافة إلى ذلك، أجرينا بعض التعديلات البسيطة على ألوان AppCard/TitleCard لضبط timeColor وappColor تلقائيًا على contentColor، وسيظل بإمكانك إلغاء كل هذه الخصائص بشكل فردي إذا لزم الأمر. (I26b59)
  • جعل عنصر SwipeToDismissBoxState.Companion خاصًا (I39e84)
  • إصلاح ترتيب المَعلمات في InlineSlider وStepper تغيير بسيط لاتباع إرشادات واجهة برمجة التطبيقات (I11fec)
  • لقد أزلنا عنصر Saver من SwipeToDismissBoxState لأنّه لم يتم استخدامه. (Ifb54e)
  • لقد عدّلنا CompactChip ليتوافق مع أحدث مواصفات تجربة المستخدم. تم تقليل مساحة الحشو إلى أفقي = 12.dp وعمودي = 0.dp. تم تغيير خط التسمية من زر إلى caption1. أحجام الرموز المقترَحة هي 20x20 عند توفّر الرمز والتصنيف، و24x24 للرقاقة المدمجة التي تتضمّن رمزًا فقط. بالنسبة إلى حالة استخدام الرمز فقط، حرصنا أيضًا على أن يكون الرمز محاذيًا للوسط. (Iea2be)
  • أضفنا عددًا من الحقول الجديدة إلى ScalingLazyListLayoutInfo لتمكين المطوّرين من معرفة مقدار contentPadding وautoCenteringPadding الذي تم تطبيقه. يمكن أن تكون هذه القيم مفيدة للمطوّرين عند احتساب عمليات التمرير السريع/التمرير (I7577b)
  • لقد نفّذنا انتقالات للداخل والخارج في مربّع الحوار. تمت إضافة المَعلمة showDialog، وأصبح مربّع الحوار يتحكّم الآن في إمكانية ظهوره (يتيح ذلك لمربّع الحوار تشغيل الرسوم المتحركة الخاصة بالمقدمة والخاتمة عند عرض مربّع الحوار أو إخفائه). يُرجى العِلم أنّه لا يتم تنفيذ الرسوم المتحركة الخاصة بالمشهد الختامي عندما يغادر المستخدم مربع الحوار من خلال التمرير سريعًا للإغلاق. أضفنا أيضًا قيمة تلقائية للحالة في SwipeToDismissBox الذي تمت إضافته مؤخرًا. (I682a0)
  • من أجل توفير دعم أفضل للتدويل وإمكانية الوصول، غيّرنا 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 إلى Scaffold. من خلال إضافة PageIndicator مباشرةً إلى Scaffold، يمكننا التأكّد من أنّه سيتم عرضه بشكل صحيح على الأجهزة الدائرية. (Ia6042)
  • إزالة الرموز التلقائية من المَعلمتَين InlineSlider وStepper سيساعد ذلك المطوّرين على الاهتمام بشكل أكبر بمتطلبات التوافق مع اللغات المحلية ومتطلبات تسهيل الاستخدام. تم عرض استخدامات الأيقونات التلقائية في العروض التوضيحية والأمثلة. (I7e6fd)
  • استبدال أسماء المَعلمات Trailing وLeading بـ 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 هذه، يمكن تحديد التصميمات المنحنية الأكثر تعقيدًا باستخدام سلسلة من curvedRow وcurvedColumn المتداخلة (وهي مكافئات التصميم المنحني لكل من Row وColumn). يمكن استخدام ثلاثة عناصر داخل عناصر التخطيط هذه: curvedComposable (لإضافة أي @Composable)، وbasicCurvedText (نص منحني أساسي)، وcurvedText (نص منحني متوافق مع تصميم Wear). (Ib776a)
  • اجعل الجانب PositionIndicator قابلاً للضبط. يمكن الآن ضبط موضع PositionIndicator الأساسي على "النهاية" (مع مراعاة اتجاه التنسيق)، أو OppositeRsb (مع مراعاة دوران الشاشة، ليتم وضعه في موضع مقابل لزر RSB الفعلي)، أو Left & Right المطلقَين. (I2f1f3)
  • بالنسبة إلى SwipeToDismissBox، غيّرنا اسم SwipeDismissTarget.Original إلى SwipeToDismissValue.Default وSwipeDismissTarget.Dismissal إلى SwipeToDismissValue.Dismissed. نقلنا أيضًا SwipeToDismissBoxDefaults.BackgroundKey وSwipeToDismissBoxDefaults.ContentKey إلى SwipeToDismissKeys.Background وSwipeToDismissKeys.Content على التوالي. (I47a36)
  • أضفنا وضع القراءة فقط إلى أداة الاختيار، وذلك للشاشات التي تتضمّن أدوات اختيار متعددة يمكن تعديل واحدة منها فقط في كل مرة. عندما يكون Picker للقراءة فقط، يعرض الخيار المحدّد حاليًا، وتصنيفًا إذا تم توفيره. (I879de)
  • تمت إعادة تصميم SwipeToDismissBoxState لحصر نطاق ExperimentalWearMaterialApi على Modifier.swipeable وSwipeableState، ويتم استخدامهما الآن داخليًا. تتضمّن SwipeToDismissBoxState الآن أعضاء currentValue وtargetValue وisAnimationRunning وsnapTo لدعم حالات الاستخدام الشائعة. يُرجى إعلامنا إذا كنت بحاجة إلى توفير أي خصائص أخرى. تم أيضًا إصلاح سلوك SwipeableState في حال كان إزاحة التمرير السريع ضمن خطأ تقريب للموضع الثابت. (I58302)

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

  • تم تبسيط الرمز البرمجي وإصلاحه لرصد ما إذا كان يمكن الانتقال إلى أعلى أو أسفل محتوى ScalingLazyColumn (يُستخدم لتحديد ما إذا كنا سنعرض شريط تمرير أم لا) (I7bce0)
  • تم إصلاح خطأ في "مؤشر الموضع" عند استخدامه مع أكثر من حالة واحدة والتبديل بينها (I320b5)
  • لقد عدّلنا الخطوط/الكتابة في المظهر التلقائي لـ Compose for Wear OS ليتوافق مع أحدث إرشادات تجربة المستخدم. تجدر الإشارة إلى أنّ display1 (40.sp) وdisplay2 (34.sp) أصبحا الآن أصغر من القيم السابقة، وتم إجراء العديد من التعديلات الطفيفة الأخرى على ارتفاع السطر والمسافة بين الأسطر. (Ie3077)
  • لقد أضفنا مقاومة SwipeToDismissBox حتى لا تحدث الحركة إلا عند التمرير سريعًا لإغلاق الإشعار وليس في الاتجاه المعاكس. (Ifdfb9)
  • لقد غيّرنا بعض قيم المَعلمات التلقائية للدوال CircularProgressIndicator لتتوافق مع إرشادات تجربة المستخدم في Wear التصميم المتعدد الأبعاد. بالنسبة إلى إصدار Spinner/Indeterminant، تم تعديل الحجم (40->24.dp) وindicatorColor (primary->onBackground) وشفافية trackColor (‫30%->10%) وعرض الخط (4->3dp). بالنسبة إلى إصدار "شريط التقدم/شريط التقدم المحدد"، تم تعديل مستوى شفافية trackColor (من ‎30% إلى ‎10%). (I659cc)
  • عدّلنا مَعلمات التحجيم التلقائية ScalingLazyColumn بما يتوافق مع أحدث مواصفات تجربة المستخدم في "التصميم المتعدد الأبعاد" على Wear. يؤدي ذلك إلى بدء تغيير حجم عناصر القائمة لتصبح أقرب إلى مركز القائمة، ولكن مع تغيير حجم أقل عند حافة القائمة مقارنةً بالسابق. (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 هذه التعديلات.

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

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

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

  • إيقاف الصورة المتحركة التي يتم عرضها عند الانتقال إلى الموقع الجغرافي (Idb69d)
  • تحريك التغييرات في PositionIndicator (I94cb9)
  • استنادًا إلى الملاحظات الواردة بشأن واجهة المستخدم وتجربة المستخدم، غيّرنا ميزة ScalingLazyColumn autoCentering لكي توفّر مساحة كافية فقط للتأكّد من إمكانية التمرير الكامل للعناصر التي تتضمّن الفهرس ScalingLazyListState.initialCenterItemIndex أو أعلى إلى منتصف إطار العرض. يتيح ذلك للمطوّرين وضع عنصر أو عنصرين في البداية في المنتصف لا يمكن الانتقال إليهما من خلال التمرير إلى المنتصف. سيعني ذلك أنّه لن يكون بالإمكان تمرير ScalingLazyColumn الذي يتم توسيطه تلقائيًا إلى أعلى initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2).
  • أضفنا عرضًا توضيحيًا لأداة اختيار التاريخ وأصلحنا خطأً في PickerState حيث لم يتم تطبيق initiallySelectedOption إلا بعد عرض أداة الاختيار. (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 هذه التعديلات.

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

  • أضفنا ميزة "المحاذاة السريعة" التي يمكن استخدامها مع ScalingLazyColumn. اضبط flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) لتفعيل ميزة "المحاذاة". (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)
  • واجهة برمجة تطبيقات إضافية للأعداد الصحيحة من أجل InlineSlider وStepper (I1b5d6)

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

  • لقد غيّرنا القيمة التلقائية لـ initialCenterItemIndex في ScalingLazyListState من 0 إلى 1. وهذا يعني أنّه ما لم يتم تجاهل ذلك عند إنشاء الحالة باستخدام ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =)، سيتم وضع العنصر الثاني في القائمة (الفهرس == 1) في وسط نافذة العرض عند التهيئة، وسيتم وضع العنصر الأول (الفهرس == 0) قبله. يتيح ذلك الحصول على تأثير مرئي أفضل تلقائيًا لأنّ معظم إطار العرض سيتم ملؤه بعناصر القائمة. (I0c623، b/217344252)
  • لقد خفضنا ScalingLazyColumn القيمة التلقائية extraPadding التي يتم توفيرها لضمان توفّر الكثير من عناصر القائمة (حتى عندما يتم تقليل حجم بعضها) من% 10 إلى %5. سيؤدي ذلك إلى تجنُّب إنشاء عناصر قائمة إضافية قد لا تظهر في إطار العرض. في حال استخدام scalingParams غير العادية (مثل التوسيع المفرط)، يمكن للمطوّر ضبط المساحة المتروكة الإضافية باستخدام viewportVerticalOffsetResolver. (I76be4)
  • إصلاح مشكلة في TimeText على أسطر متعددة على جهاز مربّع (Ibd3fb)
  • لقد عدّلنا ScalingLazyColumn لكي لا يملأ كل المساحة في العنصر الأصل بشكل مفرط. بدلاً من ذلك، سيتم تحديد حجمها من خلال حجم محتواها. ويجعل ذلك السلوك متوافقًا مع سلوك LazyColumn. إذا أردت إعادة السلوك القديم، مرِّر Modifier.fillMaxSize() إلى ScalingLazyColumn. ملاحظة: هذا التغيير غير مكتمل وسيتم تناوله في تغيير لاحق في إصدار Alpha التالي. (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. عندما تكون القيمة صحيحة (وهي القيمة التلقائية)، سيضمن ذلك إمكانية التمرير لجميع العناصر، بما في ذلك العنصر الأول والأخير، لتظهر في وسط نافذة عرض القوائم. يُرجى العِلم أنّه في حال استخدام التوسيط التلقائي، من المحتمل أن تحتاج إلى ضبط مساحة الحشو العمودية للمحتوى على 0.dp. إذا تم توفير كلّ من autoCentering وvertical content padding، سيؤدي ذلك إلى توفير مساحة إضافية قبل العنصر الأول وبعد العنصر الأخير في القائمة، ما يسمح بالتمرير إلى أبعد من ذلك. (I2a282، b/214922490)
  • لقد أضفنا مكوّن Dialog يتيح لأي عنصر قابل للإنشاء تشغيل مربّع حوار بملء الشاشة يظهر فوق المحتوى الآخر. عند عرض مربّع الحوار، يتيح إغلاقه من خلال التمرير السريع، كما سيعرض محتوى العنصر الرئيسي في الخلفية أثناء إجراء إيماءة التمرير السريع. من المتوقّع أن يكون محتوى مربّع الحوار Alert أو Confirmation (تمت إعادة تسميته من المكوّنين السابقين AlertDialog وConfirmationDialog) - Alert وConfirmation وDialog كلها في حزمة androidx.wear.compose.material.dialog. يمكن استخدام "التنبيه" و"التأكيد" كوجهات للتنقّل. تمت أيضًا إضافة ColumnScope إلى مَعلمات التنبيه والتأكيد حسب الضرورة. (Ia9014)
  • أزلنا onSurfaceVariant2 من "ألوان مظهر Material" في Compose for WearOS واستبدلنا الاستخدامات في المكتبة بـ 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 وجهة إلى التسلسل الهرمي لـ Compose قبل أن تصل إلى حالة دورة الحياة 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 Navigation. (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 هذه التعديلات.

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

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

  • أضفنا عنصرَين جديدَين قابلَين للإنشاء لعرض مربّعات الحوار: ينتظر AlertDialog ردًا من المستخدم ويعرض عنوانًا ورمزًا ورسالة، بالإضافة إلى أ) زرَّين لخيارات بسيطة إيجابية/سلبية أو ب) شرائح أو شرائح تبديل مكدّسة عموديًا لخيارات أكثر مرونة، يعرض ConfirmationDialog إقرارًا بمهلة. يحتوي مربع الحوار البسيط هذا على خانات للعنوان والرمز (المتحرّك). (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/fillParentMaxWidth/fillParentMaxHeight للسماح بتحديد حجم عناصر القائمة استنادًا إلى حجم الحاوية الرئيسية. يمكن ضبط العناصر لملء كل حجم العنصر الأصل أو جزء منه. تعرض هذه السمة وظائف متاحة في LazyRow/Column (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 هذه التعديلات.

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

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

  • اطّلِع على الدرس التطبيقي حول الترميز: Compose for WearOS الجديد.

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

  • تتضمّن مكتبة Macrobenchmark الآن minSdkVersion بقيمة 23. (If2655)

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

  • تعديل طريقة التعامل مع الانتقال في SwipeDismissableNavHost في SideEffect (I04994، b/202863359)
  • تعديل طريقة التعامل مع الانتقالات في SwipeDismissableNavHost (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. يمكنك الاطّلاع على منشور المدوّنة الذي يراجع عناصر Compose الرئيسية القابلة للإنشاء ويتضمّن روابط تؤدي إلى المزيد من الموارد لبدء استخدامها.

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

  • أتحنا للمطوّرين إمكانية تخصيص جميع الألوان في تصميم Wear Material Design Color. (I4759b، b/199754668)

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

  • تمت إضافة أمثلة على SwipeToDismissBox تحتفظ بالحالة (Ibaffe)
  • تمت إضافة روابط إلى أدلة developer.android.com من KDocs لكل من CurvedText وTimeText وSwipeToDismissBox. (I399d4)
  • يُصدر SwipeDismissableNavHost الآن خطأً إذا لم تكن هناك وجهة حالية (يشير ذلك إلى أنّه لم يتم إنشاء 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 ونقلناها إلى نهاية قائمة السمات للسماح بتوفيرها كدالة lambda لاحقة. تمت أيضًا إعادة تسمية bodyColor إلى contentColor لضمان الاتساق مع أسماء الخانات الجديدة. (I57e78)

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

  • تمت إضافة روابط إلى أدلة developer.android.com من KDocs الخاصة بمكوّنات الزر والبطاقة والشريحة والمظهر ومؤشر الموضع والعمود الكسول القابل للتوسيع. (I22428)
  • إصلاح مشكلة عدم معالجة WearOS SwipeToDismissBox أحيانًا لعمليات التمرير السريع (I9387e)
  • تمت إضافة أمثلة على Button وCompactButton وChip وCompactChip وAppCard وTitleCard وToggleButton وToggleChip وSplitToggleChip (Iddc15)
  • تمت إضافة اختبارات أداء للمقياس الصغير لكل من Card وChip و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 في Material، وهو مكوّن يتيح للمطوّرين كتابة نص منحني بسهولة باتّباع انحناء الدائرة (عادةً على حافة الشاشة الدائرية). (I19593)

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

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

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

  • تم إصلاح مشكلة عدم الثبات في اختبار CurvedRow على الأجهزة الأصغر حجمًا. (If7941)
  • تم إصلاح مشكلة التعتيم المحتملة في CurvedRow عند تعديل المحتوى، والتأكّد من إعادة قياس الصف المنحني (Ie4e06)
  • تم تعديل ChipDefaults.gradientBackgroundChipColors() بما يتوافق مع التغييرات في مواصفات تجربة المستخدم. يبدأ التدرّج الآن بـ MaterialTheme.colors.primary مع قيمة ألفا% 32.5 وينتهي بـ MaterialTheme.colors.surface مع قيمة ألفا% 0 على خلفية MaterialTheme.colors.surface مع قيمة ألفا% 75. (Id1548)
  • عدّلنا ألوان ToggleChips عندما تكون في الحالة المحدّدة لتتوافق مع أحدث إرشادات Wear Material Design UX Spec. عند تحديد ToggleChips، ستتضمّن الآن خلفية متدرّجة من MaterialTheme.color.surface @ 0% alpha، أعلى اليمين، إلى MaterialTheme.color.primary @ 32% alpha، أسفل اليسار، على خلفية MaterialTheme.color.surface @ 75% alpha. يؤدي ذلك إلى اختلاف أكثر دقة بين المربّع المحدّد والمربّع غير المحدّد في 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 هذه التعديلات.

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

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

مكتبة Wear Compose Navigation

  • أضفنا الإصدار الأول من مكتبة Wear Compose Navigation التي تتيح الدمج بين مكتبتَي Wear Compose وAndroidx Navigation. توفّر هذه المكتبة وسيلة بسيطة للتنقّل بين دوال ‎ @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 Navigation كمكتبة منفصلة حتى لا تحتاج تطبيقات WearCompose البسيطة التي تنفّذ عملية التنقّل الخاصة بها إلى الاعتماد على مكتبة Androidx Navigation.

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

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

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

  • عدّلنا مستندات CompactChip لتوضيح ما يحدث في حال عدم توفير أيقونة أو تصنيف. (I4ba88)
  • أجرينا بعض التعديلات على مكوّنات بطاقة Wear. (I6b3d0)
    1. تم تقليل المسافة بين العنوان والنص في TitleCard من 8.dp إلى 2.dp.
    2. تم تغيير خط رأس TitleCard من النص الأساسي إلى title3.
    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 هذه التعديلات.

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

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

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

  • قلّلنا المسافة بين الرمز والنص في Chip و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 هذه التعديلات.

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

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

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

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

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

  • تمت إضافة مادة اختبارية إلى SwipeToDismissBox (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 وSplitToggleChips على المطوّرين (I7b639)
  • تم تعديل مساحة الحشو في بداية ونهاية المحتوى في "الشرائح" لتصبح 14 وحدة بكسل مستقلة عن الكثافة بشكل دائم، بغض النظر عمّا إذا كانت الشريحة تتضمّن رمزًا أم لا (كانت سابقًا 12 وحدة بكسل مستقلة عن الكثافة في حال توفّر الرمز و14 وحدة بكسل مستقلة عن الكثافة في حال عدم توفّره) (I34c86)

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

  • إضافة اختبارات لـ CurvedRow (I93cdb)
  • ربط تبعيات Wear Compose بالإصدار 1.0.0-rc01 من Compose (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 وCompose وتتيح استخدام تصميم Wear Material، وهو إضافة إلى "التصميم المتعدد الأبعاد" للأجهزة القابلة للارتداء التي تعمل بنظام التشغيل WearOS. يحتوي هذا الإصدار الأوّلي على عمليات تنفيذ مبكرة وعملية لما يلي:

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

ستوسّع الإصدارات المستقبلية مجموعة التطبيقات المصغّرة بإضافة دعم لأدوات الاختيار وأشرطة التمرير والقوائم ومؤشرات الصفحات ومربّعات الحوار ومؤشرات أشرطة التمرير والرسائل القصيرة وغيرها من عناصر Wear التصميم المتعدد الأبعاد.

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

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

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