Wear Compose
آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
---|---|---|---|---|
27 أغسطس 2025 | 1.5.0 | - | - | - |
تحديد الاعتماديات
لإضافة اعتمادية على Wear، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle
لتطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.wear.compose:compose-foundation:1.5.0" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.5.0" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.5.0" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Kotlin
dependencies { implementation("androidx.wear.compose:compose-foundation:1.5.0") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.5.0") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.5.0") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات البناء.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.5 من Wear Compose
الإصدار 1.5.0
27 أغسطس 2025
تم طرح androidx.wear.compose:compose-*:1.5.0
. يتضمّن الإصدار 1.5.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.4.0
الإصدار الأول من مكتبة Wear Compose Material 3 التي تتوافق مع نظام التصميم الجديد Material 3 Expressive يتضمّن هذا الإصدار ما يلي:
- تم تعديل
MaterialTheme
وتصميم الألوان الديناميكية. - مكوّنات جديدة
AppScaffold, ScreenScaffold
وHorizontalPagerScaffold
وVerticalPagerScaffold
لتحديد بنية الشاشة وتنسيق الرسوم المتحركةScrollIndicator
وTimeText
وHorizontalPageIndicator
وVerticalPageIndicator
- تغيير شكل
IconButton
وTextButton
وIconToggleButton
وTextToggleButton
، مع أشكال متغيرة يتم تحريكها عند الضغط عليها أو تحديدها EdgeButton
، الذي يتضمّن شكلاً خاصًا مصمّمًا لأسفل الشاشة- تنفّذ
ButtonGroup
مجموعة تعبيرية من الأزرار، في صف يتغيّر شكله عند لمسه. -
AlertDialog
وConfirmationDialog
مع صيغ مختلفة لمحتوى مربّع الحوار الإضافي - المكوّنان
TimePicker
وDatePicker
- تشمل مؤشرات التقدم
CircularProgressIndicator
(مع اختلاف مقسَّم) وArcProgressIndicator
وLinearProgressIndicator
.
بالإضافة إلى ذلك، يتضمّن الإصدار 1.5.0 من Wear Compose Foundation ما يلي:
-
TransformingLazyColumn
: قائمة كسولة قابلة للتمرير عموديًا وتتيح تغيير الحجم وتأثيرات التحوّل - إتاحة تقسيم المحتوى إلى صفحات في Wear Compose Foundation باستخدام
HorizontalPager
وVerticalPager
- مجموعات التركيز الهرمية: تُستخدم لإضافة تعليقات توضيحية إلى العناصر القابلة للإنشاء في أحد التطبيقات لتتبُّع الجزء النشط من التركيب وتنسيق التركيز.
مزيد من المعلومات عن (Material 3 Expressive لنظام التشغيل Wear OS)
تغييرات إضافية
- للحصول على قائمة أكثر اكتمالاً بالميزات التي تم تقديمها في الإصدار 1.5.0، يُرجى الاطّلاع على (ملاحظات إصدار الإصدار التجريبي 01).
الإصدار 1.5.0-rc02
13 أغسطس 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-rc02
. يتضمّن الإصدار 1.5.0-rc02 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح الخطأ في
TimePicker
الذي كان يؤدي إلى تعطُّل التنسيق عند استخدام سلاسل طويلة بلغات متعددة للفترة الزمنية (صباحًا/مساءً). (I0fa81)
الإصدار 1.5.0-rc01
30 يوليو 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-rc01
. يتضمّن الإصدار 1.5.0-rc01 هذه التعديلات.
إصلاح الأخطاء
- يتم الآن تشغيل
TimePicker
بالكامل حسب اللغة المحلية للمستخدم، وذلك باستخدامDateFormat.getBestDateTimePattern
لتحديد ترتيب أدوات الاختيار والفواصل ومحتواها. يؤدي ذلك إلى إصلاح ترتيب الأعمدة غير الصحيح للغات الصينية واليابانية والكورية، وحلّ مشاكل التنسيق من اليمين إلى اليسار في لغات مثل العربية، واستخدام فواصل مترجَمة، وتوفير تنسيقات الساعات من 0 إلى 11 ومن 1 إلى 12 استنادًا إلى اللغة (I5d543) - تعرض
DatePicker
الآن شهرًا رقميًا في بعض اللغات، مثل الصينية واليابانية والكورية، لتجنُّب الخلط بين التنسيقات الرقمية واللغوية (مثلاً، 2025 | 07 | 02 بدلاً من 2025 | 7月 | 02). يطبّق هذا التغيير قاعدة إرشادية تتحقّق مما إذا كانت اللغة تستخدم لاحقات لغوية للسنة، وإذا كان الأمر كذلك، يتم تبديل تنسيق الشهر من نصي (MMM) إلى رقمي (MM) لضمان الاتساق. (Ia93fe) - أصبح المساحة العمودية للعنوان في مكوّن "أداة الاختيار" ثابتة الآن، ما يمنع حدوث تغيير مرئي عند اختيار عمود أداة اختيار، لا سيما في وضع
Talkback
. (I7f8b7) - تم إصلاح خطأ في تسهيل الاستخدام ناتج عن عرض
HorizontalPageIndicator
وVerticalPageIndicator
بملء الشاشة. لم تعُد مؤشرات الصفحات تظهر بملء الشاشة، وسيتم تحديد موضعها تلقائيًا عند استخدامها معHorizontalPagerScaffold
أوVerticalPagerScaffold
. عند عدم استخدام بنية صفحة ذات أرقام، حدِّد المحاذاة بشكل صريح باستخدامmodifier = Modifier.align(Alignment.BottomCenter)
معHorizontalPageIndicator
وmodifier =Modifier.align(Alignment.CenterEnd)
معVerticalPageIndicator
. (I3a0ad) - أصبح اتجاه التمرير السريع في
SwipeToReveal
متوافقًا الآن مع كل منLayoutDirections
من اليمين إلى اليسار ومن اليسار إلى اليمين. (I6d427) - تمت إعادة تفعيل ميزة التوسيط العمودي
SwipeToReveal
للإجراءات. إذا كانت القيمةhasPartiallyRevealedState = true
، يجب أن تتم إعادة ضبطRevealState
علىRevealValue.Covered
من قِبل المتصل عند حدوث التمرير. (I6473d) - تعمل
SwipeDismissableNavHost
الآن على قص المحتوى بشكل صحيح للإصدار 36 من واجهة برمجة التطبيقات والإصدارات الأحدث. (Ib9a44)
الإصدار 1.5.0-beta06
16 يوليو 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-beta06
. يتضمّن الإصدار 1.5.0-beta06 هذه التعديلات.
إصلاح الأخطاء
- إصلاح الرسوم المتحركة
EdgeButton
عندما يكونLazyColumn
أوScalingLazyColumn
يحتويان علىreverseLayout = true
(I46a1a) - تم إصلاح خطأ في
ScreenScaffold
كان يؤدي إلى عدم عمل ميزة "التنقّل باللمس" في Talkback في حال توفيرScrollIndicator/PageIndicator
. (I6dcee) - تتيح السمة
TransformingLazyColumn
الآن إمكانية التحويل المخصّص منTransformationSpec
من خلال قراءة قيمةitemHeight
التي توفّرها السمةTransformationSpec
في أداة رسم الخلفية. (I6a599) - انتقالات الألوان المتحركة المفعّلة/غير المفعّلة لـ
IconButton
، لتكون متوافقة معIconToggleButton
(Ife10a) - تمت إزالة الحد الأدنى لتثبيت القسم في
CircularProgressIndicator
لتجنُّب الانتقال الملحوظ إلى الحد الأدنى لحجم النقطة عند تحريكها. في إطار هذا التغيير، لم يعُد يتم استخدام المَعلمةtargetProgress
فيdrawCircularProgressIndicator
. (I33309) - يتضمّن أداة الاختيار الآن الدور الدلالي
ValuePicker
الذي يمكن أن تستخدمه برامج قراءة الشاشة لتسهيل استخدام أدوات الاختيار. تتضمّن أداة الاختيار أيضًا تصنيفات نقر معدَّلة لتسهيل الاستخدام، وهي تفرّق بين تعديل القيمة في وضع القراءة فقط واختيار القيمة الحالية في الحالات الأخرى. (I33309)
الإصدار 1.5.0-beta05
2 يوليو 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-beta05
. يتضمّن الإصدار 1.5.0-beta05 هذه التعديلات.
إصلاح الأخطاء
- تم تعديل المستندات لتوضيح استخدام
Modifier.edgeSwipeToDismiss
(I78cb5) - تم إصلاح الخطأ الذي كان يؤدي إلى إمكانية عرض عناصر متعدّدة تم الكشف عنها باستخدام
SwipeToReveal
في القوائم الكسولة (I1d4f6) - تمت الآن إعادة تحجيم أشكال الحاويات في
TransformingLazyColumn
لتجنُّب اقتصاص المحتوى. (I9221a) - تتضمّن التسمية
TimePicker
وDatePicker
الخاصة بالساعة أو الدقيقة أو الثانية أو السنة أو الشهر أو اليوم الآن دلالات عناوين لبرامج قراءة الشاشة (I77d8b). - تمت إزالة التوقف المؤقت بين التكرارات في
CircularProgressIndicator
غير المحدّد (Iaf0bb) - تم إصلاح خطأ في الصورة المتحركة في
TransformingLazyColumn
عند إزالة عناصر. (I73034) - تم تصحيح طريقة التعامل مع العناصر الأساسية في
TransformingLazyColumn
عند إزالة العناصر. (I841a8) - تعرض أداة اختيار
PickerGroup
الآن رسومًا متحركة لأدوات الاختيار أفقيًا عند تفعيل ميزة "التوسيط التلقائي" وتغيير أداة الاختيار المحدّدة (المتوسّطة). (Ic82c4)
الإصدار 1.5.0-beta04
18 يونيو 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-beta04
. يتضمّن الإصدار 1.5.0-beta04 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح خطأ في التنسيق في
TransformingLazyColumn
، حيث يتم الآن محاذاة المحتوى الذي يتناسب مع الشاشة بشكل صحيح من أعلى الشاشة (I80115) - تم إصلاح مشكلة في
TransformingLazyColumn
حيث تم تغيير حجم العنصر السفلي بشكل غير صحيح عند الانتقال إلى أسفل القائمة التي تتضمّنEdgeButton
. يتبع مستوى تقدّم التمرير الآن عملية نزول تدريجي عند استعادة التنسيق. (Iea375) - تعرض السمة
TransformingLazyColumn
الآن ارتفاع العنصر داخل أداة الرسم في الخلفية، ما يسمح للسمةTransformationSpecs
المخصّصة بتنفيذ عملية التحوّل. (I022f0) - تعمل السمة
SwipeToReveal
الآن على توسيط الإجراءات المكشوفة عموديًا بشكل صحيح. (I4419b) - تم إصلاح خطأ في
SwipeToReveal
كان يمنع عمله بشكل صحيح مع ميزة "التمرير سريعًا للإغلاق" في حال استخدام كل من طريقتَي العرض وCompose على الشاشة. (I5dc0e) - تم إصلاح الخطأ الذي كان يؤدي إلى رسم إجراءات
SwipeToReveal
بإزاحة عمودية عند التمرير. (I29444) - تعمل القيم
AlertDialog
وConfirmationDialog
وOpenOnPhoneDialog
وSwipeToReveal
الآن على تقريب المساحات المتروكة والأحجام التي يتم احتسابها كنسبة مئوية من حجم الشاشة. (I76367) - تعدّل
ButtonDefaults.outlinedButtonBorder
الآن الحجم بعد تغيير حالة التفعيل/الإيقاف(If2ddd) - تم إصلاح خطأ في ارتفاع
EdgeButton
حدث على شاشات معقّدة تحتوي على Pager وScreenScaffold
. (I946e3) - تم إصلاح مشكلة تزامن قد تؤدي إلى توقّف الصور المتحركة للعناصر النائبة. (I53530)
- تحسين أداء
HorizontalPageIndicator
وVerticalPageIndicator
من خلال الرسم على "لوحة الرسم" (Ifae1e) - تم تحسين شكل EdgeButton لتسهيل الانتقال بين علامة الحذف والدوائر التي تشكّل المخطّط التفصيلي. (I7721e)
- تم إصلاح خطأ في
LevelIndicator
تسبّب في إيقاف الصور المتحركة بسبب عمليات إعادة إنشاء غير ضرورية. (I45d08)
الإصدار 1.5.0-beta03
4 يونيو 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-beta03
. يتضمّن الإصدار 1.5.0-beta03 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تعرض ميزة
OpenOnPhoneDialog
الآن نص الرسالة فقط ضمن TalkBack، وتتخطّى دلالات الرمز. تم تعديلOpenOnPhoneDialogDefaults
لإزالة المَعلمتَينiconContentDescription
وcontentDescription
منicon()
. بالإضافة إلى ذلك، يتضمّنConfirmationDialogDefaults
الآن مَعلمات معدِّلة في عناصرSuccessIcon
وFailureIcon
القابلة للإنشاء. (Id2ae2)
إصلاح الأخطاء
- تم تغيير ترتيب تطبيق تأثير المَعلمات
SurfaceTransformation
. في السابق، كانت عمليات التحويل المطبَّقة على مكوّنات Wear Material3 تتم على النحو التالي: أداة رسم الخلفية، وعملية تحويل الحاوية، وعملية تحويل المحتوى. الآن، تم عكس أول عنصرَين، ونطبّق أي معدِّل تم تمريره بينهما، لذا يتأثر بتحويلات الحاوية. يحلّ هذا الإجراء مشاكل مثل استخدام تأثير التموّج في العنصر النائب مع عناصر في بطاقة TLC باستخدام مَعلمة التحويل. (I786cf) - تمت إضافة
RevealState.Saver
لاستخدامها في استعادة حالةSwipeToReveal
عند إعادة إنشاء النشاط أو العملية. تستخدم الدالةrememberRevealState
الآن أداة الحفظ هذه تلقائيًا. (Ie0ecb) - يجب أن تكون أزرار الإجراءات الأساسية والثانوية
ButtonDefault.Height
تلقائيًا (تم إصلاح الخطأ الذي كانت فيه هذه الأزرار تملأ الحد الأقصى للارتفاع للأزرار الأطول).SwipeToReveal
(Ibfba1) - تم تغيير
SwipeToReveal
لإعادة ضبط آخر عنصر تم التفاعل معه عند تنفيذ إيماءة التمرير السريع لليسار. (Ia8450) - تم تغيير
SwipeToReveal
إلى الحالةRevealing
عندما يكون موضع نهاية التمرير السريع بين نقاط الارتكاز الخاصة بالكشف والكشف الكامل، ويكون أقرب إلى نقطة الارتكاز الخاصة بالكشف. (If4458) - تم الآن عكس محتوى
ButtonGroup
بشكل صحيح في تخطيط من اليمين إلى اليسار (Ib378d) - أصبحت
AnimatedText
متوافقة الآن مع اتجاه النص من اليمين إلى اليسار (I4533c) TransformingLazyColumn
يعيد الآن تغيير حجم العناصر بشكل صحيح عند إزالة العنصر السفلي (Idacab)- تجري أداة
TransformingLazyColumn
الآن عملية قياس واحدة فقط، ما يحسّن الأداء من خلال تقليل أوقات عرض اللقطات. (I501a1)
الإصدار 1.5.0-beta02
20 مايو 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-beta02
. يتضمّن الإصدار 1.5.0-beta02 هذه التعديلات.
إصلاح الأخطاء
- تم تعديل ملفات تعريف خط الأساس لمكتبات Foundation وMaterial وMaterial3. (I53f06)
- تم إصلاح خطأ في
TransformingLazyColumn
، حيث تم تغيير حجم العناصر عند إزالة العنصر السفلي. (Idacab) - تم إصلاح خطأ في
TransformingLazyColumn
، حيث كانت القائمة عالقة في أعلى القائمة أو أسفلها. (I49d00) - يجب أن تعلن
OpenOnPhoneDialog
ضمن TalkBack عن النص المنحني بدلاً من وصف محتوى الرمز. (I4efe8) - تم إصلاح خطأ في
SwipeToReveal
كان يؤدي إلى عرض رابط مرجعي غير صحيح فيRevealState.currentValue
عندما تكون قيمةhasPartiallyRevealedState
هي "خطأ". (I9c7cf) - أصبحت أزرار التراجع
SwipeToReveal
ButtonDefaults.Height
تلقائية الآن. (I1f6c8) - تم تحسين أداء
BasicSwipeToDismissBox
من خلال إيقاف استخدام Canvas لرسم الشاشات المعتمة. (I68f2c) - تم إصلاح خطأ متعلق بإمكانية الوصول في شريط التمرير، حيث لم تتطابق النسبة المئوية المُعلَن عنها مع القيمة بعد التحديثات (I91146)
- تم إصلاح خطأ في عملية تنفيذ
placeholderShimmer
. (Iee39b - تم تحسين أداء
TransformingLazyColumn
من خلال تحسين عملية احتسابScrollProgress
بنسبة %30. (I4c4cb)
الإصدار 1.5.0-beta01
7 مايو 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-beta01
. يتضمّن الإصدار 1.5.0-beta01 هذه التعديلات.
يشير الإصدار 1.5.0-beta01 من Compose for Wear OS إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء ما تمّت الإشارة إليه على أنّه تجريبي).
يتضمّن الإصدار 1.5.0-beta01 من Wear Compose مكتبة Wear Compose Material3 التي تتوافق مع نظام تصميم واجهة المستخدم الجديد المعروف باسم Material 3 Expressive. ننصحك بالترقية من Material إلى Material3 للاستفادة من التصميم المرئي الجديد في التطبيقات، ومن المكوّنات الجديدة على النحو التالي:
MaterialTheme
للحصول على أنظمة ألوان وأساليب خطوط وأشكال محدّثة وموسّعة لإضافة عمق وتنوّع إلى تصاميمك- ميزة "تطبيق المظهر الديناميكي" التي تنشئ تلقائيًا نظام ألوان لتطبيقك ليتطابق مع ألوان خلفية شاشة الساعة
- تتكيّف المكوّنات الجديدة تلقائيًا مع أحجام الشاشات الأكبر
- تغيير الشكل: تتوافق مكوّنات الأزرار الدائرية، مثل
IconButton
وTextButton
وIconToggleButton
وTextToggleButton
، مع أشكال متغيرة يتم تحريكها عند الضغط عليها أو وضع علامة فيها. EdgeButton
: زر جديد على الحافة بتصميم خاص في أسفل الشاشة- الأساسات: تقديم
AppScaffold
وScreenScaffold
لتحديد بنية الشاشة وتنسيق الصور المتحركةScrollIndicator
وTimeText
- الأزرار: تتوفّر أزرار عديدة على شكل ملعب مع حاويات مرنة ذات خانة واحدة وأشكال متعدّدة الخانات للأزرار التي تتضمّن رموزًا وتصنيفات. يتم توفير
CheckboxButton
وSwitchButton
عند الحاجة إلى أزرار تبديل، بينماRadioButton
هو زر الاختيار المتاح (يتم توفير أشكال "مقسّمة" من أزرار التبديل والاختيار أيضًا). -
ButtonGroup
: تنفّذ مجموعة تعبيرية من الأزرار في صف واحد تتغيّر أشكالها عند لمسها. - تتضمّن صيغ
AlertDialog
أزرار موافقة/إلغاء أوEdgeButton
. - تتوفّر السمة
ConfirmationDialog
لعرض رسالة مع مهلة، ما يتيح استخدام رسوم متحركة خاصة لحالات النجاح والفشل والفتح على الهاتف. - تتوفّر أيضًا أشكال مختلفة من أدوات الاختيار، مثل
TimePicker
وDatePicker
، بالإضافة إلى مكوّنات Picker وPickerGroup
لإنشاء شاشات أدوات اختيار خاصة بك. ProgressIndicators
- مؤشرات التقدّم الدائرية والخطية متوافقة (يحتويCircularProgressIndicator
على أشكال متنوّعة مقسّمة وغير محدّدة).- البطاقات: يتوفّر عدد من أشكال البطاقات، بما في ذلك
TitleCard
التي توفّر تخطيطات محدّدة للبطاقات التي تتضمّن عنوانًا أو وقتًا أو عنوانًا فرعيًا أو خانات محتوى. يمكن أيضًا منحTitleCard
خلفية صورة لتعزيز معنى المعلومات في البطاقة. - تنسّق عناصر أدوات التقسيم إلى صفحات
HorizontalPagerScaffold
وVerticalPagerScaffold
وAnimatedPage
الحركتينHorizontalPageIndicator
وVerticalPagerIndicator
. تم إصدارHorizontalPager
وVerticalPager
في مكتبة Wear Compose Foundation. - العناصر النائبة: ترسم شكلاً هيكليًا فوق أحد المكوّنات، وذلك في الحالات التي لا يتوفّر فيها أي محتوى مؤقت.
- شرائط التمرير وأزرار الزيادة والنقصان: تتيح شرائط التمرير وأزرار الزيادة والنقصان للمستخدمين إمكانية الاختيار من بين مجموعة من القيم. تكون شرائط التمرير أكثر إحكامًا ويمكن تقسيمها، في حين أنّ أداة "الخطوات" هي مكوّن بملء الشاشة يتم عادةً إقرانه بعنصر
StepperLevelIndicator
. -
SwipeToReveal
: تُستخدَم لإضافة إجراءات إضافية إلى عنصر قابل للإنشاء عند التمرير سريعًا من اليمين إلى اليسار.
بالإضافة إلى ذلك، يتضمّن الإصدار 1.5.0-beta01 من Wear Compose Foundation المكوّنات الجديدة التالية:
-
TransformingLazyColumn
: قائمة يتم تحميلها عند الحاجة إليها، ويمكن التمرير فيها عموديًا، وتتيح تغيير الحجم وتأثيرات التحوّل - مجموعات التركيز الهرمية: تُستخدَم لإضافة تعليقات توضيحية إلى العناصر القابلة للإنشاء في أحد التطبيقات، وذلك لتتبُّع الجزء النشط من التركيب وتنسيق التركيز.
- أدوات اختيار الصفحات - المكوّنان
HorizontalPager
وVerticalPager
، تم إنشاؤهما استنادًا إلى مكوّنات Compose Foundation مع تحسينات خاصة بنظام التشغيل Wear لتحسين الأداء والالتزام بإرشادات Wear OS
تغييرات واجهة برمجة التطبيقات
- تم تعديل واجهة برمجة التطبيقات Hierarchical Focus API، إذ تمّت إعادة تسمية
Modifier.hierarchicalFocus
إلىModifier.hierarchicalFocusGroup
وإزالة مَعلمة معاودة الاتصال، وإزالة التحميل الزائد لـModifier.hierarchicalFocusRequester
باستخدام المَعلمةFocusRequester
، وإنشاءCompositionLocal
وLocalScreenIsActive
جديدتَين لكي تتمكّن المكوّنات من إعلام الشاشة النشطة والتحقّق منها. (I5ff7c). - تم إيقاف
SwipeToReveal
نهائيًا من Wear Compose Foundation لصالح واجهاتSwipeToReveal
API في Wear Compose Material وWear Compose Material3. يُرجى استبدال عمليات استيراد Wear FoundationSwipeToReveal
بعمليات استيراد Wear Compose Material أو Wear Compose Material3 لمواصلة استخدام واجهات برمجة التطبيقات. (Ia147d). - تم نقل تبعيات Wear Compose Material3
SwipeToReveal
في Foundation إلى حزمة material3، مثلRevealValue
وRevealDirection
وRevealActionType
وRevealState
وrememberRevealState
. على المطوّرين تغيير عمليات استيراد هذه الفئات والدوال منandroidx.wear.compose.foundation
إلىandroidx.wear.compose.material3
. (I640e6). - تم تعديل واجهة برمجة التطبيقات
SwipeToReveal
Wear Compose Material3 على النحو التالي: تمت إضافة المَعلماتprimaryAction
وonFullSwipe
وsecondaryAction
وundoPrimaryAction
وundoSecondaryAction
وhasPartiallyRevealedState
إلى العنصر القابل للإنشاءSwipeToReveal
، وتمت إزالة إمكانية تخصيصpositionalThreshold
وanimationSpec
منRevealState
، وتمت إزالةlastActionType
وrevealThreshold
والعرض منRevealState
، وتم تغيير الدالة الإنشائيةRevealState
لقبولRevealDirection
بدلاً من نقاط الارتكاز، وتمت إزالة الدوالcreateRevealAnchors
ونقاط الارتكاز وbidirectionalAnchors
، وتمت إعادة تسمية الدوالSwipeToRevealScope
primaryAction
وsecondaryAction
وundoPrimaryAction
وundoSecondaryAction
لتصبحPrimaryActionButton
وSecondaryActionButton
وUndoActionButton
وتحويلها إلى دوال قابلة للإنشاء، وتم وضع علامة "داخلي" علىRevealActionType
. (I885d0). - تم تعديل واجهة برمجة التطبيقات
SwipeToReveal
على النحو التالي: تمت إعادة تسميةonFullSwipe
إلىonSwipePrimaryAction
، وإعادة تسميةSwipeToRevealNonAnchoredSample
للإشارة إلى استخدام المَعلمةhasPartiallyRevealedState
، وإزالةactionButtonHeight
لأنّ الارتفاع التلقائي هو الارتفاع التلقائي للزر ويمكن ضبط ارتفاع أكبر باستخدام أداة تعديل، وإزالةSmallActionButtonHeight
منSwipeToRevealDefaults
، وجعل مَعلمة القيمة في الدالتَين الإنشائيتَينRevealValue
وRevealDirection
خاصة. (I465ce).
إصلاح الأخطاء
- تم إصلاح طريقة التعامل مع
ScreenScaffold
فيEdgeButton
، بحيث يتم تحريكEdgeButton
إلى مكانه بعد إزالة عنصرTransformingLazyColumn
. (I6d366). - تم تعديل تبعيات Wear Compose على مكتبات Compose إلى الإصدار 1.8.0. (I2ef3f).
- تم تعديل حركة شريط التقدم غير المحدّد
CircularProgressIndicator
لكي لا يتراجع مؤقتًا. (Ieddb1). - تم إصلاح الخطأ
SwipeDismissableNavHost
: لم يكن التركيز ينتقل بشكل صحيح بعد التمرير سريعًا للرجوع، ما أدّى إلى تعذُّر إدخال البيانات باستخدام أداة التحكم الدوّارة (كان ذلك للإصدار 36 من واجهة برمجة التطبيقات والإصدارات الأحدث التي تستخدم ميزة "الرجوع التوقّعي"). (Ieddb1). - تم تعديل مستندات Hierarchical Focus API (Idf2ff).
- تم تعديل مستندات Button وCard لتوضيح كيفية إلغاء
containerPainter
وdisabledContainerPainter
للقيمcontainerColor
وdisabledContainerColor
(I4a453). - تم التراجع عن تغيير في
TimeText
في الإصدار السابق الذي نقلBroadcastReceiver
إلى سلسلة عاملة، لأنّ ذلك تسبّب في حدوث مشاكل للتطبيقات التي تدير سلاسلها الخاصة أثناء التنقّل. (I34d02). - تم تعديل أمثلة Picker لإزالة طلبات التذكير غير الضرورية واستخدام
rememberUpdatedState
في Picker بدلاً من ذلك لتذكُّر أحدث دالة lambdacontentDescription
. (Icb5b1). - تم تعديل أنماط النصوص في
TimePicker
وDatePicker
لكي لا تؤدي تغييرات الخط إلى اقتطاع النص. (I26194). - تتم الآن محاذاة النص تلقائيًا في
ListHeader
إلى الوسط وفيListSubHeader
إلى البداية. (I78339). - تم تعديل عيّنات Foundation وMaterial Swipe to Reveal وعروضها التوضيحية للإعلان عن إجراءات تسهيل الاستخدام المخصّصة (يجب إضافة الإجراءات المخصّصة كدلالات على المحتوى، وليس على العنصر
SwipeToReveal
القابل للإنشاء نفسه). (Ie92a3). - تم تعديل القيمة التلقائية
MaxLines
التي تم ضبطها على المحتوىEdgeButton
وفقًا لحجمه، وأصبحت الآن 1 للأحجام الصغيرة جدًا، و2 للأحجام الصغيرة والمتوسطة، و3 للأحجام الكبيرة. (Ie35f6). - تم تبسيط
LocalReduceMotion
بحيث يتم تسجيل المراقب مرة واحدة فقط، وذلك لتحسين الأداء. (Ib1979). - تم تقليل عدد عمليات إعادة الرسم في
ScrollIndicator
لتحسين الأداء. (Ia7a67). - تم إصلاح خطأ في
TransformingLazyColumn
، حيث لم يتم تغيير حجم العنصر المرئي العلوي في القائمة بشكل صحيح عندما وصل EdgeButton إلى ارتفاعه الكامل. (I30580).
الإصدار 1.5.0-alpha14
23 أبريل 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha14
. يتضمّن الإصدار 1.5.0-alpha14 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم نقل جميع تبعيات Material
SwipeToReveal
على FoundationSwipeToReveal
إلى حزمة Material، مثلRevealValue
وRevealDirection
وRevealActionType
وRevealState
وrememberRevealState
. على المطوّرين تغيير عمليات استيراد هذه الفئات والدوال منandroidx.wear.compose.foundation
إلىandroidx.wear.compose.material
. (Ib7cb8) - تم تعديل واجهة برمجة التطبيقات الخاصة بـ
HierarchicalFocusCoordinator
لتصبح معدِّلات بدلاً من عناصر قابلة للإنشاء. - ملاحظات حول نقل البيانات:
- يمكن استبدال
HierarchicalFocusCoordinator(function, content)
بإضافةModifier.hierarchicalFocus(function())
إلىcontent
أو العنصر القابل للإنشاء المحيط. - يمكن استبدال
ActiveFocusListener { if (it) focusRequester.requestFocus() }
بإضافةModifier.hierarchicalFocusRequester(focusRequester)
- يمكن استخدام المَعلمة الجديدة في
Modifier.hierarchicalFocus
مع الاستخدامات الأخرى الأقل شيوعًا لـActiveFocusListener
- يمكن استبدال
focusRequester(rememberActiveFocusRequester())
بـhierarchicalFocusRequester()
- يمكن استبدال
val focusRequester = rememberActiveFocusRequester()
بـremember { FocusRequester() }
وإضافةModifier.hierarchicalFocusRequester(focusRequester)
. (Ie319a)
- يمكن استبدال
إصلاح الأخطاء
- تمت زيادة الحد الأدنى للسرعة التي يجب أن تتجاوزها إيماءات التمرير السريع لتفعيل تغيير الحالة للمكوّنات التالية:
SwipeToReveal
وBasicSwipeToDismissBox
وSwipeDismissableNavHost
(في الإصدار 35 من واجهة برمجة التطبيقات والإصدارات الأقدم فقط بالنسبة إلىSwipeDismissableNavHost
). (If47bf) - تم إصلاح مشكلة في الحركة عند إضافة عناصر جديدة إلى
TransformingLazyColumn
. (I589b2)
الإصدار 1.5.0-alpha13
9 أبريل 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha13
. يتضمّن الإصدار 1.5.0-alpha13 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تتطلّب المشاريع التي تم إصدارها باستخدام Kotlin 2.0 استخدام الإصدار 2.0.0 أو إصدار أحدث من KGP (Idb6b5)
- تمّت إضافة السمة
targetPage
إلىPagerState
(I4de8b)
إصلاح الأخطاء
- منع إعادة الإنشاء غير الضرورية أثناء استخدام ميزة "الرجوع التوقّعي" (Iecd6d)
- تم إصلاح السمة
isScrollable
الخاصة بـScrollInfoProvider
لعرض القيمة الحالية. (Icbfb8)
الإصدار 1.5.0-alpha12
26 مارس 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha12
. يتضمّن الإصدار 1.5.0-alpha12 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تحسين التنفيذ التلقائي لـ
SwipeToReveal
فيgestureInclusion
لتجاهل الإيماءات فقط إذا كانت حالة المكوّن هي Covered (I7e3d6) - بالنسبة إلى
SwipeToReveal
، تم تحويلbidirectionalGestureInclusion
إلى قيمة بدلاً من دالة، وتمت إضافة@FloatRange
إلى المَعلمةedgeZoneFraction
فيgestureInclusion
. (Ica7c3)
إصلاح الأخطاء
- غيِّر
SwipeToReveal
bidirectionalGestureInclusion
لعرض عنصر بدلاً من فئة. (I29597) - تم إيقاف استخدام ردود الفعل اللمسية عند إجراء اختبارات ضمن
RoboElectric
. (I58bd1) - تعديل
SwipeToReveal
المساحات المتروكة بين المحتوى وأزرار الإجراءات، وكذلك المساحة المتروكة بين رمز أزرار الإجراءات ونصها (Ic46cb)
الإصدار 1.5.0-alpha11
12 مارس 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha11
. يتضمّن الإصدار 1.5.0-alpha11 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم تعديل
PagerState
، وإزالةPagerState
Compose Foundation كفئة أساسية وإضافة السماتcurrentPage
وcurrentPageOffsetFraction
وpageCount
. تم تعديل واجهةGestureInclusion
، وإعادة تسمية الطريقة إلىignoreGestureStart
. (I4ae07) - أضِف
requireOffset
إلىSwipeToDismissBoxState
كطريقة مقترَحة للحصول على إزاحة بمقدارSwipeToDismissBoxState
. (I21042) - تمت إضافة
CurvedModifier.semantics
، مع إتاحة وصف المحتوى وفهرس التنقّل (I0b093) في البداية - أضفنا
CurvedModifier.clearAndSetSemantics
لتوفير وسيلة لإيقاف الدلالات المنحنية. لا يزالCurvedText
يضبط وصف المحتوى تلقائيًا على النص، ولكنّtimeTextCurvedText
وtimeTextSeparator
لا يعلنان عن محتوياتهما الآن. (I4b568) - تمت إعادة تسمية طريقة التعامل التلقائية مع الإيماءات بالسحب في
HorizontalPager
إلىPagerDefaults.gestureInclusion
. يتم الآن تجاهل إيماءات التمرير السريع التي تبدأ على الحافة اليسرى من الصفحة الأولى فقط، وعندما تكون ميزة TalkBack غير مفعّلة. وفي الحالات الأخرى، يكون السلوك التلقائي هو عدم تجاهل إيماءات التمرير السريع من خلال أداة عرض الصفحات، وبالتالي لن تكون متاحة لمعالجات التمرير السريع للإغلاق. (Iee486) - تمت إضافة ميزة التمرير السريع الدائري إلى واجهة برمجة التطبيقات
rotaryScrollable
. تمت إضافة التمرير السريع والتمرير المتداخل إلى سلوك التمرير السريع فيrotaryScrollable
. من المفترض أن يؤدي هذا التغيير إلى توفير وظائف التمرير الزائد والتمرير المتداخل نفسها عند استخدام التمرير باللمس والتمرير الدوّار. (I71926) - تمت إضافة منطقة التمرير السريع من الحافة إلى
SwipeToReveal
. أصبح السلوك التلقائي في FoundationSwipeToReveal
هو عدم السماح بالتمرير السريع عندما تبدأ الإيماءة من الحافة. يتمثّل السلوك التلقائي في Material3SwipeToReveal
الآن في عدم السماح بالتمرير السريع عندما تبدأ الإيماءة من الحافة، وذلك عندما يتم ضبطSwipeDirection
على اتجاه واحد. (I32ef0) - تستخدم أداة TLC الآن قيمة contentPadding فارغة تلقائيًا بدلاً من وضع العنصرَين الأول والأخير في المنتصف. (I77ab7)
إصلاح الأخطاء
- تم تحديث مكتبات Wear Compose إلى برنامج الترجمة البرمجية Kotlin 2.0. (I2de79)
- تم إصلاح عينة
LetterSpacing
المنحنية على الأساس. (Iebf7c)
الإصدار 1.5.0-alpha10
26 فبراير 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha10
. يتضمّن الإصدار 1.5.0-alpha10 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- اجعل
SwipeToRevealDefaults
علنيًا. (I0c34c) - لقد استبدلنا المَعلمة
swipeToDismissEdgeZoneFraction
فيHorizontalPager
. بدلاً من ذلك، تمّت إضافة مَعلمة جديدة، وهيgestureInclusion
، يمكن استخدامها لتحقيق السلوك المطلوب للتجاهل عن طريق التمرير سريعًا. تتلقّىgestureInclusion
مثيلاً منGestureInclusion
الذي يحدّد ما إذا كان يجب المتابعة في حدث التمرير اللاحق أم لا. يعني السماح بإيماءة أنّ أداة Pager تستخدمها، وإلا سيتم التعامل معها في مكان آخر، مثل معالج التمرير السريع للإغلاق. سيكون السلوك التلقائي الجديد هو عدم السماح بالإيماءات على الحافة اليسرى من الصفحة الأولى في Pager، وبالتالي السماح بالتمرير سريعًا لإغلاق الصفحة في هذه المنطقة. ستسمح جميع الصفحات الأخرى لـ Pager باستخدام جميع الإيماءات، ما يعني أنّه لا يمكن تفعيل إيماءة "التمرير السريع للإغلاق" من هذه الصفحات. لتحقيق سلوك التمرير السريع للإغلاق على جميع الصفحات، ما عليك سوى تقديم مثيلGestureInclusion
مخصّص (راجِعPagerDefaults.disableLeftEdgeOnFirstPage
) يتجاهل الصفحة الحالية. من التغييرات الأخرى غير المتوافقة التي تم إدخالها هنا أنّ مكوّن Pager لم يعُد يملأ الشاشة تلقائيًا، وبدلاً من ذلك، يجب إضافةModifier.fillMaxSize()
لتحقيق هذا السلوك. (I9d3aa) - أعدنا تسمية
createAnchors
إلىcreateRevealAnchors
في واجهة برمجة التطبيقات "التمرير السريع للكشف عن المحتوى" (If5999) - لقد أزلنا
RevealScope
من واجهة برمجة التطبيقات "التمرير السريع للكشف عن المحتوى". (Ie4ad5) - لقد أزلنا Revealing وRevealed من
RevealValue
في واجهة برمجة التطبيقات "التمرير السريع للكشف عن المحتوى". (I8dbc5) - أعدنا تسمية
SwipeDirection
إلىRevealDirection
في واجهة برمجة التطبيقات "التمرير السريع للكشف". (I7472f) - لقد غيّرنا توقيع المَعلمة
positionalThreshold
للدالةrememberRevealState
الخاصة بـSwipeToReveal
. (I29c0a) - أضفنا المَعلمة الجديدة
overscrollEffect
إلىScalingLazyColumn
وTransformingLazyColumn
وScreenScaffold
. (I0cee8) - عند استخدام
PagerDefaults#snapFlingBehaviour
، تم استبدال المَعلمةpagerSnapDistance
بمَعلمة IntmaxFlingPages
، والتي يمكن استخدامها لتحديد الحدّ الأقصى لعدد الصفحات التي يجب أن يمرّرها Pager. (I8cfc0) - يحتوي Wear Pager الآن على
PagerScope
الخاص به بدلاً من استخدامPagerScope
Compose Foundation. (I9195b) - أضفنا إمكانية استخدام
lineHeight
في "النص المنحني" (I1c936) - أضفنا
initialAnchorItemIndex
وinitialAnchorItemOffset
إلىTransformingLazyColumnState
وrememberTransformingLazyColumnState
لكي يمكن تحديد موضع التمرير الأولي فيTransformationLazyColumn
. (I0a0d5) - إيقاف
runWithTimingDisabled
نهائيًا واستخدامrunWithMeasurementDisabled
بدلاً منه، لأنّه يصف السلوك بشكلٍ أوضح، أي أنّه يتم إيقاف جميع المقاييس مؤقتًا. بالإضافة إلى ذلك، يجب عرض الفئة الرئيسيةMicrobenchmarkScope
لأنّه لا يمكن إعادة تعريف الدالةrunWithMeasurementDisabled
لفتح الوصول، لأنّها مضمّنة. (I9e23b، b/389149423، b/149979716) - لقد أضفنا
TransformingLazyColumnItemScrollProgress.Unspecified
إلى واجهة برمجة التطبيقات لتجنُّب الملاكمة فيTransformingLazyColumnItemScrollProgress
. (I0835d)
إصلاح الأخطاء
- تحسين Kdoc لـ
CurvedTextStyle
(Id45e3) - لقد جعلنا
SwipeableV2
(جزءًا من عملية تنفيذSwipeToReveal
) داخليًا بدلاً من أن يكون متاحًا للجميع، ولكنّه يقتصر على مجموعة المكتبة. (Idbb94) - أضفنا اختبارات إلى
HierarchicalFocusCoordinator
(I1ce54، b/395548918) - أجرينا تحسينات على
SwipeToReveal
في عيّنات Wear Compose Foundation. (I5f307) - إصلاح البيانات الدلالية لمحور التمرير لـ
verticalScrollAxisRange
فيTransformingLazyColumn
لتسهيل الاستخدام (I68123) - تحسين أداء الاهتزازات الدوّارة على الإصدار 4 من نظام التشغيل Wear والإصدارات الأحدث من خلال إزالة سلاسل الخلفية غير الضرورية (I39cfe)
- غيِّر
SwipeDismissableNavHost
لاستخدامPredictiveBackNavHost
فقط على الإصدار 36 من واجهة برمجة التطبيقات والإصدارات الأحدث. (I59bed) - أضفنا إجراء وقائيًا لتجنُّب حدوث عُطل عند الوصول إلى إعدادات "تقليل الحركة". (I01e2c)
- لقد نفّذنا عملية الجلب المُسبَق لـ
TransformingLazyColumn
من أجل الحدّ من التشويش (Icca88).
الإصدار 1.5.0-alpha09
29 يناير 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha09
. يتضمّن الإصدار 1.5.0-alpha09 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- في
CurvedTextStyle
، قسّمنا تباعد الأحرف إلى تباعد الأحرف في اتجاه عقارب الساعة وتباعد الأحرف في عكس اتجاه عقارب الساعة. هذا الإجراء مطلوب لأنّ الحروف التي تدور في اتجاه عقارب الساعة تتوسّع من خط الأساس، بينما الحروف التي تدور في عكس اتجاه عقارب الساعة تتضيّق (لذا يجب زيادة تباعد الحروف) (I4b848). - تم تبسيط
CompositionLocal
LocalReduceMotion
لعرض قيمة منطقية بدلاً من عنصرReduceMotion
. تم إيقاف واجهةReduceMotion
نهائيًا. يمكن استبدال الاستدعاءات السابقة، مثلLocalReduceMotion.current.enabled()
، بالاستدعاءLocalReduceMotion.current
(I4937f) - في
PagerDefaults
، تمت إعادة تسميةsnapAnimationSpec
إلىSnapAnimationSpec
. (I20c9a)
الإصدار 1.5.0-alpha08
15 يناير 2025
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha08
. يتضمّن الإصدار 1.5.0-alpha08 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد عدّلنا جميع مكتبات Wear Compose إلى وضع "واجهة برمجة التطبيقات الصريحة". (Iebf9f)
- لقد جعلنا مَعلمة الرسوم المتحركة الخاصة بميزة "المحاذاة" في أداة التقسيم جزءًا من
PagerDefaults
. (Ifff64) - أضفنا مَعلمة إزاحة إلى
SwipeToDismissBoxState
. (I586bd)
إصلاح الأخطاء
- يتم الآن طلب تقنية اللمس الدوّارة في إصدارات Wear OS بعد الإصدار V (Idb03e)
الإصدار 1.5.0-alpha07
11 ديسمبر 2024
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha07
. يتضمّن الإصدار 1.5.0-alpha07 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- توفّر
TransformingLazyColumnState
الآن طريقة لمراقبة مستوى التقدّم الحالي في التمرير استنادًا إلى فهارس عناصر الروابط الثابتة. (I72b01) - أضفنا صورًا متحركة إلى
TransformingLazyColumn
عند إضافة عناصر وإزالتها ونقلها، إذا كانت تتضمّنModifier.animateItem
الجديد. (Iecb9c) - تعرض السمة
TransformingLazyColumn
الآن قيمتَيbeforeContentPadding
وafterContentPadding
. (Iccd5f) - توفّر
TransformingLazyColumn
الآنLocalTransformingLazyColumnItemScope
المحلي الخاص بالتكوين والذي يمكن للمكوّنات (مثلCard
وButton
في Material3) استخدامه للتحوّل تلقائيًا عند وضعه داخلTransformingLazyColumn
. يمكن للمتصلين إيقاف التغيير التلقائي باستخدام أداةTransformExclusion
الجديدة. (I1652f)
إصلاح الأخطاء
- عدّلنا الحدّين الأدنى والأقصى لسرعات التحريك الدائري على الأجهزة التي تستهدف الإصدار U والإصدارات الأحدث. (I33559)
- تم إصلاح عُطل حدث إذا لم يكن العنصر في
TransformingLazyColumn
يحتوي على أي عناصر قابلة للإنشاء (Idb99d) - أتحنا استخدام ردود الفعل اللمسية الدوّارة على نظام التشغيل Android Vanilla ice cream.
ScrollFeedbackProvider
(Ibc553) - لقد طبّقنا مساحة أكبر للّمس عند استخدام
SwipeToReveal
من أجل تقليل فرص بدء التمرير سريعًا عن طريق الخطأ عند التمرير عموديًا. (Ic0672) - عدّلنا
SwipeDismissableNavHost
لاستخدامPredictiveBackHandler
عند توفّره مع المستوى 35 من واجهة برمجة التطبيقات والإصدارات الأحدث. في هذه الحالة، سيتم تطبيق رسوم متحركة جديدة. (I08c11)
الإصدار 1.5.0-alpha06
13 نوفمبر 2024
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha06
. يتضمّن الإصدار 1.5.0-alpha06 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد بسّطنا
ScrollInfoProvider
لـPagerState
من خلال إزالة المَعلمةorientation
التي لم تعُد ضرورية. السلوك الجديد هو أن يظلّTimeText
في مكانه عند التصفّح أفقيًا وعموديًا. (I71767) - تم تقديم
TransformingLazyColumn
في الإصدارات السابقة. سنزيل الآن أسماءLazyColumn
المستعارة (التي كانت تتم إعادة توجيهها إلىTransformingLazyColumn
) لصالح الاسم الجديدTransformingLazyColumn
. أزلنا أيضًا السمةheight
الخاصة بـTransformingLazyColumnVisibleItemInfo
، لذا يُرجى استخدامmeasuredHeight
بدلاً منها. (I0ea1e) - لقد غيّرنا
PagerDefaults.snapFlingBehavior
snapAnimationSpec
من مواصفاتTween
إلى مواصفاتSpring
.(I10d02، b/349781047، b/303807950) - لقد رقّينا الإصدار
LocalReduceMotion
CompositionLocal
إلى إصدار ثابت (Ia6f32)
إصلاح الأخطاء
- عدّلنا
Modifier.rotaryScrollable
لاستخدامfocusTargetWithSemantics
من أجل توفير دعم أفضل للدلالات في أجهزة التحكم الدوّارة. (Ief0a0) - لقد عدّلنا الحد الأدنى من إصدار واجهة برمجة التطبيقات المطلوب إلى 1.7.4 لمكتبات Compose. (I88b46)
- أوقفنا ميزة تغيير شكل العرض في
TransformingLazyColumn
كحلّ بديل لمشكلة قصّ المحتوى. (I3dfb8) - لقد أصلحنا خطأً كان يتسبّب في اختفاء العناصر بعد التمرير السريع باستخدام
TransformingLazyColumn
(Id7668) - لقد أضفنا
LazyLayoutSemantics
إلىTransformingLazyColumn
. (Ia8f56)
الإصدار 1.5.0-alpha05
30 أكتوبر 2024
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha05
. يتضمّن الإصدار 1.5.0-alpha05 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أتحنا استخدام
animateScrollTo
علىTransformingLazyColumnState
حتى يمكن تحريك عملية الانتقال إلى عنصر. (I4097d) - أضفنا
requestScrollTo
فيTransformingLazyColumnState
لتأجيل الانتقال إلى المقياس التالي. (I20a5e) - أتحنا استخدام
contentPadding
فيTransformingLazyColumn
. (I3a69c)
إصلاح الأخطاء
- لقد أصلحنا خطأ في عرض
TransformingLazyColumn
عندما يكون ارتفاع المحتوى أقصر من ارتفاع الشاشة. (I6c3e1) - يتتبّع
ScrollInfoProvder
TransformingLazyColumn
الآن العنصر الأول بشكل صحيح. (I1e4a3) - يحفظ
TransformingLazyColumnState
الآن حالته (anchorItemIndex
وanchorItemScrollOffset
). (I3d265)
الإصدار 1.5.0-alpha04
16 أكتوبر 2024
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha04
. يتضمّن الإصدار 1.5.0-alpha04 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أعدنا تسمية Wear Compose Foundation
LazyColumn
إلىTransformingLazyColumn
ليكون التمييز بينه وبين Compose FoundationLazyColumn
أكثر وضوحًا. (I0608b) - تمت إضافة دعم أداة التدوير إلى أدوات عرض الصفحات الأفقية/العمودية، ما يتيح للمستخدمين التنقّل في أدوات عرض الصفحات باستخدام أجهزة إدخال دوّارة. (I9770d)
- لقد عدّلنا
PagerDefaults
الجديد لتوضيح أنّ أداة تقسيم المحتوى إلى صفحات ستنتقل إلى الصفحة تلقائيًا. (Iff7d0) - أصبحت
TransformingLazyColumnItemScrollProgress
الآن فئة قيمة من المفترض أن تحسّن الأداء. (Ic399e) - يتوافق
TransformingLazyColumn
الآن مع أجهزة التحكم الدوّارة بدون الحاجة إلى أي إعدادات إضافية. (I05206) - يتوافق
TransformingLazyColumnState
الآن معscrollToItem
. (I507b3) - إزالة
@ExperimentalWearFoundationApi
من واجهة برمجة التطبيقاتSwipeToReveal
(I34a66)
الإصدار 1.5.0-alpha03
2 أكتوبر 2024
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha03
. يتضمّن الإصدار 1.5.0-alpha03 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضفنا إمكانية التمرير في اتجاهَين في
SwipeToReveal
، وذلك في الحالات النادرة التي لا تتيح فيها الشاشة الحالية التمرير لإغلاقها. . لا يزال الإعداد التلقائي هو التمرير سريعًا للكشف عن المحتوى عند التمرير من اليمين إلى اليسار فقط، ويُنصح بشدة باحترام السلوك التلقائي لتجنُّب التعارض مع التمرير سريعًا للإغلاق. (Ifac04) - لقد عدّلنا
LazyColumnState
لتجاوزcanScrollForward
وcanScrollBackward
، ما يؤدي الآن إلى إيقاف التمرير عندما يكون العنصر الأول أو الأخير في وسط الشاشة تمامًا. (Ia77d7) - أضفنا مكوّنَين جديدَين هما
HorizontalPager
وVerticalPager
يتناولان المشاكل الشائعة، مثل معالجة التركيز والتفاعل مع الإيماءة السريعة التي يوفّرها النظام لإغلاق الشاشة والتي قد تحدث على Wear. (I2902b) - أضفنا إمكانية استخدام
LazyColumn
لعرضkey
وcontentType
الخاصين بالعميل من خلالlayoutItems
. (I1bd9c)
إصلاح الأخطاء
- عدّلنا الرسوم المتحركة للنص المنحني لتصبح أكثر سلاسة باستخدام علامات الطلاء. (I73a15)
- عدّلنا مستندات Material Dialog لتوضيح أنّه لا يتم استدعاء
onDismissRequest
بعد ضبط علامة العرض على "خطأ". (Ifd8d6) - أصلحنا خطأً في الصورة المتحركة الخاصة بالتأثير الضبابي في مربّع حوار Material (I126bf)
الإصدار 1.5.0-alpha02
18 سبتمبر 2024
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha02
. يتضمّن الإصدار 1.5.0-alpha02 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضفنا إمكانية استخدام Wear Compose
LazyColumn
معScreenScaffold
(وأضفنا عملية تنفيذScrollInfoProvider
لـLazyColumnState
). (Ib8d29) - أضفنا
viewportSize
إلىLazyColumnLayoutInfo
. (I4187f)
إصلاح الأخطاء
- أصلحنا خطأً بحيث يتم الآن إيقاف التمرير الدائري في
ScalingLazyColumn
عند ضبط العلامةuserScrollEnabled
علىfalse
. (I490ab، b/360295825) - أجرينا إصلاحًا لخطأ بهدف معالجة المساحة المتروكة العمودية غير المتوقّعة في النص المنحني. أصبح ارتفاع النص المنحني يتطابق بشكل أكبر مع المساحة الفعلية التي يشغلها النص. يُرجى العِلم أنّ هذا التغيير سيؤدي على الأرجح إلى إيقاف اختبارات لقطات الشاشة التي تتضمّن نصًا منحنيًا (Iaa6ef).
- لقد أعدنا إصدارًا سابقًا من إصلاح الخطأ في
Dialog
حيث تم استدعاء معاودة الاتصالonDismissRequest
عندما تم ضبطshowDialog
على "خطأ"، لأنّ ذلك أدى في بعض الحالات إلى استدعاءonDismissRequest
عدة مرات. (I64656)
الإصدار 1.5.0-alpha01
4 سبتمبر 2024
تم طرح androidx.wear.compose:compose-*:1.5.0-alpha01
. يتضمّن الإصدار 1.5.0-alpha01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد أضفنا
LazyColumn
جديدًا إلى مكتبة Wear Compose Foundation مع واجهات برمجة التطبيقاتLazyColumnState
وLazyColumnScope
المرتبطة به. يشكّل ذلك الأساس لإنشاء تأثيرات قابلة للتخصيص لتغيير الحجم والشكل باستخدام Wear Compose. (Ib3b22) - لقد أضفنا نسخة مفهرسة من
itemsIndexed
إلىLazyColumnScope
كجزء من واجهة برمجة التطبيقات الجديدةLazyColumn
. (Ib4a57) - أضفنا معدِّلات
LazyColumn
من أجل إتاحة سلوكيات تغيير الحجم والشكل. (Ie229a) - تمت ترقية
HierarchicalFocusCoordinator
إلى إصدار ثابت. (I31035) - أضفنا إمكانية ضبط تباعد الأحرف للنص المنحني. (I3c740)
- تمت إضافة المَعلمة
rotationLocked
إلىCurvedLayout.curvedComposable
لمنع تدوير المكوّنات. (I66898) - تمت إزالة واجهة برمجة التطبيقات المؤقتة
LocalUseFallbackRippleImplementation
من wear material وwear material3 (I62282) - تمت إزالة
WearDevices.SQUARE
من معاينة@WearPreviewDevices
المتعدّدة (I11c02)
إصلاح الأخطاء
- يعمل
SwipeToReveal
الآن على وضع العناصر التي تم الكشف عنها في الجزء المرئي من الشاشة، ما يساعد عند استخدامSwipeToReveal
ضمن قائمة، وبالتالي يمكن دائمًا التفاعل مع العناصر ولا تخرج أبدًا عن نطاق الشاشة. (I38929) - تعمل السمة
SwipeToReveal
الآن على إعادة ضبط قيمةlastActionType
على "بلا" عند اكتمالanimatedTo
. (I59b03) - تم تحسين المستندات الخاصة بالمعلَمة الجديدة
rotationLocked
علىcurvedComposable
. (Ifbd57) - تم إصلاح عُطل يحدث عند تمرير
NaN
إلىperformFling
فيScalingLazyColumnSnapFlingBehavior
. (Ic13da) - تم إصلاح الخطأ في أداة تعديل حجم التصميم المنحني (I0fedf)
- أضفنا إمكانية ضبط تباعد الأحرف المحدّد في "sp". (I9f6e3)
- تم إصلاح خطأ في Material2 Dialog حيث لم يتم استدعاء
onDismissRequest
عند إخفاء مربّع الحوار (I64656) - تمت إعادة تسمية
LayoutCoordinates.introducesFrameOfReference
إلىLayoutCoordinates.introducesMotionFrameOfReference
لتعكس الغرض منها بشكل أفضل. تمت إعادة تسمية الدالة ذات الصلة لحساب الإحداثيات استنادًا إلى هذا العَلَم. (I3a330)
الإصدار 1.4
الإصدار 1.4.1
12 فبراير 2025
تم طرح androidx.wear.compose:compose-*:1.4.1
. يتضمّن الإصدار 1.4.1 هذه التعديلات.
إصلاح الأخطاء
- لقد اتّخذنا إجراءات وقائية لتجنُّب حدوث عُطل عند الوصول إلى إعداد "تقليل الحركة" العام، والذي تم تفعيله على بعض المنصات التي لم يتم توفير هذا الإعداد فيها. (I01e2c)
الإصدار 1.4.0
4 سبتمبر 2024
تم طرح androidx.wear.compose:compose-*:1.4.0
. يتضمّن الإصدار 1.4.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.3.0
- تتيح السمتان
ScalingLazyColumn
وPicker
الآن إدخال البيانات باستخدام أداة التحكّم الدوّارة تلقائيًا، ويُنصح بإزالة معالجة أداة التحكّم الدوّارة الصريحة والاعتماد على السلوك التلقائي للنظام. استخدِم المَعلمةrotaryScrollableBehavior
إذا لزم الأمر لضبط سلوك التمرير أو المحاذاة. بالنسبة إلى سلوك المحاذاة، ننصحك بتوفير إمكانات سلوك المحاذاة والتمرير باللمس باستخدام المَعلمةflingBehavior
. -
Modifier.rotaryScrollable
هو معدِّل جديد يربط أحداث التدوير بالحاويات القابلة للتمرير، ما يتيح للمستخدمين التمرير باستخدام زر التاج أو الإطار الدوّار على جهاز Wear OS. - توفّر
SwipeDismissableNavHost
الآن حركة دخول للانتقالات داخل التطبيق. - يتم الآن عرض
PositionIndicator
تلقائيًا عند عرض شاشة لأول مرة.
تغييرات إضافية
- للحصول على مجموعة أكثر اكتمالاً من التغييرات التي تم تقديمها في الإصدار 1.3.0، يُرجى الاطّلاع على ملاحظات الإصدار beta01.
الإصدار 1.4.0-rc01
21 أغسطس 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-rc01
. يتضمّن الإصدار 1.4.0-rc01 هذه التعديلات.
- لقد عدّلنا إصدارات حِزم Compose إلى 1.7.0-rc01 وثبّتنا Wear Compose Navigation على androidx.lifecycle 2.8.3.
الإصدار 1.4.0-beta03
12 يونيو 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-beta03
. يتضمّن الإصدار 1.4.0-beta03 هذه التعديلات.
إصلاح الأخطاء
- لقد عدّلنا
Modifier.rotaryScrollable
لاستبدال استخدام "قابلة للتركيز" بـ "focusTarget"، ما يؤدي إلى تحسين الأداء. (Id294b) - لقد حللنا مشكلة كانت تتسبّب في تكرار إعلان
ProgressIndicator
ضمنTalkBack
. (I94563) - لقد عدّلنا الملفات الأساسية لمكتبة Wear Compose. (I3cbc3)
الإصدار 1.4.0-beta02
29 مايو 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-beta02
. يتضمّن الإصدار 1.4.0-beta02 هذه التعديلات.
إصلاح الأخطاء
- لقد زدنا عرض الحدود الذي يتم تمريره إلى برامج قراءة الشاشة من النص المنحني من أجل حلّ المشاكل المتعلّقة بالاقتطاع (Id865f).
- لقد قصرنا حدود
HorizontalPageIndicator
الذي تم تمريره إلى برامج قراءة الشاشة، ففي السابق كان المؤشر يشغل الشاشة بأكملها (Id8d7a).
الإصدار 1.4.0-beta01
14 مايو 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-beta01
. يتضمّن الإصدار 1.4.0-beta01 هذه التعديلات.
يشير الإصدار 1.4-beta01 من Compose for Wear OS إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء الأجزاء التي تم وضع علامة "تجريبية" عليها). يتضمّن الإصدار 1.4 من Wear Compose الوظائف الجديدة التالية:
- أضفنا
Modifier.rotaryScrollable
، وهو معدِّل جديد يربط الأحداث الدوّارة بالحاويات القابلة للتمرير، ما يتيح للمستخدمين التمرير من خلال زر التاج أو الإطار الدوّار على جهاز Wear OS. بالإضافة إلى ذلك، أصبح بإمكانScalingLazyColumn
وPicker
الآن التعامل مع الإدخال الدوّار تلقائيًا. استخدِم المَعلمةrotaryScrollableBehavior
لضبط سلوك التمرير أو المحاذاة. بالنسبة إلى سلوك المحاذاة، يُنصح بتوفير المحاذاة من خلال المَعلمةflingBehavior
أيضًا للتمرير باللمس. - توفّر
SwipeDismissableNavHost
الآن حركة دخول للانتقالات داخل التطبيق. - يتم الآن عرض
PositionIndicator
تلقائيًا عند عرض شاشة لأول مرة. - تمت إضافة
SelectableChip
وSplitSelectableChip
كنوع منToggleChip
. استخدِم هذا النوع معRadioButton
لتوفير دلالات قابلة للتحديد بدلاً من دلالات قابلة للتبديل لتسهيل الاستخدام. - تتيح
ListHeader
الآن تعديلات الارتفاع عندما تحتاج المحتويات إلى ارتفاع إضافي لاستيعاب أحجام الخطوط الكبيرة.
إصلاح الأخطاء
- لقد أصلحنا الخطأ الذي كان يتسبب في إعلان الشرائح القابلة للاختيار عن النقر المزدوج للتبديل عندما تكون الشرائح مختارة. (I7ed88)
الإصدار 1.4.0-alpha08
1 مايو 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-alpha08
. يتضمّن الإصدار 1.4.0-alpha08 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أجرينا التغييرات التالية على واجهة برمجة التطبيقات الجديدة الخاصة بأزرار التحكم الدوّارة: أعدنا تسمية
Modifier.rotary
إلىModifier.rotaryScrollable
، وأعدنا تسمية الواجهةRotaryBehavior
إلىRotaryScrollableBehavior
والدالةhandleScrollEvent
إلىperformScroll
، وأعدنا تسميةRotaryScrollableAdapter
إلىRotaryScrollableLayoutInfoProvider
وأزلنا السمةscrollableState
. (I0c8a6) - أجرينا تغييرات إضافية على واجهة برمجة التطبيقات الخاصة بأداة التحكم الدوّارة: أعدنا تسمية
RotaryScrollableLayoutInfoProvider
إلىRotarySnapLayoutInfoProvider
(لأنّ موفّر الخدمة هذا مطلوب فقط لأداة التحكم الدوّارة مع ميزة "المحاذاة")، وغيّرنا نوع المَعلمةsnapOffset
فيRotaryScrollableDefaults.snapBehavior snapOffset
من Int إلى Dp. (Iddebe) - أعدنا تسمية المَعلمة
clickInteractionSource
فيSplitSelectableChip
إلىcontainerInteractionSource
. (Ia8f84) - لقد عدّلنا أسماء مَعلمات معاودة الاتصال عند النقر لـ
SplitSelectableChip
، وذلك منonClick
إلىonSelectionClick
ومنonBodyClick
إلىonContainerClick
. (I32237)
إصلاح الأخطاء
- عدّلنا الحشو الأفقي لعنصر
PositionIndicator
إلى 2dp (كان 5dp)، وذلك لإصلاح خطأ يتداخل فيه عنصرPositionIndicator
(شريط التمرير) مع المحتوى القابل للتمرير. يُرجى العِلم أنّ هذا التغيير من المتوقّع أن يؤدي إلى إتلاف لقطات الشاشة الحالية التي تتضمّنPositionIndicator
بسبب تغيير المساحة المتروكة. (I57472) - لقد حسّنّا مستندات واجهة برمجة التطبيقات الجديدة الخاصة بأزرار التحكم الدوّارة من خلال توضيح الاختلافات بين أجهزة التحكم الدوّارة المنخفضة الدقة والعالية الدقة. (I63abe)
- لقد عالجنا خطأ خارج النطاق في
SwipeDismissableNavHost
كان من الممكن أن يحدث عندما تكون قيم ألفا المستوفاة أقل من صفر. (Ib75a1، b/335782510)
الإصدار 1.4.0-alpha07
17 أبريل 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-alpha07
. يتضمّن الإصدار 1.4.0-alpha07 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضفنا
Modifier.rotary
، وهو معدِّل جديد يربط الأحداث الدوّارة بالحاويات القابلة للتمرير، ما يتيح للمستخدمين التمرير من خلال زر التاج أو الإطار الدوّار على جهاز Wear OS. بالإضافة إلى ذلك، تتوافقScalingLazyColumn
وPicker الآن مع الإدخال الدوّار تلقائيًا، مع عمليات تحميل زائد جديدة تتضمّن المَعلمةrotaryBehavior
لتحديد إعدادات التمرير أو المحاذاة. إذا تم ضبط المَعلمةrotaryBehavior
على snap، ننصحك بتوفير snap من خلال المَعلمةflingBehavior
أيضًا، وذلك للتمرير باللمس. (I2ef6f) - يتم استبدال مصادر
NestedScroll
"السحب والإفلات" بمصادرUserInput
وSideEffect
لاستيعاب التعريف الموسّع لهذه المصادر الذي يشمل الآن الصور المتحركة (Side Effect) وعجلة الماوس ولوحة المفاتيح (UserInput). (I40579) - أضفنا الرمزين
SelectableChip
وSplitSelectableChip
لتوضيح الفرق بين عناصر التحكّم في التبديل، مثلSwitch/Checkbox
، وعناصر التحكّم القابلة للاختيار، مثلRadioButton
. يحلّ هذا الإجراء محلّ عمليات التحميل الزائد السابقة للدالةToggleChip/SplitToggleChip
مع المَعلماتselectionControl
. (Ia0217) - تم تعديل معدِّل إذن الوصول إلى
IndeterminateStrokeWidth
فيProgressIndicatorDefaults
إلى "متاح للجميع". (I5b5a4)
الإصدار 1.4.0-alpha06
3 أبريل 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-alpha06
. يتضمّن الإصدار 1.4.0-alpha06 هذه التعديلات.
إصلاح الأخطاء
- أضفنا مسودة داخلية لتوافق أداة التحكم الدوّارة، وذلك كجزء من الجهد الأكبر لنقل سلوك أداة التحكم الدوّارة إلى AndroidX من Horologist. (I617d1)
- لقد أضفنا مسودة داخلية لتوفير ميزة ردود الفعل اللمسية، وذلك في إطار الجهود الأوسع نطاقًا لنقل سلوك أداة التدوير إلى AndroidX من Horologist. (I5568a)
الإصدار 1.4.0-alpha05
20 مارس 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-alpha05
. يتضمّن الإصدار 1.4.0-alpha05 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد أتحنا للجميع الوصول إلى السمتَين
initialCenterItemIndex
وinitialCenterItemScrollOffset
الخاصتَين بـScalingLazyListState
. (I0c616) - لقد أتحنا
FullScreenStrokeWidth
منProgressIndicatorDefaults
للجميع. (Ibea23)
إصلاح الأخطاء
- لقد حسّنّا أداء
PositionIndicator
من خلال تقليل عدد طلبات البحث إلىlayoutInfo
منScalingLazyColumn
. (Idc83d)
الإصدار 1.4.0-alpha04
6 مارس 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-alpha04
. يتضمّن الإصدار 1.4.0-alpha04 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضفنا حمولة زائدة جديدة للدالتَين
ToggleChip
وSplitToggleChip
تأخذ المَعلمةselectionControl
بدلاً من المَعلمةtoggleControl
. يجب استخدام هذه السمة مع عنصر التحكّمRadioButton
لتوفير دلالات قابلة للتحديد بدلاً من دلالات قابلة للتبديل لتسهيل الاستخدام (I1d6d9) - لقد عدّلنا أسماء المَعلمات للحِمل الزائد الجديد
selectionControl
منonSelected
إلىonSelect
لكلّ منToggleChip
وSplitToggleChip
(I1a971)
الإصدار 1.4.0-alpha03
21 فبراير 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-alpha03
. يتضمّن الإصدار 1.4.0-alpha03 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم إيقاف أداة تضمين
Modifier.inspectable
نهائيًا. ستؤدي واجهة برمجة التطبيقات هذه إلى إبطال المعدِّل أكثر من اللازم، لذا لا يُنصح باستخدامها الآن. ننصح المطوّرين بتنفيذ طريقةinspectableProperties()
فيModifierNodeElement
إذا كانوا يريدون عرض خصائص المعدِّل للأدوات. (Ib3236)
إصلاح الأخطاء
- أصلحنا خطأ في المستندات المتعلّقة بالتعليقات التوضيحية
WearPreview*
. (Id526d)
الإصدار 1.4.0-alpha02
7 فبراير 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-alpha02
. يتضمّن الإصدار 1.4.0-alpha02 هذه التعديلات.
إصلاح الأخطاء
- أصلحنا خطأ في ميزة "التمرير السريع للكشف عن المحتوى"، حيث كان من الممكن التفاعل مع إجراء تم تنفيذه على عنصر واحد (وإلغاؤه) من خلال بدء التمرير السريع لعنصر آخر.(Ide059)
- لقد عدّلنا
ListHeader
لتوفير تعديلات على الارتفاع عندما يحتاج المحتوى إلى ارتفاع إضافي لاستيعاب أحجام الخطوط الكبيرة. (I7290c، b/251166127)
الإصدار 1.4.0-alpha01
24 يناير 2024
تم طرح androidx.wear.compose:compose-*:1.4.0-alpha01
. يتضمّن الإصدار 1.4.0-alpha01 هذه التعديلات.
الميزات الجديدة
- أضفنا صورة متحركة عند الدخول إلى
SwipeDismissableNavHost
للانتقالات داخل التطبيق.(cfeb79a) - يتم الآن عرض
PositionIndicator
تلقائيًا عند عرض شاشة لأول مرة. تم إجراء هذا التغيير للمساعدة في استيفاء إرشادات جودة Wear OS. يعني ذلك أنّه يجب تعديل اختبارات لقطات الشاشة على الشاشات التي تتضمّنPositionIndicator
، لأنّPositionIndicator
لم يكن يتم عرضه من قبل. (419cef7)
تغييرات واجهة برمجة التطبيقات
- أضفنا واجهة برمجة تطبيقات جديدة لتأثير التموّج في مكتبتَي
wear:compose-material
وwear:compose-material3
، وهي تحلّ محلّrememberRipple
التي تم إيقافها نهائيًا. تضيف أيضًاCompositionLocal
وLocalUseFallbackRippleImplementation
مؤقتَين للعودة إلى استخدام واجهات برمجة التطبيقاتrememberRipple/RippleTheme
المتوقّفة نهائيًا في "مكوّنات Material". ستتم إزالة هذا الخيار في الإصدار الثابت التالي، وهو يهدف فقط إلى تقديم مساعدة مؤقتة في عملية نقل البيانات في الحالات التي تقدّم فيهاRippleTheme
مخصّصة. يمكنك الانتقال إلى developer.android.com للاطّلاع على معلومات حول نقل البيانات والمزيد من المعلومات الأساسية حول هذا التغيير. (af92b21) - عدّلنا
ColorScheme
ليصبح غير قابل للتغيير، ما يجعل تعديل الألوان الفردية أقل كفاءة، ولكنّه يجعل الاستخدام الأكثر شيوعًا للألوان أكثر كفاءة. ويعود سبب هذا التغيير إلى أنّ معظم التطبيقات لن يكون لديها تحديث الألوان الفردية كحالة استخدام رئيسية. لا يزال ذلك ممكنًا، ولكن سيتم إعادة إنشاء المزيد من العناصر مقارنةً بالسابق، وبالتالي سنقلّل بشكل كبير من عدد عمليات الاشتراك في الحالة من خلال جميع رموز Material، وسيؤثر ذلك في تكلفة التهيئة ووقت التشغيل لحالات الاستخدام الأكثر شيوعًا. (f5c48b7) - تم تعديل مكوّنات Wear material وWear material3 التي تعرض
MutableInteractionSource
في واجهة برمجة التطبيقات الخاصة بها لتصبح تعرض الآنMutableInteractionSource
قابلاً للقيم الخالية، والقيمة التلقائية هي null. لا توجد تغييرات دلالية هنا: يعني تمرير قيمة فارغة أنّك لا تريد نقلMutableInteractionSource
إلى الأعلى، وسيتم إنشاؤه داخل المكوّن إذا لزم الأمر. يسمح التغيير إلى القيمة الخالية لبعض المكوّنات بعدم تخصيصMutableInteractionSource
مطلقًا، ويسمح لمكوّنات أخرى بإنشاء مثيل فقط عند الحاجة، ما يحسّن الأداء في جميع هذه المكوّنات. إذا كنت لا تستخدمMutableInteractionSource
الذي تمرّره إلى هذه المكوّنات، ننصحك بتمرير قيمة فارغة بدلاً من ذلك. يُنصح أيضًا بإجراء تغييرات مماثلة في مكوّناتك. (f8fa920) - عدّلنا
rememberExpandableState
لحفظ حالة التوسيع. يضمن ذلك تخزين البيانات عند الانتقال إلى شاشة أخرى واستعادتها عند الرجوع إلى الشاشة الأصلية. (5c80095)
إصلاح الأخطاء
- عدّلنا الإعداد
ReduceMotion
لاستخدام أداة معالجة الأحداث التي تتوافق مع مراحل النشاط. (7c6b122) - عدّلنا أداة الاستماع في
TouchExplorationStateProvider
لتكون على دراية بدورة الحياة (be28b01) - أزلنا طبقة materialcore من
CompactButton
لتحسين الأداء (25db8e9) - لقد جعلنا
BasicSwipeToDismissBox
أكثر قوة في التعامل مع إزاحات NaN لتجنُّب الاستثناءات (b983739) - لقد عدّلنا
BasicSwipeToDismissBox
لضمان أن تكون قيم ألفا ضمن النطاق 0,1 - أصلحنا خطأً في
ToggleButton
وSplitToggleButton
وCheckbox
وSwitch
وRadioButton
لكي لا يتم تكرار إشعارات تسهيل الاستخدام (في السابق، كانت الأدوار الدلالية مكررة) (d11eeb7)
الإصدار 1.3
الإصدار 1.3.1
3 أبريل 2024
تم طرح androidx.wear.compose:compose-*:1.3.1
. يتضمّن الإصدار 1.3.1 على هذه التعديلات.
إصلاح الأخطاء
- أصلحنا خطأ في ميزة "التمرير السريع للكشف"، حيث كان من الممكن التفاعل مع إجراء تم تنفيذه على عنصر واحد (وإلغاؤه) من خلال بدء التمرير السريع لعنصر آخر. (Ide059)
الإصدار 1.3.0
24 يناير 2024
تم طرح androidx.wear.compose:compose-*:1.3.0
. يتضمّن الإصدار 1.3.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.2.0
- أصبحت الفئة
SwipeToDismissBoxState
والتعدادSwipeToDismissValue
ودالة الإضافةModifier.edgeSwipeToDismiss
جزءًا من الحزمةandroidx.wear.compose.foundation
، بدلاً من الحزمةandroidx.wear.compose.material
. تتيح لك هذه البنية المُعدَّلة تنفيذ معالجة الإيماءات بشكل مستقل عن اعتبارات التصميم الأخرى. يتم التعامل بشكل منفصل مع سير عمل Material Design، مثل تطبيق الألوان من مظهر تم إعداده. - تساعدك الفئتان
SwipeToRevealCard
وSwipeToRevealChip
في تنفيذrecommended swipe-to-reveal guidance
. يوضّح صفSwipeToRevealSample
كيفية استخدام هذه المكوّنات. أدخلنا في الإصدار 1.3.0-alpha02 تغييرًا يؤدي إلى زيادة ارتفاع العنصرَين
Chip
وToggleChip
من أجل توفير دعم أفضل لتغيير حجم الخط الذي يختاره المستخدم. ويمكن أن يؤدي ذلك إلى حدوث بعض الاقتصاص. لحلّ هذه المشكلة، يستخدم شكلlarge
الخاص بـMaterialTheme
الآن نصف قطر أكبر للزاوية (26 وحدة بكسل مستقلة عن الكثافة بدلاً من 24 وحدة بكسل مستقلة عن الكثافة). يستخدم العنصرانChip
وToggleChip
نصف قطر الزاوية الجديد هذا لتجنُّب قص المحتوى في زوايا Chip وToggleChip
.- لم يتغيّر معظم
Chips
وToggleChips
، نظرًا إلى الارتفاع التلقائي البالغ 52 وحدة بكسل مستقلة عن الكثافة. ومع ذلك، قد يؤدي استخدام العنصرَينChip
وToggleChip
اللذين يحتويان على أسطر متعددة من نص التصنيف الأساسي أو الثانوي، أو اللذين تم تجاوز ارتفاعهما، إلى تعذُّر إجراء اختبارات لقطات الشاشة.
- لم يتغيّر معظم
تغييرات إضافية
للحصول على مجموعة أكثر اكتمالاً من التغييرات التي تم تقديمها في الإصدار 1.3.0، يُرجى الاطّلاع على ملاحظات الإصدار beta01.
اقتراحات للتنفيذ
- إذا كان تطبيقك يتيح للمستخدمين تحريك محتوى الشاشة، كما هو الحال في التطبيقات المستندة إلى الخرائط، أوقِف معالجة التمرير السريع من خلال ضبط
userSwipeEnabled
علىfalse
في العنصر القابل للإنشاءSwipeDismissableNavHost
، وأدرِج زرًا يتيح للمستخدمين الانتقال إلى الشاشة السابقة. - لإيقاف الصور المتحركة لمؤشر موضع أثناء الصور المتحركة الخاصة بالظهور التدريجي وتغيير الموضع ضمن قائمة قابلة للتمرير، استخدِم العنصر
SnapSpec
. - أثناء انتظار تحميل تطبيق وسائط للمحتوى لتشغيله، اعرض عنصر
Placeholder
فارغًا قابل للإنشاء. - لإنشاء مجموعة من العناصر القابلة للتوسيع عند الطلب، ننصحك باستخدام الفئة التجريبية
ExpandableStateMapping
.
الإصدار 1.3.0-rc01
10 يناير 2024
تم طرح androidx.wear.compose:compose-*:1.3.0-rc01
. يتضمّن الإصدار 1.3.0-rc01 هذه التعديلات.
إصلاح الأخطاء
-
لقد عدّلنا
MaterialTheme
الشكل الكبير لاستخدام نصف قطر زاوية مستديرة يبلغ 26 وحدة بكسل مستقل الكثافة، وسيتم الآن استخدام هذا الشكل من خلال Chip وToggleChip
. هذا التغيير مطلوب لإتاحة تعديل الارتفاع عندما يحتاج المحتوى إلى ارتفاع إضافي لاستيعاب أحجام الخطوط الكبيرة، وإلا سيؤدي شكل الملعب الحالي إلى اقتصاص بعض المحتوى النصي.الشكل 1: تم اقتطاع النص في الزوايا. الشكل 2: النص غير مقصوص. قد يؤدي هذا التغيير إلى حدوث خطأ في اختبارات لقطات الشاشة. (I2e6ae)
الإصدار 1.3.0-beta02
13 كانون الأول (ديسمبر) 2023
تم طرح androidx.wear.compose:compose-*:1.3.0-beta02
. يتضمّن الإصدار 1.3.0-beta02 هذه التعديلات.
إصلاح الأخطاء
- لقد أعدنا إتاحة حركة التمرير المقصودة في
BasicSwipeToDismissBox
. تم تغيير ذلك في إصدار سابق، بحيث يحدث جزء الشريحة من الانتقال أثناء لمس الإصبع للشاشة. (Id8e76)
الإصدار 1.3.0-beta01
15 تشرين الثاني (نوفمبر) 2023
تم طرح androidx.wear.compose:compose-*:1.3.0-beta01
. يتضمّن الإصدار 1.3.0-beta01 هذه التعديلات.
يشير الإصدار 1.3-beta01 من Compose for Wear OS إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء الأجزاء التي تم وضع علامة "تجريبية" عليها). يتضمّن الإصدار 1.3 من Wear Compose الوظائف الجديدة التالية:
- تم نقل
SwipeToDismissBoxState
وSwipeToDismissValue
وModifier.edgeSwipeToDismiss
منandroidx.wear.compose.material
إلىandroidx.wear.compose.foundation
، بالإضافة إلى عملية التنفيذ الأساسية للإغلاق عن طريق التمرير السريع فيBasicSwipeToDismissBox
. يتيح ذلك استخدام ميزة التعامل مع الإيماءات الخاصة بالإغلاق عن طريق التمرير بشكل مستقل عن Material Design، على سبيل المثال منSwipeDismissableNavHost
فيandroidx.wear.compose.navigation
. لا يزال يُنصح باستخدامSwipeToDismissBox
منandroidx.wear.compose.material
مع Material Design، لأنّه يستمد الألوان منMaterialTheme
، ثم يفوّض عملية التنفيذ المتبقية إلىBasicSwipeToDismissBox
. - تتيح السمة
SwipeDismissableNavHost
الآن استخدام المَعلمة الجديدةuserSwipeEnabled
لإيقاف إمكانية التمرير السريع على الشاشات التي لا تتطلّب ذلك. - تم تحسين طريقة التعامل مع التركيز في
BasicSwipeToDismissBox
باستخدامHierarchicalFocusCoordinator
. - تتضمّن
SwipeToReveal
عناصرSwipeToRevealCard
وSwipeToRevealChip
قابلة للإنشاء جديدة في Material تتّبع إرشادات تجربة المستخدم المقترَحة لكل منCard
وChip
. يتيح أيضًا التراجع عن الإجراء الثانوي. - يؤدي ضبط
DefaultTextStyle
الآن إلى إيقاف مساحة الحشو في الخط لضمان الاتساق على مستوى نظام Android الأساسي. - يتم الآن تعديل ارتفاع
Chip
وToggleChip
لاستيعاب المحتوى الذي ازداد حجمه بسبب الخطوط الكبيرة لتسهيل الاستخدام - يتضمّن
PositionIndicator
الآن مواصفات فردية للصور المتحركة الخاصة بالتلاشي والظهور وتغيير الموضع. لأسباب تتعلّق بالأداء، ننصح بإيقاف ميزتَي "التلاشي" و"تغيير الموضع" عند استخدامهما مع القوائم القابلة للتمرير. - توفّر
ExpandableStateMapping
طريقة جديدة لإنشاءExpandableStates
عند الحاجة إلى ذلك وليس بالضرورة ضمن نطاق@Composable
. - يتيح
Placeholder
الآن إعادة الضبط إذا لم يعُد المحتوى في الحالة "جاهز". بالإضافة إلى ذلك، ينطبق إعداد "تقليل الحركة" الآن على تأثير التلألؤ والحركة الممسوحة علىPlaceholder
.
المشاكل المعروفة
- لا تظهر
PositionIndicator
في البداية عند عرض شاشة لأول مرة. ننوي إجراء تغيير في إصدار 1.4 الأوّلي من ألفا بحيث يتم عرضه في البداية، ولكن بدون أي صورة متحركة.
تغييرات واجهة برمجة التطبيقات
- لقد أعدنا تسمية المستوى الأساسي
SwipeToDismissBox
ليصبحBasicSwipeToDismissBox
. ويجعل ذلك التمييز أكثر وضوحًا بين مكوّن مستوى Foundation ومستوى MaterialSwipeToDismissBox
. يستمد الأخير الألوان منMaterialTheme
لاستخدامها في الخلفيات الشفافة، ويفوّض عملية التنفيذ المتبقية إلىBasicSwipeToDismissBox
. (Ibecfc) - لقد صنّفنا
rememberExpandableStateMapping
على أنّه تجريبي وحسّنّا أداءexpandableItem
. (I5f6bc) - لقد استبدلنا الفئة
SwipeToRevealAction
في واجهات برمجة التطبيقات الخاصة ببطاقة MaterialSwipeToReveal
وChip بواجهة برمجة تطبيقات مستندة إلى الخانات باستخدام عناصر قابلة للإنشاءSwipeToRevealPrimaryAction
وSwipeToRevealSecondaryAction
وSwipeToRevealUndoAction
. يُرجى الاطّلاع على عينة الرمز البرمجي للحصول على أمثلة حول كيفية استخدام واجهة برمجة التطبيقات الجديدة. (Ia8943) - استبدلنا علامات الرسوم المتحركة
PositionIndicator
بمعلَماتAnimationSpec
. يمكن إيقاف الصور المتحركة الفردية من خلال تمريرsnap
كـAnimationSpec
. (I6c523)
إصلاح الأخطاء
- تم إصلاح خطأ ناتج عن نص منحني محدود عندما يكون الحجم محدودًا (I50efe)
- تم حلّ عُطل محتمل مرتبط بقيمة NaN في
curvedComposable
(I970eb) - لقد أعدنا الصورة المتحركة التي تميّز تغيير موضع الإعلان على
PositionIndicator
. (Ieb424) - لقد أزلنا طبقة material-core من Chip الخاص بمكتبة Material لتحسين أدائه. (If2dcb)
الإصدار 1.3.0-alpha08
18 أكتوبر 2023
تم طرح androidx.wear.compose:compose-*:1.3.0-alpha08
. يتضمّن الإصدار 1.3.0-alpha08 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضفنا علامات فردية إلى عمليات التحميل الزائد
PositionIndicator
للتحكّم في الصور المتحركة المختلفة:showFadeInAnimation
وshowFadeOutAnimation
وshowPositionAnimation
. تم إيقاف واجهة برمجة التطبيقات السابقة نهائيًا، ويتم إعادة توجيه الطلبات إلى واجهة برمجة التطبيقات الجديدة. لأسباب تتعلّق بالأداء وتجربة المستخدم المتّسقة، عند استخدامPositionIndicator
مع قائمة قابلة للتمرير، ننصح بإيقاف العلامتَينshowFadeInAnimation
وshowPositionAnimation
. إذا تم استخدامPositionIndicator
كمؤشر مستقل، مثلاً لتغيير مستوى الصوت، ننصحك بتفعيل جميع الصور المتحركة الثلاث. (I44294) - تم إيقاف Material
SwipeToDismissBoxState
وSwipeToDismissValue
وedgeSwipeToDismiss
نهائيًا بعد نقل وظيفة "التمرير السريع للإغلاق" إلىwear.compose.foundation
. يُرجى استبدالها بما يعادلها منwear.compose.foundation
. (Iee8c9)
إصلاح الأخطاء
- لقد عدّلنا ملفات تعريف خط الأساس لمكتبات Wear Compose الأساسية والتصميم المتعدد الأبعاد والتنقّل. (Idb060)
- لقد أرجعنا تغييرًا في السلوك لـ
PositionIndicator
تم تقديمه في تغيير سابق، بحيث يتم تحريكPositionIndicator
عند عرض الشاشة لأول مرة. ننوي إجراء تغيير مماثل في إصدار أولي من الإصدار التجريبي 1.4، بحيث يتم عرضPositionIndicator
في البداية، ولكن بدون أي حركة. (I41843) - لقد عالجنا بعض المشاكل المتعلّقة بالأداء في
PositionIndicator
. (I1c654، b/302399827) - لقد حسّنّا أداء التنفيذ التلقائي لموفّر حالة استكشاف اللمس ليعتمد على
State<Boolean>
بدلاً من الحالة المشتقة. (Ieec4d) - لقد ضبطنا مستطيلات
systemGestureExclusion
لنظام التشغيل Android 13 والإصدارات الأحدث. (Ib1f4b)
الإصدار 1.3.0-alpha07
4 أكتوبر 2023
تم طرح androidx.wear.compose:compose-*:1.3.0-alpha07
. يتضمّن الإصدار 1.3.0-alpha07 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضفنا علامات فردية إلى
PositionIndicator
للتحكّم في الصور المتحركة المختلفة:showFadeInAnimation
وshowFadeOutAnimation
وshowPositionAnimation
. تم إيقاف واجهة برمجة التطبيقات السابقة نهائيًا، ويتم إعادة توجيه الطلبات إلى واجهة برمجة التطبيقات الجديدة. لأسباب تتعلّق بالأداء وتجربة المستخدم المتّسقة، عند استخدامPositionIndicator
مع قائمة قابلة للتمرير، ننصح بإيقاف العلامتَينshowFadeInAnimation
وshowPositionAnimation
. إذا تم استخدامPositionIndicator
كمؤشر مستقل، مثلاً لتغيير مستوى الصوت، ننصحك بتفعيل جميع الصور المتحركة الثلاث. (Ia2d63)
إصلاح الأخطاء
- أجرينا تحسينات على حركة التمرير السريع للكشف عن المحتوى من خلال إضافة حركة تلاشي إلى نص الإجراء الأساسي، وتلاشي الإجراء الثانوي أو تغيير مقياس الرمز عند التوسيع الكامل للتمرير السريع. (Ib7223)
- ننصح بإتاحة إجراءات "التمرير السريع للكشف"، وقد أضفنا إجراءات مخصّصة لتسهيل الاستخدام إلى أمثلة "التمرير السريع للكشف". (I42224)
- لقد حسّنّا أداء
SwipeToDismissBox
، بما في ذلك إعادة تصميم الرمز البرمجي لضمان عدم تفعيل إعادة التركيب من خلال المنطق الأوّلي. يتم الآن رسمSwipeToDismissBox
بحجم ملء الشاشة. (Ie0aa2) - أصلحنا خطأً كان يؤدي إلى اختفاء الرمز
PositionIndicator
بشكل غير صحيح. (I2091a) - تحسين أداء
PositionIndicator
من خلال تحسين عمليات إعادة الإنشاء تمت إضافة علامات جديدة للتحكّم في الصور المتحركة (fadeIn
وfadeOut
وpositionChange
) لاحقًا (راجِع التغييرات في واجهة برمجة التطبيقات) (Ifac7d) - أضفنا اختبارات Microbenchmark للرمز
PositionIndicator
(Idf875)
الإصدار 1.3.0-alpha06
20 سبتمبر 2023
تم طرح androidx.wear.compose:compose-*:1.3.0-alpha06
. يتضمّن الإصدار 1.3.0-alpha06 هذه التعديلات.
إصلاح الأخطاء
- أتحنا استخدام
Modifier.edgeSwipeToDismiss
معSwipeToReveal
. (I95774، b/293444286) - أضفنا عيّنات للمادة
SwipeToRevealChip
وSwipeToRevealCard
. (Ieb974) - لقد عدّلنا ملفات تعريف خط الأساس لمكتبتَي Wear Compose Foundation وMaterial. (I1dd1f)
الإصدار 1.3.0-alpha05
6 سبتمبر 2023
تم طرح androidx.wear.compose:compose-*:1.3.0-alpha05
. يتضمّن الإصدار 1.3.0-alpha05 هذه التعديلات.
إصلاح الأخطاء
- أضفنا ميزة "التعامل" في "التمرير السريع للكشف" حتى لا يمكن تمرير سوى عنصر واحد في كل مرة. (I3cd7a)
- تم تحسين مستندات
ScalingLazyColumnDefaults
لتتطابق بشكل أفضل مع سلوكها الفعلي. (I886d3)
الإصدار 1.3.0-alpha04
23 أغسطس 2023
تم طرح androidx.wear.compose:compose-*:1.3.0-alpha04
. يتضمّن الإصدار 1.3.0-alpha04 هذه التعديلات.
الميزات الجديدة
- أضفنا إمكانية التراجع عن الإجراء الثانوي
SwipeToReveal
. (I7a22d)
تغييرات واجهة برمجة التطبيقات
- أضِف
HorizontalPageIndicator
في مكتبة Wear Material3. (Ifee99) - تم تعديل أدوات معاينة Wear Compose لاستخدام مكتبة
androidx.wear.tooling.preview
. (Ib036e)
إصلاح الأخطاء
- تم إصلاح خطأ في الأزرار الدائرية حيث لم يتم ربط المعدِّلات بشكل صحيح. (I5e162)
الإصدار 1.3.0-alpha03
9 أغسطس 2023
تم طرح androidx.wear.compose:compose-*:1.3.0-alpha03
. يتضمّن الإصدار 1.3.0-alpha03 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضفنا عنصرين جديدين قابلين للإنشاء في Material لتنفيذ
SwipeToReveal
باستخدام البطاقات والرقائق. تتّبع هذه العناصر القابلة للإنشاء إرشادات تجربة المستخدم المقترَحة بشأن المكوّن، وتسهّل على المطوّرين تنفيذSwipeToReveal
باستخدام المكوّنات الحالية في Wear Material. (I7ec65) - لقد فعّلنا التعليقات التوضيحية
FloatRange
كقيود على واجهة برمجة التطبيقات، والتي تم ذكرها سابقًا في التعليقات. (Icb401)
إصلاح الأخطاء
- نقلنا منطق التمرير الأولي الخاص بـ
ScalingLazyColumn
إلى داخلonGloballyPositioned()
. (Ic90f1) - نستخدم الآن
drawWithCache
فيPositionIndicator
وProgressIndicator
وSelectionControls
لتحسين عمليات تخصيص الضربات. (I5f225، b/288234617) - أصلحنا مشكلة عدم ظهور علامة الصح في مربّع الاختيار في الحالات التي يكون فيها غير مفعّل. (Ib25bf)
- عدّلنا
Placeholder
للسماح بإعادة الضبط لعرض العنصر النائب إذا لم يعُد المحتوى في حالة الجاهزية. (Ibd820) - أجرينا بعض الإصلاحات على اختبارات
Placeholder
غير المستقرة (Idb560)
الإصدار 1.3.0-alpha02
26 يوليو 2023
تم طرح androidx.wear.compose:compose-*:1.3.0-alpha02
. يتضمّن الإصدار 1.3.0-alpha02 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد وفّرنا
ExpandableStateMapping
، وهي طريقة جديدة لإنشاءExpandableStates
، وذلك في الحالات التي يجب فيها إنشاءExpandableStates
عند الطلب، وليس بالضرورة ضمن نطاق@Composable
(Iff9e0). - تم نقل
SwipeToDismissBox
من حزمةandroidx.wear.compose.material
إلى حزمةandroidx.wear.compose.foundation
. (I275fb) - تم تعديل ملفات واجهة برمجة التطبيقات لإضافة تعليقات توضيحية حول إيقاف التوافق. (I8e87a، b/287516207)
- لقد أتحنا ثوابت الارتفاع لكل من
Chip
وCompactChip
وToggleChip
للجميع (Idbfde) - أتحنا للجميع استخدام مساحات الحشو الأفقية والعمودية لكل من
Chip
وCompactChip
. (Ieeaf7) - تمت إضافة وظيفة لإيقاف معالجة التمرير السريع في
SwipeDismissableNavHost
من خلال المَعلمة الجديدةuserSwipeEnabled
. (Id2a0b، b/230865655) - لقد عدّلنا مكتبة Wear Compose Navigation لاستخدام
SwipeToDismissBox
الجديدة من Wear Compose Foundation. (I4ff8e)
إصلاح الأخطاء
- لقد أصلحنا خطأ في ترتيب العناصر حسب المحور z، حيث لم يعرض
expandedItem
المحتوى الصحيح بعد النقر على سلوك أحد الأزرار عندما يحتوي على أزرار. (I1899d، b/289991514) - تحسين معالجة التركيز على
SwipeToDismissBox
(وبالتاليSwipeDismissableNavHost
) باستخدامHierarchicalFocusCoordinator
(I45362، b/277852486) - أجرينا إصلاحًا على طريقة التعامل مع الإيماءات في
SwipeableV2
. (I89737) - لقد انتهينا من إعداد ملفات تعريف الأداء الأساسية لإصدار 1.2. (Id5740)
- بعد نقل
SwipeToDismissBox
إلى Foundation، يتم الآن إعادة توجيه عملية تنفيذ MaterialSwipeToDismissBox
إلى Foundation وتوفير قيم الألوان التلقائية من تصميمه.(If8451) - أضفنا دلالات العناوين إلى
ListHeader
. (Ic5420) - ستعدّل الآن
Chip
وToggleChip
ارتفاعهما لاستيعاب المحتوى الذي زاد حجمه بسبب استخدام خطوط كبيرة لتسهيل الاستخدام، وذلك عند الحاجة. (Iaf302) - أصلحنا خطأ في الدور الدلالي لمنطقة
SplitToggleChip
القابلة للنقر، وذلك لتسهيل الاستخدام. (Ieed3a) - يؤدي إعداد "تقليل الحركة" الآن إلى إيقاف تأثير التلألؤ والحركة عند مسح العناصر النائبة. (I91046)
- يتيح الزران
Stepper
وInlineSlider
الآن النقر المتكرر عند الضغط مع الاستمرار، ما يتيح لك زيادة قيمةStepper
وInlineSlider
أو خفضها بسرعة من خلال الضغط مع الاستمرار على الزرَّين + أو -. (I27359)
الإصدار 1.3.0-alpha01
21 حزيران (يونيو) 2023
تم طرح androidx.wear.compose:compose-*:1.3.0-alpha01
. يتضمّن الإصدار 1.3.0-alpha01 هذه التعديلات.
إصلاح الأخطاء
- كما أعلنّا في
1.2.0-alpha07
و1.2.0-alpha10
، سنغيّر الآنDefaultTextStyle
لإيقاف مساحة الحشو في الخط بهدف توفير تجربة متّسقة على مستوى نظام Android الأساسي. سيؤدي ذلك إلى حلّ بعض حالات اقتطاع النص عند استخدام أحجام خطوط كبيرة، وقد يؤثر أيضًا في تصاميم الشاشة، لذا يجب تعديل اختبارات لقطات الشاشة. على سبيل المثال، نرى هنا اقتطاعًا للنص (Ic6a86)

