wear protolayout

  
تتيح هذه المكتبة تحديد مجموعة من تصاميم واجهة المستخدم والتعبيرات غير المرئية على واجهة المستخدم ليتم عرضها أو تقييمها على مساحات عرض عن بُعد.
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأولي
‫14 يناير 2026 1.3.0 - - 1.4.0-alpha04

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

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

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

رائع

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.3.0"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.3.0"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.3.0"
}

Kotlin

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.3.0")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.3.0")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.3.0")
}

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

الملاحظات

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

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

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

الإصدار 1.4

الإصدار 1.4.0-alpha04

‫14 يناير 2026

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

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

  • لقد أوقفنا نهائيًا أدوات مساعدة الصور في Material3 لصالح عمليات تحميل زائد جديدة تستخدم ProtoLayoutScope ومفهومًا أفضل للتعامل مع الموارد، حيث يمكن تضمين ImageResource مباشرةً في التصميم نفسه، ما يزيل الحاجة إلى طريقة onTileResourcesRequest لعمليات ربط الموارد. للحصول على أفضل تجربة، استخدِمها مع androidx.wear.tiles.Material3TileService المضافة في الإصدار Wear Tiles 1.6-alpha04. (I8198c، b/440376391)

الإصدار 1.4.0-alpha03

‫17 ديسمبر 2025

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

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

  • تتم الآن مقارنة نوعَين من الموارد لتحسين معالجة الموارد والأداء باستخدام طريقتَي التجزئة والمساواة المحسّنتَين. (82f21b2f)

الإصدار ‎1.4.0-alpha02

‫22 أكتوبر 2025

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

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

  • تمّت إضافة مصدر جديد لأحداث المنصّة (isInAmbientMode) يوضّح ما إذا كان الجهاز في وضع الاستراحة أم لا (Ief832)

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

  • يقبل PendingIntent clickable الآن إجراء احتياطيًا (LoadAction/LaunchAction) لاستخدامه عندما لا يكون PendingIntent متوافقًا مع ProtoLayout Renderer. سيتم تلقائيًا اختيار إجراء احتياطي ووضعه في التصميم عندما يكون إصدار أداة العرض أقل من الإصدار الذي يتوافق مع PendingIntent. (I6eee2، b/450259727)
  • أصبح الحقل protoLayoutScope ضمن MaterialScope الآن NonNull لتسهيل الاستخدام عند إنشاء MaterialScope من خلال materialScopeWithResources. بالإضافة إلى ذلك، تتوفّر الدالة hasProtoLayoutScope للتحقّق من وجودها. (I1858f، b/450067019)

الإصدار 1.4.0-alpha01

‫24 سبتمبر 2025

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

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

  • تمت إضافة طريقة مساعدة لـ LayoutModifier تجعل العنصر يظهر تدريجيًا عندما يصبح المربّع مرئيًا. (I38531، b/390345969)
  • تمت إضافة materialScopeWithResources لدعم مفهوم M3 MaterialScope الذي يهتم أيضًا بتسجيل الموارد تلقائيًا. أضفنا ضمنها طرقًا مساعِدة جديدة للصور (backgroundImage avatarImage والرمز) التي تزيل الحاجة إلى تسجيل الموارد يدويًا في onTileResourceRequest عند استخدامها. (I525bd، b/428692714)
  • ProtoLayout دوال مساعدة في Kotlin لكل من Image وImageResources لاستخدامها مع ProtoLayoutScope وتسجيل الموارد تلقائيًا (Iada82، b/430584304)
  • تمت إضافة دالة getter لمعرفة عدد خصائص Lottie المسموح بها في تخصيص صورة متحركة واحدة بتنسيق Lottie. (I73733، b/436532706)
  • أضِف واجهة برمجة التطبيقات في AndroidLottieResourceByResId للسماح بتخصيص رسوم Lottie المتحركة من خلال السمات، وأضِف واجهة برمجة التطبيقات لإنشاء سمة لفتحة التنسيق مع معرّف الفتحة إلى اللون المحدّد. (I301b3، b/423581481)
  • إضافة واجهات برمجة تطبيقات مقدِّم الخدمة لقبول PendingIntent كإجراء نقر (I01978، b/433802488)
  • أضِف واجهة برمجة تطبيقات جديدة في Image.Builder - setImageResource لضبط عنصر المورد مباشرةً على الصورة في onTileRequest، بدون الحاجة إلى تسجيله في عملية الربط في onTileResourcesRequest. (Ifa69a، b/428693523)
  • تمت إضافة مفهوم ProtoLayoutScope استعدادًا للتعامل بشكل أفضل مع الموارد في "البلاطات". (I132ce، b/428692423)
  • تعرض السمة ProtoLayout Material3 MaterialScope الآن الحقل Context كحقل عام، لاستخدامه في الطرق ضمن النطاق، بدون الحاجة إلى تمريره. (I0e5cc، b/414559956)
  • إتاحة واجهات برمجة التطبيقات الدلالية الخاصة بالعناوين للجميع (I75299، b/413653475)
  • عرض ثوابت ARC_DIRECTION_* بشكل علني لاستخدامها في Arc/ArcLine/ArcText/DashedArcLine (I83959، b/427556439)

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

  • أوقفنا نهائيًا الطريقتَين Image.Builder() وImage.Builder.setResourceId لصالح واجهة برمجة التطبيقات الجديدة للتسجيل التلقائي للموارد، وهي متاحة في واجهتَي برمجة التطبيقات Image.Builder(ProtoLayoutScope) وImage.Builder.setImageResource اللتَين تزيلان الحاجة إلى إلغاء onTileResourcesRequest. (I7bfe6، b/432758526)
  • نقل واجهات برمجة التطبيقات لإنشاء ProtoLayoutScope من الوضع المحظور إلى الوضع العلني ومع ذلك، يجب عدم استخدامها لأنّ النظام يتعامل مع هذه المكالمات. (I1d8e8، b/432758251)

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

  • إضافة تنفيذ لدعم PendingIntent في ProtoTiles (I38167، b/430610429)
  • أضِف طريقة الدفع invalidateLayout. (Ief898)
  • نقل minSdk التلقائي من المستوى 21 لواجهة برمجة التطبيقات إلى المستوى 23 لواجهة برمجة التطبيقات (Ibdfca، b/380448311، b/435705964، b/435705223)
  • يتضمّن ImageResource الآن الطريقتَين hashCode وequals. (I650ee، b/428692423، b/428693523)
  • إضافة رسالة بروتوكول جديدة PendingIntentAction وأداة إنشاء الحزمة (Ie2aca، b/427643502)
  • تقليل عدد المرات التي يتم فيها إنشاء مثيل ZoneId (I284d3)
  • طبِّق وصف المحتوى التلقائي على الفتحة الفردية textButton. (I0dc8a، b/415001534)
  • إصلاح العمليات الحسابية لتعديل الحدّ الأقصى لعدد الأسطر في جهة العرض (I933bc، b/414353620)

الإصدار 1.3

الإصدار 1.3.0

‫4 يونيو 2025

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

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

  • يتوفّر تصميم Material 3 على الساعة، مع مكونات وتصميمات محسّنة للعرض الدائري وتتكيّف بشكل مناسب مع أحجام الشاشات الصغيرة والكبيرة
    • يشمل ذلك مكتبة protolayout-material3 التي تستخدم لغة Kotlin فقط وتتضمّن واجهات برمجة تطبيقات أكثر تشابهًا مع Compose للمكوّنات والميزات التالية:
    • مظهر بلون تفاعلي مستمد من النظام وخلفية شاشة الساعة مع أحدث مظهر Material3 للألوان والأشكال وأسلوب الخط
    • MaterialScope للتعامل مع جميع الإعدادات التلقائية المحدّدة مسبقًا وتسهيل عملية التخصيص
    • iconEdgeButton، textEdgeButton
    • iconButton، textButton، button، imageButton، avatarButton، compactButton
    • titleCard،‏ appCard،‏ graphicDataCard،‏ iconDataCard،‏ textDataCard
    • circularProgressIndicator، segmentedCircularProgressIndicator
    • primaryLayout، buttonGroup
    • تعمل جميع المكوّنات على أي مستويات لحزمة SDK وإصدار ProtoLayout Renderer، وتوفّر بدائل مناسبة عند الاقتضاء
  • واجهات برمجة تطبيقات أكثر توافقًا مع Kotlin وتشبه Compose لعناصر ProtoLayout الأساسية
    • LayoutModifier مع إمكانية إضافة معظم المعدِّلات كدوال متسلسلة (padding وcontentDescription (بما في ذلك clearSemantics) وbackground وclip وopacity وما إلى ذلك)، ويمكن تحويلها إلى الكائن Modifiers الحالي
    • LayoutColors وLayoutString كنوعَين يتيحان استخدام الحقول والقيود الديناميكية بسهولة أكبر
    • text وfontStyle
    • تحسين توافق الخرائط مع StateBuilder، بما في ذلك DynamicDataMap وطُرق الإنشاء مثل intAppDataKey لتسهيل إنشاء عناصر AppDataKey
  • تتيح صور Lottie المتحركة تضمين خيار ضبط مشغّلات مختلفة لتحديد وقت بدء الصورة المتحركة، مثلاً عند تحميل التنسيق أو عند ظهوره
    • تحسين دعم التدرّج اللوني:
    • واجهة برمجة تطبيقات التدرّج الخطي كجزء من Brush يمكن استخدامها في معدِّلات Background للعناصر، مثل Box وSpacer وما إلى ذلك …
    • السماح بقيم الألوان الديناميكية في ColorStop المستخدَمة للتدرّج الخطي والمائل
    • يتوافق التدرّج اللوني الحالي في عناصر القوس الآن مع الألوان الديناميكية وزاويتَي البدء والانتهاء
  • ربط بيانات النظام الأساسي في protolayout-expression لتلقّي المعلومات في أي وقت يتم فيه تغيير مستوى ظهور التنسيق، ويمكن استخدام ذلك مثلاً لإخفاء أجزاء معيّنة من التنسيق أثناء التمرير سريعًا إلى المربّع
  • تمت إضافة مكتبة الاختبار protolayout-testing لتوفير تغطية أسهل لاختبارات الوحدات لأي عناصر ProtoLayout
  • عنصر جديد DashedArcLine يتضمّن مجموعة محسّنة من الميزات حتى يتمكّن الخط من تضمين شرطات، على عكس العنصر الحالي ArcLine
  • إتاحة إمكانية ضبط طول ArcSpacer بوحدة DP بدلاً من الدرجات
  • تمت إضافة المحور "الاستدارة" FontSetting الذي ينطبق على بعض الخطوط

