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