wear protolayout
| آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
|---|---|---|---|---|
| 01 يوليو 2026 | 1.4.1 | - | - | - |
تحديد الاعتماديات
لإضافة اعتمادية على wear-protolayout، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
رائع
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.4.1" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.4.1" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.4.1" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.4.1") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.4.1") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.4.1") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.4
الإصدار 1.4.1
01 يوليو 2026
تم طرح androidx.wear.protolayout:protolayout-*:1.4.1. يتضمّن الإصدار 1.4.1 هذه التعديلات.
إصلاحات الثغرات الأمنية
- فرض حدّ أقصى على أبعاد الصور يبلغ
2048pxوعلى حجمها الأولي يبلغ20MBلمنع استنفاد الذاكرة - فرض عمليات التحقّق من عمق التنسيق من خلال إصلاح خطأ كان يسمح للتنسيقات العميقة بتخطّي فرض العمق أثناء تحسينات بصمة الإصبع
- تم منع حدوث استثناء/تعطُّل في حدود المصفوفة بسبب مَعلمات الفجوة غير المحدودة في
DashedArcLine. - تم استبدال
IllegalArgumentExceptionsغير المعالَج بتسجيل أكثر أمانًا للأخطاء وإبطال صحة العُقد في مسار التعبير. - تم إصلاح خطأ
NullPointerExceptionلم يتم رصده عند معالجة معرّفات الموارد الموحّدة (URI) غير الصالحة للصور.
الإصدار 1.4.0
25 مارس 2026
تم طرح androidx.wear.protolayout:protolayout-*:1.4.0. يتضمّن الإصدار 1.4.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.3.0:
- للاطّلاع على التفاصيل الكاملة للتغييرات التي تم إجراؤها منذ الإصدار 1.3.0، يُرجى الرجوع إلى ملاحظات الإصدار 1.4.0-beta01.
الميزات الجديدة
- يشير الإصدار 1.4.0-beta01 من Wear ProtoLayout إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء الأجزاء التي تم وضع علامة "تجريبي" عليها). يتضمّن الإصدار 1.4 من Wear ProtoLayout الوظائف وواجهات برمجة التطبيقات الجديدة التالية:
- موارد الصور المضمّنة وتحسينات الأداء: تم تقديم مفهوم محسّن للتعامل مع الموارد، حيث يمكن تضمين
ImageResourceمباشرةً في التصميم نفسه. - Material3TileService: تم تقديم خدمة جديدة متوافقة مع Kotlin لإنشاء مربّعات. ويسهّل عملية التطوير من خلال توفير دالة تعليق واحدة لعرض كلّ من تخطيط المربّعات والموارد. تتم إدارة
MaterialScopeوProtoLayoutScopeتلقائيًا لتحسين معالجة الموارد وتحسين الأداء عند تحميل المربّعات بشكل أسرع. - تعديل على "معاينات المربّعات": تم تعديل الأدوات الخاصة بـ "معاينات المربّعات" لتتوافق مع ميزة
ProtoLayoutScopeالجديدة للتعامل التلقائي مع الموارد، ما يضمن عرض المعاينات للموارد المضمّنة بشكل صحيح بدون الحاجة إلى إعدادات إضافية. - تحسينات عديدة على لغة Kotlin الخاصة بالنطاق (DSL): أضفنا أدوات مساعدة متخصّصة بلغة Kotlin إلى
Tileوجميع واجهات برمجة التطبيقات الأخرى اللازمة لإنشاء مربّع (مثلTimeline) من أجل تحسين تجربة المطوّرين الذين يستخدمون لغة Kotlin. - تبديل الخدمة الديناميكي: تم تقديم
METADATA_GROUP_KEY، ما يتيح للمطوّرين تجميع عدة مثيلاتTileServiceفي ملف البيان. يتيح ذلك التبديل الديناميكي بين الخدمات المختلفة التي تمثّل اللوحة نفسها على إصدارات نظام التشغيل الجديدة. - معرّف المربّع في التحديثات: يمكن للمطوّرين الآن تحديد tileId معيّن في طلبات التحديث، ما يتيح تحكّمًا أكثر دقة في مربّعات التطبيق التي يتم إعادة تحميلها.
- زيادة الإصدار المستهدف من حزمة تطوير البرامج (SDK) عند التجميع: لدعم الإصدار الجديد
Material3TileServiceوالتعامل المتقدّم مع الموارد، تمّت زيادة متطلّبات الإصدارcompileSdkإلى 35. - منع أخطاء ANR: تم نقل منطق إلغاء الربط أثناء طلبات تحديث المربّعات إلى سلسلة محادثات في الخلفية لمنع أخطاء "التطبيق لا يستجيب" (ANR).
- التعليق التوضيحي RequiresPermission المناسب لبيانات معدّل نبضات القلب: بدءًا من الإصدار 36 من واجهة برمجة التطبيقات، يتطلّب استدعاء
PlatformHealthSources.heartRateBpmأوPlatformHealthSources.heartRateAccuracyمنح إذنandroid.health.connect.HealthPermissions.READ_HEART_RATEللتطبيق الذي يتم استدعاؤه.
- موارد الصور المضمّنة وتحسينات الأداء: تم تقديم مفهوم محسّن للتعامل مع الموارد، حيث يمكن تضمين
الإصدار 1.4.0-rc02
11 مارس 2026
تم طرح androidx.wear.protolayout:protolayout-*:1.4.0-rc02. يتضمّن الإصدار 1.4.0-rc02 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- بدءًا من المستوى 36 لواجهة برمجة التطبيقات، يتطلّب الوصول إلى بيانات معدّل نبضات القلب، مثلاً من خلال مكتبة
ProtoLayoutExpressions باستخدامPlatformHealthSources.heartRateBpmوPlatformHealthSources.heartRateAccuracy، منح الإذنandroid.health.connect.HealthPermissions.READ_HEART_RATEللتطبيق الذي يتم استدعاؤه.
الإصدار 1.4.0-rc01
25 فبراير 2026
تم إصدار androidx.wear.protolayout:protolayout-*:1.4.0-rc01 بدون أي تغييرات عن الإصدار السابق. يتضمّن الإصدار 1.4.0-rc01 هذه التعديلات.
الإصدار 1.4.0-beta01
11 فبراير 2026
تم طرح androidx.wear.protolayout:protolayout-*:1.4.0-beta01. يتضمّن الإصدار 1.4.0-beta01 هذه التعديلات.
الميزات الجديدة
يشير الإصدار 1.4.0-beta01 من Wear ProtoLayout إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء الأجزاء التي تم وضع علامة "تجريبي" عليها). يتضمّن الإصدار 1.4 من Wear ProtoLayout الوظائف وواجهات برمجة التطبيقات الجديدة التالية:
- موارد الصور المضمّنة وتحسينات الأداء: تم تقديم مفهوم محسّن للتعامل مع الموارد، حيث يمكن تضمين
ImageResourceمباشرةً في التصميم نفسه.- يؤدي ذلك إلى تبسيط عملية التطوير بشكل كبير من خلال إزالة الحاجة إلى ربط الموارد يدويًا في
onTileResourcesRequestوتجاوز هذه الطريقة. - يؤدي ذلك إلى تحسين وقت تحميل "البطاقات" بشكل كبير من خلال إزالة الحاجة إلى استدعاءات رابطَين، إذ لا يمكن تنفيذ سوى الطريقة
onTileResourcesRequest. - تتوافق جميع واجهات برمجة التطبيقات
Imageالآن مع هذا المفهوم من خلال توفير طرق جديدة تقبلProtoLayoutScopeالمسؤول عن ذلك.
- يؤدي ذلك إلى تبسيط عملية التطوير بشكل كبير من خلال إزالة الحاجة إلى ربط الموارد يدويًا في
التسجيل التلقائي لنطاق Material3 وموارده: تمت إضافة
materialScopeWithResourcesلدعم مفهومMaterialScopeفي Material3 باستخدام "موارد الصور المضمّنة". يتولّى هذا النطاق تسجيل الموارد تلقائيًا ويتضمّن طرقًا مساعِدة جديدة للصور (backgroundImageوavatarImageوicon) لتبسيط استخدام المكوّنات.مقتطف الرمز المبسّط:
materialScopeWithResources( context = context, deviceConfiguration = deviceParameters, protoLayoutScope = protoLayoutScope) { primaryLayout( // layout setup here iconContent = { **icon**( **imageResource**( **androidImageResource**(R.drawable.myIcon)))}) //… }
إتاحة استخدام PendingIntent: أتحنا استخدام
PendingIntentفي "البلاطات". تقبل العناصر القابلة للنقرPendingIntentإجراءات احتياطية (LoadActionأوLaunchAction). ويضمن ذلك أنّه في حال كانProtoLayoutRenderer إصدارًا قديمًا لا يتوافق معPendingIntent، سيتم تلقائيًا استخدام إجراء احتياطي صالح.العديد من التحسينات على لغة Kotlin الخاصة بالمجالات المحدّدة:
- تمت إضافة أدوات مساعدة متخصصة في Kotlin لكل من
Imageوجميع أنواعImageResourcesلتحسين تجربة المطوّرين الذين يستخدمون Kotlin. - تمت إضافة أدوات مساعدة لأنواع الحاويات، مثل
BoxوRowوColumnوما إلى ذلك، للالتزام بشكل أكبر بالنهج الحديث لتطوير البرامج المتوافقة مع Android. - تمت إضافة معدِّل
Transformationجديد في Kotlin وطُرق مساعدة لتأثير التلاشي.
- تمت إضافة أدوات مساعدة متخصصة في Kotlin لكل من
تخصيص صورة متحركة بتنسيق Lottie: تمت إضافة واجهة برمجة تطبيقات في
AndroidLottieResourceByResIdللسماح بتخصيص صورة متحركة بتنسيق Lottie من خلال الخصائص، كما تمت إضافة دعم وواجهة برمجة تطبيقات ملموسة لإنشاء خاصية لتصميم موضع إعلان استنادًا إلى معرّف موضع الإعلان باستخدام اللون المحدّد.الوعي بوضع Ambient: تمت إضافة مصدر جديد لحدث المنصة،
isInAmbientMode، ما يسمح للتنسيقات بالتفاعل وتعديل التعبيرات استنادًا إلى ما إذا كان الجهاز في وضع Ambient.
تغييرات واجهة برمجة التطبيقات
- Material3 Image Helpers: تم إيقاف أدوات مساعدة الصور الحالية في Material3 نهائيًا واستبدالها بعمليات تحميل زائد جديدة تستخدم
ProtoLayoutScopeوآلية معالجة الموارد المضمّنة الجديدة. - تعديلات على MaterialScope: تم ضبط الحقل
protoLayoutScopeضمنMaterialScopeعلىNonNullلتسهيل استخدامه عند إنشائه من خلالmaterialScopeWithResources. تمت إضافة الدالةhasProtoLayoutScopeللتحقّق من توفّرها. يعرضMaterialScopeأيضًا الحقل العامContext. - يتوفّر عنوان الدلالات كواجهة برمجة تطبيقات في
LayoutModifier. - إتاحة اتجاه القوس أصبحت الثوابت
ARC_DIRECTION_*متاحة الآن للجميع لاستخدامها في العناصرArc/ArcLine/ArcText/DashedArcLine.
إصلاح الأخطاء
- مقارنة الموارد: تم تحسين الأداء من خلال تنفيذ طريقتَي
hashوequalsالمحسّنتَين لمقارنة أنواع الموارد. - تطبيق وصف المحتوى التلقائي على الزر textButton ذي الخانة الواحدة
- إصلاح العمليات الحسابية لتعديل الحدّ الأقصى لعدد الأسطر في جهة العارض
الإصدار 1.4.0-alpha05
28 يناير 2026
تم طرح androidx.wear.protolayout:protolayout-*:1.4.0-alpha05. يتضمّن الإصدار 1.4.0-alpha05 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة أداة تعديل
Transformationجديدة في Kotlin. (I195a7، b/397169191)
إصلاح الأخطاء
- لقد حللنا المشكلة من خلال تحسين طريقة معالجة الموارد عن طريق إزالة
ProtoLayoutScopeالتي تحتفظ بحالتها منTileService. (I5dc0a، b/474614772)
الإصدار 1.4.0-alpha04
14 يناير 2026
تم طرح androidx.wear.protolayout:protolayout-*:1.4.0-alpha04. يتضمّن الإصدار 1.4.0-alpha04 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد أوقفنا نهائيًا أدوات مساعدة الصور في Material3 لصالح عمليات تحميل زائد جديدة تستخدم
ProtoLayoutScopeومفهومًا أفضل للتعامل مع الموارد حيث يمكن تضمينImageResourceمباشرةً في التصميم نفسه، ما يزيل الحاجة إلى طريقةonTileResourcesRequestلعمليات ربط الموارد. للحصول على أفضل تجربة، استخدِمها معandroidx.wear.tiles.Material3TileServiceالمضافة في الإصدار Wear Tiles 1.6-alpha04. (I8198c، b/440376391)
الإصدار 1.4.0-alpha03
17 ديسمبر 2025
تم طرح androidx.wear.protolayout:protolayout-*:1.4.0-alpha03. يتضمّن الإصدار 1.4.0-alpha03 هذه التعديلات.
إصلاح الأخطاء
- تتم الآن مقارنة نوعَين من الموارد لتحسين معالجة الموارد والأداء باستخدام طريقتَي التجزئة والمساواة المحسّنتَين. (82f21b2f)
الإصدار 1.4.0-alpha02
22 أكتوبر 2025
تم طرح androidx.wear.protolayout:protolayout-*:1.4.0-alpha02. يتضمّن الإصدار 1.4.0-alpha02 هذه التعديلات.
الميزات الجديدة
- تمّت إضافة مصدر جديد لأحداث المنصّة (
isInAmbientMode) يوضّح ما إذا كان الجهاز في وضع الاستراحة أم لا (Ief832)
تغييرات واجهة برمجة التطبيقات
- يقبل العنصر
PendingIntentclickableالآن إجراء احتياطيًا (LoadAction/LaunchAction) لاستخدامه عندما لا يكون العنصرPendingIntentمتوافقًا مع أداة العرضProtoLayout. سيتم تلقائيًا اختيار إجراء احتياطي ووضعه في التصميم عندما يكون إصدار Renderer أقل من الإصدار الذي يتوافق معPendingIntent. (I6eee2، b/450259727) - أصبح الحقل
protoLayoutScopeضمنMaterialScopeالآنNonNullلتسهيل الاستخدام عند إنشاءMaterialScopeمن خلالmaterialScopeWithResources. بالإضافة إلى ذلك، تتوفّر الدالةhasProtoLayoutScopeللتحقّق من وجودها. (I1858f، b/450067019)
الإصدار 1.4.0-alpha01
24 سبتمبر 2025
تم طرح androidx.wear.protolayout:protolayout-*:1.4.0-alpha01. يتضمّن الإصدار 1.4.0-alpha01 هذه التعديلات.
الميزات الجديدة
- تمت إضافة طريقة مساعدة لـ
LayoutModifierتجعل العنصر يظهر تدريجيًا عندما يصبح المربّع مرئيًا. (I38531، b/390345969) - تمت إضافة
materialScopeWithResourcesلدعم مفهوم M3MaterialScopeالذي يتولّى أيضًا تسجيل الموارد تلقائيًا. في داخلها، أضفنا طرقًا جديدة للمساعدة في الصور (backgroundImageavatarImageوالرمز) التي تزيل الحاجة إلى تسجيل الموارد يدويًا في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) - تعرض السمة
ProtoLayoutMaterial3MaterialScopeالآن الحقل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) - إضافة رسالة proto جديدة
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،textEdgeButtoniconButton،textButton،button،imageButton،avatarButton،compactButton-
titleCard،appCard،graphicDataCard،iconDataCard،textDataCard circularProgressIndicator،segmentedCircularProgressIndicatorprimaryLayout،buttonGroup- تعمل جميع المكوّنات على جميع مستويات حزمة تطوير البرامج (SDK) وإصدار
ProtoLayoutRenderer، وتوفّر بدائل مناسبة عند الاقتضاء
- ويشمل ذلك مكتبة
- واجهات برمجة تطبيقات أكثر توافقًا مع 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،textEdgeButtoniconButton،textButton،button،imageButton،avatarButton،compactButton-
titleCard،appCard،graphicDataCard،iconDataCard،textDataCard circularProgressIndicator،segmentedCircularProgressIndicatorprimaryLayout،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-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بشكل صحيح بدلاً من ذلك، ما قد يؤثر في بعض التصاميم بمقدار مساحة أقل تصل إلى 2dp للفتحة الرئيسية. (I8f5d3) - توضيح بشأن مظهر الألوان الديناميكية التلقائي في
ProtoLayoutمن مكونات Material3 (Iff5f3) - لم تعُد أنماط الخطوط
Typography.NUMERAL_*جدولية/أحادية المسافة بشكل تلقائي. إذا كان النص متحركًا، ننصح بشدة بإضافة إعدادFontSetting.tabularNum()إليه. في جميع الحالات الأخرى، لا حاجة إلى خيار الخط الأحادي العرض، وستتوفّر المزيد من الأحرف عند عدم استخدامه. (Id3cd9) - توضيح بشأن مظهر الألوان الديناميكية التلقائي في
ProtoLayoutمن مكونات Material3 (I9d831)
الإصدار 1.3.0-alpha09
26 فبراير 2025
تم طرح androidx.wear.protolayout:protolayout-*:1.3.0-alpha09. يتضمّن الإصدار 1.3.0-alpha09 هذه التعديلات.
الميزات الجديدة
- تمت إضافة معدّلات تجريبية للسمتَين
enterTransitionوexitTransition(I4a4d6) - أضفنا ربطًا إضافيًا بالمنصة لتلقّي حالة ظهور التصميم الكامل عند تغييره. (I250c3)
- السماح بإدخال بيانات حالة التطبيق التجريبي والمنصة في
LayoutElementAssertionsProviderلتقييم القيم الديناميكية (Ib5fcb) - إضافة فلاتر الزوايا إلى مكتبة اختبار protolayout (Ie2361)
- تتيح الآن
ButtonColorsوCardColorsوProgressIndicatorColorsطريقة النسخ، مع إمكانية إلغاء بعض المَعلمات اختياريًا. (Ie2054)
تغييرات واجهة برمجة التطبيقات
- إضافة إمكانية ربط البيانات الديناميكية إلى مكتبة الاختبار (Ib98de)
- إصلاح
imageButtonعند استخدامه مع الدالةbackgroundImageمن خلال إزالة التراكب بالإضافة إلى ذلك، يجب السماح باستخدام الدالةbackgroundImageلتحديد قيمة فارغة للون التراكب، ما يعني أنّه لن يتم تطبيق التراكب. (Ibec3c)
إصلاح الأخطاء
- تم تغيير طريقة
hasValueOfTypeالتلقائية لعرضUnsupportedOperationExceptionبدلاً منIllegalArgumentException. (Ia36c3) - تم تعديل قيم الرموز المميّزة للألوان التلقائية لتعكس أحدث المواصفات. (I75d44)
- إصلاح مشكلة التمويه المرئي على خطوط القوس في أداة عرض المربّعات في AndroidX (I88190)
الإصدار 1.3.0-alpha08
12 فبراير 2025
تم طرح androidx.wear.protolayout:protolayout-*:1.3.0-alpha08. يتضمّن الإصدار 1.3.0-alpha08 هذه التعديلات.
الميزات الجديدة
- إضافة مَعلمة القائمة
FontSettingلنص Material3 (Ic102d) - تمت إضافة الفئة
DynamicDataMapالتي تتوافق الآن معStateBuilderلتوفير واجهة برمجة تطبيقات Kotlin أكثر أمانًا من حيث الأنواع لحالات التطبيق (I012ba) - تمت إضافة طرق المصنع، مثل
intAppDataKey، لتسهيل إنشاء عناصرAppDataKey(Icea2a) - يتضمّن
DynamicDataValueالآن طريقةhasValueOfType(Class<?>)بالإضافة إلى طرقhasInt/hasColor/.... (I4f7a6) - أضفنا
errorDimإلى Material3 ProtoLayoutColorScheme، وذلك للأخطاء ذات الأولوية العالية أو إجراءات الطوارئ، مثل تنبيهات الأمان. (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) لتوفير خيار احتياطي عندما لا تكون سمةweightexpand 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)
- تمت إضافة مكوّنَي زر على شكل حبّة دواء وزر مصوّر إلى Material3 في ProtoLayout. (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 Material3textButton. (Id680d) - أضِف مكوّن
iconButtonProtoLayout Material3. (Ica3f0) - تمت إضافة مكوّن حاوية أزرار Material3 في ProtoLayout. (I17a38)
- إضافة دعم للمعدّلات الدلالية القابلة للتسلسل إلى protolayout-material3 (I4af62)
- تمت إضافة شريحة واحدة من ProtoLayout Material3
CircularProgressIndicator(I2c8a2) - تمت إضافة المعدِّلَين
paddingوmetadata(I8720a) - تمت إضافة المعدّلات
backgroundوclipوclickable(I35478) - أضِف
LinearGradientإلى "الفرشاة" واسمح باستخدامه في "أداة تعديل الخلفية". (Ic4dea) - إضافة حجم صغير لبطاقة التطبيق و
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. تمت إضافة تحذير من أداة التدقيق اللغوي لاقتراح استخدام واجهات برمجة التطبيقات هذه مع حلّ سريع. - تحسين عملية تغيير حجم
TextMaterial أو عدم تغيير حجمه بما يتوافق مع الضبط غير الخطي لحجم الخط في 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لتضمين تعليقات توضيحية حول النطاق وتغيير مَعلمة الوزن لتصبح عددًا صحيحًا (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لتشمل ما يلي: - تمت إضافة واجهة برمجة تطبيقات لمجموعة الخطوط إلى
FontStyleللسماح بتحديد قائمة مرتبة بمجموعات الخطوط التي يجب استخدامها. (Iba9f5) - تمت إعادة تسمية الثوابت الخاصة بارتفاع المساحة بين المحتوى والتصنيف الثانوي في
LayoutDefaultsMaterial التي كانت تبدأ في الأصل بالبادئة "محتوى الحافة" لتصبح أكثر عمومية لأنّه يمكن تطبيقها على كل من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) - يتوقّع
ArcDirectionPropBuilder الآن قيمة في الدالة الإنشائية. (I76ada) - ستتيح طريقة
PlatformDataValues.Builder.putAllدمجPlatformDataValueفيPlatformDataValueآخر. (I50ba3) - تمت إعادة تسمية
Text#setIsScalableإلىText#setScalable. (If920e) - يمكن أن يحدّد Material Text ما إذا كان سيتم استخدام حجم قابل للتوسيع (يزداد عند تغيير حجم خط المستخدم) أم لا. (Ibc849)
- أضفنا خيار ضبط وصف المحتوى على
TitleChip. (I5d21f) - تم إصلاح
CompactChipلتعمل بشكل صحيح مع الرمز فقط وتعديل واجهة برمجة التطبيقات للسماح بهذا الخيار. (I6589e)
إصلاح الأخطاء
- تم إصلاح مشكلة تكرار بيانات المنصة المحتمل أثناء عملية الإعداد. (Iba0fd)
- إضافة دالة جلب جديدة إلى
DynamicDataNodeلاسترداد تكلفة العُقدة يتم استخدام التكلفة عند الحصول على حصة العُقد الديناميكية. في الوقت الحالي، ستكون تكلفة العُقد ذات القيم الثابتة 0، وستكون تكلفة جميع العُقد الأخرى 1. (Ia33e1) - إزالة منطق الاحتساب من
NO_OP_QUOTA_MANAGER(Ib50b8) - لقد أضفنا قاعدة lint لعرض تحذير عند استخدام
PrimaryLayoutبدونsetResponsiveContentInsetEnabledوتقديم حلّ سريع. (I12025) - هناك حدّ لعدد عُقد التعبير الديناميكي. (Iffae8)
الإصدار 1.2.0-alpha01
6 آذار (مارس) 2024
تم طرح androidx.wear.protolayout:protolayout-*:1.2.0-alpha01. يتضمّن الإصدار 1.2.0-alpha01 هذه التعديلات.
الميزات الجديدة
- تتضمّن عناصر
ProtoLayout Arcالآن خيار إضافةArcDirection(ClockwiseأوCounterclockwiseأوNormal) إليها. ستؤدي إضافة هذا السلوك إلىArcأوArcLineأوArcTextإلى إصلاح سلوكها في التصاميم من اليمين إلى اليسار. (I90699) - تم تعديل
EdgeContentLayoutباستخدام أداة ضبطsetResponsiveContentInsetEnabledجديدة لتحقيق توافق أفضل مع إرشادات تجربة المستخدم، والاتساق في "البطاقات" من خلال وضع التصنيف الأساسي في المكان الثابت في الأعلى وإضافة مساحة داخلية متجاوبة للتصنيفات. (I60175) - أضفنا
PrimaryLayout.setResponsiveContentInsetEnabledالتي تضيف إطارًا متجاوبًا إلى التصنيف الأساسي والتصنيف الثانوي والشريحة السفلية في هذا التصميم، وذلك لتجنُّب خروج المحتوى عن حافة الشاشة. (I0c457) - تضيف هذه السمة طريقة لإزالة الهوامش الخارجية من
CircularProgressIndicatorحتى يمكن استخدامها كمكوّن أصغر. (I55c06)
تغييرات واجهة برمجة التطبيقات
- يستبعد برنامج عرض المربّعات الآن مساحة الحشو في الخط على جميع عناصر النص تلقائيًا، بدون خيار لتضمينها. (I3e300)
إصلاح الأخطاء
- تم إصلاح مشكلة محاذاة النص عند استخدام كلّ من "الاقتطاع" و"المسافة بين الأحرف" و"المحاذاة إلى الوسط" في "النص". (I716c7)
- تمت إضافة حلّ بديل لمشكلة رسم قوس skia. (I08f09)
- إصلاح اتجاه رسم
ArcLineللتنسيقات من اليمين إلى اليسار (I6c141)
الإصدار 1.1
الإصدار 1.1.0
7 فبراير 2024
تم طرح androidx.wear.protolayout:protolayout-*:1.1.0. يتضمّن الإصدار 1.1.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.0.0
- إتاحة التدرّج اللوني وتمثيل أفضل للأطوال الأكبر من 360 درجة في
ArcLine - يتيح تنسيق التاريخ والوقت مناطق زمنية مختلفة لأنواع البيانات الديناميكية.
- خيارات أفضل لتحديد الحجم التلقائي للنص واقتطاعه، وذلك للتعامل مع النص المقتطع
- يتيح العنصر النائب استخدام أبعاد موسّعة مع وزن اختياري.
- إضافة تعليق توضيحي لمتطلبات إصدار المخطط إلى جميع واجهات برمجة التطبيقات
ProtoLayout - تم توسيع مساحة النقر المستهدَفة لتشمل أي عنصر
Clickableإلى 48 وحدة بكسل مستقلة عن الكثافة × 48 وحدة بكسل مستقلة عن الكثافة، وذلك لاستيفاء متطلبات إمكانية الوصول. - يتم إيقاف مساحة العرض الإضافية للخط تلقائيًا، وهي السلوك الوحيد في جميع عناصر "النص" ومكوّنات Material التي تحتوي على نص.
تغييرات إضافية
- للاطّلاع على مجموعة أكثر اكتمالاً من التغييرات التي تم تقديمها في الإصدار 1.1.0، يُرجى الرجوع إلى ملاحظات الإصدار beta01.
الإصدار 1.1.0-rc01
24 يناير 2024
تم طرح androidx.wear.protolayout:protolayout-*:1.1.0-rc01. يتضمّن الإصدار 1.1.0-rc01 هذه التعديلات.
إصلاح الأخطاء
- يتم وضع علامة صح على
PlatformTimeUpdateNotifierImplفور تفعيل التحديث. (I77145) - تم إصلاح مشكلة
CircularProgressIndicatorفي تنسيقات العرض من اليمين إلى اليسار. من الآن فصاعدًا، سيتم تدويرها في اتجاه عقارب الساعة في جميع الحالات. (I95ee3) - تمت إضافة حلّ بديل لمشكلة رسم قوس skia. (I08f09)
الإصدار 1.1.0-beta01
10 يناير 2024
تم طرح androidx.wear.protolayout:protolayout-*:1.1.0-beta01. يتضمّن الإصدار 1.1.0-beta01 هذه التعديلات.
الميزات الجديدة
يشير الإصدار 1.1.0-beta01 من Wear ProtoLayout إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء الأجزاء التي تم وضع علامة "تجريبي" عليها). يتضمّن الإصدار 1.1 من Wear ProtoLayout الوظائف وواجهات برمجة التطبيقات الجديدة التالية:
- تتيح السمة
ArcLineالآن التدرّج اللوني من خلال إضافةBrushمعSweepGradientوإضافة ظل على الغطاء لتمثيل طول أكبر من 360 درجة بشكل أفضل من خلال إضافةShadowإلىStrokeCapالحالية. - تتيح
DynamicInstantتنسيق التاريخ والوقت حسب المنطقة الزمنية. يمكن استخدامDynamicInstantوDynamicDurationكنوعَي بيانات خاصَّين بالحالة أو المنصّة. - ميزة تغيير حجم النص تلقائيًا التي تتيح ضبط أحجام متعددة على
FontStyle.setSizesحيث سيتم تغيير حجم النص تلقائيًا استنادًا إلى المساحة المتوفّرة له داخل العنصر الأصل بالإضافة إلى ذلك، حسّنّا خيارات حذف الأجزاء غير الظاهرة من النص الذي يتجاوز المساحة المخصّصة له من خلال إضافةTEXT_OVERFLOW_ELLIPSIZEوإيقافTEXT_OVERFLOW_ELLIPSIZE_ENDنهائيًا. - يتيح
Spacerالآن استخدام سمات موسّعة مع وزن اختياري. لإنشاءExpandedDimensionProp، أضفنا طريقة مساعدةDimensionBuilders.weight. - إتاحة إخفاء عناصر التنسيق وإظهارها بشكل ديناميكي باستخدام
Modifier.visible. ويشمل ذلك استخدام قيم متغيّرة فيBoolProp. - تتضمّن جميع واجهات برمجة التطبيقات
ProtoLayoutالآن تعليقًا توضيحيًا لمتطلبات إصدار المخطط، ويمكن التحقّق من الإصدار قبل طلب واجهة برمجة تطبيقات أحدث. - تم توسيع مساحة اللمس لكل عنصر يحتوي على
Clickableلتصبح 48×48 على الأقل في أداة العرض من أجل تلبية متطلبات تسهيل الاستخدام بشكل أفضل. - بعد مبادرات أخرى متعلّقة بمكوّنات Material وCompose، أوقفنا الآن مساحة الحشو التلقائية للخط في جميع عناصر
Text. بالإضافة إلى ذلك، تمت إزالةAndroidTextStyleوعناصر الضبط ذات الصلة من واجهة برمجة التطبيقات العامة. مع إصلاحات الأخطاء التالية: - تمت إضافة أداة ضبط لتحديد موضع المحتوى على الحافة في
EdgeContentLayoutحتى يمكن تحديد موضعه قبل المحتوى الآخر. - يتم طرح استثناء بشكل متّسق عند مواجهة قيمة تعداد غير معروفة.
- إبطال نتيجة تعبير عندما ينتج عنه قيمة رقمية غير صالحة (NaN أو قيمة لانهائية) أو يعرض
ArithmeticException.
تغييرات واجهة برمجة التطبيقات
- تعديلات على واجهة برمجة التطبيقات
SweepGradientللسماح بقبول الألوان أوColorStopsفي الدالة الإنشائية (I6676f)
إصلاح الأخطاء
- إضافة واجهة برمجة تطبيقات وميزة عرض مقيّدة لضبط اتجاه رسم عناصر القوس (Idef5a)
- يتم ضبط القيمة التلقائية لـ
RoundModeعلىFloorفيFloatToInt32Nodeعند عدم تحديدها. سيظلّ العقد يعرض استثناءً إذا كانRoundModeالمقدَّم غير معروف. (I1b2d8)
الإصدار 1.1.0-alpha04
13 ديسمبر 2023
تم طرح androidx.wear.protolayout:protolayout-*:1.1.0-alpha04. يتضمّن الإصدار 1.1.0-alpha04 هذه التعديلات.
الميزات الجديدة
- لا تنفّذ الفئة
VersionInfoالواجهةComparable. (I8d13c) - يتيح برنامج العرض الآن استخدام الخيار
TEXT_OVERFLOW_ELLIPSIZE. (I7f085)
تغييرات واجهة برمجة التطبيقات
- تم إيقاف خيار تجاوز سعة النص
TEXT_OVERFLOW_ELLIPSIZE_ENDنهائيًا. يُرجى استخدام واجهة برمجة التطبيقات الجديدةTEXT_OVERFLOW_ELLIPSIZEالتي تتضمّن سلوكًا مشابهًا جدًا. (I822d8) - بعد مبادرات أخرى متعلّقة بمكوّنات Material وCompose، أوقفنا الآن المساحة المتروكة للخط تلقائيًا في جميع عناصر Text. بالإضافة إلى ذلك، تمت إزالة
AndroidTextStyleوعناصر الضبط ذات الصلة من واجهة برمجة التطبيقات المتاحة للجميع. (I79094، Ib0b03، I32959، Iaf7d5، Ifa298، I0a4ae، Ida9d3) - تم استبدال
Modifier.hiddenبـModifier.visible(I56902) - يقبل
FontStyle#setSizesالآن وسيطة int بدلاً منSpProp. (I02b37)
إصلاح الأخطاء
- طرح استثناء عند مواجهة قيمة تعداد غير محدّدة أو غير معروفة (I9d2cf)
- إعادة الهيكلة
DynamicTypeBindingRequest(I27b57) - إبطال نتيجة تعبير عندما ينتج عنه قيمة رقمية غير صالحة (NaN أو قيمة لانهائية) أو يعرض
ArithmeticException. (I681ae)
الإصدار 1.1.0-alpha03
29 نوفمبر 2023
تم طرح androidx.wear.protolayout:protolayout-*:1.1.0-alpha03. يتضمّن الإصدار 1.1.0-alpha03 هذه التعديلات.
الميزات الجديدة
- إضافة دعم تجريبي لإخفاء عناصر التنسيق وإظهارها بشكل ديناميكي (I64a78)
- إضافة دعم القيمة الديناميكية إلى
BoolProp(I2fe96) - إضافة تعليق توضيحي لمتطلبات إصدار المخطط إلى واجهات برمجة التطبيقات
ProtoLayout(I0f03c) - توسيع نطاق واجهة برمجة التطبيقات باستخدام الخيار الجديد في
TextOverflowلإضافة علامات الحذف إلى النص في حاوية رئيسية ثابتة حتى عندما لا يتم الوصول إلى الحد الأقصى لعدد الأسطر (ولكن لا تتوفّر مساحة كافية للنص). (I110a9) - تمت إضافة طريقة المساعدة
DimensionBuilders.weightلإنشاءExpandedDimensionPropمع تحديد الوزن. (I4f72b) - يمكن استخدام
DynamicInstantوDynamicDurationكنوعَي بيانات خاصَّين بالحالة أو المنصّة. (I6819f)
تغييرات واجهة برمجة التطبيقات
- تعديل واجهة برمجة التطبيقات لإخفاء
DynamicZonedDateTimeونقل جميع عملياتها إلىDyanamicInstant(I34b94) - تتيح أداة Spacer الآن استخدام السمة Expanded للعرض/الارتفاع. (Ie7c94)
- توسيع مساحة استهداف النقرات في Renderer (I39c79)
الإصدار 1.1.0-alpha02
15 تشرين الثاني (نوفمبر) 2023
تم طرح androidx.wear.protolayout:protolayout-*:1.1.0-alpha02. يتضمّن الإصدار 1.1.0-alpha02 هذه التعديلات.
الميزات الجديدة
- تمت إضافة حقل
ArcLineStrokeCapShadowإلى واجهة برمجة التطبيقات. (I830ec) - توسيع نطاق واجهة برمجة التطبيقات لتتمكّن من تحديد عرض أو ارتفاع Spacer لتوسيعه (I757ca)
- أضفنا واجهة برمجة تطبيقات تجريبية لتغيير حجم النص تلقائيًا استنادًا إلى المساحة المتوفّرة له داخل العنصر الأصلي. (Ibbe63)
- إتاحة الحدّ الأدنى لحجم العناصر القابلة للنقر (I178e3)
- تمت إضافة إمكانية استخدام أداة العرض
StrokeCapShadow. (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. على سبيل المثال، تستخدم مكتبة "البلاطات" واجهات برمجة التطبيقات هذه لتوفير ربط بيانات النظام الأساسي (لتعديل بيانات البلاطات بشكل أسرع) والرسوم المتحركة.
الإصدار 1.0.0-rc01
26 تموز (يوليو) 2023
تم طرح androidx.wear.protolayout:protolayout-*:1.0.0-rc01. يتضمّن الإصدار 1.0.0-rc01 هذه التعديلات.
- للانتقال من "البطاقات" إلى
ProtoLayout، يُرجى اتّباع التعليمات هنا.
تغييرات واجهة برمجة التطبيقات
- لقد أزلنا الطريقتَين
setLayoutConstraintForDynamicAnchorAngleوgetLayoutConstraintForDynamicAnchorAngleمن عنصر Arc. تمت إضافة هذه الطرق عن طريق الخطأ ولم يكن لها أي تأثير على التنسيق المقدَّم. (If7d01) - لقد حدّدنا الحدّ الأقصى لعمق تصميم
ProtoLayoutبـ 30LayoutElementsمتداخلة. (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)
إصلاح الأخطاء
- تعديل رسائل 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) - لم يعُد
SensorGatewayCloseableلأنّه لم يعُد يحتفظ بأي حالة. (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) - أتحنا إمكانية ضبط استبعاد مساحة الحشو في الخط في
ProtoLayoutMaterial Text. (I17f5d) - تتوفّر الآن إمكانية استخدام تنسيق ARGB_8888 للصور المضمّنة. (I18c1e)
- يتيح
DynamicColorالآن تنفيذ عمليةonCondition. (I10927)
تغييرات واجهة برمجة التطبيقات
- إتاحة مدة مخصّصة للصور المتحركة العكسية (I3251f)
- لقد أضفنا المعدِّل
SemanticDescription. بالإضافة إلى ذلك، لا يمكن ربطContentDescription. (I3f1d) - تم الآن استبدال الطريقة
DynamicBool.isFalse()بالطريقةDynamicBool.negate()، كما تمت إزالةDynamicBool.isTrue(). بالإضافة إلى ذلك، تؤدي قيم NaNDynamicFloatوتضييق نطاقDynamicInt32إلىDynamicFloatالآن إلى ظهور نتيجة ديناميكية غير صالحة. (I6ac1e) - تستخدم أدوات التنسيق int وfloat الآن نمط Builder. (Ieb213)
إصلاح الأخطاء
- تمت إزالة القيمة الثابتة الاحتياطية من الحقول التي يمكن تحريكها. (Ifcb01)
- تمّت إزالة
DynamicTypeValueReceiver#onPreUpdate. (I2dc35) - تم الآن وضع حد أقصى لطول السلاسل في التعبيرات الديناميكية. (I4c93)
- تم الآن ضبط تبعيات Gradle بشكل صحيح على
apiبدلاً منimplementationعند الحاجة. (I40503)
الإصدار 1.0.0-alpha07
5 أبريل 2023
تم طرح androidx.wear.protolayout:protolayout-*:1.0.0-alpha07. يتضمّن الإصدار 1.0.0-alpha07 هذه التعديلات.
الميزات الجديدة
- إضافة إمكانية استخدام القيم الديناميكية إلى
StringProp(I04342) - وضع علامة على عناصر التنسيق القابلة للربط (Ia110b)
تغييرات واجهة برمجة التطبيقات
- تأخذ
sensorGateway#registerSensorGatewayConsumerنوع البيانات كمَعلمة بدلاً من الطريقة في Consumer. (Icf314) - تمت إعادة تسمية "
ObservableStateStore" إلى "StateStore". (Ieb0e2) - تمت إضافة
DynamicTypeEvaluator.Builderبدلاً من وسيطات الدالة الإنشائية للسماح بالمزيد من الوسيطات الاختيارية، بما في ذلكObservableStateStoreالتي يتم ضبطها تلقائيًا الآن على متجر فارغ. (I6f832) - تمت إعادة ترتيب المعلَمات في
DynamicTypeEvaluator. (Ic1ba4)
إصلاح الأخطاء
- نقل الإشارات بشكل صحيح من مصادر أجهزة الاستشعار في النظام الأساسي إلى العُقد النهائية (I5a922)
الإصدار 1.0.0-alpha06
22 مارس 2023
تم طرح androidx.wear.protolayout:protolayout-*:1.0.0-alpha06. يتضمّن الإصدار 1.0.0-alpha06 هذه التعديلات.
الميزات الجديدة
- أضفنا واجهة برمجة تطبيقات تجريبية لاستخدام معدّل نبضات القلب والخطوات اليومية في التعبيرات الديناميكية (Ifd711)
- أضفنا إمكانية استخدام التأخير العكسي والتأخير الأمامي للصور المتحركة. (Ic25f7)
- أضفنا إمكانية استخدام
DynamicColorفي "الحدود والخلفية" - أضفنا إمكانية استخدام القيم المتحركة إلى الأنواع في
DimensionBuilder - سيتم نقل التنسيق والمكوّنات من
tiles-materialإلىprotolayout-material
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
LoadActionListenerإلىProtoLayoutViewInstance. (If7806)
إصلاح الأخطاء
- تمت إضافة
FloatNodesTest(Id7281) - تم إصلاح مشكلة تعطُّل أداة العرض عند تعذُّر تحميل صورة نقطية منظَّمة.
الإصدار 1.0.0-alpha05
8 مارس 2023
تم طرح androidx.wear.protolayout:protolayout-*:1.0.0-alpha05. يتضمّن الإصدار 1.0.0-alpha05 هذه التعديلات.
الميزات الجديدة
- لقد أضفنا حركة تجريبية باسم "تعديل المحتوى" إلى العنصر
Modifiers. سيتم تشغيل هذا الرسم المتحرك كلما تغيّر العنصر (الذي يتضمّن هذا المعدِّل) أو أحد العناصر التابعة له أثناء تعديل التنسيق. (bd03e5d)
تغييرات واجهة برمجة التطبيقات
- أضفنا
forwardRepeatDelayMillisوreverseRepeatDelayMillisإلىRepeatable. أعدنا أيضًا تسميةdelayMillisفيAnimationSpecإلىstartDelayMillis(Ifb266) - تقبل طرق
DynamicTypeEvaluator.bindالآن Executor. (I346ab) - لقد أضفنا الطريقة
startEvaluationإلىBoundDynamicTypeلتفعيل التقييم بعد ربط النوع الديناميكي. (I19908)
إصلاح الأخطاء
- سيتم إعادة استخدام عنصر Animator في الحركات اللاحقة لعنصر واحد. (Ia3be9)
الإصدار 1.0.0-alpha04
22 فبراير 2023
تم طرح androidx.wear.protolayout:protolayout-*:1.0.0-alpha04. يتضمّن الإصدار 1.0.0-alpha04 هذه التعديلات.
الميزات الجديدة
- يُعلم
ObservableStateStoreالمستمعين الآن عند إزالة مفتاح أيضًا. - أضفنا إصدار مخطط العرض ومقياس الخط إلى
DeviceParameters(الذي يمكن استخدامه لإنشاء تخطيطات بشكل مشروط استجابةً للإصدارات وإعدادات الخطوط المختلفة). - أتحنا إمكانية تحريك قيم
DynamicInt32(I05485) - أضفنا مشغّلات
OnLoadوOnConditionalMet. يمكن استخدامها لبدء الصور المتحركة التي تتوافق مع مشغّل. - أضفنا وزن التنسيق للأبعاد الموسّعة والحد الأدنى للحجم للأبعاد الملتفّة.
- أضفنا نوعَين ديناميكيَّين جديدَين، وهما المدة واللحظة. ويمكن استخدامها لتمثيل لحظة زمنية أو مدة في تعبير ديناميكي.
- أضفنا إمكانية استخدام
AnimatedVectorDrawableوSeekableAnimatedVectorDrawableكموارد تخطيط.
تغييرات واجهة برمجة التطبيقات
- تتطلّب بيانات المستشعر الإصدار 29 من واجهة برمجة التطبيقات أو الإصدارات الأحدث. (I8099e)
- أضفنا طريقتَين مساعدتَين
launchAction(لتشغيل الأنشطة).
إصلاح الأخطاء
- تمت إعادة تسمية
set/getSpecإلىset/getAnimationSpecفي الصورة المتحركة "المربّعات" (I3d74b)
الإصدار 1.0.0-alpha03
8 فبراير 2023
تم طرح androidx.wear.protolayout:protolayout-*:1.0.0-alpha03. يتضمّن الإصدار 1.0.0-alpha03 هذه التعديلات.
الميزات الجديدة
- أضفنا
toByteArray()وfromByteArray()إلى الأنواع الديناميكية في مكتبة protolayout-express. - أضفنا
toString()إلى "الأنواع الديناميكية" في مكتبة protolayout-expression. - أضفنا إمكانية تقييم الأنواع الديناميكية. يمكن استخدام الفئة
DynamicTypeEvaluatorمن مكتبة protolayout-expression-pipeline لتقييم (وتلقّي قيم معدَّلة) نوع Dynamic تم إنشاؤه سابقًا (DynamicStringوDynamicFloatوما إلى ذلك). - عندما يتعذّر تشغيل الرسوم المتحركة (إما لأنّ أداة التقييم أوقفتها، أو لأنّ عدد الرسوم المتحركة قيد التشغيل قد بلغ الحدّ الأقصى المحدّد)، سيتم استخدام القيم الثابتة التي تم ضبطها على العقدة القابلة للتحريك لاستبدال الرسوم المتحركة.
الإصدار 1.0.0-alpha02
25 يناير 2023
تم طرح ميزات androidx.wear.protolayout:protolayout:1.0.0-alpha02 وandroidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 وandroidx.wear.protolayout:protolayout-proto:1.0.0-alpha02. يتضمّن الإصدار 1.0.0-alpha02 هذه التعديلات.
الميزات الجديدة
- سيتم نقل أدوات إنشاء التنسيقات من
androidx.wear.tiles:tilesإلىandroidx.wear.protolayout:protolayout. سيتم إيقاف تلك التي تحمل الرمزandroidx.wear.tiles:tilesنهائيًا في أحد إصدارات ألفا القادمة.
الإصدار 1.0.0-alpha01
11 يناير 2023
تم طرح androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 وandroidx.wear.protolayout:protolayout-proto:1.0.0-alpha01. يتضمّن الإصدار 1.0.0-alpha01 هذه التعديلات.
الميزات الجديدة
- يتضمّن هذا الإصدار مكتبة جديدة باسم "تعبير ProtoLayout" لإنشاء تعبيرات من متغيّرات ديناميكية.