الإصدار 1.3.0-rc01

‫20 مايو 2025

تم إصدار androidx.wear.protolayout:protolayout-*:1.3.0-rc01 بدون أي تغييرات عن الإصدار السابق. يتضمّن الإصدار 1.3.0-rc01 هذه التعديلات.

الإصدار ‎1.3.0-beta02

‫7 مايو 2025

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

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

  • أجرينا تحسينًا مهمًا على قيم تصميم أسلوب الخط التي يتم تطبيقها على المستوى 36 لواجهة برمجة التطبيقات والإصدارات الأحدث. ويرجع ذلك إلى أنّه بدءًا من المستوى 36 لواجهة برمجة التطبيقات، ستكون جميع المربّعات بنوع خط النظام، لذا يُحسِّن هذا التغيير التناسق في لوحة عرض المربّعات الدوّارة. (If316f)
  • لن يتم عرض الخطأ في أدوات إنشاء Text وSpacer وArcLine وDashedArcLine إذا لم يتم ضبط layoutConstraints للقيم الديناميكية. يُرجى العِلم أنّ أدوات العرض القديمة لا تزال تتطلّب ضبط layoutConstraints، وسيتم تجاهل أي قيمة ديناميكية لم يتم ضبطها. (Ic52e8)
  • أضِف معدِّل دلالات العنوان للإشارة إلى أنّ عنصر التنسيق هو عنوان لقسم من المحتوى لأغراض تسهيل الاستخدام، وحدِّد النص في خانة العنوان primaryLayout ليكون عنوان تسهيل الاستخدام تلقائيًا. (Iae1fb)
  • إجراء تحسينات نهائية على تجربة المستخدم في primaryLayout حيث تم تقليل المسافة بين موضع العنوان والموضع الرئيسي إلى 4 وحدات بكسل مستقلة عن الكثافة بدلاً من 6 وحدات بكسل مستقلة عن الكثافة على الشاشات الأصغر (I0e056)
  • تطبيق الوصف التلقائي للمحتوى على textEdgeButton (Ifaf8b)
  • تعديل بسيط على المساحة الداخلية المتروكة في avatarButton (I0910b)

الإصدار 1.3.0-beta01

‫9 أبريل 2025

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

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

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

  • يتوفّر تصميم Material 3 على الساعة، مع مكونات وتصميمات محسّنة للعرض الدائري وتتكيّف بشكل مناسب مع أحجام الشاشات الصغيرة والكبيرة
    • يشمل ذلك مكتبة protolayout-material3 التي تستخدم لغة Kotlin فقط وتتضمّن واجهات برمجة تطبيقات أكثر تشابهًا مع Compose للمكوّنات والميزات التالية:
    • مظهر بلون تفاعلي مستمد من النظام وخلفية شاشة الساعة مع أحدث مظهر Material3 للألوان والأشكال وأسلوب الخط
    • MaterialScope للتعامل مع جميع الإعدادات التلقائية المحدّدة مسبقًا وتسهيل عملية التخصيص
    • iconEdgeButton، textEdgeButton
    • iconButton، textButton، button، imageButton، avatarButton، compactButton
    • titleCard،‏ appCard،‏ graphicDataCard،‏ iconDataCard،‏ textDataCard
    • circularProgressIndicator، segmentedCircularProgressIndicator
    • primaryLayout، buttonGroup
    • تعمل جميع المكوّنات على جميع مستويات حِزم SDK وإصدارات أداة العرض ProtoLayout Renderer، وتوفّر بدائل مناسبة عند الاقتضاء.
  • واجهات برمجة تطبيقات أكثر توافقًا مع Kotlin وتشبه Compose لعناصر ProtoLayout الأساسية
    • LayoutModifier مع إمكانية إضافة معظم المعدِّلات كدوال متسلسلة (padding وcontentDescription (بما في ذلك clearSemantics) وbackground وclip وopacity وما إلى ذلك)، ويمكن تحويلها إلى الكائن Modifiers الحالي
    • LayoutColors وLayoutString كنوعَين يتيحان استخدام الحقول والقيود الديناميكية بسهولة أكبر
    • text وfontStyle
    • تحسين توافق الخرائط مع StateBuilder، بما في ذلك DynamicDataMap وطُرق الإنشاء مثل intAppDataKey لتسهيل إنشاء عناصر AppDataKey
  • تتيح صور Lottie المتحركة تضمين خيار ضبط مشغّلات مختلفة لتحديد وقت بدء الصورة المتحركة، مثلاً عند تحميل التنسيق أو عند ظهوره
    • تحسين دعم التدرّج اللوني:
    • واجهة برمجة تطبيقات التدرّج الخطي كجزء من Brush يمكن استخدامها في معدِّلات Background للعناصر، مثل Box وSpacer وما إلى ذلك …
    • السماح بقيم الألوان الديناميكية في ColorStop المستخدَمة للتدرّج الخطي والمائل
    • يتوافق التدرّج اللوني الحالي في عناصر القوس الآن مع الألوان الديناميكية وزاويتَي البدء والانتهاء
  • ربط بيانات النظام الأساسي في protolayout-expression لتلقّي المعلومات في أي وقت يتم فيه تغيير مستوى ظهور التنسيق، ويمكن استخدام ذلك مثلاً لإخفاء أجزاء معيّنة من التنسيق أثناء التمرير سريعًا إلى المربّع
  • تمت إضافة مكتبة الاختبار protolayout-testing لتوفير تغطية أسهل لاختبارات الوحدات لأي عناصر ProtoLayout
  • عنصر جديد DashedArcLine يتضمّن مجموعة محسّنة من الميزات حتى يتمكّن الخط من تضمين شرطات، على عكس العنصر الحالي ArcLine
  • إتاحة إمكانية ضبط طول ArcSpacer بوحدة DP بدلاً من الدرجات
  • تمت إضافة محور FontSetting الخاص بالاستدارة والذي ينطبق على بعض الخطوط

الإصدار 1.3.0-alpha10

‫12 مارس 2025

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

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

  • إضافة أداة مساعدة لـ Brush في أداة تعديل الخلفية بلغة Kotlin (I995de)
  • تم إتاحة حقل Android Context الإلزامي للجميع في MaterialScope للسماح بسهولة استخدامه في دوال المطوّرين التي تنشئ مكوّنات لمربّعات Material3. (I7df73)

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

  • أعِد تسمية واجهة برمجة التطبيقات platformVisibilityStatus إلى PlatformEventSources.isLayoutVisible وأضِف واجهة برمجة تطبيقات تجريبية جديدة PlatformEventSources.isLayoutUpdatePending. (Ie1e04)

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

  • تم الآن تقريب هوامش primaryLayout بشكل صحيح بدلاً من ذلك، ما قد يؤثر في بعض التصاميم بمقدار مساحة أقل تصل إلى 2dp للخانة الرئيسية. (I8f5d3)
  • توضيح بشأن مظهر الألوان الديناميكية التلقائي في ProtoLayout مكوّنات Material3 (Iff5f3)
  • لم تعُد أساليب الكتابة Typography.NUMERAL_* جدولية/أحادية المسافة تلقائيًا. إذا كان النص متحركًا، ننصح بشدة بإضافة الإعداد FontSetting.tabularNum() إليه. في جميع الحالات الأخرى، لا حاجة إلى خيار الخط الثابت العرض، وسيتوفّر المزيد من الأحرف عند عدم استخدامه. (Id3cd9)
  • توضيح بشأن مظهر الألوان الديناميكية التلقائي في ProtoLayout مكوّنات Material3 (I9d831)

