تصميم أوّلي لارتداء الملابس

  
تتيح هذه المكتبة تحديد مجموعة من تخطيطات واجهة المستخدم والتعبيرات خارج واجهة المستخدم ليتم عرض/تقييمها على الأسطح البعيدة.
التعديل الأخير الإصدار المستقر إصدار مرشح الإصدار التجريبي إصدار ألفا
6 آذار (مارس) 2024 1.1.0 - - 1.2.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.2.0-alpha01"

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

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

Kotlin

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

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

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

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

ملاحظات

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

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

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

الإصدار 1.2

الإصدار 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، سيتم إصلاح السلوك في تنسيقات RTL. (I90699)
  • تم تعديل EdgeContentLayout باستخدام أداة ضبط setResponsiveContentInsetEnabled جديدة لتحقيق توافق أفضل مع إرشادات تجربة المستخدم والاتساق في المربّعات من خلال وضع التصنيف الأساسي في المكان الثابت في الأعلى بالإضافة إلى إدراج سريع للتصنيفات. (I60175)
  • لقد أضفنا السمة PrimaryLayout.setResponsiveContentInsetEnabled التي تضيف مساحة داخلية متجاوبة إلى التصنيف الأساسي والتصنيف الثانوي والشريحة السفلية في هذا التنسيق، لتجنُّب خروج المحتوى من حافة الشاشة. (I0c457)
  • تضيف طريقة لإزالة الهوامش الخارجية من CircularProgressIndicator بحيث يمكن استخدامها كمكوِّن أصغر. (I55c06)

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

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

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

  • تم إصلاح مشكلة محاذاة النص عند استخدام البيانات الناقصة وتباعد الأحرف والمحاذاة إلى الوسط في "النص". (I716c7)
  • أضف حلاً بديلاً لمشكلة رسم قوس skia. (I08f09)
  • إصلاح اتجاه الرسم ArcLine في تنسيقات RTL (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-rc01

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

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

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

  • علامات PlatformTimeUpdateNotifierImpl مباشرةً بعد تفعيل التحديث. (I77145)
  • تم إصلاح الخطأ CircularProgressIndicator في تنسيقات RTL. من الآن فصاعدًا، ستسير في اتجاه عقارب الساعة في كل الحالات. (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 إلى أن هذا الإصدار من المكتبة مكتمل وأن واجهة برمجة التطبيقات مقفلة (باستثناء الحالات التي تم وضع علامة عليها على أنها تجريبية). يشمل إصدار 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 على الأقل في العارض لاستيفاء متطلبات تسهيل الاستخدام بشكل أفضل.
  • بعد مكونات 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، أوقفنا الآن مساحة متروكة الخطوط تلقائيًا في جميع العناصر "النص". بالإضافة إلى ذلك، تمت إزالة 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)
  • دعم إضافة المنطقة المستهدفة للنقر في العارض (I39c79)

الإصدار 1.1.0-alpha02

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

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

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

  • تمت إضافة الحقل Shadow StrokeCap ArcLine إلى واجهة برمجة التطبيقات. (I830ec)
  • توسيع واجهة برمجة التطبيقات لإتاحة تحديد عرض الفاصل أو ارتفاعه لتوسيعه (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)
  • تمت إضافة النماذج الأوّلية و"أغلفة جافا" المطلوبة لتنسيق التاريخ والوقت. (I97126)
  • تمت إضافة وحدات استرجاع لقراءة القيمة المخزَّنة في 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 من عنصر القوس. تمت إضافة هذه الطرق عن طريق الخطأ، ولم يكن لها أي تأثير على التنسيق المقدَّم. (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)
  • يتم الآن تلقّي Runnable بدلاً من الدالة Supplier وExecutor لإرسال الإشعارات إلى PlatformTimeUpdateNotifier#setReceiver. (I9d938)
  • وقد غيَّرنا نوع المَعلمة في PlatformTimeUpdateNotifier#setReceiver من Callable إلى Supplier. (I664bf)
  • يمكن الآن لكل من CompactChip وTitleChip إضافة رمز إليه. (I5a01e)

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

  • تعديل رسائل Prop بالحقول الديناميكية لاستخدام أحدها بدلاً من ذلك (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)
  • استخدِم "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. (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" نوع البيانات كمَعلمة بدلاً من طريقة في "المستهلك". (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 في Border والخلفية.
  • أتحنا إمكانية استخدام القيمة الديناميكية للأنواع باللغة 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 في صورة Tiles المتحركة (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.
  • أضفنا دعم التقييم للأنواع الديناميكية. يمكن استخدام الفئة DynamicTypeEvaluator من مكتبة protolayout-expression-peline لتقييم (وتلقّي قيم معدّلة) لنوع ديناميكي تم إنشاؤه مسبقًا (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" لإنشاء التعبيرات من المتغيرات الديناميكية.