تصميم النموذج الأولي للارتداء

  
تسمح هذه المكتبة بتحديد مجموعة من تنسيقات واجهة المستخدم والتعبيرات التي لا تعتمد على واجهة المستخدم ليتم عرضها/تقييمها على مساحات العرض البعيدة.
التعديل الأخير الإصدار المستقر سحب المرشح الإصدار التجريبي إصدار أولي
26 يونيو 2024 1.1.0 - - 1.2.0-alpha05

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

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

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

رائع

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

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha05"

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

Kotlin

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

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

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

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

ملاحظات

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

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

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

الإصدار 1.2

الإصدار 1.2.0-alpha05

26 يونيو 2024

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

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

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

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

  • تم نقل FontFamily ثابتة لتصبح في FontStyle بدلاً من فئة أداة إنشاء النماذج. (I06ced)
  • عدِّل واجهة برمجة التطبيقات FontSetting.weight وFontSetting.width لتضمين التعليقات التوضيحية للنطاق وتغيير مَعلمة الوزن إلى int. (Ia726c)

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

  • تعمل النصوص غير القابلة للتوسّع في "مكتبة المواد" الآن بشكل صحيح مع إمكانية ضبط حجم الخط غير الخطّي في 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 للمواد، والتي كانت تبدأ سابقًا بـ "محتوى الحافة" لتصبح أكثر عمومية لأنّه يمكن تطبيقها على كل من 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 تتوقع أداة الإنشاء الآن قيمة في الدالة الإنشائية. (I76ada)
  • ستسمح الطريقة PlatformDataValues.Builder.putAll بدمج PlatformDataValue مع آخر. (I50ba3)
  • تمت إعادة تسمية "Text#setIsScalable" إلى "Text#setScalable". (If920e)
  • يمكن أن يضبط Material Text ما إذا كان سيتم استخدام حجم قابل للتوسع (ينمو عند تغيير حجم خط المستخدم) أم لا. (Ibc849)
  • لقد أضفنا خيار ضبط وصف المحتوى على "TitleChip". (I5d21f)
  • تم إصلاح CompactChip للعمل بشكل صحيح مع الرمز فقط وتحديث واجهة برمجة التطبيقات للسماح بهذا الخيار. (I6589e)

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

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

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

  • للحصول على مجموعة أكثر اكتمالاً من التغييرات التي تم إجراؤها في الإصدار 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)
  • إضافة حل بديل لمشكلة رسم قوس التزلج (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 إلى أن هذا الإصدار من المكتبة مكتمل السمات وأن واجهة برمجة التطبيقات مؤمّنة (باستثناء إذا تم وضع علامة عليها كإصدار تجريبي). يشتمل إصدار Wear ProtoLayout 1.1 على الوظائف وواجهات برمجة التطبيقات الجديدة التالية:

  • تتيح 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 إلى 48x48 على الأقل في العارض لتلبية متطلبات تسهيل الاستخدام بشكل أفضل.
  • بعد اتّباع مكوّنات المادة الأخرى ومبادرات الكتابة الأخرى، تم الآن إيقاف المساحة المتروكة للخط تلقائيًا في كل عناصر 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)
  • بعد اتّباع مكونات المادة الأخرى ومبادرات "الكتابة" الأخرى، أوقفنا الآن مساحة متروكة الخط تلقائيًا في كل عناصر "النص". بالإضافة إلى ذلك، تمت إزالة AndroidTextStyle والأدوات ذات الصلة من واجهة برمجة التطبيقات العامة. (I79094 وIb0b03 وI32959 وIaf7d5 وIfa298 وI0a4ae وIda9d3)
  • تم استبدال Modifier.hidden بـ Modifier.visible (I56902).
  • تقبل الدالة FontStyle#setSizes الآن عدد صحيح بدلاً من 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)
  • تتيح أداة التباعد الآن إمكانية توسيع الأبعاد للعرض/الارتفاع. (Ie7c94)
  • دعم إضافة منطقة استهداف النقرات في Renderer (I39c79)

الإصدار 1.1.0-alpha02

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

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

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

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

الإصدار 1.1.0-alpha01

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

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

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

  • تمت إضافة خيار الفرشاة إلى Arcline، مع إتاحة استخدام SweepGradient. (Ie7ce3)
  • تمت إضافة دعم تنسيق التاريخ والوقت. (Ibfae0)
  • تمت إضافة النماذج الأوّلية وأغلفة جافا المطلوبة لتنسيق الوقت والتاريخ حسب المنطقة. (I97126)
  • تمت إضافة وحدات gets للتعرُّف على القيمة المخزَّنة في 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 على هذه عمليات التنفيذ.

  • لنقل البيانات من Tiles إلى 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 مباشرةً في DynamicHeartRateAccuracy.constant() وDynamicHeartRateAccuracy.dynamicDataValueOf() بدلاً من ثابت القيمة. (I82ff5)
  • تم إنشاء مثيل للفئة PlatformHealthSources.Constants عن طريق الخطأ. لقد تم حلّ هذه المشكلة الآن. (Icb849)
  • يتم إرسال إشعار من "PlatformTimeUpdateNotifier#setReceiver" الآن باستخدام Runnable بدلاً من الدالة Supplier وExecutor لإرسال الإشعارات. (I9d938)
  • لقد غيّرنا نوع المَعلمة في PlatformTimeUpdateNotifier#setReceiver من Callable إلى Supplier. (I664bf)
  • يمكن الآن إضافة رمز إلى التطبيقَين CompactChip وTitleChip. (I5a01e)

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

  • تعديل رسائل الاقتراح التي تتضمّن حقولاً ديناميكية لاستخدام إحداها بدلاً منها (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)
  • في Material Text، تمت إعادة تسمية 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 سبق أن توفّر 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)
  • استخدِم النوع "طويل" و"@IntRange" لتحديد المدة والتأخير في AnimationEntrys. (I388b6)

الإصدار 1.0.0-alpha08

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

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

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

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

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

  • إتاحة مدة مخصّصة للصور المتحركة العكسية (I3251f)
  • لقد أضفنا مفتاح التعديل SemanticDescription. إضافةً إلى ذلك، لا يمكن ربط ContentDescription. (I3f1d)
  • يتم الآن استبدال الطريقة DynamicBool.isFalse() بالأسلوب DynamicBool.negate() وإزالة DynamicBool.isTrue(). بالإضافة إلى ذلك، يؤدي تقليص قيمة DynamicFloat NaN وتضييق نطاق 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 مع نوع البيانات كمَعلمة، بدلاً من طريقة في المستهلك. (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 طريقة الآن برنامج التنفيذ. (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() إلى الأنواع الديناميكية في مكتبة تعبير النماذج الأوّلية.
  • لقد أضفنا دعمًا للتقييم للأنواع الديناميكية. يمكن استخدام الفئة DynamicTypeEvaluator من مكتبة مسار التعبير الأوّلي لتقييم (وتلقّي القيم المعدَّلة) لنوع ديناميكي تم إنشاؤه مسبقًا (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" لإنشاء تعبيرات من المتغيرات الديناميكية.