الإصدار 1.3.0-alpha09

‫26 فبراير 2025

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

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

  • تمت إضافة معدِّلات تجريبية للسمتَين enterTransition وexitTransition (I4a4d6)
  • أضفنا ربطًا إضافيًا بالمنصة لتلقّي حالة ظهور التنسيق الكامل عند تغييره. (I250c3)
  • السماح بإدخال بيانات حالة التطبيق التجريبي والمنصة في LayoutElementAssertionsProvider لتقييم القيم الديناميكية (Ib5fcb)
  • إضافة فلاتر الزوايا إلى مكتبة اختبار protolayout (Ie2361)
  • تتيح الآن ButtonColors وCardColors وProgressIndicatorColors استخدام طريقة النسخ، مع إمكانية إلغاء بعض المَعلمات اختياريًا. (Ie2054)

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

  • إضافة إمكانية ربط البيانات الديناميكية إلى مكتبة الاختبار (Ib98de)
  • إصلاح imageButton عند استخدامه مع الدالة backgroundImage من خلال إزالة التراكب بالإضافة إلى ذلك، يجب السماح باستخدام الدالة backgroundImage لتحديد قيمة فارغة للون التراكب، ما يعني أنّه لن يتم تطبيق التراكب. (Ibec3c)

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

  • تم تغيير طريقة hasValueOfType التلقائية لعرض UnsupportedOperationException بدلاً من IllegalArgumentException. (Ia36c3)
  • تم تعديل قيم الرموز المميّزة للألوان التلقائية لتعكس أحدث المواصفات. (I75d44)
  • إصلاحات لمشكلة التمويه المرئي على خطوط القوس في أداة عرض المربّعات في AndroidX (I88190)

الإصدار 1.3.0-alpha08

‫12 فبراير 2025

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

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

  • أضِف مَعلمة القائمة FontSetting لنص Material3. (Ic102d)
  • تمت إضافة الفئة DynamicDataMap التي تتيح الآن استخدام StateBuilder لواجهة برمجة تطبيقات Kotlin أكثر أمانًا من حيث الأنواع لحالات التطبيق (I012ba)
  • تمت إضافة طرق مصنع، مثل intAppDataKey، لتسهيل إنشاء عناصر AppDataKey (Icea2a)
  • يتضمّن DynamicDataValue الآن طريقة hasValueOfType(Class<?>) بالإضافة إلى طرق hasInt/hasColor/.... (I4f7a6)
  • أضفنا errorDim إلى Material3 ProtoLayout ColorScheme، وذلك للأخطاء ذات الأولوية العالية أو إجراءات الطوارئ، مثل تنبيهات الأمان. (Ia17bb)
  • أضفنا إجراء وقائيًا ضدّ حدوث عُطل عند الوصول إلى إعداد "تقليل الحركة" العام، والذي تم تفعيله على بعض المنصات التي لم يتم توفير هذا الإعداد فيها. (I01e2c)

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

  • تمت إعادة تسمية addKeyToValueMapping إلى addToStateMap، وتمت إزالة الطريقتين DynamicDataMap.put لأنهما كانتا مكرّرتَين. (Ibe9dd)
  • تتيح Material3 Typography الآن محورًا متغيرًا للاستدارة لخطوط النظام التي تتوافق مع هذا المحور. يتيح ProtoLayout FontSetting محور الاستدارة للخطوط التي تتوافق مع هذا المحور. (I33eb5)
  • تمت إعادة تسمية multilineAlignment إلى "المحاذاة" في طريقة النص Material3. (I2b66b)
  • تعديل مؤشر التقدم الدائري ليكون من النوع "مربّع"، وتحديد mainContent في constructGraphic ليكون من النوع "مربّع" (I5a3dc)
  • توفير دعم أفضل لاستخدام مؤشر التقدّم الدائري في الرسم البياني (I039db)

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

  • السماح بالقيم الديناميكية في ColorStop وأيضًا لزاويتَي البدء/الانتهاء في SweepGradient (I0146d)
  • إصلاحات في "مستندات Google" (I4a63a)
  • تم تعديل مكوّنات Material 3 (graphicCard وavatarButton) لتوفير خيار احتياطي عندما لا تكون سمة weight expand dimension متاحة (مثل الإصدارات الأقدم من المستوى 33 لواجهة برمجة التطبيقات). تم تعديل مكوّن النص لاستخدام TEXT_OVERFLOW_ELLIPSIZE_END كخيار احتياطي عندما لا يكون TEXT_OVERFLOW_ELLIPSIZE متوافقًا مع أداة العرض. (I19e2c)
  • تحديث "مستندات Google" في ‎PrimaryLayoutMargins (Ibaf7b)

الإصدار 1.3.0-alpha07

‫29 يناير 2025

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

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

  • تمت إضافة خيار واجهة برمجة التطبيقات لضبط مشغّلات مختلفة لصور Lottie المتحركة. بالإضافة إلى ذلك، تمت إضافة واجهة برمجة تطبيقات للمشغّلات التي يتم تنشيطها عندما يكون التنسيق مرئيًا (I8272d)
  • تمت إضافة المعدّلات border وvisibility وopacity. (I6d3dd)
  • تمت إضافة زر الصورة الرمزية إلى مكوّن Material3 في ProtoLayout. (Idb5ae)
  • نسمح الآن بتخصيص الهوامش (الجانبية وفي بعض الحالات السفلية) في Material3 primaryLayout. (Ib22f6)
  • أضِف الشكل المتغيّر المقسَّم لمؤشر التقدم الدائري. (I6a648)
  • تمت إضافة مكوّن الزر الصغير إلى ProtoLayout Material3. (Ia3c5c)
  • تمت إضافة مكوّنَي زر على شكل حبّة دواء وزر مصوّر إلى ProtoLayout Material3. (Ifb88a)

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

  • تمت إعادة تسمية LayoutModfier.foldIn إلى foldRight لتعكس بشكل أفضل السلوك المتوقّع (Idf242)
  • أصبح مشغّل VisibleOnce تجريبيًا الآن. (Ib2d26)
  • إزالة withOpacity من واجهة برمجة التطبيقات العامة لأنّه يتوفّر بديل لمكتبة الرسومات. (I030c2)
  • تمت إعادة تسمية طرق المستوى الأعلى في LayoutString.kt وLayoutColor.kt لتصبح أسماء متوافقة مع Java. (I7aff0)
  • تمت إزالة أساليب الكتابة غير المتوافقة مع ProtoLayout في Material3. (Idd9ae)
  • أضِف اللاحقة Color إلى الحقول في فئات *Colors في Material3. (I2d114)

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

  • أضِف EdgeButton عملية تنفيذ احتياطية لبرنامج العرض القديم الذي لا يتوافق مع الزوايا غير المتماثلة. (I63364)
  • إضافة تنفيذ احتياطي لمؤشر التقدّم الدائري باستخدام أداة العرض القديمة (I0f134)

الإصدار 1.3.0-alpha06

‫15 يناير 2025

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

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

  • LayoutColor لدعم أنواع الألوان الثابتة والديناميكية (I4c89b)
  • تمت إضافة المكوّن ProtoLayout Material3 textButton. (Id680d)
  • أضِف مكوّن iconButton ProtoLayout Material3. (Ica3f0)
  • تمت إضافة مكوّن حاوية أزرار Material3 في ProtoLayout. (I17a38)
  • تمت إضافة دعم المعدّلات الدلالية القابلة للتسلسل إلى protolayout-material3 (I4af62)
  • تمت إضافة قسم واحد من ProtoLayout Material3 CircularProgressIndicator (I2c8a2)
  • تمت إضافة المعدِّلَين padding وmetadata (I8720a)
  • تمت إضافة المعدّلات background وclip وclickable (I35478)
  • أضِف LinearGradient إلى "الفرشاة" واسمح باستخدامه في "أداة تعديل الخلفية". (Ic4dea)
  • إضافة حجم صغير لـ appCard وtitleCard (I91f98)
  • تمت إضافة مكوّن ProtoLayout Material3 graphicDataCard. (I92be7)
  • تمت إضافة مكوّنات ProtoLayout Material3 iconDataCard وtextDataCard. (I4e1e4)
  • تمت إضافة مكوّن ProtoLayout Material3 appCard. (Id4c57)
  • استبدِل EdgeButtonColors بـ ButtonColors. (I83624)
  • تمت إضافة مكوّن ProtoLayout Material3 titleCard. (I2dc72)

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

  • تقبل واجهة ProtoLayout Material3 API الآن LayoutString لتوفير النصوص الثابتة والديناميكية. (I9c24a)

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

  • إضافة تنفيذ أداة العرض لتضخيم DashedArcLine (I0c700)
  • تغيير أداة العرض للسماح ArcSpacer بأخذ طول وحدة البكسل المستقلة عن الكثافة (I1437b)

