wear protolayout

  
تتيح هذه المكتبة تحديد مجموعة من تصاميم واجهة المستخدم والتعبيرات غير المرتبطة بواجهة المستخدم ليتم عرضها/تقييمها على مساحات عرض بعيدة.
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأوّلي
‫24 سبتمبر 2025 1.3.0 - - 1.4.0-alpha01

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

لإضافة اعتمادية على 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-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)
  • تغيير الحد الأدنى التلقائي لإصدار Android من المستوى 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، مع توفير بدائل مناسبة عند الاقتضاء
  • واجهات برمجة تطبيقات أكثر توافقًا مع 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" الإلزامي للجميع في MaterialScope للسماح بسهولة استخدامه في دوال المطوّرين التي تنشئ مكونات لمربّعات Material3. (I7df73)

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

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

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

  • تم الآن تقريب هوامش primaryLayout بشكل صحيح بدلاً من ذلك، ما قد يؤثر في بعض التصاميم بمقدار مساحة أقل من فتحة الإعلان الرئيسية تصل إلى 2 بكسل غير مرتبط بالكثافة. (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)
  • تمت إضافة مكوّن الزر الصغير إلى Material3 في ProtoLayout. (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. عليك ترقية الاعتماد على الإصدار 1.2.0 من androidx.wear.protolayout:protolayout-proto وandroidx.wear.protolayout:protolayout-external-protobuf إلى الإصدار 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 لتضمين تعليقات توضيحية للنطاق وتغيير مَعلمة الوزن لتصبح عددًا صحيحًا (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
  • يتيح تنسيق التاريخ والوقت مناطق زمنية مختلفة لأنواع البيانات الديناميكية.
  • خيارات أفضل لتحديد الحجم التلقائي للنص واقتطاعه، وذلك للتعامل مع النص المقتطع
  • تتيح أداة Spacer استخدام سمات موسّعة مع وزن اختياري.
  • إضافة تعليق توضيحي لمتطلبات إصدار المخطط إلى جميع واجهات برمجة التطبيقات 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 للعرض/الارتفاع. (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)
  • إضافة إمكانية استخدام أداة العرض مع "التدرّج الدائري" في 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. على سبيل المثال، تستخدم مكتبة Tiles واجهات برمجة التطبيقات هذه لتوفير ربط بيانات النظام الأساسي (لتعديل بيانات اللوحات بشكل أسرع) والرسوم المتحركة.

الإصدار 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)
  • تستخدم أدوات التنسيق الخاصة بالأعداد الصحيحة والأعداد العشرية الآن نمط "الإنشاء". (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 لتقييم (وتلقّي قيم معدَّلة) نوع "ديناميكي" تم إنشاؤه سابقًا (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" لإنشاء تعبيرات من متغيّرات ديناميكية.