- لم يعُد يظهر عند إيقاف خيار "المسافة المتروكة بين الخطوط":

- لقد عدّلنا
wear.compose.foundation
ليصبح من متطلبات واجهة برمجة التطبيقاتwear.compose.material
(I72004، b/285404743) - أصلحنا خطأ في
SwipeToDismissBox
. يتم الآن تمرير مفاتيح الخلفية والمحتوى إلى كتلة "التذكير" حتى يتم إنشاء معدِّلات جديدة عند تغيير المحتوى أو الخلفية. (Ib876c، b/280392104) - عدّلنا
TimeText
لاستخدام اللغة عند اختيار تنسيق الوقت 12 أو 24 ساعة. (If4a3d) - أصلحنا مشكلة عدم اتساق في المَعلمات التلقائية
SwipeToDismissBox
contentScrimColor
. (I2d70f) - أجرينا تحسينات على معالجة الحركة في
SwipeToReveal
. (I28fb7)
المشاكل المعروفة
- تتوافق أحجام الخطوط التي يضبطها المستخدم مع متطلبات تسهيل الاستخدام. نعلم أنّ شرائح Chips المتعددة الأسطر يمكن أن تؤدي إلى اقتصاص النص عند عرضها بأحجام خطوط كبيرة، لذا سنعدّل شريحة Chip في إصدار أولي من الإصدار التجريبي 1.3 لإجراء تعديلات على الارتفاع في هذه الحالات.
الإصدار 1.2
الإصدار 1.2.1
18 أكتوبر 2023
تم طرح androidx.wear.compose:compose-*:1.2.1
. يتضمّن الإصدار 1.2.1 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح خطأ يؤدي إلى اختفاء
PositionIndicator
بشكل غير صحيح. (7a167f)
الإصدار 1.2.0
9 أغسطس 2023
تم طرح androidx.wear.compose:compose-*:1.2.0
. يتضمّن الإصدار 1.2.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.1.0
- الإصدار الثابت من Compose for Wear OS 1.2.0 (مزيد من المعلومات)
- للاطّلاع على قائمة بالتغييرات الرئيسية في الإصدار 1.2 من Wear Compose، راجِع ملاحظات الإصدار (الإصدار التجريبي 1.2 من Compose for Wear OS).
الإصدار 1.2.0-rc01
26 يوليو 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-rc01
. يتضمّن الإصدار 1.2.0-rc01 هذه التعديلات.
إصلاح الأخطاء
- لقد انتهينا من إعداد ملفات تعريف خط الأساس لإصدارنا 1.2 (Id5740).
الإصدار 1.2.0-beta02
7 يونيو 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-beta02
. يتضمّن الإصدار 1.2.0-beta02 هذه التعديلات.
الميزات الجديدة
- أضفنا المتغيّر التجريبي الجديد
LocalReduceMotion
CompositionLocal
الذي يوقف تغيير الحجم والتلاشي علىScalingLazyColumn
. (I58024)
إصلاح الأخطاء
- لقد عدّلنا ملفات تعريف خط الأساس لمكتبات Wear Compose الأساسية والمادية(I4725d).
- لقد أصلحنا عدم تطابق في القيم التلقائية للمَعلمتَين
SwipeToDismissBox
وcontentScrimColor
(I2d70f). - لقد أصلحنا القيمة التلقائية
DefaultTextStyle
المستخدَمة في الإعدادIncludeFontPadding
(I737ed)
الإصدار 1.2.0-beta01
24 مايو 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-beta01
. يتضمّن الإصدار 1.2.0-beta01 هذه التعديلات.
ميزات Compose for Wear OS 1.2
يشير الإصدار 1.2-beta01 من Compose for Wear OS إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء الأماكن التي تم وضع علامة "تجريبي" عليها). يتضمّن الإصدار 1.2 من Wear Compose الوظائف الجديدة التالية:
-
expandableItem
وexpandableItems
هما مكوّنان جديدان منFoundation
يتيحان توسيع العناصر ضمنScalingLazyColumn
. استخدِمexpandableItem
لعنصر واحد قابل للتوسيع، مثل "النص" الذي يضم عددًا من الأسطر. استخدِمexpandableItems
لمجموعة من العناصر القابلة للتوسيع وexpandableButton
لتبسيط عملية إنشاء زر يتم تصغيره بعد توسيع المحتوى. -
HierarchicalFocusCoordinator
: يتيح هذا العنصر التجريبي القابل للإنشاء تحديد ما إذا كان يمكن التركيز على الأجزاء الفرعية من التركيب أو لا يمكن ذلك. Picker
: تتضمّن واجهة برمجة التطبيقات الآنuserScrollEnabled
للتحكّم في ما إذا كان أداة الاختيار نشطة عند تنقّل المستخدم.-
PickerGroup
: عنصر جديد قابل للإنشاء للتعامل مع أدوات اختيار متعددة معًا. تتعامل هذه السمة مع التركيز بين أدوات الاختيار باستخدام واجهة برمجة التطبيقاتHierarchicalFocusCoordinator
وتتيح التوسيط التلقائي لعناصر أداة الاختيار. Placeholder
: أجرينا تعديلات على الصور المتحركة "تأثير البريق" و"المسح". يتم الآن تطبيق تأثير المسح على الفور عندما يصبح المحتوى جاهزًا.ScalingLazyColumn
: نقلناScalingLazyColumn
والصفوف المرتبطة منandroidx.wear.compose.material.ScalingLazyColumn
إلىandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
. يُرجى التحديث إلى الإصدارFoundation.Lazy
لاستخدامه.SwipeToReveal
: أضفنا دعمًا تجريبيًا لميزة "التمرير السريع للكشف عن المحتوى" كوسيلة للوصول إلى الإجراءات الثانوية، ما يكمّل نمط "الضغط مع الاستمرار" الحالي.Stepper
- يتضمّن الآن تحميلًا زائدًا مع المَعلمةenableRangeSemantics
الإضافية لتسهيل إيقاف دلالات النطاق التلقائية.Previews
- أضفنا التعليقات التوضيحية المخصّصة التالية لمعاينة العناصر القابلة للإنشاء على شاشات Wear: تعرضWearPreviewSmallRound
العنصر القابل للإنشاء على جهاز صغير دائري، وتعرضWearPreviewLargeRound
العنصر القابل للإنشاء على جهاز كبير دائري، وتعرضWearPreviewSquare
العنصر القابل للإنشاء على جهاز مربّع. بالإضافة إلى ذلك، تعمل التعليقات التوضيحية التالية والمعاينة المتعددة:WearPreviewFontScales
على معاينة العناصر القابلة للإنشاء على جهاز Wear مزوّد بأحجام خطوط متعددة، بينما تعملWearPreviewDevices
على معاينة العناصر القابلة للإنشاء على أجهزة Wear مختلفة.- لقد أضفنا
DefaultTextStyle
إلى Wear Compose، ما يؤدي إلى ضبط القيمة التلقائية للسمةPlatformTextStyle.includeFontPadding
على "صحيح" (وهذا هو الإعداد الحالي). سيسمح لنا ذلك بمزامنة إيقاف المساحة المتروكة في الخط تلقائيًا مع مكتبات Compose في إصدار أولي 1.3 alpha. يمكنك الاطّلاع على 1.2.0-alpha10 لمزيد من المعلومات.
الميزات الجديدة
- أضفنا دعمًا تجريبيًا لإيقاف التحجيم وتأثير التلاشي عند تفعيل خيار reduce_motion. (I58024)
إصلاح الأخطاء
- تحسين المستندات الخاصة بـ
angularWidthDp
فيCurvedSize.kt
(Iab75c) - يسجّل
SwipeDismissableNavHost
الآن تحذيرًا يتضمّن الأسباب المحتملة لعدم توفّر سجلّ الخلف. يتم ذلك لمنع حدوث أعطال غير متوقّعة بسببIllegalArgumentException
الذي تم طرحه عندما كانت حزمة الخلف فارغة. (I04a81، b/277700155)
الإصدار 1.2.0-alpha10
10 مايو 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-alpha10
. يتضمّن الإصدار 1.2.0-alpha10 هذه التعديلات.
الميزات الجديدة
- أضفنا إمكانية استخدام ميزة "التمرير السريع للكشف" كوسيلة للوصول إلى الإجراءات الثانوية. يكمل هذا النمط نمط "الضغط مع الاستمرار"، وهو الطريقة الحالية التي يمكن للمستخدم من خلالها الكشف عن الإجراءات الثانوية (المختلفة). (I60862)
تغييرات واجهة برمجة التطبيقات
- لقد أضفنا
RevealScope
إلى عناصر Action composables فيSwipeToReveal
، ما يتيح الوصول إلى الإزاحة التي يتم فيها الكشف عن إجراءات إضافية. (I3fd56)
إصلاح الأخطاء
- تم إصلاح مشكلة تعذُّر إغلاق
ScalingLazyColumn
بعد التمرير السريع على Wear API 33 (Ic4599) - أجرينا بعض التحسينات على أداء
PositionIndicator
لتقليل التشويش. (I35e92) - لقد أصلحنا خطأ في Chip و
CompactChip
حيث لم يعُد الدور الدلالي مضبوطًا علىRole.Button
. (I93f91، b/277326264)
المشاكل المعروفة
لقد رصدنا خطأً في "استوديو Android" يتسبّب في تعذّر عرض المعاينة عند إضافة التعليقات التوضيحية @WearPreviewDevices و @WearPreviewFontScales، ونخطّط لإصلاح هذا الخطأ قريبًا. يُرجى العلم أنّ تعليقات Wear التوضيحية الأخرى تعمل على النحو المطلوب في الإصدار 2022.3.1 من "استوديو Android" والإصدارات الأحدث.
في الإصدار 1.2.0-alpha07، أضفنا DefaultTextStyle إلى Wear Compose، مع الحفاظ على قيمة PlatformTextStyle.includeFontPadding الحالية على "صحيح". لمزيد من المعلومات، يُرجى الاطّلاع على إصلاح مساحة الحشو في الخط في Compose. سنغيّر DefaultTextStyle لإيقاف مساحة الحشو في الخط في إصدار أولي من الإصدار 1.3، وذلك لضمان التوافق مع نظام Android الأساسي. سيؤدي ذلك إلى حلّ بعض حالات اقتصاص النص عند استخدام أحجام خطوط كبيرة، وقد يؤثّر أيضًا في تصاميم الشاشة، لذا يجب تعديل اختبارات لقطات الشاشة. على سبيل المثال، عند استخدام أحجام خطوط كبيرة، نلاحظ اقتطاع النص هنا:

- لم يعُد يظهر عند إيقاف خيار "المسافة المتروكة بين الخطوط":

يمكنك الآن استخدام الإعداد الجديد من خلال تجاهل الطباعة في المظهر، راجِع رمز المثال.
الإصدار 1.2.0-alpha09
19 أبريل 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-alpha09
. يتضمّن الإصدار 1.2.0-alpha09 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- إضافة
angularSizeDp
إلى واجهة برمجة التطبيقاتCurvedModifier
لضبط العرض الزاوي بوحدات DP (I89a52)
إصلاح الأخطاء
- لقد حللنا مشاكل إمكانية الوصول في عروضنا التوضيحية لأداة اختيار الوقت(Id0eb7)
الإصدار 1.2.0-alpha08
5 أبريل 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-alpha08
. يتضمّن الإصدار 1.2.0-alpha08 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد أعدنا تسمية
ExpandableItemsState
إلىExpandableState
. (If85ea) - أضفنا
expandableButton
لتبسيط عملية إنشاء زر يتم تصغيره عند توسيع المحتوى، وعدّلنا أيضًا أمثلة العناصر القابلة للتوسيع. (Iae309)
إصلاح الأخطاء
- تم تحسين العيّنات القابلة للتوسيع لعرض المزيد من الإمكانيات. تم تعديل الصورة المتحركة
expandableItem
للحفاظ على توسّط المحتوى أثناء الحركة. (I2f637) - تم تعديل
ToggleControls
لتجنُّب عمليات إعادة التركيب الإضافية عند تحريك الألوان يدويًا باستخدام State. (I5d319)
الإصدار 1.2.0-alpha07
22 مارس 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-alpha07
. يتضمّن الإصدار 1.2.0-alpha07 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- نقلنا مكوّنات "العناصر القابلة للتوسيع" (التي تمت إضافتها في الإصدار 1.2.0-alpha06) من Material إلى Foundation، لأنّها لم تتضمّن أي إشارة ذات صلة إلى
MaterialTheme
. (Ib0525)
إصلاح الأخطاء
- لقد أصلحنا عُطلاً حدث في إحدى الشاشات باستخدام
PickerGroup
، وذلك من خلال التأكّد من أنّPickerGroup
يتعامل مع التركيز بشكلٍ صحيح عندما لا يكون أيّ عنصر Picker في حالة التركيز. تمت أيضًا إضافة إمكانية التمرير السريع في RSB في عروض Picker التوضيحية. (If8c19) - لقد حسّنّا عمليات الانتقال بين مربّعات الحوار، وأصبح الانتقال إلى المقدمة أكثر سلاسة ليتوافق مع الانتقال إلى الخاتمة. (Ib5af9)
- لقد أضفنا
DefaultTextStyle
إلى Wear Compose، ما يؤدي إلى ضبط القيمة التلقائية للسمةPlatformTextStyle.includeFontPadding
على "صحيح" (وهذا هو الإعداد الحالي). سيسمح لنا ذلك بمزامنة إيقاف مساحة الحشو التلقائية للخط مع مكتبات Compose في المستقبل. يمكنك الاطّلاع على إصلاح مساحة الحشو للخط في Compose للحصول على معلومات أساسية. (I2aee8) - تمت إعادة إصدار
UpsideDownCake
لمعاينة التبعية من خلال activity-compose التي كانت تحظر نشر التطبيقات على "متجر Google Play". (I6443d)
الإصدار 1.2.0-alpha06
8 مارس 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-alpha06
. يتضمّن الإصدار 1.2.0-alpha06 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضِف مكوّن
CurvedBox
، الذي يضع المكوّنات فوق بعضها البعض في العالم المنحني. (I29200) - تمت إضافة "عناصر قابلة للتوسيع"، وهما مكوّنان جديدان يتيحان إما مجموعة من العناصر القابلة للتوسيع في
ScalingLazyColumn
أو عنصرًا واحدًا قابلاً للتوسيع، مثل "النص" الذي يتوسّع فيه عدد الأسطر. (I95dd5) - أضفنا التعليقات التوضيحية المخصّصة التالية لمعاينة العناصر القابلة للإنشاء على شاشات Wear: تعرض
WearPreviewSmallRound
العنصر القابل للإنشاء على جهاز صغير دائري، وتعرضWearPreviewLargeRound
العنصر القابل للإنشاء على جهاز كبير دائري، وتعرضWearPreviewSquare
العنصر القابل للإنشاء على جهاز مربّع. بالإضافة إلى ذلك، تعمل التعليقات التوضيحية التالية والمعاينة المتعددة:WearPreviewFontScales
على معاينة العناصر القابلة للإنشاء على جهاز Wear مزوّد بأحجام خطوط متعددة، بينما تعملWearPreviewDevices
على معاينة العناصر القابلة للإنشاء على أجهزة Wear مختلفة. لاستخدام هذه المعاينات، يجب أن تستخدم أحدث إصدار من Android Studio (الإصدار التجريبي 6 من Giraffe) أو إصدارًا أحدث. يُرجى العِلم أنّه إذا كانت هذه التعليقات التوضيحية لا تناسب غرضك، سيظلّ بإمكانك استخدام "وضع المعاينة"، كما أنّه يتيح إجراء المزيد من عمليات التخصيص من خلال المَعلمات. (I397ff) - لقد صنّفنا
HierarchicalFocusCoordinator
على أنّه تجريبي، وذلك لأنّه يُعدّ مرشحًا للانتقال إلى مكتبات الإنشاء الأساسية، نظرًا إلى إمكانية تطبيقه على نطاق واسع. (I3a768)
إصلاح الأخطاء
- تم إصلاح خطأ في
HierarchicalFocusCoordinator
، فعند تغيير lambda التي تم تمريرها للمَعلمةfocusEnabled
، نستخدم الآن lambda الجديدة بشكل صحيح. (Icb353) - عدّلنا لون المحتوى غير المفعّل التلقائي إلى "الخلفية" عند استخدام الألوان الأساسية كخلفية في
Button
وCompactButton
وChip
وCompactChip
وToggleButton
. ويؤدي ذلك إلى تحسين التباين لتسهيل الاستخدام. (I527cc)
الإصدار 1.2.0-alpha05
22 فبراير 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-alpha05
. يتضمّن الإصدار 1.2.0-alpha05 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم تعديل واجهة برمجة التطبيقات
PickerGroup
للسماح بنقل الحد الأدنى من القيود إلى العنصر القابل للإنشاء بشكل اختياري. عند ضبط القيمة على "صحيح"، سيتم السماح بالحدود الدنيا التي تم تمريرها من العنصر القابل للإنشاء الرئيسي فيPickerGroup
. إذا تم ضبطها على "خطأ"، ستعيدPickerGroup
ضبط الحد الأدنى للقيود. (I3e046) - أضفنا
animateScrollToOption
إلى Picker API من أجل إتاحة إمكانية إضافة صور متحركة آليًا إلى خيار Picker معيّن (I6fe67)
إصلاح الأخطاء
- عدّلنا
HorizontalPageIndicator
ليتوافق مع التنسيقات من اليمين إلى اليسار. (Ia4359) - تمت إضافة اختبارات لقطات الشاشة للتنسيق من اليمين إلى اليسار في
HorizontalPageIndicator
(I6fbb8) - تمت إضافة المزيد من الاختبارات إلى
SwipeDismissableNavHostTest
التي تستخدمTestNavHostController
(I61d54)
الإصدار 1.2.0-alpha04
8 شباط (فبراير) 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-alpha04
. يتضمّن الإصدار 1.2.0-alpha04 هذه التعديلات.
الميزات الجديدة
-
PickerGroup
للتعامل مع أدوات اختيار متعددة معًا باستخدام واجهة برمجة التطبيقات Focus API. تتعامل هذه الفئة مع التركيز بين أدوات الاختيار المختلفة، وتتيح التوسيط التلقائي لأدوات الاختيار استنادًا إلى المَعلمات، كما تسمح للمطوّرين بتغيير التركيز بين أدوات الاختيار المختلفة أثناء التعامل مع الأحداث من المجموعة. في وضع TalkBack، يتعاملPickerGroup
مع تركيز TalkBack من خلال نقل التركيز إلى أداة الاختيار المحدّدة من المجموعة. (I60840)
تغييرات واجهة برمجة التطبيقات
- لقد أضفنا حمولة زائدة إلى Stepper مع مَعلمة
enableRangeSemantics
إضافية لتسهيل إيقاف دلالات النطاق التلقائي (Ia61d4)
إصلاح الأخطاء
- السماح بتضمين
ScalingLazyColumn
في صفحة يمكن التمرير فيها أفقيًا (Iec3f8 وb/266555016) - تحسين مستندات kdoc الخاصة بأداة Stepper وتنظيف اختبارات
StepperTest
(Ic118e) - تم تعديل التبعية
androidx.navigation
إلى الإصدار 2.5.3 (If58ed)
الإصدار 1.2.0-alpha03
25 كانون الثاني (يناير) 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-alpha03
. يتضمّن الإصدار 1.2.0-alpha03 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد نقلنا
ScalingLazyColumn
(والفئات المرتبطة به) منandroidx.wear.compose.material.ScalingLazyColumn
إلىandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn
(راجِع هذا المثال لمعرفة كيفية نقل البيانات). يتطابق هذا الموقع الجديد بشكل أكبر مع موقعcompose.foundation.lazy.LazyColumn
وهو أكثر طبيعيةً لأنّه ليس مكوّنًا من Material. نعمل حاليًا على إجراء هذا التغيير استعدادًا لإطلاق مكتبة Material3 الجديدة التي سنعمل عليها بالتوازي مع مكتبة Material الحالية. (I060e7)
تشكّل التغييرات التالية جزءًا من عملية نقل ScalingLazyColumn
من Material إلى Foundation.Lazy
:
- تم إيقاف واجهات برمجة التطبيقات التي تستهدف الإصدار
ScalingLazyColumn
من Material (PositionIndicator
). يُرجى التحديث إلى الإصدارFoundation.Lazy ScalingLazyColumn
. بالإضافة إلى ذلك، تمت إضافة الحقلanchorType
إلىScalingLazyListLayoutInfo
. (I29d95) - تم وضع علامة الإيقاف النهائي على
ScalingLazyColumn
في حزمة Wear Compose Material (I16d34) - لقد عدّلنا المعدِّل
ScrollAway
لاستخدامScalingLazyListState
من Wear ComposeFoundation.Lazy
وأوقفنا نهائيًا الإصدار الزائد الذي استخدَمScalingLazyListState
من Wear Compose Material. (Ifc42c) - عدّلنا واجهات برمجة التطبيقات الخاصة بمربّعات الحوار لاستخدام
ScalingLazyListState
منFoundation.Lazy
وأوقفنا نهائيًا عمليات التحميل الزائد التي كانت تستخدم MaterialScalingLazyListState
(Ic8960). - عدّلنا واجهات برمجة التطبيقات الخاصة بأدوات الاختيار لاستخدام
ScalingParams
منFoundation.Lazy
وأوقفنا نهائيًا عمليات التحميل الزائد التي كانت تستخدمScalingParams
من Material. (Idc3d8)
إصلاح الأخطاء
- لقد أصلحنا خطأً كان يتسبّب في إعادة إنشاء غير ضرورية في
ScalingLazyListState.centerItemIndex
من خلال التأكّد من أنّه لا يتم إرسال التعديلات إلا عندما تتغيّر القيمة فعليًا (Ia9f38). - لقد حسّنّا أداء
SwipeToDismissBox
(I3933b) - تمت إضافة اختبارات قياس الأداء لـ
ScalingLazyColumn
في Wear Compose Foundation (Ie00f9) - عدّلنا بعض طرق فئات
ScalingLazyColumn
الداخلية في Material لاستخدام الطرق المكافئة لها منFoundation.Lazy
(I38aab). - أصلحنا بعض المشاكل في اختبارات "أداة الاختيار" وأضفنا المزيد من الاختبارات للتحقّق من التمرير مع الإزاحة (I6ac34).
- نقلنا
ScalingLazyColumn
عروض التكامل التوضيحية لتعتمد علىFoundation.Lazy
بدلاً من MaterialScalingLazyColumn
(Ic6caa) - أضفنا مَعلمات
fromDate/toDate
اختيارية إلى العرض التوضيحيDatePicker
(I961cd)
الإصدار 1.2.0-alpha02
11 يناير 2023
تم طرح androidx.wear.compose:compose-*:1.2.0-alpha02
. يتضمّن الإصدار 1.2.0-alpha02 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- ستنفّذ الآن اختبارات واجهة المستخدم في Android Compose عمليات عرض لكل لقطة عند تنفيذ اللقطات للوصول إلى حالة عدم النشاط (على سبيل المثال، من خلال
waitForIdle
). وقد يؤثّر ذلك في الاختبارات التي تؤكّد على اللقطات الفردية لرسوم متحركة خاصة بالتصميم. (I8ea08، b/222093277) - تمت إضافة المَعلمة
minLines
إلى Wear Text لضمان سلوك متّسق معBasicText
(I24874) - تمت إتاحة
CompactChipTapTargetPadding
للجميع كي يظهر في المستندات (If1e70، b/234119038)
إصلاح الأخطاء
- إيقاف عمليات الإنشاء المتوافقة مع عدة منصات لحِزم
wear.compose
(Iad3d7) - إصلاح مستندات kdoc الخاصة بـ
scrollToOption
(I6f9a0) - تم تعديل
PlaceholderState.rememberPlaceholderState()
لاستخدامrememberUpdatedState
حتى يتم تعديل الحالة إذا كانت دالة lambdaonContentReady
. (I02635، b/260343754) - لقد أصلحنا مشكلة اهتزاز النص التي تظهر في المكوّن
Picker
من خلال الاستفادة من استراتيجية الدمج الجديدة التي تمت إضافتها إلىModifier.graphicsLayer
. (I99302) - أصلحنا خطأً تسبّب في حدوث وميض في العرض التوضيحي
DatePicker
(I660bd) - لقد حسّنّا إمكانية الوصول إلى العروض التوضيحية لأدوات اختيار التاريخ والوقت بنظام 12 ساعة (I05e12).
- عدّلنا عروضنا التوضيحية لأداة اختيار الوقت والتاريخ لكي لا تتأثر أدوات الاختيار بالتغييرات في شريط البحث السريع عند إلغاء تحديدها (I4aecb).
الإصدار 1.2.0-alpha01
7 كانون الأول (ديسمبر) 2022
تم طرح androidx.wear.compose:compose-*:1.2.0-alpha01
. يتضمّن الإصدار 1.2.0-alpha01 هذه التعديلات.
الميزات الجديدة
- عدّلنا وظيفة "العنصر النائب" التجريبية بحيث يتم تطبيق تأثير "المسح" على الفور عندما يصبح المحتوى جاهزًا بدلاً من انتظار بدء تكرار الصورة المتحركة التالي. أجرينا أيضًا بعض التعديلات على الصور المتحركة الخاصة بتأثير اللمعان والمسح. (I5a7f4)
تغييرات واجهة برمجة التطبيقات
- أضفنا
HierarchicalFocusCoordinator
عنصرًا قابلاً للإنشاء لتفعيل وضع علامة على الأجزاء الفرعية من التركيب باعتبارها قابلة للتركيز أو غير قابلة للتركيز.(I827cb) - أضفنا سمة جديدة لتجاوز الدور الدلالي الخاص بـ
ToggleButton
.(I67132) - لقد عدّلنا
TimeTextDefaults.TimeFormat12Hours
لإزالة AM/PM فيTimeText
. سيؤدي ذلك إلى تغيير القيمة التلقائية لمَعلماتtimeSource
في واجهة برمجة التطبيقاتTimeText
. (I1eb7f) - لقد وسّعنا نطاق Picker API لتحسين إمكانية الوصول إلى الشاشات التي تتضمّن أداة اختيار متعددة. تتوفّر خاصية جديدة
userScrollEnabled
للتحكّم في ما إذا كان أداة الاختيار نشطة عند تنقّل المستخدم. (I3c3aa)
إصلاح الأخطاء
- لقد غيّرنا عرض الحدّ التلقائي لعنصر
OutlinedButton/OutlinedCompactButton
من 2.dp إلى 1.dp ليتوافق مع مواصفات تجربة المستخدم النهائية. (Icf84d) - للحدّ من تأثير ظهور العنصر الأول الذي تتم إضافته إلى
ScalingLazyColumn
فارغ على التمرير إلى الموضع المطلوب، أضفنا قيمةautoCentering topPadding
مقدّرة عندما يكون المحتوى فارغًا. يحسب هذا التغيير مقدار المساحة المتروكة أعلى الصفحة المطلوبة من خلال افتراض أنّ ارتفاع العنصر الأوّلي هو 0.dp. بالنسبة إلىScalingLazyListAnchorType.ItemStart
، سيتم احتساب المساحة المتروكة الصحيحة في أعلى الصفحة، أما بالنسبة إلىScalingLazyListAnchorType.ItemCenter
، فسيكون هذا الاحتساب غير صحيح لأنّه يجب معرفة ارتفاع العناصر لتحديد حجم المحتوى بشكل صحيح، ما يؤدي إلى ظهور تأثير بسيط للانتقال إلى الموضع المطلوب استنادًا إلى الارتفاع الفعلي للعناصر.(I239a4) - عدّلنا خلفية التعتيم المطبَّقة على الرسوم المتحركة
SwipeToDismiss
لتتطابق مع منصة Wear. (I9003e) - لقد أصلحنا طريقة تعامل
PositionIndicator
معLazyListState
وScalingLazyListState
لعناصر القائمة التي يبلغ حجمها 0 لتجنُّب أخطاء القسمة على صفر.(Ic28dd)
الإصدار 1.1
الإصدار 1.1.2
8 شباط (فبراير) 2023
تم إصدار androidx.wear.compose:compose-foundation:1.1.2
وandroidx.wear.compose:compose-material:1.1.2
وandroidx.wear.compose:compose-navigation:1.1.2
. يتضمّن الإصدار 1.1.2 هذه التعديلات.
إصلاح الأخطاء
- لقد أصلحنا خطأً كان يتسبّب في إعادة إنشاء غير ضرورية في
ScalingLazyListState.centerItemIndex
من خلال التأكّد من أنّه لا يتم إرسال التعديلات إلا عندما تتغيّر القيمة فعليًا (Ia9f38).
الإصدار 1.1.1
11 يناير 2023
تم إصدار androidx.wear.compose:compose-foundation:1.1.1
وandroidx.wear.compose:compose-material:1.1.1
وandroidx.wear.compose:compose-navigation:1.1.1
. يتضمّن الإصدار 1.1.1 هذه التعديلات.
إصلاح الأخطاء
- تم تعديل
PlaceholderState.rememberPlaceholderState()
لاستخدامrememberUpdatedState
حتى يتم تعديل الحالة إذا كانت دالة lambdaonContentReady
. (I02635، b/260343754)
الإصدار 1.1.0
7 كانون الأول (ديسمبر) 2022
تم إصدار androidx.wear.compose:compose-foundation:1.1.0
وandroidx.wear.compose:compose-material:1.1.0
وandroidx.wear.compose:compose-navigation:1.1.0
. يتضمّن الإصدار 1.1.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.0.0
- الإصدار الثابت من Compose for Wear OS 1.1.0 (مزيد من المعلومات)
- للاطّلاع على قائمة بالتغييرات الرئيسية في Wear Compose 1.1، يُرجى الرجوع إلى ملاحظات الإصدار (الإصدار التجريبي الأول من Compose for Wear OS 1.1).
الميزات الجديدة
- عدّلنا وظيفة "العنصر النائب" التجريبية بحيث يتم تطبيق تأثير "المسح" على الفور عندما يصبح المحتوى جاهزًا بدلاً من انتظار بدء تكرار الصورة المتحركة التالي. أجرينا أيضًا بعض التعديلات على الصور المتحركة الخاصة بتأثير اللمعان والمسح. (I5a7f4)
إصلاح الأخطاء
- لقد غيّرنا عرض الحدّ التلقائي لعنصر
OutlinedButton/OutlinedCompactButton
من 2.dp إلى 1.dp ليتوافق مع مواصفات تجربة المستخدم النهائية. (Icf84d) - للحدّ من تأثير ظهور العنصر الأول الذي تتم إضافته إلى
ScalingLazyColumn
فارغ على التمرير إلى الموضع المطلوب، أضفنا قيمةautoCentering topPadding
مقدّرة عندما يكون المحتوى فارغًا. يحسب هذا التغيير مقدار المساحة المتروكة أعلى الصفحة المطلوبة من خلال افتراض أنّ ارتفاع العنصر الأوّلي هو 0.dp. بالنسبة إلىScalingLazyListAnchorType.ItemStart
، سيتم احتساب المساحة المتروكة الصحيحة في أعلى الصفحة، أما بالنسبة إلىScalingLazyListAnchorType.ItemCenter
، فسيكون هذا الاحتساب غير صحيح لأنّه يجب معرفة ارتفاع العناصر لتحديد حجم المحتوى بشكل صحيح، ما يؤدي إلى ظهور تأثير بسيط للانتقال إلى الموضع المطلوب استنادًا إلى الارتفاع الفعلي للعناصر.(I239a4) - عدّلنا خلفية التعتيم المطبَّقة على الصورة المتحركة
SwipeToDismiss
لتتطابق مع منصة Wear.(I9003e) - لقد أصلحنا طريقة تعامل
PositionIndicator
معLazyListState
وScalingLazyListState
لعناصر القائمة التي يبلغ حجمها 0 لتجنُّب أخطاء القسمة على صفر.(Ic28dd)
الإصدار 1.1.0-rc01
9 نوفمبر 2022
تم إصدار androidx.wear.compose:compose-foundation:1.1.0-rc01
وandroidx.wear.compose:compose-material:1.1.0-rc01
وandroidx.wear.compose:compose-navigation:1.1.0-rc01
. يتضمّن الإصدار 1.1.0-rc01 هذه التعديلات.
إصلاح الأخطاء
- لقد أضفنا قواعد ملفات تعريف أساسية لكل من
Placeholders
وScrollAway
وRadioButton
وSwitch
وCheckbox
وOutlinedButton
وOutlinedCompactButton
وOutlinedChip
وOutlinedCompactChip
. (I8249c) - لقد أصلحنا خطأً في
Modifier.scrollAway
، فإذا كانت قيمةitemIndex
المحدّدة غير صالحة (على سبيل المثال، إذا كان فهرس العنصر خارج النطاق)، سيظلّTimeText
معروضًا. (I2137a) - عدّلنا الرسوم المتحركة
SwipeToDismissBox
لتتطابق مع عملية التنفيذ على المنصة. بعد حركة الضغط الأولية، تنزلق الشاشة الآن إلى اليسار بعد تفعيل عملية الإغلاق. (I41d34) - كتحسين، عدّلنا
Modifier.scrollAway
لقراءةscrollState
داخل كتلة القياس فقط لتجنُّب إعادة إنشاء المعدِّل بعد كل إعادة قياس. (I4c6f1) - أضفنا مستندات وعيّنة إلى العناصر النائبة لعرض الترتيب الصحيح للسمتَين
Modifier.placeholder
وModifier.placeholderShimmer
عند تطبيقهما على العنصر نفسه القابل للإنشاء. (Ie96f4، b/256583229) - لقد غيّرنا عرض الحدّ التلقائي لعنصر
OutlinedCompactChip/OutlinedChip
من 2.dp إلى 1.dp ليتوافق مع مواصفات تجربة المستخدم النهائية. (Ib3d8e) - لقد أصلحنا خطأً في
rememberPickerState
حيث لم يتم حفظ المدخلات المعدَّلة، وبالتالي لم يتم تعديل العناصر القابلة للإنشاء بعد إجراء تغييرات على المدخلات. (I49ff6، b/255323197) - أجرينا بعض التعديلات على واجهة المستخدم للعناصر النائبة، وهي: 1) تغيير تدرّج التموّج إلى 1.5 مرة حجم الشاشة، و2) إضافة تأثير التباطؤ والتسارع (منحنى بيزير التكعيبي) إلى تقدّم التموّج، و3) تسريع حركة المسح (250 ملي ثانية). (Id29c1)
- لقد أصلحنا خطأً في واجهة المستخدم في تأثير مسح العنصر النائب، حيث كان يتم مسح خلفيات الشرائح والبطاقات قبل الأوان قليلاً بسبب عدم أخذ موضع المكوّن على الشاشة في الاعتبار. (I2c7cb)
- عدّلنا طريقة رسم خلفية العناصر النائبة لدمج الألوان بدلاً من وضعها في طبقات حيثما أمكن ذلك، وذلك للحدّ من خطر مزج قنوات ألفا للطبقات المختلفة التي تم اقتصاصها، ما يمنع الألوان الأساسية من الظهور عند حواف خلفية العناصر النائبة. (I2ea26)
- لقد صحّحنا طريقة احتساب
ScalingLazyListState.centerItemIndex/centerItemOffset
، فإذا كان عنصران على جانبي خط منتصف إطار العرض، سيتم اعتبار العنصر الأقرب هوcenterItem
. (I30709، b/254257769) - لقد أصلحنا خطأ في
ScalingLazyListState.layoutInfo.visibleItemsInfo
كان يؤدّي إلى تسجيل إزاحات غير صحيحة أثناء عملية إعدادScalingLazyColumn
. سيتم الآن عرض قائمة فارغة إلى أن تصبح جميع عناصر القائمة مرئية وتتضمّن الإزاحات الصحيحة. سيؤكّد البحث عنScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
اكتمال عملية تهيئةScalingLazyColumn
وظهور العناصر. (I3a3b8)
الإصدار 1.1.0-beta01
24 أكتوبر 2022
تم إصدار androidx.wear.compose:compose-foundation:1.1.0-beta01
وandroidx.wear.compose:compose-material:1.1.0-beta01
وandroidx.wear.compose:compose-navigation:1.1.0-beta01
. يتضمّن الإصدار 1.1.0-beta01 هذه التعديلات.
ميزات Compose for Wear OS 1.1
أشار الإصدار 1.1.0-beta01 من Compose for Wear OS إلى أنّ هذا الإصدار من المكتبة يتضمّن جميع الميزات وتم قفل واجهة برمجة التطبيقات.
- يتضمّن الإصدار 1.1 من Wear Compose الوظائف الجديدة التالية:
- أداة الاختيار: تحسينات على أداة الاختيار لتسهيل التنقّل في شاشات أدوات الاختيار المتعدد باستخدام قارئات الشاشة وإتاحة الوصول إلى وصف المحتوى
- يتم الآن استخدام المَعلمة Picker
contentDescription
للخيار Picker المحدّد فقط، وتتلقّى قيمة String قابلة للتصغير (في عملية الإرسال السابقة، كان من الضروري تمرير عملية ربط من الخيار إلى وصف المحتوى، ولكن تم استخدام الخيار المحدّد فقط). - أصبحت عناصر أداة الاختيار الآن محاذية دائمًا للوسط، ما يؤدي إلى إصلاح خطأ كان يحدث عند ضبط
gradientRatio
على صفر، وهو تغيير المحاذاة. Chip/ToggleChip
: عدّلنا التدرجات التلقائية فيChip/ToggleChip
لتتوافق مع أحدث مواصفات تجربة المستخدم. تم تعديلChipDefaults.gradientBackgroundChipColors
ليبدأ من% 50 من اللون الأساسي بدلاً من %32.5.Chip/ToggleChip
- تمت إضافة عمليات تحميل زائدة لتعديل أشكال ChipChip/Button/ToggleButton
- تمت إضافة نمط جديد ذي خطوط خارجية إلى "الشرائح" و"الأزرار"، بالإضافة إلى عناصر جديدة قابلة للإنشاءOutlinedChip
وOutlinedButton
توفّرChip/Button
شفافًا مع حدود رفيعة.- البطاقة: تم تعديل التدرّجات التلقائية للبطاقات لتتوافق مع أحدث مواصفات تجربة المستخدم. تم تعديل
CardDefaults.cardBackgroundPainter
لتبدأ من% 30 من اللون الأساسي وتنتهي عند% 20 منonSurfaceVariant
(كانت سابقًا من% 20 إلى% 10 منonSurfaceVariant
). تم تغييرToggleChip.toggleChipColors
من تدرّج خطي بنسبة% 75 من لون الخلفية إلى% 32.5 من اللون الأساسي إلى% 0 من لون الخلفية إلى% 50 من اللون الأساسي. -
Button/ToggleButton
: تمت إضافة خصائص لتعديل أشكال الأزرار. - التصميم: تم تعديل عدد من الألوان التلقائية في
MaterialTheme
لتحسين إمكانية الوصول، لأنّ الألوان الأصلية لم يكن فيها تباين كافٍ، ما أدّى إلى صعوبة تمييز خلفيات الشرائح أو البطاقات أو الأزرار عن لون خلفية التصميم. InlineSlider/Stepper
: تمت إضافة أدوار الأزرار لكي تتمكّنTalkback
من التعرّف عليها كأزرار.- تم الآن ضبط موضع وحجم العنصر الأساسي
PositionIndicator
بحيث يشغل المساحة المطلوبة فقط. ويكون ذلك مفيدًا، على سبيل المثال، إذا تمت إضافة معلومات دلالية إليه، سيحصل TalkBack الآن على الحدود الصحيحةPositionIndicator
على الشاشة. CurvedText/TimeText
: تمت إضافةModifier.scrollAway
، ما يؤدي إلى تمرير عنصر عموديًا إلى داخل/خارج إطار العرض، استنادًا إلى حالة التمرير (مع عمليات التحميل الزائد للعمل معColumn
وLazyColumn
وScalingLazyColumn
). يتم استخدامScrollAway
عادةً لتمريرTimeText
خارج إطار العرض عندما يبدأ المستخدم في تمرير قائمة بالعناصر للأعلى.CurvedText/TimeText
: تمت إضافة دعمfontFamily
وfontStyle
وfontSynthesis
فيCurvedTextStyle
، ويمكن استخدامها علىcurvedText
وbasicCurvedText
-
CurvedText/TimeText
: تمت إضافةfontWeight
إلى الدالة الإنشائية ودالة النسخ فيCurvedTextStyle
ToggleControls
: تمت إضافة عناصر تحكّم متحركة لتفعيلCheckbox
وSwitch
وRadioButton
أو إيقافها لاستخدامها معToggleChip
وSplitToggleChip
. يمكن استخدامها بدلاً من الرموز الثابتة التي يوفّرهاToggleChipDefaults
(switchIcon
وcheckboxIcon
وradioIcon
).- عنصر نائب: تمت إضافة ميزة تجريبية لاستخدام العناصر النائبة. يتضمّن هذا الفلتر ثلاثة تأثيرات مرئية مختلفة مصمّمة للعمل معًا.
- أولاً، تأثير فرشاة الخلفية النائبة المستخدَم في الحاويات، مثل "الشرائح" و"البطاقات"، للرسم فوق الخلفية العادية عند انتظار تحميل المحتوى.
- ثانيًا، أضِف أداة تعديل (
Modifier.placeholder()
) لرسم عنصر نائب على شكل ملعب فوق المحتوى الذي يتم تحميله. - ثالثًا، تأثير التدرّج اللوني/التلألؤ المعدِّل (
Modifier.placeholderShimmer()
) الذي يتم رسمه فوق المؤثرات الأخرى للإشارة إلى المستخدمين بأنّنا ننتظر تحميل البيانات.- تم تصميم كل هذه التأثيرات لتكون منسّقة وتتألق وتتلاشى بطريقة منظّمة.
- تم تعديل التبعيات الأساسية في Compose من الإصدار 1.2 إلى الإصدار 1.3
تغييرات واجهة برمجة التطبيقات
- يمكن الآن تحديد مَعلمات الخط (
fontFamily
وfontWeight
وfontStyle
وfontSynthesis
) مباشرةً كمَعلماتcurvedText
(Idc422)
إصلاح الأخطاء
- ستعمل الآن الرمزان
curveText
وbasicCurvedText
بشكل صحيح مع TalkBack (يحتويان على عقدة compose-ui بحجم وموضع مناسبَين (ولكن فارغة) مرتبطة بهما، باستخدام النص كوصف للمحتوى) (I7af7c، b/210721259) - تم إصلاح الخطأ في
Picker
عندPickerState.repeatedItems = false
لإضافة إعداد صريح لمعلَمات autoCentering فيScalingLazyColumn
الداخلي لأدوات الاختيار لضمان إمكانية تمرير الخيار الأول إلى منتصف العرض. (I8a4d7)
الإصدار 1.1.0-alpha07
5 أكتوبر 2022
تم إصدار androidx.wear.compose:compose-foundation:1.1.0-alpha07
وandroidx.wear.compose:compose-material:1.1.0-alpha07
وandroidx.wear.compose:compose-navigation:1.1.0-alpha07
. يتضمّن الإصدار 1.1.0-alpha07 هذه التعديلات.
الميزات الجديدة
- أضفنا ميزة تجريبية تتيح استخدام العناصر النائبة. يتضمّن هذا الفلتر ثلاثة تأثيرات مرئية مختلفة مصمّمة للعمل معًا. أولاً، تأثير فرشاة الخلفية النائبة المستخدَم في الحاويات، مثل "الشرائح" و"البطاقات"، للرسم فوق الخلفية العادية عند انتظار تحميل المحتوى. ثانيًا، أضِف أداة تعديل (
Modifier.placeholder()
) لرسم عنصر نائب على شكل ملعب فوق المحتوى الذي يتم تحميله. ثالثًا، تأثير التدرّج اللوني/التلألؤ المعدِّل (Modifier.placeholderShimmer()
) الذي يتم رسمه فوق المؤثرات الأخرى للإشارة إلى المستخدمين بأنّنا ننتظر تحميل البيانات. تم تصميم كل هذه التأثيرات لتكون منسّقة وتتألق وتتلاشى بطريقة منظّمة. (I3c339)
تغييرات واجهة برمجة التطبيقات
- تمت إضافة دعم للغات
fontWeight
وfontFamily
وfontStyle
وfontSynthesis
فيCurvedTextStyle
، ويمكن استخدامها علىcurvedText
وbasicCurvedText
. يمكن استخدام هذه المَعلمات لتحديد الخط والنمط المطلوب استخدامهما في النص المنحني.(Iaa1a8),(I72759) - تم تعديل مَعلمة الإزاحة في
Modifier.scrollAway
إلى Dp لتكون متوافقة معModifier.offset
(كانت سابقًا بالبكسل). تم أيضًا إعادة تصميمها كـLayoutModifier
لتحسين الكفاءة. (I9f94b) - في إطار واجهة برمجة التطبيقات الجديدة لعناصر التحكّم في أزرار التبديل، أعدنا تسمية
RadioButton’s circleColor
إلىringColor
. (I28fa9) - أضفنا عناصر تحكّم متحركة لتفعيل وإيقاف
Checkbox
وSwitch
وRadioButton
لاستخدامها معToggleChip
وSplitToggleChip
. يمكن استخدامها بدلاً من الرموز الثابتة التي توفّرهاToggleChipDefaults
(switchIcon
وcheckboxIcon
وradioIcon
). (I8a8c4)
الإصدار 1.1.0-alpha06
21 سبتمبر 2022
تم إصدار androidx.wear.compose:compose-foundation:1.1.0-alpha06
وandroidx.wear.compose:compose-material:1.1.0-alpha06
وandroidx.wear.compose:compose-navigation:1.1.0-alpha06
. يتضمّن الإصدار 1.1.0-alpha06 هذه التعديلات.
الميزات الجديدة
- أضفنا
Modifier.scrollAway
، الذي ينقل عنصرًا عموديًا إلى داخل/خارج إطار العرض، استنادًا إلى حالة التمرير (مع عمليات التحميل الزائد للعمل معColumn
وLazyColumn
وScalingLazyColumn
). يُستخدَمScrollAway
عادةً لنقلTimeText
خارج إطار العرض عندما يبدأ المستخدم في تمرير قائمة العناصر للأعلى. (I61766)
إصلاح الأخطاء
- تم الآن ضبط موضع
PositionIndicator
وحجمه بحيث يشغل المساحة المطلوبة فقط. ويكون ذلك مفيدًا، على سبيل المثال، إذا تمت إضافة معلومات دلالية إليه، سيحصل TalkBack الآن على الحدود الصحيحةPositionIndicator
على الشاشة. (Ie6106، b/244409133)
الإصدار 1.1.0-alpha05
7 أيلول (سبتمبر) 2022
تم إصدار androidx.wear.compose:compose-foundation:1.1.0-alpha05
وandroidx.wear.compose:compose-material:1.1.0-alpha05
وandroidx.wear.compose:compose-navigation:1.1.0-alpha05
. يتضمّن الإصدار 1.1.0-alpha05 هذه التعديلات.
إصلاح الأخطاء
- تمت إضافة أدوار الأزرار إلى
InlineSlider
وStepper
ليتمكّن TalkBack من التعرّف عليهما كزرَّين. (Icb46c، b/244260275) - لقد صحّحنا ترتيب العناصر في محور z لمؤشّري الموضع والصفحة في Scaffold. ستظهر المؤشرات الآن فوق الصورة المصغّرة، وبالتالي لن تحجبها الصورة المصغّرة إذا كانت معروضة. (Ib988f، b/244207528)
الإصدار 1.1.0-alpha04
24 أغسطس 2022
تم إصدار androidx.wear.compose:compose-foundation:1.1.0-alpha04
وandroidx.wear.compose:compose-material:1.1.0-alpha04
وandroidx.wear.compose:compose-navigation:1.1.0-alpha04
. يتضمّن الإصدار 1.1.0-alpha04 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد عدّلنا عددًا من الألوان التلقائية في MaterialTheme لتحسين إمكانية الوصول، لأنّ الألوان الأصلية لم يكن فيها تباين كافٍ، ما أدّى إلى صعوبة تمييز خلفيات الشرائح/البطاقات/الأزرار عن لون خلفية المظهر. الألوان المعدَّلة هي surface(0xFF202124->0xFF303133) وonPrimary(0xFF202124->0xFF303133) وonSecondary(0xFF202124->0xFF303133) وprimaryVariant(0xFF669DF6->0xFF8AB4F8) وonError(0xFF202124->0xFF000000). على الرغم من أنّ التغييرات في الألوان طفيفة نسبيًا، إلا أنّها قد تؤثّر في اختبارات لقطات الشاشة الحالية. (81ab09)
إصلاح الأخطاء
- إصلاح خطأ منطقي في
ScalingLazyColumn
كان يمكن أن يؤدي إلى عدم اكتمال تهيئة القوائم التي تتضمّن عددًا صغيرًا من عناصر القائمة (عادةً عنصران بالضبط)، وبالتالي تصبح القوائم شفافة. (504347)
الإصدار 1.1.0-alpha03
10 أغسطس 2022
تم إصدار androidx.wear.compose:compose-foundation:1.1.0-alpha03
وandroidx.wear.compose:compose-material:1.1.0-alpha03
وandroidx.wear.compose:compose-navigation:1.1.0-alpha03
. يتضمّن الإصدار 1.1.0-alpha03 هذه التعديلات.
الميزات الجديدة
- أضفنا نمطًا جديدًا محدّدًا بخطوط خارجية لـ
Chips
وButtons
، بالإضافة إلى عناصرOutlinedChip
وOutlinedButton
الجديدة القابلة للإنشاء التي توفّرChip/Button
شفافة مع حدود رفيعة. (Id5972)
تغييرات واجهة برمجة التطبيقات
- تمت إضافة عمليات تحميل زائدة لتعديل أشكال الأزرار (Icccde)
إصلاح الأخطاء
- لقد صحّحنا حجم مساحة عنصر التحكّم في التبديل في
ToggleChip
لأنّه لم يكن مطابقًا لمواصفات تجربة المستخدم. تتطلّب مواصفات تجربة المستخدم مساحة فاصلة تبلغ 4 بكسل مستقل الكثافة بين التصنيف ومساحة رمز عنصر التحكّم في التبديل التي تبلغ 24x24 بكسل مستقل الكثافة، ما يمنح عرضًا إجماليًا يبلغ 28 بكسل مستقل الكثافة. ومع ذلك، يمنح التنفيذ بشكل غير صحيح مساحة تحكّم في زر التبديل بحجم 36x24.dp. يؤدي ذلك إلى إزالة 8 وحدات بكسل مستقلة من مساحة تصنيف النص القابلة للاستخدام. ملاحظة: يوفّر إصلاح الخطأ هذا مساحة إضافية للتسمية النصية، ونتيجةً لذلك، يمكن أن يؤثر (بشكل إيجابي) في تخطيط النص الذي يتجاوز المساحة المخصّصة له. إذا كانت لديك اختبارات لقطات شاشة تتضمّنToggleChips
، قد تحتاج إلى تعديلها. (I514c8، b/240548670)
الإصدار 1.1.0-alpha02
27 يوليو 2022
تم إصدار androidx.wear.compose:compose-foundation:1.1.0-alpha02
وandroidx.wear.compose:compose-material:1.1.0-alpha02
وandroidx.wear.compose:compose-navigation:1.1.0-alpha02
. يتضمّن الإصدار 1.1.0-alpha02 هذه التعديلات.
الميزات الجديدة
- لقد بدّلنا التبعيات في Compose for Wear OS على مكتبات Compose الأساسية من الإصدار 1.2.0 إلى الإصدار 1.3.0-alpha0X
تغييرات واجهة برمجة التطبيقات
- تمت إضافة تحميلات زائدة لتعديل أشكال الشرائح (I02e87)
إصلاح الأخطاء
- لقد أضفنا صورًا متحركة إلى مستوى ظهور الصورة المصغّرة عند عرض/إخفاء مربّع الحوار، وذلك ليتوافق مع الصورة المتحركة الحالية الخاصة بتغيير الحجم. (Ida33e)
- أصلحنا خطأ كان يؤدي إلى حدوث قسمة على صفر مع بعض سلوكيات التمرير السريع عند التنقّل. (I86cb6)
- تم إصلاح خطأ في
ChipDefaults.childChipColor()
لضمان أن يكون لون الخلفية غير المفعَّل شفافًا تمامًا. (I2b3c3، b/238057342)
الإصدار 1.1.0-alpha01
29 يونيو 2022
تم إصدار androidx.wear.compose:compose-foundation:1.1.0-alpha01
وandroidx.wear.compose:compose-material:1.1.0-alpha01
وandroidx.wear.compose:compose-navigation:1.1.0-alpha01
. يتضمّن الإصدار 1.1.0-alpha01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- يتم الآن استخدام المَعلمة
contentDescription
الخاصة بأداة الاختيار فقط لخيار أداة الاختيار المحدّد، وتتلقّى سلسلة قابلة للتصغير (في السابق، كان من الضروري تمرير عملية ربط من الخيار إلى وصف المحتوى، ولكن تم استخدام الخيار المحدّد فقط). (Ife6a7) - أجرينا تحسينات على ميزة "أداة الاختيار" لتسهيل استخدامها، ما يتيح التنقّل في شاشات "أداة الاختيار المتعدد" باستخدام برامج قراءة الشاشة وإمكانية الوصول إلى وصف المحتوى (I64edb).
إصلاح الأخطاء
- لقد عدّلنا قواعد ملفات تعريف خط الأساس المضمّنة في مكتبة Wear Compose (I9c694).
- لقد صحّحنا اتجاه التدرّج اللوني في "الشرائح" في وضع "من اليمين إلى اليسار". كانت من أعلى اليمين إلى أسفل اليسار، وأصبحت الآن من أعلى اليسار إلى أسفل اليمين. (Ic2e77)
- عدّلنا التدرجات التلقائية في
Chip/ToggleChip/Card
لتتوافق مع أحدث مواصفات تجربة المستخدم، كما عدّلناChipDefaults.gradientBackgroundChipColors
ليبدأ من% 50 من اللون الأساسي بدلاً من %32.5. تم تعديلCardDefaults.cardBackgroundPainter
ليبدأ من% 30 من اللون الأساسي وينتهي عند% 20 منonSurfaceVariant
(كانت النسبة سابقًا من% 20 إلى% 10 منonSurfaceVariant
). تم تغييرToggleChip.toggleChipColors
من تدرّج خطي بنسبة% 75 من لون الخلفية إلى% 32.5 من اللون الأساسي إلى% 0 من لون الخلفية إلى% 50 من اللون الأساسي. (I43bbd) - أضفنا لون خلفية (
MaterialTheme.color.surface
) خلفChip/ToggleChips
التي تحتوي على خلفيات متدرّجة الألوان لضمان ظهورها بشكل صحيح في حال استخدام لون فاتح خلفها. (Ibe1a4، b/235937657) - أصبحت عناصر أداة الاختيار الآن محاذية دائمًا للوسط، ما يؤدي إلى إصلاح خطأ كان يحدث عند ضبط
gradientRatio
على صفر، وهو تغيير المحاذاة. (I712b8)
الإصدار 1.0
الإصدار 1.0.2
7 أيلول (سبتمبر) 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.2
وandroidx.wear.compose:compose-material:1.0.2
وandroidx.wear.compose:compose-navigation:1.0.2
. يتضمّن الإصدار 1.0.2 هذه التعديلات.
إصلاح الأخطاء
- لقد صحّحنا ترتيب العناصر في محور z لمؤشّري الموضع والصفحة في Scaffold. ستظهر المؤشرات الآن فوق الصورة المصغّرة، وبالتالي لن تحجبها الصورة المصغّرة إذا كانت معروضة. (Ib988f، b/244207528)
الإصدار 1.0.1
24 أغسطس 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.1
وandroidx.wear.compose:compose-material:1.0.1
وandroidx.wear.compose:compose-navigation:1.0.1
. يتضمّن الإصدار 1.0.1 هذه التعديلات.
إصلاح الأخطاء
- إصلاح خطأ منطقي في
ScalingLazyColumn
كان يمكن أن يؤدي إلى عدم اكتمال تهيئة القوائم التي تتضمّن عددًا صغيرًا من عناصر القائمة (عادةً عنصران بالضبط)، وبالتالي تصبح القوائم شفافة. (076c61)
الإصدار 1.0.0
27 يوليو 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0
وandroidx.wear.compose:compose-material:1.0.0
وandroidx.wear.compose:compose-navigation:1.0.0
. يتضمّن الإصدار 1.0.0 هذه التعديلات.
الميزات الرئيسية في الإصدار 1.0.0
- هذا هو الإصدار الثابت الأول من Compose for Wear OS (مزيد من المعلومات).
- تستند Compose for Wear OS إلى مكتبات Compose الأساسية، وتوفّر مكوّنات إضافية خاصة بالأجهزة القابلة للارتداء، كما توفّر، عند الاقتضاء، عمليات تنفيذ بديلة لمكوّنات Compose الأساسية مصمَّمة خصيصًا للأجهزة القابلة للارتداء.
- للاطّلاع على قائمة بالمكوّنات الرئيسية في Wear Compose، راجِع ملاحظات الإصدار (Compose for Wear OS Beta01).
إصلاح الأخطاء
- لقد أضفنا صورًا متحركة إلى مستوى ظهور الصورة المصغّرة عند عرض/إخفاء مربّع الحوار، وذلك ليتوافق مع الصورة المتحركة الحالية الخاصة بتغيير الحجم. (Ida33e)
- أصلحنا خطأ كان يؤدي إلى حدوث قسمة على صفر مع بعض سلوكيات التمرير السريع عند التنقّل. (I86cb6)
- تم إصلاح خطأ في
ChipDefaults.childChipColor()
لضمان أن يكون لون الخلفية غير المفعَّل شفافًا تمامًا. (I2b3c3، b/238057342)
الإصدار 1.0.0-rc02
22 يونيو 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-rc02
وandroidx.wear.compose:compose-material:1.0.0-rc02
وandroidx.wear.compose:compose-navigation:1.0.0-rc02
. يتضمّن الإصدار 1.0.0-rc02 هذه التعديلات.
إصلاح الأخطاء
- لقد صحّحنا اتجاه التدرّج اللوني للبطاقات في وضع الكتابة من اليمين إلى اليسار. كانت من أعلى اليسار إلى أسفل اليمين، وأصبحت الآن من أعلى اليمين إلى أسفل اليسار. (Ic2e77)
- عدّلنا التدرجات التلقائية في
Chip/ToggleChip/Card
لتتوافق مع أحدث مواصفات تجربة المستخدم، كما عدّلناChipDefaults.gradientBackgroundChipColors
ليبدأ من% 50 من اللون الأساسي بدلاً من %32.5. تم تعديل قيمةCardDefaults.cardBackgroundPainter
لتبدأ من% 30 من اللون الأساسي وتنتهي عند% 20 منonSurfaceVariant
(كانت سابقًا من% 20 إلى% 10 على SurfaceVariant). يتغيّرToggleChip.toggleChipColors
من تدرّج خطي بنسبة% 75 من السطح إلى% 32.5 من اللون الأساسي إلى% 0 من السطح إلى% 50 من اللون الأساسي. (I43bbd) - أضفنا لون خلفية (
MaterialTheme.color.surface
) خلفChip/ToggleChips
التي تحتوي على خلفيات متدرّجة الألوان لضمان ظهورها بشكل صحيح في حال استخدام لون فاتح خلفها. (Ibe1a4، b/235937657) - لقد عدّلنا قواعد ملفات تعريف خط الأساس المضمّنة في مكتبة Wear Compose (I9c694).
الإصدار 1.0.0-rc01
15 يونيو 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-rc01
وandroidx.wear.compose:compose-material:1.0.0-rc01
وandroidx.wear.compose:compose-navigation:1.0.0-rc01
. يتضمّن الإصدار 1.0.0-rc01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- يتم الآن إنشاء الواجهات في مكتبات Compose باستخدام طرق الواجهة التلقائية في الإصدار 8 من حزمة تطوير البرامج (JDK) (I5bcf1).
إصلاح الأخطاء
- أزلنا طلب
fillMaxWidth()
الصريح من عنوان القائمة لأنّه غير ضروري ويمكن أن يؤدي إلى مشاكل إذا كانScalinglazyColumn
يحتوي على مزيج من مكوّناتListHeader()
وChip()
لأنّ العرض سيزداد أو ينقص عند التمرير سريعًا لعناصرListHeader
داخل أو خارج إطار العرض. (I37144، b/235074035) - لقد أصلحنا خطأً في
ScalingLazyColumn
كان يمكن أن يؤدي إلى عدم عرض عناصر القائمة بشكل صحيح إلى أن يتم التمرير إذا كان عنصر القائمة رقم 0 كبيرًا بما يكفي (بما في ذلك المساحة المتروكة) (Ic6159، b/234328517) - أجرينا تعديلاً بسيطًا على
ScalingLazyColumn
التباطؤ عند وصول العناصر إلى حافة الشاشة ليتوافق مع آخر تحديثات مواصفات تجربة المستخدم. القيم القديمةCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)
-> القيم الجديدةCubicBezierEasing(0.3f, 0f, 0.7f, 1f)
للحفاظ على السلوك القديم، يمكنك تجاهلscalingParams
ScalingLazyColumn
(Ie375c). - أضفنا مساحة متروكة إلى
CompactChip
للتأكّد من أنّ حجم هدف النقر يبلغ 48 بكسل مستقل الكثافة على الأقل، وذلك لاستيفاء إرشادات تسهيل الاستخدام في Material. قد يؤثّر ذلك في أي تنسيقات تستخدمCompactChips
لأنّها ستشغل مساحة إضافية. (I3d57c)
الإصدار 1.0.0-beta03
1 يونيو 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-beta03
وandroidx.wear.compose:compose-material:1.0.0-beta03
وandroidx.wear.compose:compose-navigation:1.0.0-beta03
. يتضمّن الإصدار 1.0.0-beta03 هذه التعديلات.
الميزات الجديدة
- لقد أتحنا استخدام
ScalingLazyColumn
في وضع "إنشاء" في Compose@Preview
. (I3b3b6، b/232947354)
تغييرات واجهة برمجة التطبيقات
- لقد غيّرنا القيمة التلقائية للسمة
ScalingLazyColumn.horizontalAlignment
من "بدء" إلىCenterHorizontally
لضمان محاذاة عناصر القائمة عند عدم ملء العرض الكامل للعمود، وذلك لتحقيق أقصى قدر من الوضوح. للرجوع إلى مجموعة السلوك السابقةhorizontalAlignment = Alignment.Start
.(I9ed4b)
المشاكل المعروفة
- ارتفاع النقر/اللمس في CompactChip أصغر من إرشادات تسهيل الاستخدام في Material. سيتم تصحيح ذلك في الإصدار التالي (15 يونيو). إذا كنت تستخدم CompactChip، سيؤثّر ذلك في تخطيطاتك لأنّ CompactChips ستتضمّن الآن مساحة إضافية أعلى وأسفل. يُرجى تعديل تنسيقاتك واختبارها أو الاطّلاع على تعليقات الخطأ لمعرفة حلّ بديل لاستخدام السلوك الحالي. (b/234332135)
إصلاح الأخطاء
- عرض توضيحي جديد لتوضيح كيفية إضافة نص بدء أو إزالته على
TimeText
(I16d75) - إضافة اختبارات لـ
HorizontalPageIndicator.PagesState
(I64ed0) - تعديل
TimeText
ليكون أقرب إلى مواصفات تجربة المستخدم (Ib7ea1)
الإصدار 1.0.0-beta02
18 مايو 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-beta02
وandroidx.wear.compose:compose-material:1.0.0-beta02
وandroidx.wear.compose:compose-navigation:1.0.0-beta02
. يتضمّن الإصدار 1.0.0-beta02 هذه التعديلات.
الميزات الجديدة
- تستجيب أداة الاختيار الآن دائمًا لأحداث التمرير حتى عندما تكون في وضع القراءة فقط. يؤدي ذلك إلى تجنُّب حاجة المستخدمين إلى اختيار أداة اختيار أولاً من خلال النقر عليها، قبل أن يتمكّنوا من التمرير. في وضع القراءة فقط، يتم حجب الخيارات الأخرى غير المحدّدة حاليًا بواسطة طبقة وسيطة في
gradientColor
. (I72925) - لقد غيّرنا سلوك تجربة المستخدم في
Chip/ToggleChip/CompactChip/SplitToggleChip
لمنعهم من تنفيذfillMaxWidth
تلقائيًا. بدلاً من ذلك، ستتوسّع لتناسب محتواها. للحفاظ على السلوك السابق، ما عليك سوى إضافةmodifier = Modifier.fillMaxWidth()
(I60a2c، b/232206371)
إصلاح الأخطاء
- تتضمّن الدالة الإنشائية
CurvedTextStyle
الآن أيضًاTextStyle
(قد تتم إضافة ذلك إلى الدالة الإنشائية وطُرق النسخ في المراجعات المستقبلية لواجهة برمجة التطبيقات) (Ieebb9)fontWeight
- تحسينات على التمرير السريع من الحافة عند استخدام
Modifier.edgeSwipeToDismiss
وتفعيل التمرير سريعًا إلى اليسار من منطقة الحافة، لن يتم بعد ذلك تفعيل التمرير سريعًا للإغلاق عند تغيير اتجاه التمرير سريعًا إلى اليمين. في السابق، كان من الممكن تفعيل ميزة "التمرير السريع للإغلاق" من خلال التمرير سريعًا إلى اليسار ثم إلى اليمين.(I916ea) HorizontalPageIndicator
يعرض الآن ما يصل إلى 6 صفحات على الشاشة. إذا كان هناك أكثر من 6 صفحات إجمالاً، سيظهر مؤشر نصف الحجم على اليمين أو اليسار، مع انتقال سلس بين الصفحات.(I2ac29)- تحسين السلوك التلقائي للمحاذاة على
ScalingLazyColumn
وPicker
(I49539) - تحسينات على التمرير السريع من الحافة عند استخدام
Modifier.edgeSwipeToDismiss
، لا يتم تفعيل ميزة "التمرير سريعًا للإغلاق" إلا عند النقر أولاً على الحافة ثم التمرير سريعًا إلى اليسار. كان من الممكن سابقًا تفعيل ميزة "التمرير سريعًا للإغلاق" من خلال التمرير سريعًا من أي جزء من الشاشة إذا وصل التمرير إلى البداية.(I8ca2a)
الإصدار 1.0.0-beta01
11 مايو 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-beta01
وandroidx.wear.compose:compose-material:1.0.0-beta01
وandroidx.wear.compose:compose-navigation:1.0.0-beta01
. يتضمّن الإصدار 1.0.0-beta01 هذه التعديلات.
ميزات الإصدار 1.0 من Compose for Wear OS
يمثّل الإصدار 1.0.0-beta01
من Compose for Wear OS إنجازًا مهمًا، إذ إنّ المكتبة تتضمّن جميع الميزات وتم قفل واجهة برمجة التطبيقات.
تشمل مكوّنات Wear Compose Material في الإصدار 1.0 ما يلي:
- Material Theme: يُستخدَم كبديل عن
MaterialTheme
Compose for MobileMaterialTheme
، ويوفر الألوان والأشكال وأسلوب الخط لإنشاء مكوّنات على الأجهزة القابلة للارتداء التي تنفّذ إرشادات تجربة المستخدم في Wear Material Design بدون أي إعدادات إضافية. -
Button
وCompactButton
وToggleButton
: يوفّر الزرّ خانة واحدة لعرض رمز أو صورة أو نص قصير (3 أحرف كحد أقصى). دائري الشكل مع أحجام مقترَحة للأزرار التلقائية أو الكبيرة أو الصغيرة تقدّمCompactButton
موضعًا واحدًا لعرض أي محتوى (رمز أو صورة أو نص) ويكون شكله دائريًا بحجم خلفية صغير جدًا. يحتويCompactButton
على مساحة متروكة شفافة اختيارية حول الخلفية تزيد من مساحة النقر.ToggleButton
هو زر يوفّر خانة واحدة لاستيعاب أي محتوى (نص قصير أو رمز أو صورة) ويتضمّن حالتين (محدّد أو غير محدّد) مع تلوين ورموز مختلفة لتوضيح ما إذا كان محدّدًا أم لا - البطاقات: تُستخدَم لعرض معلومات حول التطبيقات، مثل الإشعارات. تصميم مرن لحالات الاستخدام المختلفة، حيث يوفّر
AppCard
وTitleCard
تنسيقات مختلفة ويتيحان استخدام الصور كمحتوى للبطاقات أو كخلفيات. - الشرائح: هي مكوّنات على شكل ملعب تشبه الأزرار، ولكنّها تتضمّن مساحة أكبر وفتحات متعدّدة للسماح بإضافة التصنيفات والتصنيفات الثانوية والرموز. بأحجام مختلفة مع إمكانية استخدام الصور كخلفيات
- ToggleChips وSplitToggleChips: شريحة تتضمّن حالة محدّدة أو غير محدّدة، بالإضافة إلى فتحة
ToggleControl
لعرض رمز، مثل مفتاح تبديل أو زر اختيار، لعرض الحالة المحدّدة للمكوّن. بالإضافة إلى ذلك، يحتوي الرمزSplitToggleChip
على منطقتَين يمكن النقر عليهما، إحداهما قابلة للنقر والأخرى قابلة للتبديل. - CircularProgressIndicator - مؤشر تقدّم Wear Material يتضمّن نوعَين مختلفَين. يعرض المقياس الأول نسبة إكمال مهمة قيد التنفيذ ويتيح وجود فجوة في المسار الدائري بين زاويتَي البدء والانتهاء. يشير المؤشر الثاني إلى تقدّم غير محدّد لمدة انتظار غير محدّدة.
- curvedText: يشكّل جزءًا من لغة DSL لوصف
CurvedLayouts
، بالإضافة إلىcurvedRow
وcurvedColumn
، وذلك لتصميم المكوّنات على الأجهزة الدائرية. راجِع القسم Wear Component Foundation أدناه لمعرفة المزيد من التفاصيل عنCurvedLayout
وCurvedModifier
(يؤدي هذا الدور وظيفة مشابهة لوظيفة Modifiers في التصميم غير المنحني ويسمح بإعداد جوانب مختلفة من التصميم، مثل المساحة المتروكة والتدرجات وما إلى ذلك). - مربّع الحوار والتنبيه والتأكيد: يعرض مربّع الحوار مربّع حوار بملء الشاشة، ويتم عرضه فوق أي محتوى آخر، ويتيح إمكانية إغلاقه عن طريق التمرير سريعًا. تأخذ هذه السمة خانة واحدة من المتوقّع أن تكون محتوى مربّع حوار Wear Material، مثل التنبيه أو التأكيد. التنبيه هو محتوى مربّع حوار يتضمّن آراء مع خانات للرمز والعنوان والرسالة. يحتوي على عمليات تحميل زائدة لزرّين سالبَين وموجبَين معروضَين جنبًا إلى جنب أو خانة لشريحة واحدة أو أكثر مكدّسة عموديًا. التأكيد هو محتوى مربّع حوار يتضمّن آراء ويعرض رسالة لمدة زمنية محدّدة. يتضمّن مساحة مخصّصة لرمز أو صورة (يمكن أن تكون متحركة).
- HorizontalPageIndicator: يعرض موضع الصفحة الأفقي بطريقة مناسبة لشكل الجهاز القابل للارتداء. تم تصميمها لتملأ الشاشة بالكامل وعرض مؤشر منحني على الأجهزة الدائرية. يمكن استخدامها مع عارض صفحات Accompanist.
- الرمز: هو تنفيذ لـ Icon على Wear يأخذ اللون والشفافية من "مظهر Wear Material". للحصول على أيقونة قابلة للنقر، اطّلِع على الزر أو الشريحة.
- أداة الاختيار: تعرض قائمة قابلة للتمرير تتضمّن عناصر يمكن الاختيار من بينها. سيتم تكرار العناصر "إلى ما لا نهاية" في كلا الاتجاهين تلقائيًا. يمكن عرضها في وضع القراءة فقط لإخفاء الخيارات غير المحدّدة.
- PositionIndicator: يعرض موضع التمرير أو أي إشارة موضعية أخرى بطريقة مناسبة لشكل الجهاز القابل للارتداء. تم تصميمها لتملأ الشاشة بالكامل وتعرض مؤشرًا منحنيًا على الأجهزة الدائرية.
- Scaffold: تنفِّذ هذه الفئة بنية التنسيق المرئي الأساسي في Wear Material Design. يوفّر هذا المكوّن واجهة برمجة تطبيقات لتجميع عدة مكوّنات من Wear Material (مثل
TimeText
وPositionIndicator
وVignette
) لإنشاء الشاشة، ما يضمن استراتيجية التنسيق المناسبة لها وجمع البيانات اللازمة لتعمل هذه المكوّنات معًا بشكل صحيح. - ScalingLazyColumn: مكوّن قائمة تمرير وتكبير/تصغير أو عين السمكة يشكّل جزءًا أساسيًا من لغة Wear Material Design. توفّر تأثيرات تغيير الحجم والشفافية لعناصر المحتوى. تم تصميم
ScalingLazyColumn
للتعامل مع أعداد كبيرة محتملة من عناصر المحتوى، والتي لا يتم إنشاؤها وتجميعها إلا عند الحاجة. - شريط التمرير: يتيح للمستخدمين إجراء اختيار من نطاق من القيم. يتم عرض نطاق الاختيارات كشريط يمكن عرضه اختياريًا مع فواصل.
- أداة اختيار الخطوات: هي عنصر بملء الشاشة يتيح للمستخدمين إجراء تحديد من مجموعة من القيم، وذلك باستخدام أزرار الزيادة/النقصان في أعلى الشاشة وأسفلها، مع توفير خانة في المنتصف لعرض نص أو شريحة.
- SwipeToDismissBox: يتعامل مع إيماءة التمرير السريع للإغلاق. يستخدِم هذا النوع خانة واحدة للخلفية (لا يتم عرضها إلا أثناء التمرير السريع) ومحتوى المقدمة. يمكن دمجه اختياريًا مع مكتبة التنقّل androidx باستخدام
SwipeDismissableNavHost
(راجِع مكتبة Wear Compose Navigation أدناه). - النص: تنفيذ لمكوّن "نص" في Compose Material على Wear، مع استخراج اللون والشفافية من "تصميم Wear المتعدد الأبعاد"
- TimeText: مكوّن لعرض الوقت وحالة التطبيق في أعلى الشاشة يتكيّف مع شكل الشاشة من خلال استخدام نص منحني على الشاشات الدائرية.
Vignette: هي طريقة عرض للشاشة تُستخدم في Scaffold وتعمل على تمويه الجزء العلوي والسفلي من الشاشة عند استخدام محتوى قابل للتمرير.
يتم أيضًا تضمين المكوّنات التالية من Wear Compose Foundation:
CurvedLayout - Wear Foundation
CurvedLayout
هو عنصر قابل للإنشاء في التصميم يضع العناصر الثانوية في قوس، ويديرها حسب الحاجة. يشبه ذلك تخطيط صف منحنيًا إلى جزء من حلقة. يُرجى العِلم أنّ محتوىCurvedLayout
ليس دالة lambda قابلة للإنشاء، بل هو لغة خاصة بالمجال (DSL). تتيح جميع العناصر في CurvedLayout DSL استخدام مَعلمة معدِّل اختيارية، يتم إنشاؤها منCurvedModifier
.basicCurvedText: عنصر في لغة تصميم
CurvedLayout
، يتيح للمطوّرين كتابة نص منحني بسهولة باتّباع انحناء الدائرة (عادةً على حافة شاشة دائرية).basicCurvedText
لا يمكن إنشاءbasicCurvedText
إلا داخلCurvedLayout
لضمان توفير أفضل تجربة، مثل إمكانية تحديد موضع الإعلان واستخدامCurvedModifiers
. يُرجى العِلم أنّه في معظم الحالات، يجب استخدام curvedText بدلاً من ذلك، لأنّه يستخدم تصميم Material.curvedComposable: يغلّف المحتوى العادي القابل للإنشاء حتى يمكن استخدامه مع
CurvedLayout
. إذا كانcurvedComposable
يحتوي على عدة عناصر في الداخل، سيتم رسمها فوق بعضها البعض (مثل المربّع). لوضع عدة عناصر قابلة للإنشاء على طول منحنى، عليك تضمين كل عنصر فيcurvedComposable
.curvedRow وcurvedColumn: يشبهان Row وColumn، ويمكن تضمين
curvedRow
وcurvedColumn
داخلCurvedLayout
لترتيب العناصر حسب الحاجة. بالنسبة إلىcurvedRow
، يمكن تحديد اتجاه التنسيق الزاوي والمحاذاة الشعاعية. بالنسبة إلىcurvedColumn
، يمكن تحديد المحاذاة الزاوية والاتجاه الشعاعي.CurvedModifier: تقبل جميع المكوّنات المنحنية مَعلمة معدِّل يمكن إنشاؤها باستخدام
CurvedModifier
. تتوفّر الخلفية والحجم والوزن والهوامش.يتم أيضًا تضمين المكوّن التالي من Wear Compose Navigation:
SwipeDismissableNavHost: توفّر مكانًا في التدرّج الهرمي لـ Compose لإتاحة التنقّل المستقل، مع إمكانية التنقّل للخلف من خلال إيماءة التمرير السريع. يتم عرض المحتوى ضمن
SwipeToDismissBox
، ما يشير إلى مستوى التنقّل الحالي. أثناء الإيماءة "التمرير السريع للإغلاق"، يظهر مستوى التنقّل السابق (إن وُجد) في الخلفية.راجِع ملاحظات الإصدار السابقة لمختلف إصدارات Alpha للحصول على مزيد من التفاصيل حول ما تم تقديمه.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة دوال
CurvedModifier.padding*
. تُستخدَم هذه السمة لتحديد مساحة إضافية سيتمّ إضافتها حول مكوّن منحني. (I4dbb4) - تمت إزالة الفئة الداخلية
CompositionLocal
(I42490) - أضفنا قيمًا ثابتة لأحجام الرموز
Button
وCompactButton
وToggleButton
، وذلك كإرشادات (I57cab) - أضِف المَعلمة enabled إلى
AppCard
وTitleCard
. تتوفّر الآن واجهة برمجة تطبيقات مشابهة لبطاقاتandroidx.compose.material
. عند ضبط المَعلمة على "خطأ"، لن يكون من الممكن النقر على البطاقة. (Idc48d، b/228869805)
إصلاح الأخطاء
- تؤدي أداة الاختيار الآن إلى إيقاف زرَي الإنقاص والزيادة عند بلوغ الحدّ الأدنى أو الأقصى (ويتم تطبيق ContentAlpha.disabled على iconColor) (I4be9f)
- أضفنا مساحة متروكة بحجم بكسل واحد حول محتوى أداة الاختيار عند رسمه باستخدام تدرّج لوني لمنع حدوث تشويش في النص عند التمرير سريعًا. (I0b7b9)
- إضافة اختبارات لقطات الشاشة للتطبيق
PositionIndicator
(I5e8bc) - إضافة المزيد من الاختبارات لـ
AppCard
وTitleCard
(I85391 وb/228869805)
الإصدار 1.0.0-alpha21
20 أبريل 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha21
وandroidx.wear.compose:compose-material:1.0.0-alpha21
وandroidx.wear.compose:compose-navigation:1.0.0-alpha21
. يتضمّن الإصدار 1.0.0-alpha21 هذه التعديلات.
الميزات الجديدة
- تمت إضافة معدِّلات منحنية جديدة لتحديد خلفية عنصر منحني:
CurvedModifier.background
و.radialGradientBackground
و.angularGradientBackground
(I8f392) - السماح بتحديد وضع تجاوز النص المنحني (قص/علامة حذف/مرئي). (I8e7aa)
- تمت إضافة المعدِّل
CurvedModifier.weight
، وهو مشابه للمعدِّل في Compose. يمكن استخدام ذلك مع العناصر التابعة لكل من curvedRow وCurvedLayout (بالنسبة إلى العرض) والعناصر التابعة لـ curvedColumn (بالنسبة إلى الارتفاع). (I8abbd) - تمت إضافة المعدّلات
CurvedModifier.size
و.angularSize
و.radialSize
لتحديد حجم عنصر منحني. (I623c7)
تغييرات واجهة برمجة التطبيقات
- إعادة ترتيب المَعلمات لضمان ظهور الخلفية قبل اللون بشكلٍ متّسق في جميع أنحاء Wear Compose API (I43208)
- تمت إزالة المَعلمتَين clockwise و
insideOut
واستبدالهما بثوابت أكثر تعبيرًا في الفئات الجديدة. يمكن الآن أن يكون اتجاه التنسيق المنحني على درايةLayoutDirection
، ويتم توريثه عند عدم تحديده (If0e6a). - لقد استبدلنا
autoCenter: Boolean
بـautoCenter: AutoCentringParams
من أجل حلّ مشكلة في واجهة برمجة التطبيقاتScalingLazyColumn
. (Ia9c90) - أعدنا تسمية
iconTintColor
وtoggleControlTintColor
إلىiconColor
وtoggleControlColor
في جميع أنحاء واجهة برمجة التطبيقات (Chip/ToggleChip/Dialog/Slider/Stepper/...) لأنّه يتم تطبيق اللون على خانة الرمز/toggleControl. (Ied238) - إعادة كتابة التعداد
PageIndicatorStyle
إلى فئة القيمة (I2dc72) - أضفنا
RowScope/ColumnScope/BoxScope
إلى بعض الخانات في عناصر Composables للإشارة إلى المطوّرين إلى افتراضات التصميم. سيسمح ذلك للمطوّرين باستخدام معدِّلات إضافية على بعض محتوى الخانات الإعلانية وتجنُّب الحاجة إلى توفير عناصر تخطيط إضافية. بالإضافة إلى ذلك، أجرينا بعض التعديلات البسيطة على ألوان AppCard/TitleCard، لذا سيتم ضبط القيم التلقائيةtimeColor
وappColor
علىcontentColor
، ويمكن إلغاء كل هذه الخصائص بشكل فردي إذا لزم الأمر. (I26b59) - جعل الكائن
SwipeToDismissBoxState.Companion
خاصًا (I39e84) - إصلاح ترتيب المَعلمات في
InlineSlider
وStepper
تعديل بسيط لاتّباع إرشادات واجهة برمجة التطبيقات (I11fec) - لقد أزلنا الكائن Saver من
SwipeToDismissBoxState
لأنّه لم يتم استخدامه. (Ifb54e) - لقد عدّلنا
CompactChip
ليتوافق مع أحدث مواصفات تجربة المستخدم. تم تقليل مساحة الحشو إلى أفقي = 12.dp وعمودي = 0.dp. تم تغيير خط التسمية من الزر إلى caption1. أحجام الرموز المقترَحة هي 20x20 عندما يتوفّر كل من الرمز والتصنيف، و24x24 لرقاقة مضغوطة تحتوي على رمز فقط. في حالة استخدام الرمز فقط، حرصنا أيضًا على أن يكون الرمز محاذيًا للوسط. (Iea2be) - أضفنا عددًا من الحقول الجديدة إلى
ScalingLazyListLayoutInfo
لتمكين المطوّرين من معرفة مقدارcontentPadding
وautoCenteringPadding
الذي تم تطبيقه. ويمكن أن تكون هذه القيم مفيدة للمطوّرين عند احتساب عمليات التمرير السريع/التمرير (I7577b). - لقد نفّذنا عمليات انتقال للظهور والاختفاء في مربّع الحوار. تمت إضافة المَعلمة
showDialog
وأصبح مربّع الحوار يتحكّم الآن في مستوى ظهوره (يتيح ذلك لمربّع الحوار تشغيل الرسوم المتحركة الخاصة بالمقدمة والخاتمة عند عرض مربّع الحوار أو إخفائه). يُرجى العِلم أنّه لا يتم تنفيذ الرسوم المتحركة الخاصة بالمشهد الختامي عندما يغادر المستخدم مربع الحوار من خلال التمرير سريعًا للإغلاق. أضفنا أيضًا قيمة تلقائية للحالة في عملية التحميل الزائدSwipeToDismissBox
التي تمت إضافتها مؤخرًا. (I682a0) - من أجل توفير دعم أفضل للتدويل وإمكانية الوصول، غيّرنا
ToggleChip
وSplitToggleChip
بحيث لم يعودا يتضمّنان قيمة تلقائية للخانةtoggleControl
. لقد غيّرنا أيضًاToggleChipDefaults
لكي تعرض الطرق التالية الآن ImageVector بدلاً من Icon (يُرجى العِلم أنّها لم تعُد تعرض @Composables، لذا تم تغييرها لتبدأ بحرف صغير)، وSwitchIcon()->switchIcon()
وCheckboxIcon->checkboxIcon()
وRadioIcon()->radioIcon()
، ما يتيح للمطوّرين إنشاء عناصرIcon()
قابلة للإنشاء مع مجموعةcontentDescription
مناسبة ويشجّعهم على ذلك. (I5bb5b) - أضفنا المَعلمة
SwipeDismissableNavHostState
إلىSwipeDismissableNavHost
. يتيح ذلك استخدام التمرير السريع من الحافة على الشاشات المستخدَمة كوجهات للتنقّل، لأنّه يمكن الآن رفعSwipeToDismissBoxState
واستخدامه لتهيئة كل منSwipeDismissableNavHostState
وModifier.edgeSwipeToDismiss
على الشاشات التي تتطلّب التمرير السريع من الحافة. (I819f5، b/228336555)
إصلاح الأخطاء
- تأكَّد من تعديل التصاميم المنحنية عند الحاجة. (Ie8bfa، b/229079150)
- إصلاح الخطأ https://issuetracker.google.com/issues/226648931 (Ia0a0a، b/226648931)
- تمت إزالة التعليقات التوضيحية التجريبية غير الضرورية (I88d7e)
الإصدار 1.0.0-alpha20
6 أبريل 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha20
وandroidx.wear.compose:compose-material:1.0.0-alpha20
وandroidx.wear.compose:compose-navigation:1.0.0-alpha20
. يتضمّن الإصدار 1.0.0-alpha20 هذه التعديلات.
الميزات الجديدة
- أضِف المعدِّل
edgeSwipeToDismiss
إلىSwipeToDismiss
. يسمح بتفعيلswipeToDismiss
على الحافة اليسرى من إطار العرض فقط. يتم استخدامها عندما يجب أن يكون مركز الشاشة قادرًا على التعامل مع التقسيم إلى صفحات أفقية، مثل التمرير ثنائي الأبعاد في "خرائط Google" أو التمرير سريعًا أفقيًا بين الصفحات.(I3fcec، b/200699800)
تغييرات واجهة برمجة التطبيقات
- تنفيذ أساسي لـ
CurvedModifiers
، ما يمهّد الطريق لتقديم طرق لتخصيص المحتوى المنحني (ولكن لم يتم توفير أيCurvedModifiers
حتى الآن، وقد تتوفّر إمكانية إنشاء معدِّلات مخصّصة في وقت لاحق) (I9b8df) - تعديل مستندات المعدِّلات والقيم التلقائية لتسهيل الفهم (I6d00d)
EdgeSwipe
- أضِف فتحة
PageIndicator
إلى Scaffold. من خلال إضافةPageIndicator
مباشرةً إلى Scaffold، يمكننا التأكّد من أنّه سيتم عرضه بشكل صحيح على الأجهزة الدائرية. (Ia6042) - إزالة الرموز التلقائية من المَعلمتَين
InlineSlider
وStepper سيساعد ذلك المطوّرين على الاهتمام بشكل أكبر بمتطلبات إمكانية الوصول والملاءمة مع اللغات المحلية. تم عرض استخدامات الأيقونات التلقائية في العروض التوضيحية والأمثلة. (I7e6fd) - استبدال أسماء المَعلمات Trailing وLeading بـ Start وEnd في TimeText (Iaac32)
- لقد أضفنا حمولة زائدة
SwipeToDismissBox
مع المَعلمةonDismissed
لدعم الاستخدام الشائع لتفعيل حدث تنقّل عند اكتمال إيماءة السحب. (I50353، b/226565726) - تمت إزالة
ExperimentalWearMaterialApi
تعليق توضيحي من استخدامTimeText
(Ide520) - لقد وضعنا علامة "مغلق" على نطاق
ScalingLazyList/Column
وواجهات المعلومات لأنّنا لا نريد أن ينفّذها المطوّرون الخارجيون، وسيسمح لنا ذلك بإضافة أعضاء جدد إليها في المستقبل بدون إجراء تغييرات غير متوافقة مع الإصدارات السابقة. (I7d99f) - أضفنا السمة الجديدة
flingBehaviour
إلى أداة الاختيار والطريقةPickerDefaults.flingBehaviour()
لتفعيل إعدادات سلوك النقل، مثل إضافة دعم RSB. تتضمّنPickerState
الآن واجهةScrollableState
. (Ib89c7)
إصلاح الأخطاء
- تعديل قواعد الملف الأساسي لوقت تشغيل Android (ART) لمكتبات Wear Compose يمكن أن يستفيد ART من قواعد الملف الشخصي على الأجهزة لتجميع مجموعة فرعية معيّنة من التطبيق مسبقًا من أجل تحسين أداء التطبيق. يُرجى العِلم أنّ هذا لن يؤثر في التطبيقات التي يمكن تصحيح أخطائها. (Iaa8ef)
- تحسين المستندات (I2c051)
الإصدار 1.0.0-alpha19
23 مارس 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha19
وandroidx.wear.compose:compose-material:1.0.0-alpha19
وandroidx.wear.compose:compose-navigation:1.0.0-alpha19
. يتضمّن الإصدار 1.0.0-alpha19 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية
CurvedRow
إلىCurvedLayout
، وإعادة صياغتها لتصبح نطاقًا مع لغة خاصة بالمجال. باستخدام لغة DSL هذه، يمكن تحديد تصاميم منحنية أكثر تعقيدًا باستخدام سلسلة منcurvedRow
وcurvedColumn
المتداخلة (وهي مكافئات التصميم المنحني لـ Row وColumn). يمكن استخدام ثلاثة عناصر داخل عناصر التنسيق هذه:curvedComposable
(لإضافة أي @Composable) وbasicCurvedText
(نص منحني أساسي) وcurvedText
(نص منحني متوافق مع تصميم Wear). (Ib776a) - إتاحة إمكانية ضبط جهة ظهور
PositionIndicator
يمكن الآن ضبط موضع PositionIndicator الأساسي على "النهاية" (مراعيًا اتجاه التنسيق)، أو OppositeRsb (يأخذ في الاعتبار دوران الشاشة، ليتم وضعه في موضع مقابل لزر RSB الفعلي)، أو الموضعين المطلقين "يسار" و"يمين". (I2f1f3) - بالنسبة إلى
SwipeToDismissBox
، أعدنا تسميةSwipeDismissTarget
.Original إلىSwipeToDismissValue.Default
وSwipeDismissTarget.Dismissal
إلىSwipeToDismissValue.Dismissed
. نقلنا أيضًاSwipeToDismissBoxDefaults.BackgroundKey
وSwipeToDismissBoxDefaults.ContentKey
إلىSwipeToDismissKeys.Background
وSwipeToDismissKeys.Content
على التوالي. (I47a36) - أضفنا وضع القراءة فقط إلى أداة الاختيار، وذلك للشاشات التي تتضمّن أدوات اختيار متعدّدة يمكن تعديل واحدة منها فقط في كل مرة. عندما يكون أداة الاختيار للقراءة فقط، تعرض الخيار المحدّد حاليًا، وتصنيفًا إذا تم توفيره. (I879de)
- تمت إعادة تصميم
SwipeToDismissBoxState
لحصر نطاقExperimentalWearMaterialApi
علىModifier.swipeable
وSwipeableState
، اللذين يتم استخدامهما الآن داخليًا. يتضمّنSwipeToDismissBoxState
الآن الأعضاءcurrentValue
وtargetValue
وisAnimationRunning
وsnapTo
لدعم حالات الاستخدام الشائعة. يُرجى إعلامنا إذا كنت بحاجة إلى توفير أي سمات أخرى. تم أيضًا إصلاح سلوكSwipeableState
في حال كان إزاحة التمرير السريع ضمن خطأ تقريب لمرساة. (I58302)
إصلاح الأخطاء
- تم تبسيط الرمز البرمجي وإصلاحه لرصد ما إذا كان يمكن الانتقال إلى محتوى
ScalingLazyColumn
(يُستخدم لتحديد ما إذا كنا سنعرض شريط تمرير أم لا) (I7bce0) - تم إصلاح خطأ في "مؤشر الموضع" عند استخدامه مع أكثر من حالة واحدة والتبديل بينها (I320b5)
- لقد عدّلنا الخطوط/الكتابة في المظهر التلقائي لـ Compose for Wear OS ليتوافق مع أحدث إرشادات تجربة المستخدم. تجدر الإشارة إلى أنّ حجم الخط display1 (40.sp) وdisplay2 (34.sp) أصبح أصغر من القيم السابقة، كما تم إجراء العديد من التعديلات الطفيفة الأخرى على ارتفاع السطر والمسافة بين الأسطر. (Ie3077)
- لقد أضفنا مقاومة لعملية
SwipeToDismissBox
لكي لا تحدث الحركة إلا عند التمرير سريعًا لإغلاق الإشعار وليس في الاتجاه المعاكس. (Ifdfb9) - لقد غيّرنا بعض قيم المَعلمات التلقائية للدوال
CircularProgressIndicator
لتتوافق مع إرشادات تجربة المستخدم في Wear Material Design. بالنسبة إلى إصدار Spinner/Indeterminant، تم تعديل الحجم (40->24.dp) وindicatorColor (primary->onBackground) وشفافية trackColor (30%->10%) وعرض الخط (4->3dp). بالنسبة إلى إصدار "شريط التقدم"/"شريط التقدم المحدد"، تم تعديل شفافية trackColor (من %30 إلى %10). (I659cc) - عدّلنا مَعلمات التحجيم التلقائية لـ
ScalingLazyColumn
بما يتوافق مع أحدث مواصفات تجربة المستخدم في "التصميم المتعدد الأبعاد" على Wear. يؤدي ذلك إلى بدء تغيير حجم عناصر القائمة لتصبح أقرب إلى مركز القائمة، ولكن مع تغيير حجم أقل عند حافة القائمة مقارنةً بالسابق. (Ica8f3) - بعض التعديلات على
ScalingLazyColumnDefaults.snapFlingBehavior
لتحسين نهاية الحركة (If3260)
الإصدار 1.0.0-alpha18
9 مارس 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha18
وandroidx.wear.compose:compose-material:1.0.0-alpha18
وandroidx.wear.compose:compose-navigation:1.0.0-alpha18
. يتضمّن الإصدار 1.0.0-alpha18 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم إجراء عدة تحسينات على PositionIndicator: تمت إعادة تسمية ShowResult إلى PositionIndicatorVisibility. بعض التحسينات على الأداء لتجنُّب إعادة الحسابات عند عدم الحاجة إليها (Iaed9d)
- تم تعديل الألوان المقترَحة لـ
SplitToggleChip
. تتضمّن عناصر SplitToggleChip الآن خلفية بلون ثابت عند تحديدها أو إلغاء تحديدها، ويكون لون ToggleControl هو المؤشر الأساسي لتحديد ما إذا كان العنصر محدّدًا أم لا. لقد أضفناToggleDefaults.splitToggleChipColors()
جديدًا ليتوافق مع نظام الألوان الجديد. لقد بسّطنا أيضًا طرقtoggleChipColors()
من خلال إزالة splitBackgroundOverlayColor (I7e66e) - أضفنا unadjustedSize إلى
ScalingLazyListItemInfo
لأنّه ليس من الآمن احتساب حجم العنصر الأصلي باستخدام الحجم المعدَّل وعامل القياس بسبب دقة العمليات الحسابية ذات الفاصلة العائمة. (I54657، b/221079441) - أضِف
HorizontalPageIndicator
. يمثّل هذا العنصر إجمالي عدد الصفحات وصفحة محدّدة. قد يكون خطيًا أو منحنيًا، وذلك حسب شكل الجهاز. يتيح هذا الخيار أيضًا استخدام شكل مؤشر مخصّص يحدّد طريقة عرض كل مؤشر بشكل مرئي. (Iac898) - لقد عدّلنا
PickerState
ليصبح بإمكانك تعديل قيمة numberOfOptions. يتيح ذلك حالات استخدام مثلDatePicker
، عندما يتغيّر عدد الأيام في الشهر استنادًا إلى الشهر المحدّد. تم تغيير مَعلمة الدالة الإنشائية PickerState إلى initialNumberOfOptions وفقًا لذلك. (Iad066) - إخفاء
PositionIndicator
عندما يكون شريط تمرير ولا يمكن التمرير. (Id0a7f) - لضمان التوافق مع Scaffold، يعرض مكوّن مربّع الحوار في وضع ملء الشاشة الآن
PositionIndicator
وVignette
. نستخدم الآن أيضًاScalingLazyColumn
بدلاً منColumn
، ما يعني أنّ محتوى مربّع الحوار أصبح الآن فيScalingLazyListScope
(ويجب عادةً أن يكون محاطًا بالعنصر { /* content */ }). يتوافق مربّع الحوار مع المَعلمة verticalArrangement وفقًا لذلك. (Idea13) - لقد غيّرنا اسم السمة toggleIcon في
ToggleChip
وSplitToggleChip
إلى toggleControl ليتوافق بشكل أفضل مع Material Design، وذلك لمساعدة المصمّمين والمطوّرين في التنقّل في واجهة برمجة التطبيقات. (If5921، b/220129803) - أضفنا إدخالاً جديدًا باسم caption3 إلى تصنيف Wear Material Theme.وcaption3 هو خط صغير يُستخدم في الكتابة الطويلة جدًا، مثل النصوص القانونية. (I74b13، b/220128356)
إصلاح الأخطاء
- إيقاف الصورة المتحركة الخاصة بالمحاذاة عند الوصول إلى المكان المطلوب (Idb69d)
- تحريك التغييرات في PositionIndicator (I94cb9)
- استنادًا إلى الملاحظات الواردة بشأن واجهة المستخدم وتجربة المستخدم، غيّرنا ميزة
ScalingLazyColumn
autoCentering لكي توفّر مساحة كافية فقط للتأكّد من إمكانية التمرير الكامل للعناصر التي تتضمّن الفهرسScalingLazyListState.initialCenterItemIndex
أو أعلى إلى وسط إطار العرض. يسمح هذا للمطوّرين بوضع عنصر أو عنصرَين في البداية في المنتصف لا يمكن الانتقال إليهما من خلال التمرير إلى الوسط. سيعني ذلك أنّه لن يكون بإمكانScalingLazyColumn
الذي يتم توسيطه تلقائيًا الانتقال للأعلى فوقinitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2). - أضفنا عرضًا توضيحيًا لأداة اختيار التاريخ، وأصلحنا خطأً في
PickerState
حيث لم يتم تطبيق initiallySelectedOption إلا بعد عرض أداة الاختيار. (Id0d7e) - للحدّ من اقتصاص عناصر
ScalingLazyColumn
الأوسع على الشاشات الدائرية، زدنا مساحة الحشو التلقائية للمحتوى الأفقي من 8 إلى 10 وحدات بكسل مستقلة عن الكثافة. (I0d609) - تأكَّد من ظهور
PositionIndicator
عند التمرير. (Ied9a2)
الإصدار 1.0.0-alpha17
23 فبراير 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha17
وandroidx.wear.compose:compose-material:1.0.0-alpha17
وandroidx.wear.compose:compose-navigation:1.0.0-alpha17
. يتضمّن الإصدار 1.0.0-alpha17 هذه التعديلات.
الميزات الجديدة
- أضفنا ميزة "التقاط الصور" التي يمكن استخدامها مع
ScalingLazyColumn
. اضبط القيمة علىflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)
لتفعيل ميزة "المحاذاة". (I068d3، b/217377069) - أضفنا عروضًا توضيحية لأداة الاختيار المستخدَمة لاختيار وقت بتنسيق 24 ساعة أو 12 ساعة. (Ie5552)
تغييرات واجهة برمجة التطبيقات
- حلّ مشكلة في
TimeText
الخطوط والأنماط المخصّصة على الجهاز المربّع (Iea76e) - يتضمّن
ScalingLazyListLayoutInfo
الآن السماتreverseLayout
وviewportSize
والاتجاه التي تتطابق مع تلك الواردة منLazyListLayoutInfo
(I4f258، b/217917020) - أصبحت
ScalingLazyColumn
تتضمّن الآن السمةuserScrollEnabled
التي تتطابق مع السمة منLazyList
(I164d0، b/217912513) - تتضمّن أدوات الاختيار الآن تدرّجًا لونيًا في الأعلى والأسفل تلقائيًا (Iab92a)
إصلاح الأخطاء
- لقد عدّلنا
ScalingLazyColumn
لكي لا يملأ كل المساحة في العنصر الأصل بشكل مفرط. بدلاً من ذلك، سيتم تحديد حجمها من حجم محتواها. ويجعل ذلك السلوك متوافقًا مع سلوكLazyColumn
. إذا أردت إعادة السلوك القديم، مرِّرModifier.fillMaxWidth()/width()/widthIn()
إلىScalingLazyColumn
(I51bf8). - لقد حسّنّا رسالة الخطأ في
SwipeDismissableNavHost.kt
التي يتم عرضها إذا كانت حزمة الخلف فارغة. (I1b1dc)
الإصدار 1.0.0-alpha16
9 فبراير 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha16
وandroidx.wear.compose:compose-material:1.0.0-alpha16
وandroidx.wear.compose:compose-navigation:1.0.0-alpha16
. يتضمّن الإصدار 1.0.0-alpha16 هذه التعديلات.
الميزات الجديدة
- أضِف
CircularProgressIndicator
. تعرض مؤشرات التقدم مدة عملية أو وقت انتظار غير محدّد. يتيح استخدام فجوة (فتحة) لعرض TimeText أو مكوّنات أخرى في حال استخدام وضع ملء الشاشة. (Iab8da)
تغييرات واجهة برمجة التطبيقات
- تتضمّن أدوات الاختيار الآن المَعلمة
flingBehavior
، وتجعل القيمة التلقائية هذه الأدوات تنطبق على الخيار الأقرب عند التمرير سريعًا أو التمرير. (I09000) - واجهة برمجة تطبيقات إضافية للأعداد الصحيحة من أجل InlineSlider وStepper (I1b5d6)
إصلاح الأخطاء
- لقد غيّرنا قيمة initialCenterItemIndex التلقائية في
ScalingLazyListState
من 0 إلى 1. هذا يعني أنّه ما لم يتم تجاهل ذلك عند إنشاء الحالة باستخدامScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
، سيتم وضع العنصر الثاني في القائمة (index == 1) في وسط نافذة العرض عند التهيئة، وسيتم وضع العنصر الأول (index == 0) قبله. يتيح ذلك الحصول على تأثير مرئي أفضل تلقائيًا لأنّ معظم إطار العرض سيتم ملؤه بعناصر القائمة. (I0c623، b/217344252) - لقد خفّضنا
ScalingLazyColumn
القيمة التلقائيةextraPadding
التي يتم توفيرها لضمان توفّر الكثير من عناصر القائمة التي يمكن الرسم منها (حتى عندما يتم تقليل حجم بعضها) من% 10 إلى %5. سيؤدي ذلك إلى تجنُّب إنشاء عناصر قائمة إضافية قد لا تظهر في إطار العرض. في حال استخدام scalingParams غير العادية (مثل التوسيع المفرط)، يمكن للمطوّر ضبط المساحة المتروكة الإضافية باستخدامviewportVerticalOffsetResolver
. (I76be4) - إصلاح مشكلة في TimeText على أسطر متعددة على جهاز مربّع (Ibd3fb)
- لقد عدّلنا
ScalingLazyColumn
لكي لا يملأ كل المساحة في العنصر الأصل بشكل مفرط. بدلاً من ذلك، سيتم تحديد حجمها من حجم محتواها. وهذا يجعلها متوافقة مع سلوكLazyColumn
. إذا أردت إعادة السلوك القديم، مرِّرModifier.fillMaxSize()
إلىScalingLazyColumn
- ملاحظة: هذا التغيير غير مكتمل وسيتم تناوله في تغيير لاحق في إصدار Alpha التالي. (I3cbfa)
الإصدار 1.0.0-alpha15
26 يناير 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha15
وandroidx.wear.compose:compose-material:1.0.0-alpha15
وandroidx.wear.compose:compose-navigation:1.0.0-alpha15
. يتضمّن الإصدار 1.0.0-alpha15 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضفنا السمة الجديدة
autoCentering
إلىScalingLazyColumn
. عندما تكون القيمة صحيحة (وهي القيمة التلقائية)، سيضمن ذلك إمكانية التمرير لجميع العناصر، بما في ذلك العنصران الأول والأخير، لتظهر في وسط إطار عرض القوائم. يُرجى العِلم أنّه في حال استخدام التوسيط التلقائي، من المحتمل أن تحتاج إلى ضبط مساحة الحشو العمودية للمحتوى على 0.dp. إذا تم توفير كلّ من autoCentering وvertical content padding، سيؤدي ذلك إلى توفير مساحة إضافية قبل العنصر الأول وبعد العنصر الأخير في القائمة، ما يتيح إمكانية التمرير إلى أبعد من ذلك. (I2a282، b/214922490) - أضفنا مكوّن
Dialog
يتيح لأي عنصر قابل للإنشاء تشغيل مربّع حوار بملء الشاشة يظهر فوق المحتوى الآخر. عند عرض مربّع الحوار، يتيح لك إغلاقه من خلال التمرير السريع، كما سيعرض محتوى العنصر الرئيسي في الخلفية أثناء تنفيذ إيماءة التمرير السريع. من المتوقّع أن يكون محتوى مربّع الحوارAlert
أوConfirmation
(تمت إعادة تسميته من المكوّنين السابقينAlertDialog
وConfirmationDialog
)، وكلّ منAlert
وConfirmation
وDialog
مضمّن في الحزمةandroidx.wear.compose.material.dialog
. يمكن استخدام التنبيه والتأكيد كوجهات للتنقّل. تمت أيضًا إضافة ColumnScope إلى مَعلمات التنبيه والتأكيد حسب الضرورة. (Ia9014) - أزلنا
onSurfaceVariant2
من ألوان تصميم Material في Compose for WearOS واستبدلنا الاستخدامات في المكتبة بـonSurfaceVariant
. (Icd592) - تمت إضافة طريقة لاختيار خيار في
PickerState
آليًا، ويمكن الآن أيضًا تحديد الخيار المحدّد في البداية عند إنشاءPickerState
. (I92bdf) - أتحنا إمكانية تخصيص سلوك الإيماءة السريعة
ScalingLazyColumn
. (I1ad2e، b/208842968) - لقد أضفنا
NavController.currentBackStackEntryAsState()
إلى مكتبةWear.Compose.Navigation
. (If9028، b/212739653) - تمت إضافة
Modifier.onRotaryScrollEvent()
وModifier.onPreRotaryScrollEvent()
لأجهزة Wear التي تحتوي على زر جانبي دوّار.(I18bf5، b/210748686)
الإصدار 1.0.0-alpha14
12 يناير 2022
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha14
وandroidx.wear.compose:compose-material:1.0.0-alpha14
وandroidx.wear.compose:compose-navigation:1.0.0-alpha14
. يتضمّن الإصدار 1.0.0-alpha14 هذه التعديلات.
الميزات الجديدة
أضفنا عددًا من الطرق إلى
ScalingLazyListState
للسماح للمطوّر بالتحكّم في الانتقال إلى عناصر قائمة معيّنة، بالإضافة إلى ضبط عنصر القائمة والإزاحة الأوليين.في إطار هذا التغيير، عدّلنا أيضًا ScalingLazyList ليكون موجّهًا حول منتصف إطار العرض الخاص بـ ScalingLazyList بدلاً من بداية إطار العرض.
تمت إضافة السمة الجديدة
anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
إلىScalingLazyList
للتحكّم في ما إذا كان يجب محاذاة المركز (ScalingLazyListAnchorType.ItemCenter
) أوEdge
(ScalingLazyListAnchorType.ItemStart
) مع خط الوسط في إطار العرض.نتيجةً لذلك، تغيّر كلّ من
ScalingLazyListItemInfo.offset
وScalingLazyListItemInfo.adjustedOffset
، وسيعكسان الآن موضع العنصر بالنسبة إلى كلّ من موضع عنصر القائمة وanchorType
القائمة. على سبيل المثال، بالنسبة إلىScalingLazyColumn
الذي يبلغanchorType
فيهItemCenter
وعنصر قائمة موضوع في منتصف خط المنتصف في إطار العرض، سيكون الإزاحة0
.الطُرق الجديدة هي
scrollTo
وanimatedScrollTo
وcenterItemIndex
وcenterItemOffset
. (I61b61)أضفنا معالج زر الرجوع إلى
SwipeDismissableNavHost
، بحيث يؤدي الضغط على زر الرجوع إلى الانتقال إلى المستوى السابق في التسلسل الهرمي للتنقّل. (I5b086، b/210205624)
الإصدار 1.0.0-alpha13
15 كانون الأول (ديسمبر) 2021
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha13
وandroidx.wear.compose:compose-material:1.0.0-alpha13
وandroidx.wear.compose:compose-navigation:1.0.0-alpha13
. يتضمّن الإصدار 1.0.0-alpha13 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد أجرينا
RangeIcons
داخليًا (يتم الرجوع إليه داخليًا من خلالInlineSlider
وStepper
). (I927ec)
إصلاح الأخطاء
تم إصلاح مشكلة كانت تؤدي إلى إضافة
SwipeDismissableNavHost
وجهة إلى التسلسل الهرمي لـ Compose قبل أن تصل إلى حالة دورة الحياةCREATED
، ما يؤدي إلى ظهور الخطأIllegalStateException
. كان هذا الإصلاح شرطًا أساسيًا لتعديل التبعية على الإصدارnavigation-compose
إلى الإصدار2.4.0-beta02
والإصدارات الأحدث. (I40a2b، b/207328687)تمت إضافة فئة تعداد Drawables للحصول على موارد قابلة للرسم ضمن مكتبة Wear Compose، وبالتالي لم يعُد هناك حاجة إلى الانعكاس. يحلّ هذا الإصلاح خطأً تم فيه إزالة عناصر قابلة للرسم من المكتبة عند استخدام
minifyEnabled=true
أوshrinkResources=true
). (Ib2a98)إضافة اختبارات
Stepper
في Wear Compose (I2d03a)تمت إضافة نماذج للرمز
SwipeDismissableNavHost
في Wear Compose Navigation. (I85f06)
الإصدار 1.0.0-alpha12
1 كانون الأول (ديسمبر) 2021
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha12
وandroidx.wear.compose:compose-material:1.0.0-alpha12
وandroidx.wear.compose:compose-navigation:1.0.0-alpha12
. يتضمّن الإصدار 1.0.0-alpha12 هذه التعديلات.
الميزات الجديدة
أضفنا مكوّن "الخطوات" الذي يتيح للمستخدمين الاختيار من بين مجموعة من القيم. عنصر التحكّم في الزيادة أو النقصان هو عنصر تحكّم بملء الشاشة يتضمّن زرَّي زيادة ونقصان في الأعلى والأسفل، وفتحة في المنتصف (من المتوقّع أن تتضمّن شريحة أو نصًا). يمكن تخصيص رموز الأزرار إذا لزم الأمر. (I625fe)
أضفنا عنصرَين جديدَين قابلَين للإنشاء لعرض مربّعات الحوار: ينتظر AlertDialog ردًا من المستخدم ويعرض عنوانًا ورمزًا ورسالة، بالإضافة إلى أ) زرَّين لخيارات بسيطة إيجابية/سلبية أو ب) شرائح أو شرائح تبديل مكدّسة عموديًا لخيارات أكثر مرونة، يعرض ConfirmationDialog إقرارًا بمهلة زمنية. يحتوي مربع الحوار البسيط هذا على خانات للعنوان والرمز (المتحرّك). (Ic2cf8)
تغييرات واجهة برمجة التطبيقات
- إضافة وحدات (بالمللي ثانية) إلى قيم مدة مربّع الحوار المقترَحة (I09b48)
الإصدار 1.0.0-alpha11
17 نوفمبر 2021
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha11
وandroidx.wear.compose:compose-material:1.0.0-alpha11
وandroidx.wear.compose:compose-navigation:1.0.0-alpha11
. يتضمّن الإصدار 1.0.0-alpha11 هذه التعديلات.
الميزات الجديدة
- أضفنا أداة اختيار تتيح للمستخدم اختيار عنصر من قائمة قابلة للتمرير. تتكرّر قائمة العناصر القابلة للاختيار تلقائيًا "إلى ما لا نهاية" في كلا الاتجاهين، وذلك لإعطاء انطباع عن أسطوانة دوّارة تُرى من الجانب. ستتم إضافة ميزتَين في الإصدارات اللاحقة: المحاذاة مع قيمة بعد التمرير السريع أو التحريك السريع، وإضافة دالة إلى PickerState لضبط القيمة الحالية أو الانتقال إليها. (I6461b)
تغييرات واجهة برمجة التطبيقات
- تمت إضافة ScalingLazyItemScope وبعض المعدِّلات الجديدة fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight للسماح بتحديد حجم عناصر القائمة استنادًا إلى حجم الحاوية الرئيسية. يمكن ضبط العناصر لملء كل حجم العنصر الأصل أو جزء منه. تعرض هذه السمة وظائف متاحة حاليًا في LazyRow/Column (I4612f).
- تمت إضافة إمكانية استخدام ScalingLazyColumn للسماح للعناصر بالحصول على مفتاح. تمت أيضًا إضافة طرق ملائمة للسماح بإضافة عناصر من المصفوفات والقوائم. (Ic1f89)
إصلاح الأخطاء
- أمثلة إضافية على TimeText (I8cb64)
الإصدار 1.0.0-alpha10
3 نوفمبر 2021
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha10
وandroidx.wear.compose:compose-material:1.0.0-alpha10
وandroidx.wear.compose:compose-navigation:1.0.0-alpha10
. يتضمّن الإصدار 1.0.0-alpha10 هذه التعديلات.
الميزات الجديدة
تمت إضافة InlineSlider لتطبيق Wear Compose. تتيح أداة InlineSlider للمستخدمين إجراء اختيار من نطاق من القيم. يظهر نطاق الاختيارات كشريط بين الحد الأدنى والحد الأقصى لقيم النطاق، ويمكن للمستخدمين اختيار قيمة واحدة من ذلك الشريط. (If0148)
يمكنك الاطّلاع على الدرس التطبيقي الجديد حول Compose لنظام التشغيل WearOS.
تغييرات واجهة برمجة التطبيقات
- يتضمّن Macrobenchmark الآن
minSdkVersion
بقيمة23
. (If2655)
إصلاح الأخطاء
- تعديل طريقة التعامل مع الانتقال في SwipeDismissableNavHost في SideEffect (I04994، b/202863359)
- تعديل طريقة التعامل مع الانتقالات في SwipeDismissableNavHost (I1cbe0، b/202863359)
الإصدار 1.0.0-alpha09
27 أكتوبر 2021
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha09
وandroidx.wear.compose:compose-material:1.0.0-alpha09
وandroidx.wear.compose:compose-navigation:1.0.0-alpha09
. يتضمّن الإصدار 1.0.0-alpha09 هذه التعديلات.
الميزات الجديدة
- لقد أطلقنا الإصدار التجريبي من Compose على Wear OS. يمكنك الاطّلاع على مشاركة المدونة التي تستعرض العناصر القابلة للإنشاء الرئيسية وتوفّر روابط لمزيد من الموارد لبدء استخدامها.
تغييرات واجهة برمجة التطبيقات
- أتحنا للمطوّرين إمكانية تخصيص جميع الألوان في تصميم Wear Material Design Color. (I4759b، b/199754668)
إصلاح الأخطاء
- تمت إضافة عيّنات SwipeToDismissBox التي تحتفظ بالحالة (Ibaffe)
- تمت إضافة روابط إلى أدلة developer.android.com من KDocs لكل من CurvedText وTimeText وSwipeToDismissBox. (I399d4)
- يُصدر SwipeDismissableNavHost الآن خطأً إذا لم تكن هناك وجهة حالية (يشير ذلك إلى أنّه لم يتم إنشاء NavGraph باستخدام الدالة المساعدة wear.compose.navigation.composable) (I91403).
- أضفنا مستندات وأمثلة إضافية حول استخدام مصدر الوقت في TimeText (I4f6f0)
الإصدار 1.0.0-alpha08
13 أكتوبر 2021
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha08
وandroidx.wear.compose:compose-material:1.0.0-alpha08
وandroidx.wear.compose:compose-navigation:1.0.0-alpha08
. يتضمّن الإصدار 1.0.0-alpha08 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لقد أعدنا تسمية سمات AppCard وTitleCard
body
إلىcontent
ونقلناها إلى نهاية قائمة السمات للسماح بتوفيرها كدالة لامدا لاحقة. تمت أيضًا إعادة تسميةbodyColor
إلىcontentColor
لضمان الاتساق مع أسماء الخانات الجديدة. (I57e78)
إصلاح الأخطاء
- تمت إضافة روابط إلى أدلة developer.android.com من KDocs الخاصة بمكوّنات الزر والبطاقة والشريحة والمظهر ومؤشر الموضع والعمود الكسول القابل للتوسيع. (I22428)
- تم إصلاح مشكلة عدم معالجة WearOS SwipeToDismissBox أحيانًا لعمليات التمرير السريع. (I9387e)
- تمت إضافة أمثلة على Button وCompactButton وChip وCompactChip وAppCard وTitleCard وToggleButton وToggleChip وSplitToggleChip (Iddc15)
- تمت إضافة اختبارات أداء للقياس الدقيق لكل من Card وChip وToggleChip وTimeText وScalingLazyColumn. (If2fe9)
الإصدار 1.0.0-alpha07
29 سبتمبر 2021
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha07
وandroidx.wear.compose:compose-material:1.0.0-alpha07
وandroidx.wear.compose:compose-navigation:1.0.0-alpha07
. يتضمّن الإصدار 1.0.0-alpha07 هذه التعديلات.
الميزات الجديدة
- تمت إضافة مكوّن CurvedText في Material، وهو مكوّن يتيح للمطوّرين كتابة نص منحني بسهولة باتّباع انحناء الدائرة (عادةً على حافة الشاشة الدائرية). (I19593)
تغييرات واجهة برمجة التطبيقات
- إضافة اختبارات لـ TimeText (Idfead)
- تحويل ArcPaddingValues إلى واجهة (Iecd4c)
- تمت إضافة صورة متحركة إلى SwipeToDismissBox (I9ad1b)
- تمت إضافة المَعلمة hasBackground إلى واجهة برمجة التطبيقات SwipeToDismissBox كي يمكن إيقاف الإيماءة "التمرير السريع للإغلاق" عندما لا يتوفّر محتوى في الخلفية لعرضه. (I313d8)
- تتلقّى السمة
rememberNavController()
الآن مجموعة اختيارية من مثيلاتNavigator
التي ستتم إضافتها إلىNavController
المعروضة من أجل توفير دعم أفضل لأدوات التنقّل الاختيارية، مثل تلك الواردة من مواد التنقّل المصاحبة. (I4619e) - الإشارة إلى NamedNavArgument من navigation-common وإزالة النسخة من wear.compose.navigation (I43af6)
إصلاح الأخطاء
- تم إصلاح مشكلة عدم الثبات في اختبار CurvedRow على الأجهزة الأصغر حجمًا. (If7941)
- تم إصلاح مشكلة التذبذب المحتملة في CurvedRow عند تعديل المحتوى، ويضمن إعادة قياس الصف المنحني (Ie4e06)
- تم تعديل ChipDefaults.gradientBackgroundChipColors() بما يتوافق مع التغييرات في مواصفات تجربة المستخدم. يبدأ التدرّج الآن بـ MaterialTheme.colors.primary مع ألفا بنسبة% 32.5 وينتهي بـ MaterialTheme.colors.surface مع ألفا بنسبة% 0 على خلفية MaterialTheme.colors.surface مع ألفا بنسبة% 75. (Id1548)
- عدّلنا ألوان ToggleChips عندما تكون في الحالة المحدّدة لتتوافق مع أحدث إرشادات مواصفات تجربة المستخدم في Wear Material Design. عند تحديد ToggleChips، ستتضمّن الآن خلفية متدرّجة من MaterialTheme.color.surface @ 0% alpha، أعلى اليمين، إلى MaterialTheme.color.primary @ 32% alpha، أسفل اليسار، على خلفية MaterialTheme.color.surface @ 75% alpha. يؤدي ذلك إلى اختلاف أكثر دقة بين حالة التحديد وعدم التحديد في ToggleChip. (Idd40b)
الإصدار 1.0.0-alpha06
15 سبتمبر 2021
تم إصدار androidx.wear.compose:compose-foundation:1.0.0-alpha06
وandroidx.wear.compose:compose-material:1.0.0-alpha06
وandroidx.wear.compose:compose-navigation:1.0.0-alpha06
. يتضمّن الإصدار 1.0.0-alpha06 هذه التعديلات.
الميزات الجديدة
- أضفنا Scaffold، وهو عنصر قابل للإنشاء على مستوى التطبيق الأعلى يوفر بنية للتعامل مع موضع PositionIndicators (مثل Scroll أو Volume)، ومساحة في أعلى الشاشة لعرض الوقت وحالة التطبيق، ويتوافق أيضًا مع Vignette لتشويش الحافة العلوية والسفلية للشاشة عند عرض محتوى قابل للتمرير. المنطقة الرئيسية في Scaffold هي المكان الذي يتم فيه وضع محتويات التطبيق. (I5e0bf)
- إضافة تنفيذ TimeText إلى Wear Compose (I5654c)
مكتبة التنقّل في Wear Compose
لقد أضفنا الإصدار الأول من مكتبة Wear Compose Navigation التي تتيح الدمج بين مكتبتَي Wear Compose وAndroidx Navigation. توفّر هذه المكتبة وسيلة بسيطة للتنقّل بين دوال @Composable كوجهات في تطبيقك.
يوفر هذا الإصدار الأوّلي ما يلي:
SwipeDismissableNavHost
عنصر قابل للإنشاء يستضيف الرسم البياني للتنقّل ويوفر إمكانية التنقّل للخلف من خلال إيماءات التمرير السريعNavGraphBuilder.composable
إضافة للمساعدة في إنشاء رسومات بيانية للتنقّلrememberSwipeDismissableNavController()
للسماح بنقل القيمة
مثال على الاستخدام حيث ننشئ شاشتين ونتنقّل بينهما:
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "start" ) { composable("start") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Button(onClick = { navController.navigate("next") }) { Text("Go") } } } composable("next") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Text("Swipe to go back") } } }
يتم تجميع Wear Compose Navigation كمكتبة منفصلة حتى لا تحتاج تطبيقات WearCompose البسيطة التي تنفّذ ميزة التنقّل الخاصة بها إلى الاعتماد على مكتبة Androidx Navigation.
تغييرات واجهة برمجة التطبيقات
- تم تعديل
SwipeDismissableNavHost
ليتوافق معrememberSaveable
من خلال ضبط معرّف المفتاح للخلفية والمحتوى (I746fd) - أضفنا أداة ربط PositionIndicator يمكنها التعامل مع LazyListState (I21b88).
- تم تعديل SwipeToDismissBox ليتوافق مع rememberSaveable (Ie728b)
- أضفنا إمكانية استخدام reverseLayout إلى ScalingLazyColumn. يتيح ذلك عكس اتجاه التمرير والتنسيق (I9e2fc)
- تم إيقاف
performGesture
وGestureScope
نهائيًا، وتم استبدالهما بـperformTouchInput
وTouchInjectionScope
. (Ia5f3f، b/190493367) - أعدنا تسمية VignetteValue إلى VignettePosition، وأعدنا تسمية VignetteValue.Both إلى VignettePosition.TopAndBottom. (I57ad7)
- لقد غيّرنا اسم ScalingLazyColumnState إلى ScalingLazyListState، وScalingLazyColumnItemInfo إلى ScalingLazyListItemInfo، وScalingLazyColumnLayoutInfo إلى ScalingLazyListLayoutInfo، وScalingLazyColumnScope إلى ScalingLazyListScope في حال قررنا إضافة تنفيذ ScalingLazyRow في المستقبل. (I22734)
إصلاح الأخطاء
- تم تعديل مستندات CompactChip لتوضيح ما يحدث في حال عدم توفير أيقونة أو تصنيف. (I4ba88)
- أجرينا بعض التعديلات على مكوّنات بطاقة Wear. (I6b3d0)
- تم تقليل المسافة بين العنوان والنص في TitleCard من 8 وحدات بكسل مستقلة عن الكثافة إلى وحدتَي بكسل مستقلتَين عن الكثافة.
- تم تغيير خط رأس TitleCard من النص الأساسي إلى title3.
- تم تغيير تدرّج ألوان خلفية البطاقة لجعل الخلفية تبدو أغمق.
الإصدار 1.0.0-alpha05
1 سبتمبر 2021
تم طرح androidx.wear.compose:compose-foundation:1.0.0-alpha05
وandroidx.wear.compose:compose-material:1.0.0-alpha05
. يتضمّن الإصدار 1.0.0-alpha05 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- وضع علامة @Stable على ArcPaddingValues (I57deb)
- تنفّذ ScalingLazyColumnState الآن واجهة ScrollableState، ما يمنح المطوّرين إمكانية الوصول آليًا إلى ميزة تمرير المكوّن. (I47dbc)
إصلاح الأخطاء
- قلّلنا المسافة بين الرمز والنص في Chip وToggleChip لتتوافق مع التعديلات على مواصفات تجربة المستخدم. (I83802)
الإصدار 1.0.0-alpha04
18 أغسطس 2021
تم طرح androidx.wear.compose:compose-foundation:1.0.0-alpha04
وandroidx.wear.compose:compose-material:1.0.0-alpha04
. يتضمّن الإصدار 1.0.0-alpha04 هذه التعديلات.
الميزات الجديدة
- تمت إضافة SwipeToDismissBox وswipeable modifier يمكن استخدامهما لإتاحة إيماءة التمرير السريع من اليسار إلى اليمين لإغلاق الشاشة. على الرغم من أنّ هذا الإجراء مستقل عن مكوّنات التنقّل، من المتوقّع استخدامه للخروج من شاشة والانتقال إلى شاشة أخرى. تمت إضافة اختبارات الدمج لعرض إمكانية إغلاق الشاشة من خلال التمرير سريعًا. (I7bbaa)
- أضفنا واجهتَي ScalingLazyColumnItemInfo وScalingLazyColumnLayoutInfo إلى فئة ScalingLazyColumnState لتمكين المطوّرين من معرفة المواضع والأحجام الفعلية للعناصر في ScalingLazyColumn بعد تطبيق تغيير الحجم. لقد أصلحنا أيضًا خطأً في طريقة احتساب تغيير الحجم عند تطبيق مساحة متروكة في أعلى المحتوى على ScalingLazyColumn. (I27c07)
تغييرات واجهة برمجة التطبيقات
- أضِف فئة CurvedTextStyle لتحديد خيارات تنسيق النص المنحني. تشبه TextStyle، ولكنها تتيح الآن استخدام اللون وحجم الخط والخلفية فقط. ستتم إضافة المزيد من خيارات التنسيق في المستقبل. (I96ac3)
- أضفنا واجهتَي ScalingLazyColumnItemInfo وScalingLazyColumnLayoutInfo إلى فئة ScalingLazyColumnState لتمكين المطوّرين من معرفة المواضع والأحجام الفعلية للعناصر في ScalingLazyColumn بعد تطبيق تغيير الحجم. لقد أصلحنا أيضًا خطأً في طريقة احتساب تغيير الحجم عند تطبيق مساحة متروكة في أعلى المحتوى على ScalingLazyColumn. (I27c07)
- تمت إضافة
@ExperimentalWearMaterialApi
إلى تعدادSwipeDismissTarget
، وهو جزء من واجهة برمجة التطبيقاتSwipeToDismissBox
. (I48b5e)
إصلاح الأخطاء
- تمت إضافة مادة اختبارية إلى SwipeToDismissBox (I9febc)
الإصدار 1.0.0-alpha03
4 أغسطس 2021
تم طرح androidx.wear.compose:compose-foundation:1.0.0-alpha03
وandroidx.wear.compose:compose-material:1.0.0-alpha03
. يتضمّن الإصدار 1.0.0-alpha03 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة مكوّن CurvedText الذي يتيح للمطوّرين كتابة نص بسهولة باتّباع انحناء الدائرة (عادةً على حافة شاشة دائرية) (Id1267)
- لقد أعدنا تسمية
CardDefaults.imageBackgroundPainter()
إلىCardDefaults.imageWithScrimBackgroundPainter()
لتوضيح أنّه سيتم رسم طبقة تعتيم فوق صورة الخلفية. (I53206) - إضافة مكوّن ScalingLazyColumn الذي يوفّر مكوّن قائمة لـ Wear Material يعرض المحتوى بشكل عين السمكة مع تصغير حجم محتوى القائمة ليصبح شفافًا عند التوسّع نحو حافة المكوّن (I7070c)
إصلاح الأخطاء
- غيّرنا اللون التلقائي لمحتوى appName في AppCard استجابةً لتعديل في مواصفات تجربة المستخدم. أصبح اللون التلقائي لـ appName هو
MaterialTheme.colors.onSurfaceVariant
. بالإضافة إلى ذلك، أضفنا وصفًا لمستند المَعلمات الناقصة لخانة العنوان. (Ic4ad1)
الإصدار 1.0.0-alpha02
21 تموز (يوليو) 2021
تم طرح androidx.wear.compose:compose-foundation:1.0.0-alpha02
وandroidx.wear.compose:compose-material:1.0.0-alpha02
. يتضمّن الإصدار 1.0.0-alpha02 هذه التعديلات.
الميزات الجديدة
- تمت إضافة فئة CurvedRow جديدة إلى العناصر القابلة للإنشاء التي تم تصميمها على شكل قوس (I29941)
- تمت إضافة نوع جديد من البطاقات لاستخدامه في التطبيقات (TitleCard)، كما تمت إضافة إمكانية استخدام الصور كخلفية للبطاقات للتأكيد على محتواها (I53b0f)
تغييرات واجهة برمجة التطبيقات
- إضافة إمكانية المحاذاة الشعاعية إلى CurvedRow (مشابهة للمحاذاة العمودية في صف) (Id9de5)
- إضافة فئة CurvedRow جديدة إلى العناصر القابلة للإنشاء التي تمّت تسويتها في قوس (I29941)
- تمت إضافة نوع جديد من البطاقات لاستخدامه في التطبيقات (TitleCard)، كما تمت إضافة إمكانية استخدام الصور كخلفية للبطاقات للتأكيد على محتواها (I53b0f)
- تمت إضافة رموز التبديل (مربّع الاختيار ومفتاح التبديل وأزرار الاختيار) إلى ToggleChipDefaults لتسهيل إعداد ToggleChip وSplitToggleChips على المطوّرين (I7b639)
- تم تعديل مساحة الحشو في بداية ونهاية المحتوى في "الشرائح" لتصبح 14 وحدة بكسل مستقلة عن الكثافة بشكل دائم، بغض النظر عمّا إذا كانت الشريحة تتضمّن رمزًا أم لا (كانت سابقًا 12 وحدة بكسل مستقلة عن الكثافة في حال توفّر الرمز و14 وحدة بكسل مستقلة عن الكثافة في حال عدم توفّره) (I34c86)
إصلاح الأخطاء
- إضافة اختبارات إلى CurvedRow (I93cdb)
- ربط تبعيات Wear Compose بالإصدار 1.0.0-rc01 من Compose (Ie6bc9)
- تم تغيير طريقة عرض صورة الخلفية في "البطاقات" و"الشرائح" بحيث يتم اقتصاص الصورة بدلاً من تمديدها للحفاظ على نسب أبعاد الصورة. (I29b41)
- تمت إضافة المزيد من العروض التوضيحية واختبارات الدمج لـ Button وToggleButton. (5e27ed2)
- تمت إضافة المزيد من اختبارات Chip لتغطية ألوان المحتوى في imageBackgroundChips (Ia9183)
الإصدار 1.0.0-alpha01
1 تموز (يوليو) 2021
تم طرح androidx.wear.compose:compose-foundation:1.0.0-alpha01
وandroidx.wear.compose:compose-material:1.0.0-alpha01
. يتضمّن الإصدار 1.0.0-alpha01 هذه التعديلات.
الميزات الجديدة
Wear Compose هي مكتبة مستندة إلى Kotlin وCompose وتتوافق مع Wear Material Design، وهي إضافة إلى Material Design لأجهزة WearOS القابلة للارتداء. يحتوي إصدار الألفا الأول هذا على عمليات تنفيذ مبكرة وعملية لما يلي:
- تصميم Material: يضبط الألوان وأسلوب الخط والأشكال بشكل متّسق في جميع المكوّنات المستخدَمة من هذه المكتبة.
- Chip وCompactChip: الشرائح على شكل ملعب وتتوفّر أشكال مختلفة منها لعرض أيقونة وتصنيف وتصنيف ثانوي.
- - ToggleChip وSplitToggleChip: نوعان متخصصان من الشرائح يتضمّنان خانة لرمز تبديل ثنائي الحالة، مثل زر اختيار أو مربّع اختيار. بالإضافة إلى ذلك، تحتوي SplitToggleChip على مساحتَين يمكن النقر عليهما، إحداهما قابلة للنقر والأخرى قابلة للتبديل.
- Button وCompactButton: الأزرار دائرية الشكل، وتحتوي على موضع محتوى واحد لرمز أو نص مختصر (3 أحرف كحد أقصى).
- ToggleButton: زر يفعّل إجراءً أو يوقفه، ويتضمّن خانة واحدة للرمز أو النص المختصر (3 أحرف كحد أقصى).
- البطاقة، AppCard: شكل مستطيل بزوايا مستديرة، يوفّر مساحات للمحتوى، مثل رمز التطبيق والوقت والعنوان والنص.
ستوسّع الإصدارات المستقبلية مجموعة الأدوات من خلال إضافة دعم لأدوات الاختيار وأشرطة التمرير والقوائم ومؤشرات الصفحات ومربّعات الحوار ومؤشرات أشرطة التمرير والرسائل القصيرة وغيرها من عناصر التصميم المتعدد الأبعاد على Wear.
بالإضافة إلى ذلك، سيتم توفير الدعم لميزات أخرى خاصة بالأجهزة القابلة للارتداء، مثل التصاميم والنصوص المنحنية، بالإضافة إلى توفير إطار عمل لتسهيل مهمة المطوّرين في إنشاء تطبيقات/تراكبات للأجهزة القابلة للارتداء.
تم تصميم Wear Compose Material وفقًا للمبادئ نفسها التي تم تصميم Compose Material وفقًا لها، مع أنّها تستهدف الأجهزة القابلة للارتداء. يجب استخدام مكتبة Wear Compose Material بدلاً من مكتبة Compose Material عند إنشاء تطبيقات للأجهزة القابلة للارتداء.
يجب اعتبار مكتبتَي "Material" حصريتَين بشكل متبادل ويجب عدم دمجهما في التطبيق نفسه. إذا وجد المطوّرون أنّهم يضمّنون مكتبة Compose Material في التبعيات، يشير ذلك إلى أحد الأمرين التاليين: أ) هناك مكوّنات مفقودة من مكتبة Wear Compose Material، يُرجى إعلامنا بما تحتاج إليه، أو ب) يتم استخدام مكوّن لا ننصح باستخدامه على جهاز Wearable.