الإصدار 1.3.0-alpha05

‫11 ديسمبر 2024

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

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

  • تمت إضافة LayoutString لدعم حقول السلاسل الخاصة بالتنسيق القابلة للربط. (Ida650)
  • تمت إضافة مكوّن حاوية بطاقة ProtoLayout Material3. (Ic985a)

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

  • تستخدم هذه المكتبة الآن تعليقات توضيحية بشأن القيم الخالية في JSpecify، وهي تعليقات توضيحية خاصة بالاستخدام. على مطوّري Kotlin استخدام وسيطة المترجم البرمجي التالية لفرض الاستخدام الصحيح: -Xjspecify-annotations=strict (هذه هي القيمة التلقائية بدءًا من الإصدار 2.1.0 من مترجم Kotlin البرمجي). (Id1f9b، b/326456246)

الإصدار 1.3.0-alpha04

‫13 نوفمبر 2024

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

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

  • تم تعديل شكل Material3 ليكون فئة تتضمّن حقولاً تحتوي على قيمة Corner الفعلية، كما هو الحال في Wear Compose. (Ied8cd)
  • تم تعديل ألوان Material3 لتضمين مفهوم ColorScheme، كما هو الحال في Wear Compose. (If645e)
  • إضافة أدوات مطابقة متعددة شائعة الاستخدام إلى مكتبة الاختبار (Ie5cec)

الإصدار 1.3.0-alpha03

‫30 أكتوبر 2024

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

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

  • إضافة LayoutElementAssertionsProvider وLayoutElementAssertion وLayoutElementMatcher إلى مكتبة الاختبار (Id1110)

الإصدار 1.3.0-alpha02

‫16 أكتوبر 2024

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

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

  • الإصدار الأولي من مكتبة Material 3 يتضمّن مكوّنات text وedgeButton وbuttonGroup وprimaryLayout.

إصلاحات الأمان

  • اعتبارًا من هذا التغيير، يتم تجميع androidx مع الإصدار 4.28.2 من protobuf من أجل معالجة CVE-2024-7254. لحلّ مشكلة الثغرة الأمنية، عليك ترقية الإصدار 1.3.0-alpha01 من androidx.wear.protolayout:protolayout-proto وandroidx.wear.protolayout:protolayout-external-protobuf إلى الإصدار 1.3.0-alpha02.

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

الإصدار 1.3.0-alpha01

‫2 أكتوبر 2024

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

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

  • تم توضيح أنّ توفّر أسماء مجموعة خطوط Roboto وRoboto Flex يعتمد على الجهاز. (I193be)
  • تم تفعيل مجموعة خطوط Roboto Flex في أداة عرض "البلاطات" في AndroidX. (I08e94)

الإصدار 1.2

الإصدار 1.2.1

‫16 أكتوبر 2024

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

إصلاحات الأمان

  • اعتبارًا من هذا التغيير، يتم تجميع androidx مع الإصدار 4.28.2 من protobuf من أجل معالجة CVE-2024-7254. عليك ترقية إصدار androidx.wear.protolayout:protolayout-proto وandroidx.wear.protolayout:protolayout-external-protobuf من 1.2.0 إلى 1.2.1 لمعالجة مخاطر الثغرة الأمنية.

الإصدار 1.2.0

‫7 أغسطس 2024

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

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

  • تم تعديل FontStyle لتوفير دعم إضافي للخطوط في المحاور المتغيرة وواجهة برمجة تطبيقات أفضل لاختيار الخطوط من أجل توفير دعم لخطوط Flex القادمة.
  • إتاحة استخدام المعدِّلات الإضافية:
    • أداة تعديل التحويل التي توفّر الترجمة والتدوير والتوسيع أو التصغير مع الرسوم المتحركة أو بدونها
    • تحديد قيم مختلفة (أفقية وعمودية) لكل نصف قطر من زوايا الشكل
  • تحسين إمكانية الوصول إلى جميع مساحات اللمس من خلال توسيع المساحة القابلة للنقر لأي عنصر يستخدم معدِّل Clickable لتصبح 48dp × 48dp على الأقل
  • تم تحسين PrimaryLayout وEdgeContentLayout من خلال إضافة setResponsiveContentInsetEnabled لتحسين دعم السلوك المتجاوب لهذه التصاميم على أحجام الشاشات المختلفة وتحسين اتساق مربّعات Tiles.
  • تحسين إمكانية تغيير حجم نص Material أو عدم تغيير حجمه ليتوافق مع ميزة الضبط غير الخطّي لحجم الخط في Android 14
  • تحسين التوافق مع اتجاه التنسيق من اليمين إلى اليسار في جميع عناصر arc

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

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

الإصدار 1.2.0-rc01

‫24 يوليو 2024

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

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

  • لقد أصلحنا Material Chip العادي لكي يمكن استخدامه كرمز فقط في حال عدم تمرير أي من التصنيف الأساسي أو الثانوي. (Iceef9)
  • تم تعديل مستندات تصميمات Material لتضمين عناصر مرئية من الصفحة ذات الصلة بهدف تسهيل فهم التصميمات. (I0256a)

الإصدار ‎1.2.0-beta01

‫10 يوليو 2024

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

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

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

  • تم تعديل FontStyle لتوفير دعم إضافي للخطوط على النحو التالي:
    • ضبط إعدادات مختلفة لخيارات الخط، مثل FontSetting.weight وFontSetting.width
    • ضبط العرض نفسه لجميع الأحرف الرقمية - الأرقام الجدولية (إعداد ميزة الخط FontSetting.tnum)
    • تم تحسين واجهات برمجة التطبيقات لاختيار الخطوط من أجل توفير دعم للخطوط المرنة القادمة من خلال تحديد أسماء مجموعات الخطوط المفضّلة التي سيتم استخدامها.
  • تمّت إضافة معدِّل Corner الموسّع للسماح بتحديد كلّ CornerRadius بقيمتَين أفقية وعمودية منفصلتَين للسماح بإنشاء عناصر ذات زوايا غير متماثلة.
  • تمت إضافة أداة تعديل جديدة Transformation تتيح ترجمة LayoutElement وتدويرها وتغيير حجمها. يمكن تحريك هذه عمليات التحويل باستخدام قيم ديناميكية.
  • تمت إضافة setArcDirection مع الخيارات Clockwise وCounterClockwise وNormal إلى جميع عناصر القوس (Arc وArcLine وArcText) لتحسين التوافق مع اتجاهات التنسيق المختلفة (مثل من اليسار إلى اليمين ومن اليمين إلى اليسار).
  • تحسين إمكانية الوصول إلى جميع مساحات اللمس المستهدَفة من خلال توسيع مساحة النقر لأي عنصر يستخدم المعدِّل Clickable لتصبح 48dp × 48dp على الأقل
  • تم تحسين PrimaryLayout وEdgeContentLayout من خلال إضافة setResponsiveContentInsetEnabled لتحسين دعم السلوك المتجاوب لهذه التصاميم على أحجام الشاشات المختلفة وتحسين اتساق مربّعات Tiles. تمت إضافة تحذير من أداة التدقيق اللغوي لاقتراح استخدام واجهات برمجة التطبيقات هذه مع حلّ سريع.
  • تحسين إمكانية تغيير حجم Text Material أو عدم تغيير حجمه بما يتوافق مع الضبط غير الخطي لحجم الخط في Android 14

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

  • تتم إزالة اسم مجموعة الخطوط التلقائي (DEFAULT_SYSTEM_FONT) لأنّه يتم تضمينه ضِمنًا عند عدم استخدام واجهة برمجة التطبيقات preferredFontFamilies. (I39dab)
  • يجب أن تكون المَعلمة التي تم تمريرها إلى FontSetting.width موجبة. (I1266f)

الإصدار ‎1.2.0-alpha05

‫26 يونيو 2024

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

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

  • أضِف طريقة hasText إلى Material.CompactChip للتحقّق مما إذا تم ضبط المحتوى النصي. (I6e8fc)

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

  • يتم نقل الثوابت FontFamily لتصبح في FontStyle بدلاً من فئة Builder. (I06ced)
  • تعديل واجهة برمجة التطبيقات FontSetting.weight وFontSetting.width API لتضمين تعليقات توضيحية للنطاق وتغيير مَعلمة الوزن لتصبح عددًا صحيحًا (int). (Ia726c)

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

  • تعمل النصوص غير القابلة للتوسيع في مكتبة Material الآن بشكل صحيح مع ميزة الضبط غير الخطي لحجم الخط في Android 14. (I6601e)

الإصدار ‎1.2.0-alpha04

‫29 مايو 2024

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

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

  • تمت إضافة واجهة برمجة تطبيقات للزوايا غير المتماثلة لتتمكّن من تحديد نصف قطر كل زاوية بشكل منفصل باستخدام قيمتَين. (Icbd69)
  • تم توسيع نطاق واجهة برمجة التطبيقات FontSetting لتشمل ما يلي:
    • إعداد ميزة الخط، مثل ضبط الخط ليكون جدوليًا (If12b7)
    • إعدادات تنويعات الخطوط، مثل ضبط عرض مخصّص للخطوط المتغيرة (I2b36d)
  • تمت إضافة واجهة برمجة تطبيقات مجموعة الخطوط إلى FontStyle للسماح بتحديد قائمة مرتبة بمجموعات الخطوط التي يجب استخدامها. (Iba9f5)
  • تمت إعادة تسمية الثوابت الخاصة بارتفاع المساحة بين المحتوى والتصنيف الثانوي في LayoutDefaults Material التي كانت مسبوقة في البداية بعبارة "محتوى الحافة" لتصبح أكثر عمومية، إذ يمكن تطبيقها على كل من PrimaryLayout وEdgeContentLayout. (I4dc32)

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

  • تمت إعادة تسمية تسمية محاور الخطوط المتغيرة من axisName إلى axisTag. (I02ba3)

الإصدار 1.2.0-alpha03

‫14 مايو 2024

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

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

  • تمت إضافة واجهة برمجة تطبيقات لضبط قيم الأوزان المخصّصة لـ FontStyle. (I7390a)

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

  • إصلاح الخطأ في getTouchDelegateInfo بسبب خريطة الوجهة الفارغة (I2accf)

الإصدار ‎1.2.0-alpha02

‫1 مايو 2024

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

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

  • أضفنا إمكانية إيقاف الملاحظات الحسية على شكل تموّجات في عناصر فردية قابلة للنقر. (If1ede)
  • تمت إزالة واجهة برمجة التطبيقات الخاصة بالتحويل من ArcModifiers لأنّها لا تتيح هذه الميزة (Ic0827)
  • يتوقّع ArcDirectionProp Builder الآن قيمة في الدالة الإنشائية. (I76ada)
  • ستتيح طريقة PlatformDataValues.Builder.putAll دمج حساب PlatformDataValue في حساب آخر. (I50ba3)
  • تمت إعادة تسمية Text#setIsScalable إلى Text#setScalable. (If920e)
  • يمكن أن يحدّد Material Text ما إذا كان سيتم استخدام حجم قابل للتوسيع (يزداد عند تغيير حجم خط المستخدم) أم لا. (Ibc849)
  • أضفنا خيار ضبط وصف المحتوى على TitleChip. (I5d21f)
  • تم إصلاح CompactChip لتعمل بشكل صحيح مع الرمز فقط وتعديل واجهة برمجة التطبيقات للسماح بهذا الخيار. (I6589e)

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

  • تم إصلاح مشكلة تكرار بيانات المنصة المحتمل أثناء عملية الإعداد. (Iba0fd)
  • إضافة أداة جلب جديدة إلى DynamicDataNode لاسترداد تكلفة العُقدة يتم استخدام التكلفة عند الحصول على حصة العُقد الديناميكية. في الوقت الحالي، ستكون تكلفة العُقد ذات القيم الثابتة 0، وستكون تكلفة جميع العُقد الأخرى 1. (Ia33e1)
  • إزالة منطق الاحتساب من NO_OP_QUOTA_MANAGER (Ib50b8)
  • أضفنا قاعدة lint لعرض تحذير عند استخدام PrimaryLayout بدون setResponsiveContentInsetEnabled وتقديم حلّ سريع. (I12025)
  • هناك حدّ لعدد عُقد التعبير الديناميكي. (Iffae8)

الإصدار 1.2.0-alpha01

‫6 مارس 2024

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

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

  • تتضمّن عناصر ProtoLayout Arc الآن خيار إضافة ArcDirection (Clockwise أو Counterclockwise أو Normal) إليها. ستؤدي إضافة هذا السلوك إلى Arc أو ArcLine أو ArcText إلى إصلاح سلوكها في التصاميم من اليمين إلى اليسار. (I90699)
  • تم تعديل EdgeContentLayout باستخدام أداة ضبط setResponsiveContentInsetEnabled جديدة لتحقيق توافق أفضل مع إرشادات تجربة المستخدم، وتحقيق اتساق في "البلاطات" من خلال وضع التصنيف الأساسي في المكان الثابت في الأعلى وتوفير مساحة داخلية متجاوبة للتصنيفات. (I60175)
  • أضفنا PrimaryLayout.setResponsiveContentInsetEnabled الذي يضيف مساحة داخلية متجاوبة إلى التصنيف الأساسي والتصنيف الثانوي والشريحة السفلية في هذا التصميم، وذلك لتجنُّب خروج المحتوى عن حافة الشاشة. (I0c457)
  • تضيف هذه السمة طريقة لإزالة الهوامش الخارجية من CircularProgressIndicator حتى يمكن استخدامها كمكوّن أصغر. (I55c06)

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

  • يستبعد الآن عارض المربّعات الحشو الخاص بالخط في جميع عناصر النص تلقائيًا، بدون خيار لتضمينه. (I3e300)

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

  • تم إصلاح مشكلة محاذاة النص عند استخدام كلّ من "الاقتطاع" و"المسافة بين الأحرف" و"المحاذاة إلى الوسط" في "النص". (I716c7)
  • تمت إضافة حلّ بديل لمشكلة رسم قوس skia. (I08f09)
  • إصلاح اتجاه رسم ArcLine للتنسيقات من اليمين إلى اليسار (I6c141)

الإصدار 1.1

الإصدار 1.1.0

‫7 فبراير 2024

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

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

  • إتاحة التدرّج اللوني وتمثيل أفضل للأطوال الأكبر من 360 درجة في ArcLine
  • يتيح تنسيق التاريخ والوقت مناطق زمنية مختلفة لأنواع البيانات الديناميكية.
  • خيارات أفضل لتحديد الحجم التلقائي للنص واختصاره باستخدام علامات الحذف، وذلك للتعامل مع النص المقتطع
  • يتيح العنصر النائب استخدام سمات موسّعة مع وزن اختياري.
  • إضافة تعليق توضيحي لمتطلبات إصدار المخطط إلى جميع واجهات برمجة التطبيقات ProtoLayout
  • تم توسيع مساحة الاستهداف لأي عنصر Clickable إلى 48 × 48 بكسل مستقل الكثافة، وذلك لتلبية متطلبات تسهيل الاستخدام.
  • يتم إيقاف مساحة العرض المتروكة للخط تلقائيًا، وهي السلوك الوحيد في جميع عناصر "النص" ومكوّنات Material التي تحتوي على نص.

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

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

الإصدار 1.1.0-rc01

‫24 يناير 2024

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

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

  • يتم وضع علامة صح على PlatformTimeUpdateNotifierImpl فور تفعيل التحديث. (I77145)
  • تم إصلاح CircularProgressIndicator لتنسيقات العرض من اليمين إلى اليسار. من الآن فصاعدًا، سيتم ترتيبها في اتجاه عقارب الساعة في جميع الحالات. (I95ee3)
  • تمت إضافة حلّ بديل لمشكلة رسم قوس skia. (I08f09)

الإصدار ‎1.1.0-beta01

‫10 يناير 2024

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

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

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

  • تتيح السمة ArcLine الآن استخدام التدرّج اللوني من خلال إضافة Brush مع SweepGradient وإضافة ظل على الغطاء لتمثيل طول أكبر من 360 درجة بشكل أفضل من خلال إضافة Shadow إلى StrokeCap الحالية.
  • تتيح DynamicInstant تنسيق التاريخ والوقت حسب المنطقة الزمنية. يمكن استخدام DynamicInstant وDynamicDuration كأنواع بيانات خاصة بالولاية أو المنصة.
  • ميزة تغيير الحجم التلقائي لحجم النص التي تتيح ضبط أحجام متعددة على FontStyle.setSizes حيث يتم تغيير حجم النص تلقائيًا استنادًا إلى المساحة المتوفّرة له داخل العنصر الأصل بالإضافة إلى ذلك، حسّنّا خيارات حذف الأجزاء الزائدة من النص من خلال إضافة TEXT_OVERFLOW_ELLIPSIZE وإيقاف TEXT_OVERFLOW_ELLIPSIZE_END نهائيًا.
  • تتيح السمة Spacer الآن استخدام أبعاد موسّعة مع وزن اختياري. لإنشاء ExpandedDimensionProp، أضفنا طريقة مساعدة DimensionBuilders.weight.
  • إتاحة إخفاء عناصر التنسيق وإظهارها بشكل ديناميكي باستخدام Modifier.visible ويشمل ذلك استخدام قيم متغيّرة في BoolProp.
  • تتضمّن جميع واجهات برمجة التطبيقات ProtoLayout الآن تعليقًا توضيحيًا لمتطلبات إصدار المخطّط، ويمكن التحقّق من الإصدار قبل طلب واجهة برمجة تطبيقات أحدث.
  • تم توسيع مساحة اللمس لكل عنصر يحتوي على Clickable لتصبح 48×48 على الأقل في أداة العرض من أجل تلبية متطلبات تسهيل الاستخدام بشكل أفضل.
  • بعد مبادرات أخرى متعلّقة بمكوّنات Material وCompose، أوقفنا الآن مساحة الحشو التلقائية للخط في جميع عناصر Text. بالإضافة إلى ذلك، تمت إزالة AndroidTextStyle وعناصر الضبط ذات الصلة من واجهة برمجة التطبيقات العامة. مع إصلاحات الأخطاء التالية:
  • تمت إضافة أداة ضبط لتحديد موضع المحتوى على الحافة في EdgeContentLayout حتى يمكن تحديد موضعه قبل المحتوى الآخر.
  • عرض استثناء بشكل متّسق عند مواجهة قيمة تعداد غير معروفة
  • إبطال نتيجة تعبير عندما ينتج عنه قيمة رقمية غير صالحة (NaN أو قيمة لانهائية) أو يعرض ArithmeticException.

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

  • تعديلات على واجهة برمجة التطبيقات SweepGradient للسماح بقبول الألوان أو ColorStops في الدالة الإنشائية (I6676f)

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

  • إضافة واجهة برمجة تطبيقات مقيّدة وأداة عرض متوافقة لضبط اتجاه رسم عناصر القوس (Idef5a)
  • يتم ضبط القيمة التلقائية RoundMode على Floor في FloatToInt32Node عند عدم تحديدها. سيظلّ العنصر يعرض استثناءً إذا لم يتم التعرّف على RoundMode المقدَّم. (I1b2d8)

الإصدار 1.1.0-alpha04

‫13 ديسمبر 2023

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

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

  • لا تنفّذ الفئة VersionInfo الواجهة Comparable. (I8d13c)
  • يتيح برنامج العرض الآن الخيار TEXT_OVERFLOW_ELLIPSIZE. (I7f085)

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

  • تم إيقاف خيار تجاوز سعة النص TEXT_OVERFLOW_ELLIPSIZE_END نهائيًا. يُرجى استخدام واجهة برمجة التطبيقات الجديدة TEXT_OVERFLOW_ELLIPSIZE التي تتضمّن سلوكًا مشابهًا جدًا. (I822d8)
  • بعد مبادرات أخرى متعلّقة بمكوّنات Material وCompose، أوقفنا الآن المساحة المتروكة للخط تلقائيًا في جميع عناصر Text. بالإضافة إلى ذلك، تمت إزالة AndroidTextStyle وعناصر الضبط ذات الصلة من واجهة برمجة التطبيقات العامة. (I79094، Ib0b03، I32959، Iaf7d5، Ifa298، I0a4ae، Ida9d3)
  • تمّ استبدال Modifier.hidden بـ Modifier.visible (I56902)
  • تقبل السمة FontStyle#setSizes الآن وسيطات int بدلاً من SpProp. (I02b37)

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

  • طرح استثناء عند مواجهة قيمة تعداد غير محدّدة أو غير معروفة (I9d2cf)
  • إعادة الهيكلة DynamicTypeBindingRequest (I27b57)
  • إبطال نتيجة تعبير عندما ينتج عنه قيمة رقمية غير صالحة (NaN أو قيمة لانهائية) أو يعرض ArithmeticException. (I681ae)

الإصدار 1.1.0-alpha03

‫29 نوفمبر 2023

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

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

  • إضافة دعم تجريبي لإخفاء عناصر التنسيق وإظهارها بشكل ديناميكي (I64a78)
  • إضافة دعم القيمة الديناميكية إلى BoolProp (I2fe96)
  • إضافة تعليق توضيحي لمتطلبات إصدار المخطط إلى واجهات برمجة التطبيقات ProtoLayout (I0f03c)
  • توسيع واجهة برمجة التطبيقات باستخدام الخيار الجديد في TextOverflow لإضافة علامات الحذف إلى النص في حاوية رئيسية ثابتة حتى عندما لا يتم الوصول إلى الحد الأقصى لعدد الأسطر (ولكن لا تتوفّر مساحة كافية للنص). (I110a9)
  • تمت إضافة طريقة المساعدة DimensionBuilders.weight لإنشاء ExpandedDimensionProp مع تحديد الوزن. (I4f72b)
  • يمكن استخدام DynamicInstant وDynamicDuration كأنواع بيانات خاصة بالولاية أو المنصة. (I6819f)

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

  • تعديل واجهة برمجة التطبيقات لإخفاء DynamicZonedDateTime ونقل جميع عملياتها إلى DyanamicInstant (I34b94)
  • تتيح أداة Spacer الآن استخدام السمة Expanded dimension للعرض/الارتفاع. (Ie7c94)
  • إتاحة توسيع مساحة النقر على زر الدعم في Renderer (I39c79)

الإصدار ‎1.1.0-alpha02

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

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

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

  • تمت إضافة حقل ArcLine StrokeCap Shadow إلى واجهة برمجة التطبيقات. (I830ec)
  • توسيع نطاق واجهة برمجة التطبيقات لتتمكّن من تحديد عرض أو ارتفاع Spacer لتوسيعه (I757ca)
  • أضفنا واجهة برمجة تطبيقات تجريبية لتغيير حجم النص تلقائيًا استنادًا إلى المساحة المتوفّرة له داخل العنصر الأصلي. (Ibbe63)
  • إتاحة الحدّ الأدنى لحجم العناصر القابلة للنقر (I178e3)
  • تمت إضافة إمكانية استخدام أداة العرض StrokeCap Shadow. (I48b17)
  • إضافة إمكانية استخدام أداة العرض لـ Sweep Gradient في ArcLine (I4d5bb)

الإصدار 1.1.0-alpha01

‫18 أكتوبر 2023

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

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

  • أضفنا خيار فرشاة إلى Arcline، مع إتاحة استخدام SweepGradient. (Ie7ce3)
  • تمت إضافة إمكانية تنسيق التاريخ والوقت حسب المنطقة الزمنية. (Ibfae0)
  • تمت إضافة بروتوكولات وبرامج تضمين Java المطلوبة لتنسيق التاريخ والوقت في منطقة زمنية محدّدة. (I97126)
  • تمت إضافة دوال getter لقراءة القيمة المخزّنة في DynamicDataValue. (Ie6cea)
  • تمت إضافة أداة ضبط لتحديد موضع المحتوى على الحافة في EdgeContentLayout حتى يمكن تحديد موضعه قبل المحتوى الآخر. (Ie8e8a)

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

  • تم إصلاح مشكلة عدم تعديل تعبير يتضمّن تسجيلات متعدّدة لمصدر بيانات الوقت على الفور. (I8e1a8)
  • تم إصلاح خطأ لتوسيط العنصر الجذر أثناء تحديثات الاختلاف. (Ie48f7)
  • لن يتم تجاهل قيم قيود التنسيق غير المضبوطة (أو الفارغة) بعد الآن. (Ibc785)
  • تقليل المهلة بين ظهور التنسيق وبدء عملية تهيئة عقد خط الأنابيب (I38d4e)

الإصدار 1.0

الإصدار 1.0.0

‫9 أغسطس 2023

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

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

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

الإصدار ‎1.0.0-rc01

‫26 يوليو 2023

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

  • للانتقال من "البلاطات" إلى ProtoLayout، يُرجى اتّباع التعليمات هنا.

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

  • لقد أزلنا الطريقتَين setLayoutConstraintForDynamicAnchorAngle وgetLayoutConstraintForDynamicAnchorAngle من عنصر Arc. تمت إضافة هذه الطرق عن طريق الخطأ ولم يكن لها أي تأثير على التنسيق المقدَّم. (If7d01)
  • لقد حدّدنا الحدّ الأقصى لعمق تصميم ProtoLayout بـ 30 LayoutElements متداخلة. (I8a74b)

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

  • لقد أضفنا عملية تحقّق لإظهار خطأ إذا تم ضبط DynamicColor على SpanText. (I0e5bc)
  • يُوضّح أنّ وحدة مصدر البيانات DAILY_CALORIES هي كيلو كالوري. (Iaa785)

الإصدار ‎1.0.0-beta01

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

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

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

  • السماح بضبط الساعة لاختبارات ربط الوقت (I05622)

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

  • يقبل PlatformDataReceiver.onData() وStateBuilders.Builder.addKeyToValueMapping الآن الربط الآمن من حيث النوع بين DynamicDataKey وDynamicDataValue بدلاً من الأنواع العامة غير الآمنة. وهذا يعني أنّه يتم الآن كتابة DynamicDataValue باستخدام DynamicType. تم نقل الثوابت HEART_RATE_ACCURACY_X إلى جذر PlatformHealthSources، وذلك لتتوافق مع موضع ثوابت Android الأخرى. يتم الآن استخدام ثوابت HEART_RATE_ACCURACY_X int مباشرةً في DynamicHeartRateAccuracy.constant() وDynamicHeartRateAccuracy.dynamicDataValueOf() بدلاً من الثابت ذي القيمة. (I82ff5)
  • كان من الممكن إنشاء مثيل للصف PlatformHealthSources.Constants عن طريق الخطأ. تم إصلاح هذه المشكلة الآن. (Icb849)
  • يتلقّى PlatformTimeUpdateNotifier#setReceiver الآن وظيفة Runnable بدلاً من Supplier وExecutor لإرسال الإشعارات. (I9d938)
  • لقد غيّرنا نوع المَعلمة في PlatformTimeUpdateNotifier#setReceiver من Callable إلى Supplier. (I664bf)
  • يتيح الرمزان CompactChip وTitleChip الآن إضافة أيقونة إليهما. (I5a01e)

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

  • تعديل رسائل Prop باستخدام حقول ديناميكية لاستخدام oneof بدلاً من ذلك (I81739)
  • إعادة استخدام عمليات تنفيذ أدوات الضبط للتحميل الزائد التي تتضمّن أدوات ضبط (Ied70c)
  • تسجيل بصمات الأصابع بشكل صحيح في أدوات الضبط التي تتضمّن عمليات تحميل زائدة (I86ed2)

الإصدار ‎1.0.0-alpha11

‫7 يونيو 2023

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

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

  • أضفنا PlatformDataKey لدقّة معدّل ضربات القلب. (I7f9b8)

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

  • أعِد تسمية StateBuilders#getIdToValueMapping إلى getKeyToValueMapping وغيِّر نوع الإرجاع إلى Map<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae)
  • جعل StateStore فئة نهائية (I408ca)
  • تم استبدال واجهة TimeGateway بواجهة PlatformTimeUpdateNotifier في مكتبة protolayout-expression-pipeline التي توفّر معدّل التكرار المطلوب لتعديل بيانات الوقت. (I60869)
  • إعادة تسمية register/unregisterForData في PlatformDataProvider إلى set/clearReceiver (I14b02)
  • في "نص المادة"، تمّت إعادة تسمية getExcludeFontPadding ليصبح hasExcludeFontPadding. (Iea01d)
  • تمت إضافة أداة ضبط لمحاذاة التصنيف بشكل مثالي إلى جميع مكوّنات الرقائق. تم الآن تطبيق الحدّ الأدنى لهدف النقر على جميع الشرائح. (I8ae92)
  • تمت إعادة تسمية LayoutDefaults#BUTTON_MAX_NUMBER إلى MAX_BUTTONS. (I84788)
  • تمت إعادة تسمية DAILY_DISTANCE إلى DAILY_DISTANCE_M. (I4f758)

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

  • تعديل مستندات أنواع الدعائم لتوضيح سبب فرض القيمة الثابتة حدِّد القيمة التلقائية المستخدَمة في حال عدم توفير قيمة ثابتة. (I155aa)
  • يجب أن تتّبع مساحات الأسماء PlatformDataKey أسلوب التسمية في Java. (I47bda)

الإصدار ‎1.0.0-alpha10

‫24 مايو 2023

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

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

  • أضِف AppDataKey للوصول إلى حالة التطبيق التي تم إرسالها، وأضِف PlatformDataKey للوصول إلى بيانات النظام الأساسي، وأضِف إمكانية استخدام مساحة الاسم في StateStore. (I7985e)
  • إتاحة عمليات Equal وNotEqual في DynamicBool (I6a0c1)

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

  • أصبحت الفئة FontStyles نهائية الآن (Iaa2ea)
  • تم إيقاف LayoutElementBuilders#FontStyles نهائيًا. يُرجى استخدام androidx.wear.protolayout.Typography أو إنشاء FontStyle خاص بك. (Ic929b)
  • إخفاء الواجهة المضمّنة Action#Builder من الواجهة Action يتم توفير عمليات تنفيذ Builder حاليًا من خلال الفئتين LoadAction وLaunchAction. (I1d70c)
  • السماح باستخدام DynamicFloat مع FloatProp يُرجى العِلم أنّ FloatProp لا تتطلّب قيودًا على التنسيق لأنّها لا تُستخدَم كخاصية لتغيير التنسيق. (I286ac)
  • تمت إزالة الإجراءَين LoalAction وSetStateAction لأنّهما لم يكونا متاحَين بعد. (I5d6a6)
  • تمت إضافة إمكانية استخدام تنسيق ARGB_8888 لموارد الصور المضمّنة. (I8a07c)
  • أعِد تسمية StateEntryValue إلى DynamicDataValue، وعدِّل واجهات برمجة التطبيقات الخاصة بالحالة لاستخدام DynamicDataKey (If1c01)
  • نحن نحدّ من عدد الإدخالات المسموح بها في StateStore لضمان احتواء استخدام الذاكرة ووقت تعديل الحالة والتحكّم فيهما بشكل جيد لكل مثيل من StateStore. نتيجةً لذلك، على المطوّر التأكّد من عدم توفّر أكثر من MAX_STATE_ENTRY_COUNT إدخال في الخريطة، وإلا سيحصل على IllegalStateException عند إنشاء StateStore أو تعديله. (Ibadb3)
  • إخفاء الفئتين OnLoadTrigger وOnConditionMetTrigger، وإعادة تسمية setTrigger إلى setCondition في OnConditionMetTrigger (Ibf629)
  • لأسباب تتعلّق بالأداء والتوافق، لن تتوافق أدوات العرض ProtoLayout مع المجموعة الكاملة من الميزات في موارد AnimatedVectorDrawable. سنصنّف واجهات برمجة التطبيقات هذه على أنّها تجريبية إلى أن نتمكّن من تحديد المجموعة المتوافقة. (Ic6daf)
  • تمت إضافة أنواع ديناميكية للمسافة اليومية والسعرات الحرارية اليومية والطوابق اليومية. أصبحت مفاتيح مصادر بيانات سلامة النظام الأساسي متوفّرة الآن ضمن PlatformHealthSources.Keys (Ib7637)
  • يحلّ الإجراء Easing.cubicBezier محلّ CubicBezierEasing.Builder. بهذا، تتم إزالة فئة EasingFunction، ويمكن الآن الوصول مباشرةً إلى ثوابت التباطؤ والتسارع من واجهة Easing. بالإضافة إلى ذلك، يتم استبدال setInfiniteRepeatable بـ INFINITE_REPEATABLE_WITH_RESTART وINFINITE_REPEATABLE_WITH_REVERSE (Ib41e7)
  • نفِّذ PlatformDataProvider لتوفير معدّل نبضات القلب وعدد الخطوات اليومية. تمت إزالة واجهة SensorGateway من واجهة برمجة التطبيقات العامة. (I55b84)
  • أضِف PlatformDataProvider وعدِّل StateStore للتسجيل في PlatformDataProvider عندما تطلب العقدة المفتاح المتوافق مع مقدّم الخدمة من مسار التعبير. (Ib616a)
  • لم يعُد SensorGateway Closeable لأنّه لم يعُد يحتفظ بأي حالة. (I6b4f7)
  • السماح باستخدام FloatProp مع DynamicFloat لإحراز تقدّم في CircularProgressIndicator يتوفّر هذا الخيار في أدوات العرض التي تتوافق مع الإصدار 1.2. ستعود أدوات العرض القديمة إلى staticValue إذا تم توفيرها، وإلا ستعود إلى 0 (I0d91b).
  • تمت إعادة تصميم الثوابت MultiButtonLayout في الفئة LayoutDefaults.MultiButtonLayoutDefaults التي تحتوي الآن على ثوابت لأحجام الأزرار استنادًا إلى عدد الأزرار في التصميم. (I13973)
  • إتاحة استخدام StringProp مع DynamicString في Material Text يتوفّر هذا الخيار في أدوات العرض التي تتوافق مع الإصدار 1.2. ستعود أدوات العرض القديمة إلى القيمة الثابتة المقدَّمة. عدِّل نوع الإرجاع Text#getText من String إلى StringProp. (I7275b)

الإصدار ‎1.0.0-alpha09

‫10 مايو 2023

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

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

  • أضفنا عنصرًا تجريبيًا لتنسيق الإضافة. يُرجى العِلم أنّه لا يمكن استخدام هذا الخيار تلقائيًا ويتطلّب إضافة عارض يمكنه فهم عنصر التنسيق. (I6581d)
  • تمت إضافة دعم StrokeCap إلى ArcLine. (I94951)
  • تمت إضافة إمكانية تنفيذ عملية "التشغيل الفوري الشرطي". (I489a7)
  • تمت إضافة إمكانية استخدام عملية "المدة الشرطية". (Iab469)
  • تمت إضافة إمكانية إنشاء مدة من الثواني. (Ib5fa1)

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

  • تمت إزالة طرق الدفع enable/disablePlatformSource من DynamicTypeEvaluator. يجب أن يكون المتصل مسؤولاً عن التحديثات. (I78c6d)
  • السماح بوضع حد أقصى لحجم أنواع البيانات المرتبطة (Ie2966)
  • إضافة دعم لوصف المحتوى الديناميكي في protolayout-material (I62c8e)
  • استخدِم القيمتين long و@IntRange للمدة والتأخير في AnimationParameters. (I388b6)

الإصدار ‎1.0.0-alpha08

‫19 أبريل 2023

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

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

  • تمت إضافة AndroidTextStyle إلى LayoutElementBuilders. (I8d967)
  • أتحنا إمكانية ضبط استبعاد مساحة الحشو في الخط في ProtoLayout Material Text. (I17f5d)
  • يمكن الآن استخدام تنسيق ARGB_8888 للصور المضمّنة. (I18c1e)
  • يتيح DynamicColor الآن تنفيذ عملية onCondition. (I10927)

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

  • إتاحة مدة مخصّصة للصور المتحركة العكسية (I3251f)
  • لقد أضفنا المعدِّل SemanticDescription. بالإضافة إلى ذلك، لا يمكن ربط ContentDescription. (I3f1d)
  • تم الآن استبدال الطريقة DynamicBool.isFalse() بالطريقة DynamicBool.negate() وإزالة DynamicBool.isTrue(). بالإضافة إلى ذلك، تؤدي قيم NaN DynamicFloat وتضييق نطاق DynamicInt32 إلى DynamicFloat إلى ظهور نتيجة ديناميكية غير صالحة. (I6ac1e)
  • تستخدم أدوات التنسيق int وfloat الآن نمط Builder. (Ieb213)

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

  • تمت إزالة القيمة الثابتة الاحتياطية من الحقول التي يمكن تحريكها. (Ifcb01)
  • تمت إزالة DynamicTypeValueReceiver#onPreUpdate. (I2dc35)
  • تم الآن وضع حد أقصى لطول السلاسل في التعبيرات الديناميكية. (I4c93)
  • تم الآن ضبط تبعيات Gradle بشكل صحيح على api بدلاً من implementation عند الحاجة. (I40503)

الإصدار ‎1.0.0-alpha07

‫5 أبريل 2023

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

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

  • إضافة إمكانية استخدام القيم الديناميكية إلى StringProp (I04342)
  • وضع علامة على عناصر التنسيق القابلة للربط (Ia110b)

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

  • تأخذ السمة sensorGateway#registerSensorGatewayConsumer نوع البيانات كمعلَمة بدلاً من الطريقة في Consumer. (Icf314)
  • تمت إعادة تسمية ObservableStateStore إلى StateStore. (Ieb0e2)
  • تمت إضافة DynamicTypeEvaluator.Builder بدلاً من وسيطات الدالة الإنشائية للسماح بالمزيد من الوسيطات الاختيارية، بما في ذلك ObservableStateStore التي يتم ضبطها الآن تلقائيًا على متجر فارغ. (I6f832)
  • تمت إعادة ترتيب المَعلمات في DynamicTypeEvaluator. (Ic1ba4)

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

  • نقل الإشارات بشكل صحيح من مصادر أجهزة الاستشعار في النظام الأساسي إلى العُقد النهائية (I5a922)

الإصدار ‎1.0.0-alpha06

‫22 مارس 2023

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

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

  • أضفنا واجهة برمجة تطبيقات تجريبية لاستخدام معدّل نبضات القلب والخطوات اليومية في التعبيرات الديناميكية (Ifd711)
  • أضفنا إمكانية استخدام التأخير العكسي والتأخير الأمامي للصور المتحركة. (Ic25f7)
  • أضفنا إمكانية استخدام DynamicColor في "الحدود والخلفية"
  • أضفنا إمكانية استخدام القيم الديناميكية إلى الأنواع في DimensionBuilder
  • سيتم نقل التنسيق والمكوّنات من tiles-material إلى protolayout-material

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

  • تمت إضافة LoadActionListener إلى ProtoLayoutViewInstance. (If7806)

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

  • تمت إضافة FloatNodesTest (Id7281)
  • تم إصلاح مشكلة تعطُّل أداة العرض عند تعذُّر تحميل صورة نقطية منظَّمة.

الإصدار ‎1.0.0-alpha05

‫8 مارس 2023

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

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

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

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

  • أضفنا forwardRepeatDelayMillis وreverseRepeatDelayMillis إلى Repeatable. أعدنا أيضًا تسمية delayMillis في AnimationSpec إلى startDelayMillis (Ifb266)
  • تقبل طرق DynamicTypeEvaluator.bind الآن Executor. (I346ab)
  • أضفنا الطريقة startEvaluation إلى BoundDynamicType لتفعيل التقييم بعد ربط النوع الديناميكي. (I19908)

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

  • ستتم إعادة استخدام عنصر Animator في الحركات اللاحقة لعنصر واحد. (Ia3be9)

الإصدار ‎1.0.0-alpha04

‫22 فبراير 2023

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

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

  • يُعلم ObservableStateStore الآن المستمعين عند إزالة مفتاح أيضًا.
  • أضفنا إصدار مخطط العرض ومقياس الخط إلى DeviceParameters (الذي يمكن استخدامه لإنشاء تخطيطات بشكل مشروط استجابةً للإصدارات وإعدادات الخطوط المختلفة).
  • أتحنا إمكانية تحريك قيم DynamicInt32 (I05485)
  • أضفنا مشغِّلَي OnLoad وOnConditionalMet. يمكن استخدامها لبدء الصور المتحركة التي تتوافق مع مشغّل.
  • أضفنا وزن التنسيق للأبعاد الموسّعة والحد الأدنى للحجم للأبعاد الملتفّة.
  • أضفنا نوعَين ديناميكيَّين جديدَين، وهما المدة واللحظة. ويمكن استخدامها لتمثيل لحظة زمنية أو مدة في تعبير ديناميكي.
  • أضفنا إمكانية استخدام AnimatedVectorDrawable وSeekableAnimatedVectorDrawable كموارد تخطيط.

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

  • تتطلّب بيانات المستشعر الإصدار 29 من واجهة برمجة التطبيقات أو الإصدارات الأحدث. (I8099e)
  • أضفنا طريقتَين مساعدتَين launchAction (لتشغيل الأنشطة).

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

  • إعادة تسمية set/getSpec إلى set/getAnimationSpec في الصورة المتحركة "المربّعات" (I3d74b)

الإصدار ‎1.0.0-alpha03

‫8 فبراير 2023

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

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

  • أضفنا toByteArray() وfromByteArray() إلى "الأنواع الديناميكية" في مكتبة protolayout-express.
  • أضفنا toString() إلى "الأنواع الديناميكية" في مكتبة protolayout-expression.
  • أضفنا إمكانية تقييم الأنواع الديناميكية. يمكن استخدام الفئة DynamicTypeEvaluator من مكتبة protolayout-expression-pipeline لتقييم (وتلقّي القيم المعدَّلة) نوع Dynamic الذي تم إنشاؤه سابقًا (DynamicString وDynamicFloat وما إلى ذلك).
  • عندما يتعذّر تشغيل الرسوم المتحركة (إما لأنّ أداة التقييم أوقفتها، أو لأنّ عدد الرسوم المتحركة قيد التشغيل قد بلغ الحدّ الأقصى المحدّد)، سيتم استخدام القيم الثابتة التي تم ضبطها على العقدة القابلة للتحريك لاستبدال الرسوم المتحركة.

الإصدار ‎1.0.0-alpha02

‫25 يناير 2023

تم إصدار androidx.wear.protolayout:protolayout:1.0.0-alpha02 وandroidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 وandroidx.wear.protolayout:protolayout-proto:1.0.0-alpha02. يتضمّن الإصدار 1.0.0-alpha02 هذه التعديلات.

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

  • سيتم نقل أدوات إنشاء التنسيقات من androidx.wear.tiles:tiles إلى androidx.wear.protolayout:protolayout. سيتم إيقاف تلك التي تحمل الرمز androidx.wear.tiles:tiles نهائيًا في أحد إصدارات ألفا القادمة.

الإصدار ‎1.0.0-alpha01

‫11 يناير 2023

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

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

  • يتضمّن هذا الإصدار مكتبة جديدة باسم "تعبير ProtoLayout" لإنشاء تعبيرات من المتغيّرات الديناميكية.