ميزة "الإنشاء" في Wear
آخر تعديل | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار التجريبي الأول |
---|---|---|---|---|
30 تشرين الأول (أكتوبر) 2024 | 1.4.0 | - | - | 1.5.0-alpha05 |
الإعلان عن التبعيات
لإضافة الاعتمادية على Wear، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف العناصر الاعتمادية الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle
لتطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.wear.compose:compose-foundation:1.4.0" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.4.0" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.4.0" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.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.4.0") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.4.0") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.4.0") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.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. يُرجى إعلامنا إذا واجهت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.
اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.
Wear Compose Material3 الإصدار 1.0
الإصدار 1.0.0-alpha28
30 تشرين الأول (أكتوبر) 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha28
. يحتوي الإصدار 1.0.0-alpha28 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- أضفنا شكل قوس إلى مؤشر التقدّم الدائري غير المحدّد (I2efc1).
- لقد جعلنا مكونات
AlertDialogContent
وDialog
التي تشكّل واجهة برمجة التطبيقاتAlertDialog
متاحة للجميع، ما يتيح إضافة تخصيصات إذا لزم الأمر (مثل تخصيص الرسوم المتحركةAlertDialog
مع الحفاظ على تنسيق المحتوى المقترَح). بالإضافة إلى ذلك، أضفنا المَعلمتَينModifier
وColor
إلى العناصرEdgeButton
وConfirmButton
وDismissButton
منAlertDialogDefaults
. (I4eb71) - عدّلنا واجهة برمجة التطبيقات
Placeholder
على النحو التالي: تمت إعادة تسميةPlaceholderState.startPlaceholderAnimation
إلىPlaceholderState.animatePlaceholder
وPlaceholderState.isShowContent
إلىPlaceholderState.isHidden
وPlaceholderDefaults.shape
إلىPlaceholderDefaults.Shape
، كما تمت إعادة تسمية المَعلمةpainter
فيpainterWithPlaceholderOverlayBackgroundBrush
إلىoriginalPainter
، وتغيير مستوى رؤيةPlaceholderState.placeholderProgression
من "عام" إلى "داخلي" وإعادة تسميته إلىplaceholderShimmerProgression
، وإضافة ثوابت مدة التأثير المتحرك للعنصر النائب إلىPlaceholderDefaults
. (Ie5a59) - عدّلنا واجهة برمجة التطبيقات
EdgeButton
على النحو التالي: إعادة تسمية المَعلمة فيScreenScaffold
منbottomButton
إلىedgeButton
، وجعلناEdgeButtonSize
فئة قيمة. (Ieef15) - لقد غيرنا مستوى رؤية "
copy()
" إلى "علني" في فئات Wearmaterial3 Colors (I0287f)
إصلاح الأخطاء
- تمت إضافة الحدّ الأدنى لمدة الحركة لكل من
IconToggleButton
وTextToggleButton
عند النقر (Ieb333) - تمت إضافة حد أدنى لمدة الرسوم المتحركة على شكل
IconButton
وTextButton
(Iebcee). - تم تصحيح حالة خيار التكرار
DatePicker
. (I3587c) - تمت إضافة ميزة رصد الحركة لمربّعات الحوار "تنبيه" و"تأكيد". (I173b1)
الإصدار 1.0.0-alpha27
16 تشرين الأول (أكتوبر) 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha27
. يحتوي الإصدار 1.0.0-alpha27 على عمليات التنفيذ هذه.
تغييرات واجهة برمجة التطبيقات
- لقد عدّلنا
ScreenScaffold
وScrollIndicator
بعد إعادة تسمية Wear Compose FoundationLazyColumn
إلىTransformingLazyColumn
. (I0608b) - تمت إعادة تسمية المَعلمة
preferredHeight
فيEdgeButton
إلىbuttonSize
، ولا يمكن اختيار قيمتها إلا من بين 4 ثوابت في فئة القيمEdgeButtonSize
التي تمّ طرحها مؤخرًا. (Icdd70) - لقد غيرنا تسمية
ListSubheader
إلىListSubHeader
وأضفنا قيمتين تلقائيتين متاحتين للجميع لـListHeader
وListSubHeader
. (I96730) - لقد أضفنا مكوّنَين جديدَين لـ
HorizontalPagerScaffold
وVerticalPagerScaffold
لأجهزة Wear OS وهما يمثّلان صورًا متحركة جديدة وتنسيقًا بين مكوّنات النص الزمني ومؤشر الصفحة. (Iff7d0) - لقد أضفنا ميزة التنقّل بالتناوب إلى
HorizontalPagerScaffold
وVerticalPagerScaffold
، ما يتيح للمستخدمين التنقّل في أجهزة اللاسلكي باستخدام أجهزة الإدخال بالتناوب. (I9770d) - لقد أجرينا تغييرات على
MotionScheme
في واجهة برمجة التطبيقات لتبسيط عملية الاستخدام وتحسين الاتساق. تمّت إزالة دوال remember المضمّنة ونقل مخطّطات الحركة المضمّنة إلى كائن مصاحب مخصّص لمخطّط الحركة. تمت إعادة تسميةstandardMotionScheme
وexpressiveMotionScheme
ليصبحا عاديًا وتعبيريًا. (I5fd45) - لقد أضفنا ميزة الألوان الديناميكية استنادًا إلى ألوان النظام. (I073e9)
- لقد عدّلنا عنصر "المخطّط الزمني" وفقًا لأحدث مواصفات تجربة المستخدم. (I622bb)
إصلاح الأخطاء
- لقد عدّلنا أسلوب الخط والمسافات البادئة لمكوّنات "البطاقة". (I3ae48)
- لقد غيّرنا سمة الحشو في
AlertDialog
بين زرَّي "تأكيد" أو "إغلاق" وبقية المحتوى من 8dp إلى 12dp وفقًا لمواصفات تجربة المستخدم (Ie55f0). - لقد عدّلنا شفافية اللون لمكوّن "شريط التمرير". (Idb383)
الإصدار 1.0.0-alpha26
2 أكتوبر 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha26
. يتضمّن الإصدار 1.0.0-alpha26 عمليات الربط هذه.
التغييرات في واجهة برمجة التطبيقات
- عدّلنا واجهة برمجة التطبيقات ومظهر
HorizontalPageIndicator
وأضفناVerticalPageIndicator
لاستخدامه معVerticalPager
(Ic9309). - تتيح
AlertDialog
الآن إمكانية حذف الزر السفلي التلقائي من الصيغة المخصّصة لترتيب الأزرار، وذلك في التنسيقات المخصّصة التي لا يكون فيها EdgeButton مطلوبًا. (I34fa9) - أضفنا مكوّن
SwipeToReveal
لنظام التشغيل Wear Material 3 (Ic38b2). - أضفنا إمكانية التمرير السريع في الاتجاهين في
SwipeToReveal
، وذلك للحالات النادرة التي لا تتيح فيها الشاشة الحالية التمرير السريع لإغلاق التطبيق. لا يزال الإعداد التلقائي هو التمرير السريع للكشف عن المحتوى فقط عند التمرير السريع من اليمين إلى اليسار، وينصح بشدة باحترام السلوك التلقائي لتجنُّب التعارض مع التمرير السريع لإغلاق المحتوى. (Ifac04) - أعدنا تسمية المَعلمة
buttonHeight
فيEdgeButton
إلىpreferredHeight
. (I4fab3) - تم تعديل إصدار Kotlin إلى 1.9 (I1a14c)
- لقد أعدنا تسمية "
OpenOnPhoneDialogDefaults.Icon
" إلى "OpenOnPhoneDialogDefaults.OpenOnPhoneIcon
" لتجنُّب حدوث تعارض معIcon
(I0f391). - أضفنا ميزة
ScrollIndicator
فيLazyColumn
. (Ia546a) - تم تعديل القيم التلقائية لكل من
TextToggleButton
وIconToggleButton
. (I7aaa9) - لقد بسّطنا واجهتَي برمجة التطبيقات
Picker
وPickerGroup
. (Id0653) - أضفنا
CardDefaults.Shape
وCardDefaults.Height
، وهما رمزان خاصان بالمطوّرين الذين يستخدمون المكتبة. (I1594a، b/347649765) - لقد أعادنا تسمية مَعلمة التقدّم لمؤشر التقدّم الدائري المقسّم إلى ثنائي إلى
segmentValue
. (Ib72d9) - لقد عدّلنا الألوان والتنسيق في شريط التمرير. (Ic3eec)
إصلاح الأخطاء
- لقد عدّلنا الصورة المتحركة لرمز
openOnPhone
(I66f85). - نحن نستخدم الآن رموز Google Symbols في
Slider
وTimePicker
وDatePicker
. (I46c7c) - لقد عدّلنا الحشو في
Confirmation
وOpenOnPhoneDialog
. (Iaa82e)
الإصدار 1.0.0-alpha25
18 أيلول (سبتمبر) 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha25
. يتضمّن الإصدار 1.0.0-alpha25 عمليات الربط هذه.
تغييرات واجهة برمجة التطبيقات
- أضفنا مؤشر تقدّم دائريًا غير محدّد. (I427a7)
- أضفنا إمكانية عرض قيمة متغيرة للتقدّم (>100%) لكل من
CircularProgressIndicator
وSegmentedCircularProgressIndicator
. وعندما يتجاوز مستوى التقدّم 1.0، سيُشار إلى ذلك بلونoverflowTrack
الجديد. (Iaaa3d) - تتيح المستديرتان
IconToggleButton
وTextToggleButton
الآن تنوعًا جديدًا لحركة الأشكال، حيث تمثل الأشكال المختلفة حالات محددة أو غير محددة أو مضغوطة. سيظلّ الشكل المتحرك السابق متاحًا للحالة "تم الضغط للتو". (I29f03) - لقد أزلنا إمكانية استخدام
EdgeButton
معColumn
، وذلك بسبب الحاجة إلى تحديد ارتفاعEdgeButton
صراحةً فيScreenScaffold
. (Ie353d) - وقد أضفنا دعمًا لـ Wear Compose
LazyColumn
من خلالScreenScaffold
(وأضفنا تطبيقScrollInfoProvider
علىLazyColumnState
). (Ib8d29) - لقد دمجنا
LocalTextMaxLines
وLocalTextAlign
وLocalTextOverflow
في تركيبةLocalTextConfiguration
واحدة على الجهاز لتوفير حلّ أكثر قابلية للتوسع في المستقبل. (I5edbc) - لقد أضفنا قوسًا كبيرًا بنمط قوسي كمقياس إضافي، وهو محجوز لسلاسل نصية قصيرة للعناوين في أعلى الشاشة أو أسفلها، كما هو الحال في "تراكبات التأكيد". (I60e3e)
- أضفنا إعدادات تلقائية إلى Button لحجم الرمز الكبير والكبير جدًا المُقترَحَين وملء المحتوى. (I84675)
إصلاح الأخطاء
- لقد عدّلنا ألوان
IconButton
وTextButton
. (I48324) - لقد غيّرنا عمليات تحميل Button الأساسية لتصبح محاذية عموديًا في الوسط من أجل الاتساق مع عمليات التحميل الأخرى. لاستعادة السلوك السابق، استخدِم
Modifier.align
منRowScope
. (I66e57)
الإصدار 1.0.0-alpha24
4 أيلول (سبتمبر) 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha24
. يتضمّن الإصدار 1.0.0-alpha24 عمليات الربط هذه.
التغييرات في واجهة برمجة التطبيقات
- أضفنا مخطّطًا للحركة إلى مظهر Material3. وستستخدم المكوّنات هذه القيمة في جميع أنحاء المكتبة لتطبيق مواصفات الحركة، مثل العناصر المرنة للحركة التعبيرية. (I54ff3)
- لقد أضفنا العنصرَين
AppScaffold
وScreenScaffold
إلى مكتبة Material3، اللذين يتضمّنان وظائف لتنسيق الطبقات وانتقالاتTimeText
وScrollIndicator
.AppScaffold
يقدّم مستوى أعلى من مكوّنات إطار العمل التي تظهر أعلى جميع الشاشات. وبالتالي، فإنّ إضافةTimeText
إلىAppScaffold
تسمح له بالبقاء في مكانه أثناء التمرير السريع بين الشاشات. يمكن للشاشات نفسها إلغاء نص الوقت أو إخفاؤه. يوفّرScreenScaffold
خانةScrollIndicator
ويُنشئ تلقائيًا مؤثرًا متحركًا لمؤشر الانتقال عند الانتقال، بما في ذلك مهلة لإخفاء مؤشر الانتقال بعد فترة من عدم النشاط. (I047d6) - أضفنا
ScrollIndicator
الذي يعرض تصميم Material3 الجديد. ويتم ضبط حجم مصغّر ثابت استنادًا إلى محتوى القائمة الأولي، وذلك لتجنُّب اختلافات الحجم عند تحميل المحتوى غير القابل للتقديم أو الإيقاف إلى القائمة. (Ic228d) - لقد غيّرنا واجهة برمجة التطبيقات
ScrollAway
بحيث تكونScreenStage
فئة قيمة بدلاً من فئة مصنّف، للسماح بإضافة مراحل إضافية حسب الحاجة من الآن فصاعدًا. (I48c93) - أضفنا
EdgeButton
، وهو زر مميز مخصّص لنظام التشغيل Wear بتصميم يتلاءم مع منحنى أسفل الشاشة (I16369). - أضفنا خانة جديدة إلى
ScreenScaffold
لزر في أسفل الشاشة (مثلEdgeButton
)، وسيتم عرض هذا الزر وتغيير حجمه استنادًا إلى المحتوى الذي يتم التمرير إليه (I032eb). - أضفنا
Modifier.scrollTransform
وModifier.targetMorphingHeight
لإضافة تأثيرات الحركة في Material3 إلى العناصر فيLazyColumn
. (Ie229a) - أضفنا
SegmentedCircularProgressIndicator
كخيار متغير فيCircularProgressIndicator
. يعرض السعر المتغير المقسّم قيمة واحدة للتقدّم في جميع الشرائح أو يعرض كل شريحة على أنّها مفعّلة/متوقفة. (I6e059) - أضفنا
LinearProgressIndicator
كبديل عنCircularProgressIndicator
الحالي. (I89182) - أضفنا
AlertDialog
، وهي تنسيقات لعرض طلبات مهمة للمستخدم. يتم تضمين الاختلافات إما لزوج من أزرار التأكيد/الإغلاق أو لزر سفلي واحد (عادةً ما يكون زر Edge) أسفل مجموعة من الخيارات. يتضمّن كلا الخيارَين خانات للرمز والعنوان والنص الإضافي لتقديم مزيد من التفاصيل. (Ieb873) - أضفنا
OpenOnPhoneDialog
، والذي يجب استخدامه للإشارة إلى إجراء سيستمر على هاتف المستخدم. يتم رفضOpenOnPhoneDialog
بعد انتهاء مهلة محدّدة. (I978fd) - أضفنا
Confirmation
، وهو مكوّن مربّع حوار يتضمّن خانات لرمز ونص منحني أو خطي. يتم توفير صيغ معيّنة لرسائل النجاح أو الخطأ. يتم إغلاق رسائل التأكيد تلقائيًا بعد انتهاء المهلة. (Ib43e8) - أضفنا خلفية إلى
TimeText
للحدّ من المشاكل التي كان فيها المحتوى الأساسي وTimeText
يتداخلان ويحجبان الوقت. (Ia11fd) - لقد أضفنا السمة
LevelIndicator
التي تعرض قيمة أحد الإعدادات مثل مستوى الصوت، ويمكن استخدامها مع المكوِّن الحاليStepper
لإنشاء شاشة مستوى الصوت. يشبه الرمزLevelIndicator
الرمزScrollIndicator
، ولكن يتم عرضه على الجانب المقابل من الشاشة، كما أنّه يتميز بعرض خطوط أوسع ولون مؤشر مختلف تلقائيًا. (I8a4ac) - أضفنا
TimePicker
، مع تنسيقات للوقت على مدار 24 ساعة (مع الثواني أو بدونها)، أو وقت على مدار 12 ساعة مع اختيار am/pm. (Ia5124) - أضفنا
DatePicker
، مع إعدادات لترتيب الأعمدة (أي اليوم-الشهر-السنة أو الشهر-اليوم-السنة أو السنة-الشهر-اليوم) والتاريخَين الأدنى/الأعلى الاختياريَين. (Ibf13b) - أضفنا مَعلمة weight إلى الدالة
text
فيTimeText
. في الحالات التي يتألّف فيها TimeText من أكثر من عنصر نصي واحد، يتيح ذلك التحكّم في كيفية توزيع المساحة. (I36700) - لقد أضفنا
RadioButton
وSplitRadioButton
، وهما مكوّنان يبسطان واجهة برمجة التطبيقات السابقة من خلال دمج كل من (Split)SelectableButton
وعنصر التحكّم في الراديو الفرعي (If7ae8). - أضفنا
CheckboxButton
وSplitCheckboxButton
، وهما مكوّنان يبسطان واجهة برمجة التطبيقات السابقة من خلال دمج كل من العنصرَين (Split)ToggleButton
وعنصر التحكّم في مربّع الاختيار الفرعي (Ia8f70). - أضفنا
SwitchButton
وSplitSwitchButton
- تعمل هذه المكوّنات على تبسيط واجهة برمجة التطبيقات السابقة من خلال دمج كل من(Split)ToggleButton
وعنصر التحكّم الفرعي "مفتاح تبديل" (I0d349). - لقد عدّلنا مستندات
AnimatedText
لشرح سلوك تجاوز السرعة. (Iff30a) - أضفنا
ButtonGroup
لدمج زرَّين أو 3 أزرار بحيث تؤدي الضغطات على الأزرار إلى إنشاء صورة متحركة منسقة. (Ie27db) - أضفنا شكلًا متحركًا اختياريًا للرمزَين
IconButton
وTextButton
عند الضغط عليهما. (Iffca5) - أضفنا لونًا إضافيًا، وهو
FilledVariant
، إلىButton
وIconButton
وTextButton
وCompactButton
وEdgeButton
(I65fc3). - أضفنا المَعلمة
forcedSize
إلىImageWithScrimPainter
، بحيث تحافظ خلفيات صور الأزرار الآن على حجم المكوّن تلقائيًا. يؤدي ضبطforcedSize = null
إلى استخدامPainter.instrinsicSize
بدلاً من ذلك. (Ic57af) - أضفنا النقر مع الاستمرار على الأزرار (Ib613d).
- تمت أيضًا إتاحة ميزة النقر الطويل على
IconButton
وTextButton
. (I38891) - تمت إضافة إمكانية النقر مع الاستمرار على "البطاقات". (I305d5)
- أضفنا
LocalTextMaxLines
وLocalTextAlign
وLocalTextOverflow
كCompositionLocals
واستخدمناها كمَعلمات تلقائية فيText
. يمكن الآن استخدام متغيرات التكوين المحلية من خلال مكوّنات مثلCheckboxButton
وSwitchButton
وRadioButton
لتنفيذ إرشادات تجربة المستخدم، ولكن يمكن للمطوّرين إلغاء المَعلمات إذا لزم الأمر. (Iab841) - أضفنا
Placeholder
للمساعدة في إخفاء محتوى المكوّنات، مثل الأزرار والبطاقات، إلى أن يتم تحميل البيانات. (I1a532) - أضفنا
IconToggleButtonColors
وTextToggleButtonColors
لاستبدالToggleButtonColors
الذي تمت إزالته الآن. (Ie0bf1)
إصلاح الأخطاء
- لقد عدّلنا
Button
وFilledTonalButton
وOutlinedButton
وChildButton
وCompactButton
لاستخدامCompositionLocals
LocalTextMaxLines
وLocalTextAlign
وLocalTextOverflow
الجديدة لتنفيذ إرشادات تجربة المستخدم. ويمكن للمطوّرين إلغاء هذه المَعلمات في Text مباشرةً إذا لزم الأمر (Ie51f7). - تم تغيير العرض التلقائي لخط الرسم
LevelIndicator
إلى6dp
لتمييزه عنScrollIndicator
الذي يبلغ عرض خطه4dp
. (If6f63) - لقد أصلحنا مشكلة في
TimeText
لتصبح زوايا التنظيف أكبر. (Ie489f) - تم إصلاح مشكلة أثناء إعادة تركيب
EdgeButton
. (I4cdca) - تم تصحيح تنسيقات أزرار التبديل المجزّأة عند توفير مساحة مخصّصة للمحتوى. (Ia33d3)
- يتم تقريب قيم التقدّم الصغيرة إلى ما لا يقل عن عرض خط مؤشر التقدّم. (I3bd84)
الإصدار 1.0.0-alpha23
14 أيار (مايو) 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha23
. يحتوي الإصدار 1.0.0-alpha23 على عمليات الربط هذه.
تغييرات واجهة برمجة التطبيقات
- لقد عدّلنا واجهات برمجة التطبيقات
ToggleButton
وRadioButton
لكي يمكن ضبط الألوان المُعطَّلة. (If13a7) - أضفنا
CircularProgressIndicator
جديدًا لتصميم Material3. (Ib3bd7)
إصلاح الأخطاء
- لقد أصلحنا خطأً كان يعرض رسالة "انقر مرّتين لتبديل الحالة" على الأزرار القابلة للاختيار عندما تكون محدّدة. (I7ed88)
الإصدار 1.0.0-alpha22
1 مايو 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha22
. يتضمّن الإصدار 1.0.0-alpha22 عمليات الربط هذه.
تغييرات واجهة برمجة التطبيقات
- تم تحديث Material3
ColorScheme
. (I7b2b8) - لقد حدثنا مفتاح التبديل Material3 - بالإضافة إلى بعض التغييرات في الألوان، فإن العلامة الآن تطابق تلك المستخدمة في مربع الاختيار. (Icac7b)
إصلاح الأخطاء
- عدِّل جميع العروض التوضيحية لعملية الدمج لاستخدام المُعدِّل
rotaryScrollable
الجديد. (I25090)
الإصدار 1.0.0-alpha21
17 نيسان (أبريل) 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha21
. يتضمّن الإصدار 1.0.0-alpha21 عمليات الربط هذه.
- تم طرح هذا الإصدار بسبب مشكلة فنية في الإصدار السابق أدّت إلى عدم توفّر حِزم المصدر. ما مِن التزامات جديدة في هذا الإصدار.
الإصدار 1.0.0-alpha20
3 نيسان (أبريل) 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha20
. يحتوي الإصدار 1.0.0-alpha20 على عمليات الربط هذه.
إصلاح الأخطاء
- لقد عدّلنا قيم شفافية تأثير التموج في حالتَي الضغط والتركيز لتحسين التباين. (I59f0a)
- أضفنا مسافة بين التصنيفات الأساسية والثانوية في
Button
وToggleButton
وRadioButton
، وذلك بعد إجراء آخر التغييرات على أنماط الطباعة وارتفاعات الأسطر. (I2c0ba)
الإصدار 1.0.0-alpha19
6 مارس 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha19
. يتضمّن الإصدار 1.0.0-alpha19 عمليات الربط هذه.
تغييرات واجهة برمجة التطبيقات
- أضفنا
TimeText
إلى مكتبة Material3 في Wear Compose. يعرض هذا المكوّن الوقت الحالي (والحالة الإضافية) في أعلى الشاشة. تتجنّب واجهة برمجة التطبيقات الجديدة والموجزة Material3 API تكرار المحتوى الخطي والمنحني. (I4d7c3) - لقد عدّلنا أسماء المَعلمات من
onSelected
إلىonSelect
فيRadioButton
. (I1a971) - يمكنك تقسيم
RadioButton
وSplitRadioButton
إلى وحدات ترميز، وإعادة تنظيم الطرق الحالية لتقليل عدد عمليات البحث عنCompositionLocal
من خلال إضافة نُسخ مخزّنة مؤقتًا من الألوان، وجعل طرقRadioButtonColors
وSplitRadioButtonColors
داخلية. (I02b33)
الإصدار 1.0.0-alpha18
21 فبراير 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha18
. يحتوي الإصدار 1.0.0-alpha18 على هذه المراجعات.
التغييرات في واجهة برمجة التطبيقات
- لقد أعدنا تنظيم نمط الإعدادات التلقائية لـ
CardColors
وToggleButtonColors
وSplitToggleButtonColors
من خلال إنشاء نُسخ مؤقتة داخليًا وتقليل استخدامCompositionLocal
. (If3fec)
الإصدار 1.0.0-alpha17
7 شباط (فبراير) 2024
تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha17
. يحتوي الإصدار 1.0.0-alpha17 على هذه عمليات التنفيذ.
تغييرات واجهة برمجة التطبيقات
- لقد عدّلنا Button API لاستخدام
buttonColors
تلقائيًا وإزالةfilledButtonColors
المكرّر. (I4fe3b) - لقد أعدنا ضبط الأنماط التلقائية لـ
ButtonColors
وIconButtonColors
وTextButtonColors
من خلال إنشاء مثيل مخزَّن مؤقتًا داخليًا وتقليل استخدامCompositionLocal
. (I5f51c) - لقد أزلنا التكلفة الإضافية
rememberUpdatedState
في فئات الألوان الخاصة بالمكوّنات ووضعنا علامة على طرق الوصول داخل فئات الألوان على أنّها داخلية. (If6571)
إصلاح الأخطاء
- لقد حدّثنا
Modifier.minimumInteractiveComponentSize
لاستخدامModifier.node
. (Iba6b7)
الإصدار 1.0.0-alpha16
24 كانون الثاني (يناير) 2024
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha16
. يحتوي الإصدار 1.0.0-alpha16 على هذه المراجعات.
الميزات الجديدة
- أضفنا
CompactButton
، الذي يمكنه استخدام الألوان نفسها التي تستخدمها سمة الزر، سواء كانت ملونة أو ملونة مع درجات لون أو مخطّطة.(I05df0)
تغييرات واجهة برمجة التطبيقات
- أضفنا
RadioButton
/SplitRadioButton
كسِيّارات لعناصر التحكّم في الاختيار، مثل عنصر التحكّم في زر الاختيار. يختلف هذا عن العنصرToggleButton
الحالي في أنّRadioButton
قابل للاختيار (ويعمل ضمن مجموعة اختيار) في حين أنّToggleButton
قابل للتبديل (وهو مستقل). (I61275) - نحن بصدد إزالة
LocalContentAlpha
من مكتبة Wear Compose Material3 من أجل التوافق مع مكتبة Compose Material3. (I49a0a) - تم تعديل مكوّنات Wear Material وWear Material3 التي تعرض
MutableInteractionSource
في واجهة برمجة التطبيقات لتعرض الآنMutableInteractionSource
قابلاً للتغيير إلى قيمة فارغة. ما مِن تغييرات دلالية هنا: يعني تمرير القيمة null أنّك لا تريد رفعMutableInteractionSource
، وسيتم إنشاؤه داخل المكوّن إذا لزم الأمر. يؤدي التغيير إلى قيمة فارغة إلى عدم تخصيص بعض المكوّناتMutableInteractionSource
مطلقًا، كما يسمح للمكوّنات الأخرى بإنشاء مثيل بشكل كسول فقط عند الحاجة، ما يؤدي إلى تحسين الأداء على مستوى هذه المكوّنات. إذا كنت لا تستخدمMutableInteractionSource
التي تمرِّرها إلى هذه المكوّنات، ننصحك باستخدام قيمة null بدلاً من ذلك. وننصحك أيضًا بإجراء تغييرات مشابهة في مكوّناتك. (Ib90fc، b/298048146) - تضيف هذه الواجهة واجهة برمجة تطبيقات Ripple جديدة في مكتبات
wear:compose-material
وwear:compose-material3
، وستحلّ محلّ واجهةrememberRipple
التي تم إيقافها نهائيًا. تُضيف هذه الطريقة أيضًاCompositionLocal
مؤقتًا،LocalUseFallbackRippleImplementation
، لإعادة مكونات Material إلى استخدام واجهات برمجة التطبيقاتrememberRipple/RippleTheme
التي تم إيقافها نهائيًا. ستتم إزالة هذا الإجراء في الإصدار الثابت التالي، وهو مخصّص فقط لمساعدة مؤقتة في نقل البيانات في الحالات التي تقدّم فيهاRippleTheme
مخصّصًا. يُرجى الانتقال إلى developer.android.com للحصول على معلومات حول نقل البيانات ومزيد من المعلومات الأساسية حول هذا التغيير. (af92b21) - لقد أجرينا تحسينات طفيفة على واجهة برمجة تطبيقات
HorizontalPageIndicator
والمستندات الخاصة بها. (I60efc) - لقد عدّلنا السمة
ColorScheme
لتصبح غير قابلة للتغيير، ما يجعل عمليات تعديل الألوان الفردية أقل كفاءة، ويساهم في زيادة فعالية الاستخدام الشائع للألوان. يرجع سبب هذا التغيير إلى أنّ معظم التطبيقات لن تتضمن تغيير ألوان فردية كحالة استخدام رئيسية. لا يزال هذا ممكنًا، ولكنّه سيؤدي إلى إعادة التركيب أكثر من ذي قبل، ما يؤدي بدوره إلى تقليل عدد الاشتراكات في الحالة بشكل كبير من خلال كل الرمز البرمجي للمواد، وسيؤثّر في تكلفة الإعداد ووقت التشغيل لعدد أكبر من حالات الاستخدام العادية. (Ibc2d6) - تم تعديل واجهات برمجة التطبيقات
ToggleButton
وSplitToggleButton
للسماح بتخصيص الألوان التي تم إيقافها. بالإضافة إلى ذلك، يتم الآن استخدام الرموز المميّزة لتصميم Material Design لقيم الألوان وأسلوب الخط. (If087c) - تم تعديل ألوان خلفية صور الأزرار لاستخدام الرموز المميّزة لتصميم Material Design. (Iba215)
- لقد غيّرنا مكونات
Checkbox
وSwitch
وRadioButton
لتصبح "العرض فقط" من خلال إزالة معالجة النقر. من المتوقّع استخدام هذه المكوّنات في(Split)ToggleButton
التي تعالج النقرة، لذا تمّ الآن الإشارة إلى المكوّنات بوضوح أكبر على أنّها مخصّصة للعرض فقط (وهي غير مخصّصة للاستخدام المستقل على Wear). (I2322e)
إصلاح الأخطاء
- أضفنا علامات لقيم الحركة الخاصة بالمدّات وعمليات التخفيف في Wear Compose Material 3. (I437cd)
- أصلحنا خطأ في
ToggleButton
وSplitToggleButton
وCheckbox
وSwitch
وRadioButton
كي لا تتكرّر إشعارات تسهيل الاستخدام (في السابق، كانت الأدوار الدلالية مكرّرة). (Ica281) - لقد أزلنا طبقة MaterialCore لنظام التشغيل
CompactButton
لتحسين الأداء. (7902858)
الإصدار 1.0.0-alpha15
15 تشرين الثاني (نوفمبر) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha15
. يحتوي الإصدار 1.0.0-alpha15 على هذه المراجعات.
تغييرات واجهة برمجة التطبيقات
- أعدنا تسمية مستوى "التأسيس"
SwipeToDismissBox
إلىBasicSwipeToDismissBox
. وهذا يجعل التمييز أكثر وضوحًا بين المكوّن على مستوى الأساس والمستوىSwipeToDismissBox
من مادة 3. يسحب هذا الأخير الألوان منMaterialTheme
لاستخدامها في الشاشات المصغّرة ويفوّض التنفيذ المتبقّي إلىBasicSwipeToDismissBox
. (Ibecfc)
إصلاح الأخطاء
- أزلنا طبقة material-core لزر Material3 لتحسين الأداء. (I55555)
الإصدار 1.0.0-alpha14
18 تشرين الأول (أكتوبر) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha14
. يحتوي الإصدار 1.0.0-alpha14 على هذه المراجعات.
تغييرات واجهة برمجة التطبيقات
- أزلنا المَعلمة
indicatorStyle
من Material3HorizontalPageIndicator
، وستتّبع بدلاً من ذلك شكل شاشة الجهاز (مستقيم أو دائري). (I83728) - لقد فصلنا ألوان
SplitToggleButton
عن ألوانToggleButton
من خلال إضافة فئةSplitToggleButtonColors
جديدة. (I78bee)
الإصدار 1.0.0-alpha13
4 أكتوبر 2023
تم طرح androidx.wear.compose:compose-material3:1.0.0-alpha13
. يحتوي الإصدار 1.0.0-alpha13 على هذه المراجعات.
تغييرات واجهة برمجة التطبيقات
- لقد أضفنا حقل "عنوان فرعي" اختياري إلى
TitleCard
. (Ifc45a) - لقد أضفنا رمزيات ألوان التصميم المتعدد الأبعاد لتطبيق
TextButton
. (I769dc)
الإصدار 1.0.0-alpha12
20 أيلول (سبتمبر) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha12
. يحتوي الإصدار 1.0.0-alpha12 على هذه المراجعات.
تغييرات واجهة برمجة التطبيقات
- لقد عدّلنا
IconButton
لاستخدام الرموز المميّزة لتصميم Material Design. (I3f137) - لقد عدّلنا
IconToggleButton
لاستخدام رموز Material Design. (I7d263) - لقد جعلنا منشئي
CheckboxColors
وRadioButtonColors
وSwitchColors
علنيين. (I82b73)
الإصدار 1.0.0-alpha11
6 أيلول (سبتمبر) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha11
. يحتوي الإصدار 1.0.0-alpha11 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- عدّلنا أسلوب الخط في بطاقات Material3 إلى
TitleMedium
. (I597bd) - لقد عدّلنا الخطّ والاتجاه في
ListHeader
وListSubheader
من عائلة Material3. (Ib5ceb)
الإصدار 1.0.0-alpha10
23 آب (أغسطس) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha10
. يحتوي الإصدار 1.0.0-alpha10 على هذه المراجعات.
الميزات الجديدة
- يمكنك إضافة "
HorizontalPageIndicator
" في مكتبة Wear Material3. (Ifee99)
التغييرات في واجهة برمجة التطبيقات
- عدِّل رمز الأزرار لاستخدام الرموز المميّزة لتصميم Material3. (I92fe4)
- سيتم اعتبار واجهات برمجة تطبيقات Slider وStepper في Wear Material 3 تجريبية لأنّه لا يزال يتم وضع اللمسات الأخيرة على تفاصيل واجهة المستخدم. (I84d54)
- لقد أزلنا مقاسات
ExtraSmall
من الأشكال المستديرةTextButton
وTextToggleButton
لأنّ هذا المقاس لا ينطبق إلا على الشكلIconButton
. (Ibc7d5)
إصلاح الأخطاء
- عدّلنا الإرشادات المتعلقة بالخط في TextToggleButton لاستخدام LabelLarge لحجم الزر الكبير (Ib10fa).
- عدّلنا الإرشادات المتعلقة بالخط في TextButton لاستخدام LabelLarge لـ LargeButtonSize (I8f3a7).
- لقد ضبطنا الحد الأدنى لمساحات اللمس في البطاقة على 48 بكسل مستقل الكثافة لتسهيل الاستخدام. (Ieb9b1)
- إضافة بطاقة تطبيق مع عرض توضيحي للصورة، وإزالة بطاقة التطبيق مع عرض توضيحي للخلفية (Id735f)
- إصلاح خلل في الأزرار المستديرة حيث لم يتم ربط عوامل التعديل بشكل صحيح (I5e162)
الإصدار 1.0.0-alpha09
9 آب (أغسطس) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha09
. يحتوي الإصدار 1.0.0-alpha09 على هذه المراجعات.
الميزات الجديدة
- أضفنا
ToggleButton
لسمة material3 (I6bed6).
التغييرات في واجهة برمجة التطبيقات
- لقد فعّلنا التعليق التوضيحي
FloatRange
كقيود لواجهة برمجة التطبيقات، كما سبق أن ذكرنا في التعليقات. (Icb401) - لقد عدّلنا أسلوب الخط في Wear Material3 بما يتوافق مع أحدث إرشادات Material3. (I1bad6)
إصلاح الأخطاء
- لقد عدّلنا ألوان
Button
وIconButton
وTextButton
بما يتوافق مع تصميم Material3. (Ib2495) - أصلحنا مستوى ظهور علامة مربّع الاختيار في الحالات المتوقفة. (Ib25bf)
الإصدار 1.0.0-alpha08
26 تموز (يوليو) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha08
. يحتوي الإصدار 1.0.0-alpha08 على هذه عمليات التنفيذ.
الميزات الجديدة
- أضفنا عناصر التحكّم في الاختيار التالية لـ Material3:
Switch
وCheckbox
وRadioButton
. (Ib918c) - أضفنا
IconToggleButton
وTextToggleButton
إلى Material3، وهما زرّان دائريان للتشغيل/الإيقاف يتضمّنان خانة واحدة للرمز والنص على التوالي. بالنسبة إلى أحجامToggleButton
المختلفة، ننصحك باستخدامModifier.touchTargetAwareSize
مع الأحجام المقدَّمة في أزرار التبديل ذات الصلة. (I9f015) - أضفنا
ListHeader
وListSubheader
إلى مكونات Material3. (Ibaefe) - لقد أضفنا سمة Material3
SwipeToDismissBox
التي يُطلق على اسمها الأساسيSwipeToDismissBox
الجديد وتوفّر قيم اللون التلقائية من مظهرها. (I275fb) - أضفنا
InlineSlider
Material3 إلى ميزة "الكتابة السريعة" في Wear OS. ويسمح هذا الخيار للمستخدمين بإجراء اختيار من نطاق من القيم. يتم عرض نطاق الاختيارات كشريط بين الحد الأدنى والحد الأقصى للقيم للنطاق، ويمكن للمستخدمين اختيار قيمة واحدة من خلالها. يُعدInlineSlider
مثاليًا لضبط الإعدادات، مثل مستوى الصوت أو السطوع. (I7085f)
التغييرات في واجهة برمجة التطبيقات
- لقد عدّلنا مظهر "أشكال" في Wear Material 3 لاستخدام
RoundedCornerShape
بدلاً من Shape. (Idb133) - لقد جعلنا الثوابت الخاصة بالارتفاع لزر Button علنية (Idbfde).
- تم تعديل ملفات واجهة برمجة التطبيقات لإضافة تعليقات توضيحية حول إيقاف التوافق (I8e87a، b/287516207)
- لقد عدّلنا
InlineSliderColors
في Wear Compose Material 3 لتوفير عنصر الإنشاء العام والخصائص العامة. (I6b632) - لقد عدّلنا جميع فئات الألوان في Wear Compose Material 3 لتتضمّن وظائف إنشاء عامة وخصائص عامة. (I17702)
- لقد جعلنا ثوابت المساحة المتروكة الأفقية والرأسية للزر عامة. (Ieeaf7)
إصلاح الأخطاء
- يضبط الزر الآن ارتفاعه ليلائم المحتوى الذي ازداد حجمه بسبب توفّر خطوط كبيرة لتسهيل الوصول، وذلك عند الحاجة (Iaf302)
- لقد حدثنا عددًا من العروض التوضيحية للأزرار لمعالجة مشاكل إمكانية الوصول. (I61ce9)
- يتيح الآن زرَّا
Stepper
وInlineSlider
النقر بشكل متكرر عند الضغط مع الاستمرار حتى تتمكّن من زيادة أو خفض قيمةStepper
وInlineSlider
بسرعة عن طريق الضغط مع الاستمرار على الزرَّين + أو - (I27359).
الإصدار 1.0.0-alpha07
21 حزيران (يونيو) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha07
. يحتوي الإصدار 1.0.0-alpha07 على هذه عمليات التنفيذ.
الميزات الجديدة
- أضفنا المكوّن
Stepper
إلى مكتبة Material 3 في تطبيق Compose لنظام التشغيل Wear OS. وهو مشابه لإصدار Material السابق، ولكنه يحذف دلالات النطاق تلقائيًا، بعد ملاحظات مطوّري البرامج. نوفّرModifier.rangeSemantics
الحالات التي تكون فيها دلالات النطاق مطلوبة. (Ic39fd) - أضفنا
curvedText
إلى مكتبة Material 3 في تطبيق Compose لنظام التشغيل Wear OS. (Ia8ae3)
إصلاح الأخطاء
- عدّلنا
wear.compose.foundation
ليصبح معتمِدًا على واجهة برمجة التطبيقاتwear.compose.material3
(I72004، b/285404743).
الإصدار 1.0.0-alpha06
7 حزيران (يونيو) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha06
. يحتوي الإصدار 1.0.0-alpha06 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- لقد عدّلنا
TextButton
لاستخدام دالة الإضافةtoDisabledColor
لقيم ألفا الصحيحة غير المفعَّلة. (I814c8)
الإصدار 1.0.0-alpha05
24 أيار (مايو) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha05
. يحتوي الإصدار 1.0.0-alpha05 على هذه عمليات التنفيذ.
الميزات الجديدة
- لقد أضفنا
TextButton
إلى Material3، وهو زر دائري يحتوي على فتحة واحدة للنص. بالنسبة إلى أحجام مختلفة منTextButton
، ننصحك باستخدامModifier.touchTargetAwareSize
وExtraSmallButtonSize
وSmallButtonSize
وDefaultButtonSize
وLargeButtonSizeIcon
المتوفّرة فيTextButtonDefaults
. لا يحتوي الرمز التلقائيTextButton
على حدود وله خلفية شفافة للإجراءات ذات الأهمية المنخفضة. بالنسبة إلى الإجراءات التي تتطلّب تركيزًا كبيرًا، استخدِمfilledTextButtonColors
. بالنسبة إلى الإجراءات التي تتطلّب تركيزًا متوسطًا، استخدِمTextButton
المُحاط بإطار، واضبط الحدود علىButtonDefaults.outlinedButtonBorder
. بالنسبة إلى الإجراءات التي تتطلّب تركيزًا متوسطًا بين الإجراءات المُحاطة بإطار والإجراءات المملوءة، استخدِمfilledTonalTextButtonColors
. (I667e4) - أضفنا
Card
وOutlinedCard
وAppCard
وTitleCard
إلى مكتبة Material3 في Wear Compose. يمكن أيضًا منحAppCard
وTitleCard
مظهرًا مخطّطًا باستخدامCardDefaults.outlinedCardColors
وCardDefaults.outlinedCardBorder
(I80e72).
تغييرات واجهة برمجة التطبيقات
- لقد نقلنا مَعلمة تصنيف الزرّ إلى النهاية لتتوافق مع بنية lambda اللاحقة وأزلنا مَعلمة الدور (لأنّه يمكن إلغاء ذلك باستخدام
Modifier.semantics
). أصبحت الآن وظائف إنشاءButtonColors
علنية. (Ie1b6d)
الإصدار 1.0.0-alpha04
10 أيار (مايو) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha04
. يحتوي الإصدار 1.0.0-alpha04 على عمليات التنفيذ هذه.
الميزات الجديدة
- أضفنا
IconButton
إلى Material3، وهو زر دائري يتضمّن خانة واحدة للرمز/الصورة. تتوفّر أربعة أشكال:IconButton
وFilledIconButton
وFilledTonalIconButton
وOutlinedIconButton
. بالنسبة إلى أحجام مختلفة منIconButton
، ننصحك باستخدامModifier.touchTargetAwareSize
وExtraSmallButtonSize
وSmallButtonSize
وDefaultButtonSize
وLargeButtonSizeIcon
المتوفّرة فيIconButtonDefaults
. نوفّر أيضًاIconButtonDefaults.iconSizeFor
لتحديد حجم الرمز المقترَح لحجم زر معيّن. (I721d4)
الإصدار 1.0.0-alpha03
19 نيسان (أبريل) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha03
. يحتوي الإصدار 1.0.0-alpha03 على هذه عمليات التنفيذ.
تغييرات واجهة برمجة التطبيقات
- لقد أضفنا زر Material 3 - وهو زر على شكل استاد كان يُعرف باسم "تشيب" في مكتبة Wear Compose Material (تمت إعادة تسميته إلى "Button" لتحقيق الاتساق مع مكتبة Compose Material 3). يكون للزر التلقائي خلفية معبأة وهناك تباينات للأزرار الخاصة بـ
FilledTonal
(خلفية مكتومة) ومُحددة (شفافة بحدود رفيعة) وعنصر ثانوي (خلفية شفافة وبدون حدود، ويتم استخدامه للإجراءات التكميلية ذات أقل قدر من البروز). ستتوفّر أزرار مستديرة لمحتوى الرموز والنصوص البسيطة في إصدار مستقبلي.(Ia6942)
الإصدار 1.0.0-alpha02
5 نيسان (أبريل) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha02
. يحتوي الإصدار 1.0.0-alpha02 على هذه المراجعات.
إصلاح الأخطاء
- أضفنا
DefaultTextStyle
إلى Wear Compose Material 3 الذي يضبطPlatformTextStyle.includeFontPadding
تلقائيًا على true (الإعداد الحالي). سيتيح لنا ذلك مزامنة إيقاف حشوة الخط تلقائيًا مع مكتبات Compose في المستقبل (راجِع إصلاح حشوة الخط في ميزة "الإنشاء" للخلفية). (I7e461)
الإصدار 1.0.0-alpha01
22 آذار (مارس) 2023
تم إصدار androidx.wear.compose:compose-material3:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 على هذه المراجعات.
الميزات الجديدة
Material 3 هو الإصدار القادم من Material Design وتشمل تصاميم محدثة ومكونات معاد تصميمها. تم تصميم واجهة Material 3 في تطبيق Wear Compose لتتلاءم مع مكتبة Material 3 Compose على Android. يتضمّن هذا الإصدار التجريبي الأول عمليات تنفيذ وظيفية مبكرة لما يلي:
سنواصل تطوير Wear Material (
androidx.wear.compose:compose-material
) وWear Material 3 (androidx.wear.compose:compose-material3
) بالتوازي. ستوسّع الإصدارات المستقبلية من Material3 مجموعة التطبيقات المصغّرة لتشمل مكوّنات أخرى مألوفة من تطبيق Compose لنظام التشغيل Wear OS، مثل الأزرار وأدوات الاختيار وأدوات التمرير.إنّ مكتبتَي Wear Material وWear Material 3 متعارضتان مع بعضهما البعض، ويجب عدم خلطهما في التطبيق نفسه، ويرجع ذلك في المقام الأول إلى أنّهما تشيران إلى مظاهر مختلفة قد تؤدي إلى حدوث تناقضات غير متوقّعة.
الإصدار 1.5 من أداة Compose على Wear
الإصدار 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 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- أعدنا تسمية واجهة Compose Foundation
LazyColumn
في Wear OS ليصبح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)
- لقد عدّلنا مستندات "مربّع حوار المواد" لتوضيح أنّه لا يتم استدعاء
onDismissRequest
بعد ضبط علامة العرض على "خطأ". (Ifd8d6) - أصلحنا خطأ في الصورة المتحركة للتأثير البؤري في مربّع الحوار بتصميم Material (I126bf).
الإصدار 1.5.0-alpha02
18 أيلول (سبتمبر) 2024
تم إصدار androidx.wear.compose:compose-*:1.5.0-alpha02
. يحتوي الإصدار 1.5.0-alpha02 على عمليات التنفيذ هذه.
تغييرات واجهة برمجة التطبيقات
- لقد أضفنا إمكانية استخدام ميزة
LazyColumn
في تطبيق Wear Compose معScreenScaffold
(وأضافنا تنفيذًا لميزةScrollInfoProvider
فيLazyColumnState
). (Ib8d29) - أضفنا
viewportSize
إلىLazyColumnLayoutInfo
. (I4187f)
إصلاح الأخطاء
- أصلحنا خطأً بحيث تم إيقاف ميزة "التمرير الدوار" الآن في
ScalingLazyColumn
عند ضبط علامةuserScrollEnabled
علىfalse
. (I490ab، b/360295825) - لقد أجرينا إصلاح خطأ لمعالجة المساحة المتروكة العمودية غير المتوقعة في النص المنحني. يتطابق ارتفاع النص المنحني الآن بشكلٍ أدق مع المساحة الفعلية التي يستخدمها النص. يُرجى العِلم أنّ هذا الإجراء قد يؤدي إلى إيقاف اختبارات لقطات الشاشة التي تتضمّن نصًا منحنيًا (Iaa6ef).
- لقد أبطلنا إصلاحًا للخطأ في
Dialog
حيث تمّ استدعاء دالة الاستدعاءonDismissRequest
عند ضبطshowDialog
على false، لأنّ ذلك أدّى في بعض الحالات إلى استدعاء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.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 على 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
لاستبدال استخدام "focusable" بـ "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 لنظام التشغيل Wear OS إلى أنّ هذا الإصدار من المكتبة مكتمل الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء الحالات التي تم وضع علامة عليها كتجريبية). تتضمّن أداة "الكتابة السريعة" 1.4 لنظام التشغيل Wear OS الوظائف الجديدة التالية:
- أضفنا
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) - أجرينا تغييرات إضافية على واجهة برمجة التطبيقات rotary API: تمت إعادة تسمية
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
الآن إدخالًا دوارًا تلقائيًا، مع عمليات تحميل زائدة جديدة تتضمّن المَعلمةrotaryBehavior
لتحديد إعدادات التمرير أو التصاق العنصر. إذا تم ضبط المَعلمةrotaryBehavior
على "الالتقاط"، ننصحك بتوفير ميزة "الالتقاط" من خلال المَعلمةflingBehavior
أيضًا لتمرير المحتوى باللمس. (I2ef6f) - يتم استبدال مصدرَي
NestedScroll
Drag وFling بـ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)
- أضفنا مسودة داخلية لدعم ميزة لمسات haptics، وذلك في إطار الجهد الأكبر المبذول لنقل سلوك Rotary إلى 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)
تغييرات واجهة برمجة التطبيقات
- أضفنا واجهة برمجة تطبيقات جديدة لواجهة برمجة التطبيقات ripple API في مكتبتَي
wear:compose-material
وwear:compose-material3
، وهي تحلّ محل واجهة برمجة التطبيقاتrememberRipple
التي تم إيقافها نهائيًا. ستتم أيضًا إضافةCompositionLocal
،LocalUseFallbackRippleImplementation
مؤقت، لإعادة مكونات Material إلى استخدام واجهات برمجة تطبيقاتrememberRipple/RippleTheme
المتوقّفة. ستتم إزالة هذه السمة في الإصدار الثابت التالي، وهي مخصّصة فقط لتكون وسيلة مساعدة مؤقتة لنقل البيانات في الحالات التي تقدّم فيهاRippleTheme
مخصّصًا. يُرجى الانتقال إلى developer.android.com للحصول على معلومات حول نقل البيانات ومزيد من المعلومات الأساسية حول هذا التغيير. (af92b21) - لقد عدّلنا السمة
ColorScheme
لتصبح غير قابلة للتغيير، ما يجعل عمليات تعديل الألوان الفردية أقل كفاءة، ويساهم في زيادة فعالية الاستخدام الشائع للألوان. يرجع سبب هذا التغيير إلى أنّ معظم التطبيقات لن تتضمن تغيير ألوان فردية كحالة استخدام رئيسية. لا يزال هذا ممكنًا، ولكنّه سيؤدي إلى إعادة التركيب أكثر من ذي قبل، ما يؤدي بدوره إلى تقليل عدد الاشتراكات في الحالة بشكل كبير من خلال كل الرمز البرمجي للمواد، وسيؤثّر في تكلفة الإعداد وتكلفة وقت التشغيل لعدد أكبر من حالات الاستخدام العادية. (f5c48b7) - تم تعديل مكوّنات Wear material وWear material3 التي تعرض
MutableInteractionSource
في واجهة برمجة التطبيقات لتعرض الآنMutableInteractionSource
قابلاً للتغيير إلى قيمة فارغة. ما مِن تغييرات دلالية هنا: يعني تمرير القيمة null أنّك لا تريد رفعMutableInteractionSource
، وسيتم إنشاؤه داخل المكوّن إذا لزم الأمر. يؤدي التغيير إلى قيمة فارغة إلى عدم تخصيص بعض المكوّناتMutableInteractionSource
مطلقًا، كما يسمح للمكوّنات الأخرى بإنشاء مثيل بشكل كسول فقط عند الحاجة، ما يؤدي إلى تحسين الأداء على مستوى هذه المكوّنات. إذا كنت لا تستخدمMutableInteractionSource
التي تمرِّرها إلى هذه المكوّنات، ننصحك باستخدام قيمة null بدلاً من ذلك. وننصحك أيضًا بإجراء تغييرات مشابهة في مكوّناتك. (f8fa920) - تم تعديل
rememberExpandableState
لحفظ الحالة القابلة للتوسيع. ويضمن ذلك تخزين البيانات عند الانتقال إلى شاشة أخرى واستعادتها عند العودة إلى الشاشة الأصلية. (5c80095)
إصلاح الأخطاء
- لقد عدّلنا إعداد
ReduceMotion
لاستخدام مستمع يراعي دورة الحياة. (7c6b122) - لقد عدّلنا ملف "المستمع" في
TouchExplorationStateProvider
ليكون على دراية بالحالة (be28b01). - لقد أزلنا طبقة المادة الأساسية
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 dp. ومع ذلك، يمكن أن يحدث تعطُّل في اختبارات لقطات الشاشة للكائنَين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
لاستخدام نصف قطر زاوية مستديرة يبلغ 26dp، وسيتم استخدامه الآن من قِبل Chip وToggleChip
. نحتاج إلى هذا التغيير لتمكين تعديلات الارتفاع عندما تحتاج المحتوى إلى ارتفاع إضافي لاستيعاب أحجام الخطوط الكبيرة، وإلا سيؤدي شكل الملعب الحالي إلى اقتصاص بعض محتوى النص.قد يؤدي هذا التغيير إلى إيقاف اختبارات لقطات الشاشة. (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 إلى الإصدار التجريبي 01 من Compose لـ 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
. وهذا يجعل التمييز بين المكوّن على مستوى "العناصر الأساسية" والمكوّن على مستوى "المواد"SwipeToDismissBox
أوضح. يسحب هذا الأخير الألوان منMaterialTheme
لاستخدامها في الشاشات المصغّرة ويفوّض التنفيذ المتبقّي إلىBasicSwipeToDismissBox
. (Ibecfc) - لقد وضعنا علامة على
rememberExpandableStateMapping
باعتبارها ميزة تجريبية ونجحنا في تحسين أداءexpandableItem
. (I5f6bc) - لقد استبدلنا الفئة
SwipeToRevealAction
في واجهات برمجة التطبيقات الخاصة ببطاقة MaterialSwipeToReveal
والرقاقة بواجهة برمجة تطبيقات مستندة إلى الخانة باستخدام العناصر القابلة للإنشاءSwipeToRevealPrimaryAction
وSwipeToRevealSecondaryAction
وSwipeToRevealUndoAction
. يُرجى الاطّلاع على نموذج الرمز للحصول على أمثلة عن كيفية استخدام واجهة برمجة التطبيقات الجديدة. (Ia8943) - لقد استبدلنا علامات الرسوم المتحركة
PositionIndicator
بالمَعلماتAnimationSpec
. يمكن إيقاف الصور المتحرّكة الفردية من خلال ضبطsnap
على أنّهAnimationSpec
. (I6c523)
إصلاح الأخطاء
- أصلحنا خطأ ناتجًا عن نص منحنٍ محدود عندما يكون الحجم محدودًا (I50efe).
- لقد عالجنا عطلاً محتمَلاً في NaN مرتبطًا بالجهاز
curvedComposable
(I970eb). - لقد أعدنا عرض الصورة المتحركة التي تُبرز تغيير الموضع في
PositionIndicator
. (Ieb424) - أزلنا طبقة النواة المادية لرقاقة المواد لتحسين أدائها. (If2dcb)
الإصدار 1.3.0-alpha08
18 تشرين الأول (أكتوبر) 2023
تم إصدار androidx.wear.compose:compose-*:1.3.0-alpha08
. يحتوي الإصدار 1.3.0-alpha08 على هذه المراجعات.
تغييرات واجهة برمجة التطبيقات
- لقد أضفنا علامات فردية إلى أحمال
PositionIndicator
الزائدة للتحكّم في الصور المتحركة المختلفة:showFadeInAnimation
وshowFadeOutAnimation
وshowPositionAnimation
. تم إيقاف واجهة برمجة التطبيقات السابقة نهائيًا وتتم إعادة توجيه الطلبات إلى الواجهة الجديدة. لأسباب تتعلّق بالأداء واتساق تجربة المستخدم، ننصحك بإيقاف علامتَيshowFadeInAnimation
وshowPositionAnimation
عند استخدام الرمزPositionIndicator
مع قائمة قابلة للتنقّل. إذا تم استخدامPositionIndicator
كمؤشر مستقل، مثلاً لتغيير مستوى الصوت، ننصحك بتفعيل جميع الرسومات المتحرّكة الثلاثة. (I44294) - لقد أوقفنا المواد
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
، وذلك في الحالات التي يجب فيها إنشاءها عند الطلب، وليس بالضرورة ضمن نطاق@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 OS لاستخدام
SwipeToDismissBox
الجديد من Wear Compose Foundation. (I4ff8e)
إصلاح الأخطاء
- أصلحنا خطأ ترتيب z حيث لم يعرض
expandedItem
المحتوى الصحيح بعد النقر على سلوك أحد الأزرار عندما يكون يحتوي على أزرار. (I1899d، b/289991514) - يمكنك تحسين معالجة التركيز على
SwipeToDismissBox
(وبالتاليSwipeDismissableNavHost
) باستخدامHierarchicalFocusCoordinator
(I45362، وb/277852486). - لقد أجرينا إصلاحًا على معالجة الإيماءات في
SwipeableV2
. (I89737) - لقد أكملنا الملفات الشخصية الأساسية لإصدار 1.2. (Id5740)
- بعد نقل السمة
SwipeToDismissBox
إلى سمة "مؤسسة"، تتم الآن إعادة توجيه عملية تنفيذ المادةSwipeToDismissBox
إلى "مؤسسة" وتوفير قيم الألوان التلقائية من موضوعها.(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)
المشاكل المعروفة
- إنّ توفير أحجام الخطوط التي يضبطها المستخدم هو أحد متطلبات تسهيل الاستخدام. ندرك أنّ شرائح النصوص المتعدّدة الأسطر يمكن أن تؤدي إلى اقتصاص النص عند عرضها بحجم خط كبير، لذا سنعدّل شريحة 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 لنظام التشغيل Wear OS 1.2.0 (مزيد من المعلومات)
- للحصول على قائمة بالتغييرات الأساسية في الإصدار 1.2 من Wear Compose، يمكنك الاطّلاع على ملاحظات الإصدار (Compose for Wear OS 1.2beta01).
الإصدار 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 Foundation ومكتبات المواد(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 لنظام التشغيل Wear OS 1.2
يشير الإصدار 1.2-beta01 من Compose لنظام التشغيل Wear OS إلى أنّ هذا الإصدار من المكتبة مكتمل الميزات وأنّ واجهة برمجة التطبيقات مقفلة (باستثناء الحالات التي تم وضع علامة عليها كإصدار تجريبي). يتضمّن تطبيق Wear Compose 1.2 الوظائف الجديدة التالية:
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
التعليقات التوضيحية التالية والمعاينة المتعدّدة: العناصر القابلة للإنشاء على جهاز قابل للارتداء بأحجام خطوط متعدّدة، في حين يعاينWearPreviewDevices
العناصر القابلة للإنشاء على أجهزة Wear OS مختلفة.- أضفنا
DefaultTextStyle
إلى Wear Compose لضبط السمةPlatformTextStyle.includeFontPadding
تلقائيًا على true (هذا هو الإعداد الحالي). سيتيح لنا ذلك مزامنة إيقاف تعبئة النص تلقائيًا مع مكتبات Compose في إصدار أوّلي من الإصدار 1.3. يُرجى الاطّلاع على 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
إلى عناصر الإجراء القابلة للإنشاء فيSwipeToReveal
، ما يتيح الوصول إلى الإزاحة التي يتم عندها الكشف عن إجراءات إضافية. (I3fd56)
إصلاح الأخطاء
- تم إصلاح مشكلة توقُّف "
ScalingLazyColumn
" على واجهة برمجة تطبيقات Wear API 33 بعد الانتقال إلى الصفحة (Ic4599). - لقد أجرينا بعض التحسينات على أداء "
PositionIndicator
" للحدّ من التعطّل. (I35e92) - أصلحنا خطأً في "الشريحة" و"
CompactChip
" حيث لم يعُد يتم ضبط الدور الدلالي علىRole.Button
. (I93f91، b/277326264)
المشاكل المعروفة
لقد رصدنا خطأً في "استوديو Android" يؤدي إلى تعذُّر عرض المعاينة عند إضافة تعليقات توضيحية باستخدام @WearPreviewDevices و @WearPreviewFontScales. من المخطّط طرح حلّ لهذا الخطأ قريبًا. يُرجى العلم أنّ التعليقات التوضيحية الأخرى لميزة معاينة Wear تعمل على النحو المطلوب في الإصدار 2022.3.1 من Android Studio Giraffe والإصدارات الأحدث.
في الإصدار 1.2.0-alpha07، أضفنا DefaultTextStyle إلى Wear Compose، مع الحفاظ على قيمة PlatformTextStyle.includeFontPadding الحالية على true. بالنسبة إلى الخلفية، يُرجى الاطّلاع على إصلاح مساحة ملء النص في ميزة 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) من مادة العرض إلى العناصر الأساسية، لأنّها لم تكن تحتوي على إشارة مفيدة إلى
MaterialTheme
. (Ib0525)
إصلاح الأخطاء
- لقد أصلحنا عطلاً حدث في شاشة تستخدم
PickerGroup
، وذلك من خلال التأكّد من أنّPickerGroup
يعالج التركيز بشكلٍ صحيح عندما لا يكون لدى أداة الاختيار التركيز. كما أضفنا دعمًا لتمرير RSB في عروض أداة الاختيار. (If8c19) - لقد أجرينا تحسينات على انتقالات المحادثات، وأصبح انتقال المحادثة الافتتاحية الآن أكثر سلاسة ليتناسب مع انتقال المحادثة الختامية. (Ib5af9)
- أضفنا
DefaultTextStyle
إلى Wear Compose لضبط السمةPlatformTextStyle.includeFontPadding
تلقائيًا على true (هذا هو الإعداد الحالي). سيتيح لنا ذلك مزامنة إيقاف حشوة الخط تلقائيًا مع مكتبات Compose في المستقبل. يُرجى الاطّلاع على (إصلاح حشوة الخط في Compose) للتعرّف على الخلفية. (I2aee8) - تمت إعادة الاعتماد على معاينة
UpsideDownCake
من خلال إنشاء النشاط الذي حظر نشر التطبيقات إلى "متجر 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 (Giraffe Canary 6) أو الإصدارات الأحدث. يُرجى العِلم أنّه إذا لم تكن هذه التعليقات التوضيحية مناسبة لغرضك، سيظل بإمكانك استخدام ميزة "المعاينة"، كما تتيح لك إجراء المزيد من عمليات التخصيص من خلال المَعلمات. (I397ff) - لقد وضعنا علامة على
HierarchicalFocusCoordinator
باعتبارها ميزة تجريبية، ولكننا نعتبرها مرشحة لنقلها إلى مكتبات Compose الأساسية، نظرًا لقابليتها للتطبيق على نطاق واسع. (I3a768)
إصلاح الأخطاء
- تم إصلاح خطأ في
HierarchicalFocusCoordinator
، فعند تغيير متغير lambda الذي تم تمريره للمَعلمةfocusEnabled
، يتم الآن استخدام المتغير الجديد بشكل صحيح. (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) - تحسين ملفات kdocs الخاصة بميزة 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
:
- تم إيقاف واجهات برمجة التطبيقات
PositionIndicator
التي تستهدف MaterialScalingLazyColumn
نهائيًا، لذا يُرجى التحديث إلىFoundation.Lazy ScalingLazyColumn
. تمت إضافة حقل "anchorType
" أيضًا إلى "ScalingLazyListLayoutInfo
". (I29d95) - تم وضع علامة على
ScalingLazyColumn
على أنّها متوقّفة نهائيًا في حزمة Wear Compose Material (I16d34). - عدّلنا أداة التعديل "
ScrollAway
" لاستخدام "ScalingLazyListState
" من نظام التشغيل Wear ComposeFoundation.Lazy
وأوقفنا نهائيًا التحميل الزائد الذي بلغScalingLazyListState
من مواد Wear Compose. (Ifc42c) - لقد عدّلنا واجهات برمجة تطبيقات Dialog من أجل استخدام
ScalingLazyListState
منFoundation.Lazy
وأوقفنا نهائيًا التحميل الزائد الذي تم استخدامه من قِبل MaterialScalingLazyListState
(Ic8960). - لقد عدّلنا واجهات برمجة تطبيقات Picker لاستخدام
ScalingParams
منFoundation.Lazy
وأوقفنا نهائيًا التحميل الزائد الذي استخدم MaterialScalingParams
. (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) - حلّ مشكلة "مستندات Google" في
scrollToOption
(I6f9a0) - تم تعديل
PlaceholderState.rememberPlaceholderState()
لاستخدامrememberUpdatedState
لكي يتم تعديل الحالة في حال كانت دالةonContentReady
lambda. (I02635، b/260343754) - لقد أصلحنا مشكلة اهتزاز النص التي ظهرت في مكوّن
Picker
من خلال الاستفادة من استراتيجية الدمج الجديدة التي تمت إضافتها إلىModifier.graphicsLayer
. (I99302) - لقد أصلحنا خطأً كان يتسبب في وميض الشاشة في الإصدار التجريبي من
DatePicker
(I660bd). - أدخلنا تحسينات على إمكانية الوصول للإصدارات التجريبية لأداة اختيار الوقت والتاريخ لمدة 12 ساعة (I05e12).
- عدّلنا العروض التوضيحية لأداة اختيار الوقت والتاريخ لكي لا تتأثر هذه الأداة بتغييرات RSB عند عدم اختيارها (I4aecb).
الإصدار 1.2.0-alpha01
7 كانون الأول (ديسمبر) 2022
تم إصدار androidx.wear.compose:compose-*:1.2.0-alpha01
. يحتوي الإصدار 1.2.0-alpha01 على هذه المراجعات.
الميزات الجديدة
- لقد عدّلنا وظيفة العنصر النائب التجريبي لكي يتم تطبيق تأثير "المحو" على الفور عندما يكون المحتوى جاهزًا بدلاً من الانتظار لبدء حلقة الصورة المتحركة التالية. أجرينا أيضًا بعض التعديلات على مؤثرَي التمويه والتلاشي. (I5a7f4)
التغييرات في واجهة برمجة التطبيقات
- أضفنا
HierarchicalFocusCoordinator
composable لتفعيل وضع علامة على الأشجار الفرعية للتركيب على أنّها قيد التركيز أو غير قيد التركيز.(I827cb) - أضفنا سمة جديدة لتجاهل الدور الدلالي للسمة
ToggleButton
.(I67132) - لقد عدّلنا
TimeTextDefaults.TimeFormat12Hours
لإزالة صباحًا/مساءً فيTimeText
. سيؤدي هذا إلى تغيير القيمة التلقائية لمَعلماتtimeSource
فيTimeText
API. (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
لكي يتم تعديل الحالة في حال كانت دالةonContentReady
lambda. (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 لنظام التشغيل Wear OS 1.1.0 (مزيد من المعلومات)
- للحصول على قائمة بالتغييرات الرئيسية في Wear Compose 1.1، يُرجى الاطّلاع على ملاحظات الإصدار (Compose for Wear OS 1.1 Beta01).
الميزات الجديدة
- لقد عدّلنا وظيفة العنصر النائب التجريبي لكي يتم تطبيق تأثير "المحو" على الفور عندما يكون المحتوى جاهزًا بدلاً من الانتظار لبدء حلقة الصورة المتحركة التالية. لقد أجرينا أيضًا بعض التحديثات على الرسوم المتحركة اللامعة وامسحها. (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 لتجنّب أخطاء القسمة على 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) إضافة تسهيل (منحنى bezier مكعّب) لتقدّم التلألؤ، و3) تسريع الصورة المتحركة للإزالة (250 ملي ثانية). (Id29c1)
- لقد صحّحنا خطأ في واجهة المستخدم في تأثير wipeOff للعنصر النائب، حيث كانت الخلفيات في الشريحة والبطاقة تم محوها مبكرًا قليلاً بسبب عدم أخذ موضع المكوّن على الشاشة في الاعتبار. (I2c7cb)
- لقد عدّلنا رسم خلفية العنصر النائب لدمج الألوان بدلاً من وضعها في طبقات كلما أمكن ذلك، وذلك لتقليل خطر دمج شفافية الطبقات المختلفة التي تم اقتصاصها من السماح للألوان الأساسية بالتداخل مع حواف خلفية العنصر النائب. (I2ea26)
- لقد صحّحنا عملية احتساب
ScalingLazyListState.centerItemIndex/centerItemOffset
بحيث إذا كان هناك عنصران على جانبَي خط مركز مساحة العرض، سيتم اعتبار العنصر الأقرب هوcenterItem
. (I30709، b/254257769) - لقد صحّحنا خطأ في
ScalingLazyListState.layoutInfo.visibleItemsInfo
كان يُبلغ عن Offsets غير صحيحة أثناء إعداد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 لنظام التشغيل Wear OS 1.1
أشار الإصدار 1.1.0-beta01 من Compose لنظام التشغيل Wear OS إلى أنّ هذا الإصدار من المكتبة مكتمل السمات وأنّ واجهة برمجة التطبيقات مقفلة.
- يتضمّن الإصدار 1.1 من Wear Compose الوظائف الجديدة التالية:
- أداة الاختيار: تحسينات على أدوات تسهيل الاستخدام في أداة الاختيار لتسهيل التنقّل في شاشات أداة الاختيار المتعدّدة باستخدام تطبيقات قراءة الشاشة والوصول إلى وصف المحتوى
- لا تُستخدَم الآن مَعلمة أداة الاختيار
contentDescription
إلا لخيار أداة الاختيار المحدّد، وتستخدِم سلسلة يمكن أن تحتوي على قيمة فارغة (في الإصدار السابق، كان من الضروري ضبط تعيين من الخيار إلى وصف المحتوى، ولكن تم استخدام الخيار المحدّد فقط). - يتم الآن محاذاة عناصر أداة الاختيار دائمًا في المنتصف، ما أدى إلى إصلاح خطأ كان يحدث عند ضبط
gradientRatio
على القيمة صفر، وكان له تأثير جانبي يتمثل في تغيير المحاذاة. Chip/ToggleChip
- عدّلنا التدرجات اللونية التلقائية لـChip/ToggleChip
لتتوافق مع أحدث مواصفات تجربة المستخدم. تم تعديلChipDefaults.gradientBackgroundChipColors
ليبدأ من% 50 من اللون الأساسي بدلاً من %32.5.Chip/ToggleChip
- تمت إضافة وظائف زائدة لتعديل أشكال الشرائحChip/Button/ToggleButton
- تمت إضافة نمط جديد مخطّط للشرائح والأزرار وعناصر تركيب جديدةOutlinedChip
وOutlinedButton
توفّرChip/Button
شفافًا مع حدود رفيعة.- البطاقة - تم تعديل التدرجات التلقائية للبطاقات لكي تتماشى مع أحدث مواصفات تجربة المستخدم. تم تعديل
CardDefaults.cardBackgroundPainter
للبدء من 30% من البطاقة الأساسية وينتهي عند 20% منonSurfaceVariant
(كان سابقًا 20% إلى 10%onSurfaceVariant
). تم تغييرToggleChip.toggleChipColors
من التدرج الخطي من سطح 75% إلى 32.5% أساسي إلى 0% من السطح الأساسي 0% إلى 50%. Button/ToggleButton
- سمات تمت إضافتها لتعديل أشكال الأزرار- المظهر: تم تعديل عدد من الألوان التلقائية في
MaterialTheme
لتحسين إمكانية الاستخدام، لأنّ الألوان الأصلية لم تكن ذات تباين كافٍ، ما أدّى إلى صعوبة تمييز المستخدمين لخلفيات الشريحة/البطاقة/الزر عن لون خلفية المظهر. InlineSlider/Stepper
: تمّت إضافة أدوار الأزرار لكي يتمكّنTalkback
من التعرّف عليها كأزرار.- الهيكل: تم الآن تحديد موضع
PositionIndicator
وحجمه بحيث لا يشغل سوى المساحة المطلوبة. يكون ذلك مفيدًا، على سبيل المثال، إذا تمت إضافة معلومات دلالية إليه، ستحصل ميزة "الوصف الصوتي" الآن على الحدود الصحيحة للعنصر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 (لهما عنصر ui لإنشاء الرسائل مُرتبط بهما وحجمه مناسب ومكانه مناسب (ولكنه فارغ)، ويتم استخدام النص كوصف للمحتوى) (I7af7c، b/210721259) - إصلاح خطأ في
Picker
عندPickerState.repeatedItems = false
لإضافة إعداد صريح لمَعلمات autoCentering فيScalingLazyColumn
الداخلي لـ Pickers لضمان إمكانية الانتقال إلى الخيار صفر في منتصف العرض (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
وحجمه بحيث لا يشغل سوى المساحة المطلوبة. يكون ذلك مفيدًا، على سبيل المثال، إذا تمت إضافة معلومات دلالية إليه، ستحصل ميزة "الوصف الصوتي" الآن على الحدود الصحيحة للعنصر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.dp بين التصنيف ومنطقة رمز التحكّم الخاصة بالتبديل بحجم 24x24.dp. للحصول على عرض إجمالي يبلغ 28.dp. ومع ذلك، يعرض التنفيذ بشكلٍ غير صحيح منطقة التحكّم في التبديل التي تبلغ 36x24.dp. يؤدي ذلك إلى إزالة 8.dp من مساحة تصنيف النص القابلة للاستخدام. ملاحظة: يمنح تصحيح الخطأ هذا مساحة إضافية لتسمية النص، وبالتالي يمكن أن يؤثر (بشكل إيجابي) في تنسيق النص الذي يتدفق خارج المساحة المحددة له. إذا كانت لديك اختبارات لقطات شاشة تشمل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 الأساسية التي تعتمد عليها مكتبة Compose لنظام التشغيل Wear OS من الإصدار 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 لمؤشرات الموضع والصفحة في الإطار. وسيتم وضع المؤشرات الآن أعلى المقالة القصيرة وبالتالي لن يتم حجبها بواسطة المقالة القصيرة إذا كانت موجودة. (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
قد يؤدي إلى عدم اكتمال إعداد القوائم التي تحتوي على عدد صغير (عادةً 2) عناصر قائمة، ما يؤدي إلى عدم اكتمال عملية الإعداد. (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 لنظام التشغيل Wear OS (مزيد من المعلومات).
- يعتمد Compose for Wear OS على مكتبات Compose الأساسية التي توفّر مكوّنات إضافية خاصة بالأجهزة القابلة للارتداء، وإلى عمليات تنفيذ بديلة لمكوّنات Compose الأساسية والمخصّصة للأجهزة القابلة للارتداء، إذا كان ذلك ملائمًا.
- للحصول على قائمة بالمكونات الرئيسية في تطبيق Wear Compose، يُرجى الاطّلاع على ملاحظات الإصدار (الإصدار التجريبي 01 من تطبيق Compose لنظام التشغيل Wear OS).
إصلاح الأخطاء
- لقد حرّكنا مستوى رؤية إعلان الشاشة الكاملة عند إظهار/إخفاء مربّع الحوار، بما يتماشى مع الرسم المتحرك الحالي للتحجيم. (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 باستخدام طرق الواجهات التلقائية في jdk8 (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 بكسل مستقل الكثافة على الأقل لاستيفاء إرشادات تسهيل الاستخدام في التصميم المتعدد الأبعاد. قد يؤثر ذلك في أي تنسيقات تستخدم فيها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
في وضع "الإنشاء"@Preview
. (I3b3b6، b/232947354)
تغييرات واجهة برمجة التطبيقات
- لقد غيّرنا القيمة التلقائية للسمة
ScalingLazyColumn.horizontalAlignment
من البداية إلىCenterHorizontally
لضمان عدم محاذاة عناصر القائمة لعرض العمود بالكامل. للرجوع إلى السلوك السابق، اضبط القيمةhorizontalAlignment = Alignment.Start
.(I9ed4b)
المشاكل المعروفة
- ارتفاع النقر/اللمس في عنصر CompactChip أصغر من إرشادات تسهيل الاستخدام في التصميم المتعدد الأبعاد. سيتم تصحيح هذا الخطأ في الإصدار التالي (15 حزيران/يونيو). إذا كنت تستخدم شرائح CompactChip، سيؤثّر ذلك في تنسيقات إعلاناتك لأنّ شرائح CompactChip ستتضمّن الآن مساحة إضافية فوقها وتحتها. يُرجى تعديل التنسيقات واختبارها أو الاطّلاع على تعليقات الأخطاء لمعرفة حلّ بديل لاستخدام السلوك الحالي. (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
constructor taking a TextStyle
now also respects the fontWeight
(This may be added to the constructor and copy methods in future revisions of the API) (Ieebb9)- تحسينات على التمرير السريع من جانب الشاشة عند استخدام الرمز
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 على هذه المراجعات.
الميزات المتوفرة في تطبيق Compose لنظام التشغيل Wear OS 1.0
يشكّل 1.0.0-beta01
في Compose لنظام التشغيل Wear OS إنجازًا مهمًا، إذ إنّها ميزة مكتملة وقفل واجهة برمجة التطبيقات في المكتبة.
تشمل مكونات Material في Wear Compose في الإصدار 1.0 ما يلي:
- مظهر Material Theme: يُستخدَم هذا المظهر كبديل لـ Compose for Mobile
MaterialTheme
، ويوفّر الألوان والأشكال وأسلوب الخط لإنشاء مكوّنات على الأجهزة القابلة للارتداء التي تطبّق إرشادات تجربة المستخدم في تصميم Material على Wear بشكل تلقائي. -
Button
وCompactButton
وToggleButton
: يقدّم الزر خانة واحدة لعرض رمز أو صورة أو نص قصير (3 أحرف بحد أقصى). دائري الشكل وبأحجام يُنصح بها للأزرار التلقائية أو الكبيرة أو الصغيرة. يوفّرCompactButton
فتحة واحدة لأخذ أي محتوى (رمز أو صورة أو نص) وهو دائري الشكل مع حجم الخلفية صغير جدًا. يحتويCompactButton
على مساحة شفافة اختيارية حول الخلفية تزيد من المنطقة التي يمكن النقر عليها.ToggleButton
هو زر يقدّم خانة واحدة لعرض أي محتوى (نص قصير أو رمز أو صورة) ويحتوي على حالتَي تفعيل/إيقاف (تم وضع علامة/لم يتم وضع علامة) مع ألوان ورموز مختلفة للإشارة إلى ما إذا تم وضع علامة أم لا. - البطاقات - تستخدم لعرض معلومات حول التطبيقات مثل الإخطارات. تصميم مرن لحالات الاستخدام المختلفة باستخدام
AppCard
وTitleCard
لتوفير تنسيقات مختلفة وإمكانية استخدام الصور إما كمحتوى للبطاقة أو كخلفية - الشرائح: مكونات على شكل ملعب تشبه الأزرار، ولكن بمساحة أكبر وفتحات متعددة للسماح بالتصنيفات والتصنيفات الثانوية والرموز. بأحجام مختلفة مع إمكانية استخدام الصور كخلفيات
- ToggleChips وSplitToggleChips: شريحة ذات حالة محدَّدة/غير محدَّدة وإضافة خانة
ToggleControl
لعرض رمز مثل مفتاح تبديل أو زر اختيار لإظهار الحالة المحدَّدة للمكوّن بالإضافة إلى ذلك، يتضمّن الرمزSplitToggleChip
منطقتَين يمكن النقر عليهما، إحداهما قابلة للنقر والأخرى قابلة للتبديل. - CircularProgressIndicator: مؤشر تقدم بتصميم Material على نظام التشغيل Wear مع نوعَين يعبّر الأول عن نسبة اكتمال مهمة جارية ويسمح بوجود فجوة في المسار الدائري بين زوايا البداية والنهاية. يشير الخيار الثاني إلى عدم تحديد مستوى التقدّم خلال فترة انتظار غير محدّدة.
- curvedText: يشكّل جزءًا من لغة وصف البيانات (DSL) لوصف
CurvedLayouts
، إلى جانبcurvedRow
وcurvedColumn
، لعرض المكوّنات حول الأجهزة الدائرية. اطّلِع على Wear Component Foundation أدناه للحصول على مزيد من التفاصيل عنCurvedLayout
وCurvedModifier
(يؤدي هذان العنصران دورًا مشابهًا لعناصر التعديل في الأشكال غير المنحنية ويسمحان بضبط جوانب مختلفة من التنسيق والحشو والتدرّجات وغير ذلك). - مربع الحوار والتنبيه والتأكيد: يعرض مربع الحوار مربّع حوار بملء الشاشة، ويتم عرضه فوق أي محتوى آخر، ويتيح التمرير سريعًا لإغلاقه. يشغل هذا العنصر خانة واحدة من المفترض أن تكون محتوى مربّع حوار Wear Material ذات رأي معيّن، مثل تنبيه أو تأكيد. التنبيه عبارة عن محتوى مربّع حوار يستند إلى وجهة نظر ويضم خانات للرمز والعنوان والرسالة. تتضمّن حمولات زائدة لأيّ من الزرَّين السالب والإيجابي المعروضَين جنبًا إلى جنب أو فتحة لشريحة واحدة أو أكثر مكدسة عموديًا. التأكيد هو محتوى مربع حوار يستند إلى رأيي ويعرِض رسالة لمدة معيّنة. ويحتوي على فتح لرمز أو صورة (يمكن أن تكون متحركة).
- HorizontalPageIndicator: تعرِض هذه السمة موضع الصفحة الأفقي بطريقة مناسبة لشكل الجهاز القابل للارتداء. مصمّمة لملء الشاشة وعرض مؤشر منحني على الأجهزة المستديرة يمكن استخدامها مع عارض صفحة "المرافق".
- Icon: رمز Wear الذي يستخدِم اللون والشفافية من مظهر Wear Material للحصول على رمز قابل للنقر، اطّلِع على الزر أو الشريحة.
- أداة الاختيار: تعرِض قائمة قابلة للتنقّل بالعناصر التي يمكن الاختيار من بينها. سيتم تكرار العناصر افتراضيًا "إلى ما لا نهاية" في كلا الاتجاهين. يمكن عرضها في وضع القراءة فقط لإخفاء الخيارات غير المحدّدة.
- موضع المؤشر: يعرض موضع الانتقال أو مؤشر موضع آخر بطريقة مناسبة لشكل الجهاز القابل للارتداء. مصمَّمة للاستخدام في وضع ملء الشاشة مع عرض مؤشر منحنٍ على الأجهزة المستديرة
- الإطار الأساسي: ينفِّذ البنية الأساسية للتصميم المرئي لنظام التشغيل Wear Material Design. يقدّم هذا المكوّن واجهة برمجة تطبيقات لتجميع العديد من مكوّنات Wear Material (مثل
TimeText
وPositionIndicator
وVignette
) التي تشكل الشاشة، ما يضمن استراتيجية التنسيق المناسبة لها وجمع البيانات اللازمة لكي تعمل هذه المكوّنات معًا بشكل صحيح. - ScalingLazyColumn - عنصر قائمة تحجيم/عين سمكة يشكل جزءًا أساسيًا من لغة Wear Material Design. يوفّر تأثيرات التكبير والتصغير والشفافية لعناصر المحتوى. تم تصميم
ScalingLazyColumn
ليتمكّن من التعامل مع أعداد كبيرة من عناصر المحتوى التي لا يتم إنشاؤها وعرضها إلا عند الحاجة. - شريط التمرير: يسمح للمستخدمين بإجراء اختيار من نطاق من القيم. يتم عرض نطاق الاختيارات كشريط، ويمكن عرضه اختياريًا مع فواصل.
- أداة الخطوة: عنصر بملء الشاشة يسمح للمستخدمين بإجراء اختيار من نطاق قيم باستخدام أزرار الزيادة/النقصان في أعلى الشاشة وأسفل الشاشة، مع توفير خانة في المنتصف للنص أو الشريحة.
- SwipeToDismissBox: يعالج إيماءة التمرير السريع لإغلاق العنصر. ويشغل مساحة واحدة للخلفية (التي لا تظهر إلا أثناء إيماءة التمرير السريع) والمحتوى في المقدّمة. يمكن دمج هذه الميزة اختياريًا مع مكتبة التنقّل في androidx باستخدام ميزة
SwipeDismissableNavHost
(يُرجى الاطّلاع على مكتبة التنقّل في نظام التشغيل Wear Compose أدناه). - النص - تنفيذ على Wear لمكون Compose Material Text، مع مراعاة اللون وألفا من مظهر Wear Material Theme
- TimeText: مكوّن لعرض الوقت وحالة التطبيق في أعلى الشاشة يتم تعديله وفقًا لشكل الشاشة باستخدام نص منحني على الشاشات المستديرة.
الصورة المموّهة: معالجة للشاشة لاستخدامها في واجهة المستخدم الأساسية التي تمويه الجزء العلوي والسفلي من الشاشة عند استخدام محتوى قابل للتمرير.
يتم أيضًا تضمين المكوّنات التالية من Wear Compose Foundation:
CurvedLayout - Wear Foundation
CurvedLayout
هو تنسيق قابل للتجميع يضع عناصره الثانوية في قوس، ويدورها حسب الحاجة. يشبه ذلك تنسيق صف منحنيًا في جزء من حلقة. يُرجى العلم أنّ محتوىCurvedLayout
ليس دالة lambda قابلة للتجميع، بل هو لغة خاصة بنطاق معيّن (DSL). تتيح جميع العناصر في DSL لـ CurvedLayout استخدام مَعلمة مُعدِّل اختيارية تم إنشاؤها منCurvedModifier
.basicCurvedText: عنصر في
CurvedLayout
DSL،basicCurvedText
يسمح للمطوّرين بكتابة نص منحني بسهولة وفقًا لمنحنى الدائرة (عادةً على حافة شاشة دائرية). لا يمكن إنشاءbasicCurvedText
إلا ضمنCurvedLayout
لضمان تقديم أفضل تجربة، مثل إمكانية تحديد موضع الإعلان واستخدامCurvedModifiers
. لاحظ أنه في معظم الحالات يجب استخدام CurdText بدلاً منه، لأنه يستخدم Material theming.CurdComposable - تلفّ المحتوى العادي القابل للإنشاء كي يمكن استخدامه مع
CurvedLayout
. إذا كانcurvedComposable
يحتوي على عدة عناصر، سيتم رسمها فوق بعضها (مثل مربّع). لوضع عدة عناصر قابلة للتجميع على طول منحنى، احط كل عنصر منها برمزcurvedComposable
.curvedRow وcurvedColumn: على غرار Row وColumn، يمكن إدراج
curvedRow
وcurvedColumn
داخلCurvedLayout
لعرض العناصر حسب الحاجة. بالنسبة إلىcurvedRow
، يمكن تحديد اتجاه التخطيط الزاوي والمحاذاة الشعاعية. بالنسبة إلىcurvedColumn
، قد يتم تحديد المحاذاة الزاويّة والاتجاه الشعاعي.CurvedModifier: تقبل جميع المكوّنات المنحنية مَعلمة مُعدِّل يمكن إنشاؤها باستخدام
CurvedModifier
: يمكن استخدام الخلفية والحجم والوزن والحشو.يتم أيضًا تضمين المكوّن التالي من ميزة "التنقّل في ميزة الكتابة" على Wear OS:
<b>التمرير السريع NavHost - يوفر مكانًا في التسلسل الهرمي "Compose" (إنشاء) كي تحدث عملية التنقل المستقلة، مع إمكانية التنقل إلى الخلف عن طريق إيماءة التمرير السريع. يتم عرض المحتوى ضمن
SwipeToDismissBox
، ما يشير إلى مستوى التنقّل الحالي. أثناء إيماءة التمرير السريع للإغلاق، يتم عرض مستوى التنقل السابق (إن وجد) في الخلفية.اطّلِع على ملاحظات الإصدارات السابقة للإصدارات المختلفة من الإصدارات التجريبية للحصول على مزيد من التفاصيل حول الميزات التي تم طرحها.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة
CurvedModifier.padding*
دالة. تُستخدَم هذه العناصر لتحديد مساحة إضافية ليتمّ إضافتها حول مكوّن منحني. (I4dbb4) - تمت إزالة الفئة الداخلية
CompositionLocal
(I42490). - أضفنا قيمًا ثابتة لحجم الرموز
Button
وCompactButton
وToggleButton
، وذلك من باب الإرشاد. (I57cab) - أضِف مَعلمة مفعَّلة إلى
AppCard
وTitleCard
. والآن، تتوفّر واجهة برمجة تطبيقات مشابهة لواجهات برمجة تطبيقات "بطاقاتandroidx.compose.material
". وعند ضبط المَعلمة على false، لن تكون البطاقة قابلة للنقر. (Idc48d، b/228869805)
إصلاح الأخطاء
- يوقف العداد الآن زرَّي الخفض والزيادة عند بلوغ الحد الأدنى/الحد الأقصى (ويطبّق ContentAlpha.disabled على iconColor) (I4be9f).
- أضفنا مساحة بادئة بحجم 1 بكسل حول محتوى أداة الاختيار عند رسمه باستخدام مخطط متدرج لمنع الارتعاش في النص الذي يظهر عند التمرير السريع. (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
، وهو مشابه للمفتاح المتوفّر في ميزة "الإنشاء". يمكن استخدام هذا الإجراء على عناصر 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/...) لأنّه يتم تطبيق اللون على خانة icon/toggleControl. (Ied238) - إعادة كتابة التعداد
PageIndicatorStyle
إلى فئة القيمة (I2dc72) - لقد أضفنا
RowScope/ColumnScope/BoxScope
إلى بعض خانات المحتوى القابل للإنشاء للإشارة إلى المطوّرين بشأن افتراضات التصميم. سيتيح ذلك للمطوّرين استخدام عوامل تعديل إضافية على بعض محتوى الخانات الإعلانية وتجنُّب الحاجة إلى تقديم عناصر تنسيق إضافية. بالإضافة إلى ذلك، أجرينا بعض التعديلات البسيطة على ألوان AppCard/TitleCard كي يتم ضبطtimeColor
وappColor
تلقائيًا علىcontentColor
، ويمكن إلغاء هذه السمات بشكل فردي إذا لزم الأمر. (I26b59) - جعلت عنصر
SwipeToDismissBoxState.Companion
خاصًا (I39e84) - يجب تصحيح ترتيب المَعلمات
InlineSlider
وStepper
. تغيير بسيط لاتّباع إرشادات واجهة برمجة التطبيقات (I11fec) - لقد أزلنا عنصر "الموفّر" لـ
SwipeToDismissBoxState
لأنّه لم يتم استخدامه. (Ifb54e) - وقد عدّلنا السمة
CompactChip
لتصبح متوافقة مع أحدث مواصفات تجربة المستخدم. تم تقليل مقدار المسافة البادئة إلى 12.dp أفقيًا و0.dp رأسيًا. تم تغيير خط التصنيف من button إلى caption1. أحجام الأيقونات الموصى بها هي 20 × 20 عند وجود كل من الرمز والتصنيف و24 × 24 لشريحة صغيرة فقط للأيقونة. بالنسبة إلى حالة استخدام الرمز فقط، تأكّدنا أيضًا من محاذاة الرمز في المنتصف. (Iea2be) - أضفنا عددًا من الحقول الجديدة إلى
ScalingLazyListLayoutInfo
لتمكين المطوّرين من معرفة مقدارcontentPadding
وautoCenteringPadding
التي تم تطبيقها. يمكن أن تكون هذه البيانات مفيدة للمطوّرين عند احتساب سرعة التمرير السريع (I7577b). - لقد نفّذنا عمليات انتقال للدخول/الخروج في "المحادثة". تمت إضافة مَعلمة
showDialog
ويتحكّم مربّع الحوار الآن في مستوى ظهوره (يتيح ذلك لمربّع الحوار تشغيل الصور المتحركة للمقدمة والخاتمة عند عرض مربّع الحوار أو إخفائه). يُرجى العِلم أنّه لا يتم تشغيل الرسم المتحرّك لنهاية الفيديو عندما يغادر المستخدم مربّع الحوار من خلال التمرير سريعًا لإغلاقه. أضفنا أيضًا قيمة تلقائية للحالة في حالةSwipeToDismissBox
الزائدة التي تمت إضافتها مؤخرًا. (I682a0) - وبهدف التوافق مع i18n وa11y بشكل أفضل، غيّرنا
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
على الحافة اليسرى من إطار العرض فقط يُستخدَم هذا العنصر عندما يحتاج مركز الشاشة إلى التعامل مع التنقل الأفقي للصفحات، مثل الانتقال في خريطة باستخدام التمرير ثنائي الأبعاد أو التمرير سريعًا أفقيًا بين الصفحات.(I3fcec، b/200699800)
تغييرات واجهة برمجة التطبيقات
- التنفيذ الأساسي لـ
CurvedModifiers
، ما يفتح الطريق لتوفير طرق لتخصيص المحتوى المنحني (ولكن لم يتم توفير أيCurvedModifiers
حتى الآن، وقد تتوفّر إمكانية إنشاء عوامل تعديل مخصّصة لاحقًا) (I9b8df) EdgeSwipe
يتم تعديل مستندات أداة التعديل والقيم التلقائية لفهمها بشكل أفضل .(I6d00d)- أضِف فتحة
PageIndicator
في Scaffold. من خلال إضافةPageIndicator
مباشرةً إلى Scaffold، قد نؤكّد أنّه سيتم عرضه بشكل صحيح على الأجهزة الدائرية. (Ia6042) - إزالة الرموز التلقائية من مَعلمتَي
InlineSlider
وStepper. سيساعد ذلك المطوّرين على الانتباه أكثر لمتطلبات الأقلمة وسهولة الاستخدام. تم عرض استخدامات الرموز التلقائية في العروض التوضيحية والعيّنات. (I7e6fd) - استبدال أسماء المَعلمتَين Trailing وLeading بالمَعلمتَين Start وEnd في TimeText (Iaac32)
- أضفنا
SwipeToDismissBox
overload مع مَعلمة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
المدمَجَين (أيهما مكافئان للتصميم المنحني للصف والعمود). داخل عناصر التنسيق هذه، يمكن استخدام ثلاثة عناصر:curvedComposable
(لإضافة أي عنصر @Composable) وbasicCurvedText
(نص منحني في العنصر الأساسي) وcurvedText
(نص منحني متوافق مع واجهة Wear Material). (Ib776a) - اجعل جانب
PositionIndicator
قابلاً للضبط. يمكن الآن ضبط موضع PositionIndicator الأساسي ليكون "النهاية" (يراعي اتجاه التنسيق) أو "Rsb المقابل" (يراعي دوران الشاشة لوضع نفسه مقابل 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)
- لقد عدّلنا مخطّط تنسيقات النصوص/الخطوط التلقائية لموضوع تطبيق "الكتابة" على Wear OS لتتوافق مع أحدث إرشادات تجربة المستخدم. يُرجى العِلم أنّ عرضَي display1 (40.sp) وdisplay2 (34.sp) أصغر الآن من قيمتهما السابقة، كما تم إجراء تعديلات طفيفة أخرى على ارتفاع السطر وتباعد الأسطر. (Ie3077)
- لقد أضفنا مقاومة لـ "
SwipeToDismissBox
" لكي تتم الحركة فقط عند التمرير السريع للإغلاق وليس في الاتجاه المعاكس على الإطلاق. (Ifdfb9) - لقد غيّرنا بعض قيم المَعلمات التلقائية لدوال
CircularProgressIndicator
لتتوافق مع إرشادات تجربة المستخدم في تصميم Wear Material. بالنسبة إلى إصدار Spinner/Indeterminant، تم تعديل الحجم (من 40 إلى 24.dp) وindicatorColor (من primary إلى onBackground) وشفافية trackColor (من 30% إلى 10%) وعرض الخطوط (من 4 إلى 3dp). بالنسبة إلى إصدار "التقدم/تحديد"، تم تحديث شفافية trackColor (30%->10%). (I659cc) - عدّلنا مَعلمات القياس التلقائية للسمة
ScalingLazyColumn
بما يتماشى مع أحدث مواصفات تجربة المستخدم في Wear Material Design. يؤدي هذا مرئيًا إلى بدء عناصر القائمة في الحجم لتصبح أقرب إلى مركز القائمة، ولكن تصبح أقل في حافة القائمة من ذي قبل. (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، يعرض الآن مكوّن Dialog بملء الشاشة
PositionIndicator
وVignette
. نستخدم أيضًا الآنScalingLazyColumn
بدلاً منColumn
، ما يعني أنّ محتوى مربّع الحوار أصبح الآن فيScalingLazyListScope
(ويجب عادةً إحاطته بالعنصر { /* content */ }). يتيح مربّع الحوار مَعلمة الترتيب_العمودي وفقًا لذلك. (Idea13) - لقد غيّرنا اسم سمة toggleIcon في
ToggleChip
وSplitToggleChip
إلى toggleControl لمواءمتها بشكل أفضل مع لغة التصميم Material Design من أجل مساعدة المصمّمين والمطوّرين في التنقّل في واجهة برمجة التطبيقات. (If5921، b/220129803) - أضفنا إدخالًا جديدًا caption3 إلى تصنيف مظاهر Wear Material.وcaption3 هو خط صغير يُستخدَم للكتابة الطويلة جدًا، مثل النصوص القانونية. (I74b13، b/220128356)
إصلاح الأخطاء
- أوقِف الصورة المتحركة عند الوصول إلى النقطة المطلوبة. (Idb69d)
- أضِف رسومًا متحركة للتغييرات في PositionIndicator. (I94cb9)
- استنادًا إلى الملاحظات الواردة من مستخدمي واجهة المستخدم/تجربة المستخدم، غيّرنا
ScalingLazyColumn
autoCentering لكي لا يقدّم سوى مساحة كافية للتأكّد من أنّه يمكن الانتقال بالكامل إلى مركز مساحة العرض للعناصر التي تحمل الفهرسScalingLazyListState.initialCenterItemIndex
أو أعلى. ويسمح ذلك للمطوّرين بوضع عنصر أو عنصرَين حول العنصر الذي يظهر في البداية في الوسط ولا يمكن التمرير إليه. يعني ذلك أنّ ميزة "ScalingLazyColumn
" التي يتم عرضها في المركز التلقائي لن تتمكّن من الانتقال فوقinitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2). - لقد أضفنا عرضًا توضيحيًا لأداة اختيار التاريخ وأصلحنا خطأً في
PickerState
حيث لم يتم تطبيق الخيار الذي تم اختياره في البداية إلى أن تم عرض أداة الاختيار. (Id0d7e) - للحدّ من اقتصاص عناصر
ScalingLazyColumn
الأوسع على الشاشات المستديرة، زادنا مقدار الحشو الأفقي التلقائي للمحتوى من 8 إلى 10 dp. (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 =
)
، سيتم وضع عنصر القائمة الثاني (الفهرس == 1) في منتصف إطار العرض عند الإعداد، وسيتم وضع العنصر الأول (الفهرس == 0) قبله. يتيح ذلك الحصول على تأثير مرئي تلقائي أفضل، لأنّ معظم مساحة العرض ستتم تعبئتها بعناصر القائمة. (I0c623، b/217344252) - لقد تم تقليل قيمة
ScalingLazyColumn
التلقائيةextraPadding
التي يتم تقديمها لضمان توفُّر الكثير من عناصر القائمة التي يمكن رسمها (حتى في حال تقليل حجم بعض هذه العناصر) من 10% إلى 5%. سيؤدي ذلك إلى تجنُّب إنشاء عناصر قائمة إضافية قد لا تظهر في مساحة العرض. في حال استخدام مَعلمات غير عادية لقياس الحجم (مثلاً، قياس حجم أكبر) يمكن للمطوِّر ضبط الحشو الإضافي باستخدامviewportVerticalOffsetResolver
. (I76be4) - حلّ مشكلة في TimeText على خطوط متعددة على الجهاز المربّع (Ibd3fb)
- لقد عدّلنا
ScalingLazyColumn
لكي لا تملأ كل المساحة في العنصر الرئيسي. بدلاً من ذلك، سيعتمد حجمها على حجم المحتوى الذي تتضمنه. ويجعل ذلك متسقًا مع سلوكLazyColumn
. إذا كنت تريد استعادة السلوك القديم، عليك تمريرModifier.fillMaxSize()
إلىScalingLazyColumn
. ملاحظة: هذا التغيير غير مكتمل وسيتم معالجته في تغيير متابعة في الإصدار التجريبي التالي. (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 وملء المحتوى العمودي، سيؤدي ذلك إلى توفير مساحة إضافية قبل أول عناصر القائمة وبعد آخرها، ما يتيح الانتقال إلى الأسفل أو الأعلى. (I2a282، b/214922490) - أضفنا مكوّن
Dialog
يتيح لأي عنصر قابل للتجميع عرض مربّع حوار بملء الشاشة فوق المحتوى الآخر. يتيح مربّع الحوار التمرير سريعًا لإغلاقه، وسيعرض محتوى النافذة الرئيسية في الخلفية أثناء إيماءة التمرير السريع. من المتوقّع أن يكون محتوى مربّع الحوارAlert
أوConfirmation
(تمت إعادة تسميته من المكوّنَين السابقَينAlertDialog
وConfirmationDialog
) - وتتوفّر كل منAlert
وConfirmation
وDialog
في حزمةandroidx.wear.compose.material.dialog
. يمكن استخدام "التنبيه" و"التأكيد" كوجهتَي تنقّل. تمت أيضًا إضافة ColumnScope إلى مَعلمتَي Alert وConfirmation حسب الحاجة. (Ia9014) - أزلنا
onSurfaceVariant2
من ميزة Compose لألوان المظاهر المتعددة في WearOS واستبدلنا الاستخدامات في المكتبة بـonSurfaceVariant
. (Icd592) - تمت إضافة طريقة لاختيار خيار بشكل آلي في
PickerState
، ويمكن الآن أيضًا تحديد الخيار المحدّد في البداية عند إنشاءPickerState
. (I92bdf) - لقد أضفنا إمكانية تخصيص سلوك التمرير السريع للعنصر
ScalingLazyColumn
. (I1ad2e، b/208842968) - أضفنا
NavController.currentBackStackEntryAsState()
إلى مكتبةWear.Compose.Navigation
. (If9028، b/212739653) - تمت إضافة
Modifier.onRotaryScrollEvent()
وModifier.onPreRotaryScrollEvent()
لأجهزة Wear OS التي تتضمّن زرًا جانبيًا دوّارًا (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
وجهة إلى التسلسل الهرمي لإنشاء المحتوى قبل أن تصل إلى حالةCREATED
Lifecycle، ما يؤدي إلى حدوثIllegalStateException
. كان هذا الحلّ شرطًا أساسيًا لتعديل الاعتمادية علىnavigation-compose
إلى2.4.0-beta02
والإصدارات اللاحقة. (I40a2b، b/207328687)تمت إضافة فئة Drawables enum للحصول على موارد قابلة للرسم ضمن مكتبة Wear Compose، ما أدى إلى عدم الحاجة إلى استخدام Reflection. يعمل هذا على إصلاح الخطأ الذي تمت فيه إزالة ملفات المكتبة القابلة للرسم عند
minifyEnabled=true
أوshrinkResources=true
). (Ib2a98)تمت إضافة اختبارات لـ
Stepper
في Wear Compose (I2d03a)تمت إضافة نماذج
SwipeDismissableNavHost
في ميزة "التنقّل في ميزة الكتابة" على Wear OS. (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 OS. يسمح عنصر InlineSlider للمستخدمين باختيار قيمة من نطاق من القيم. يتم عرض نطاق الاختيارات كشريط بين الحد الأدنى والحد الأقصى للقيمة، ويمكن للمستخدمين اختيار قيمة واحدة من ذلك الشريط. (If0148)
اطّلِع على الدرس التطبيقي الجديد حول Compose لنظام التشغيل WearOS.
التغييرات في واجهة برمجة التطبيقات
- أصبح
minSdkVersion
لاختبار الأداء على مستوى التطبيق الآن23
. (If2655)
إصلاح الأخطاء
- تعديل معالجة الانتقال في SwipeDismissableNavHost في SideEffect (I04994، b/202863359)
- تعديل طريقة معالجة عملية النقل في SquickRemoveableNavHost (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 على هذه المراجعات.
الميزات الجديدة
- لقد أطلقنا إصدار "معاينة المطوِّر" من ميزة "إنشاء" على نظام التشغيل Wear OS. يمكنك الاطّلاع على مشاركة المدونة التي تستعرض العناصر الرئيسية القابلة للإنشاء وروابط إلى مصادر إضافية لبدء استخدامها.
تغييرات واجهة برمجة التطبيقات
- لقد أضفنا ميزة تتيح للمطوّرين تخصيص جميع الألوان في مظهر ألوان تصميم المواد في Wear. (I4759b، b/199754668)
إصلاح الأخطاء
- تمت إضافة عينات scrollToSellBox التي لا تزال مستمرة (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)
- إصلاح مشكلة عدم معالجة التمريرات السريعة في SwipeToDismissBox على نظام التشغيل WearOS في بعض الأحيان (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
التي تم إرجاعها للتوافق بشكل أفضل مع المستكشفين الاختياريين، مثل الذين يستخدمون Accompanist Navigation Material. (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% شفافية في أعلى يمين الشاشة إلى MaterialTheme.color.primary @ 32% شفافية في أسفل يمين الشاشة، فوق خلفية MaterialTheme.color.surface @ 75% شفافية. ينتج عن ذلك فرق أكثر دقة بين محدد وغير محدد في 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، وهو عنصر قابل للتجميع على مستوى التطبيق يقدّم بنية لمعالجة موضع مؤشرات الموضع (مثل التمرير أو مستوى الصوت)، ومساحة في أعلى الشاشة لعرض الوقت وحالة التطبيق، كما يتيح استخدام مؤثر الصورة المموّهة لتمويه الحافة العلوية والسفلية للشاشة للمحتوى الذي يمكن التمرير فيه. المنطقة الرئيسية في Scaffold هي المكان الذي يتم فيه وضع محتويات التطبيق. (I5e0bf)
- تمت إضافة تنفيذ TimeText لميزة "الكتابة السريعة" في Wear OS (I5654c)
مكتبة التنقّل في ميزة "الإنشاء" على Wear
لقد أضفنا الإصدار الأول من مكتبة Wear Compose للتنقّل، التي توفّر تكاملاً بين مكتبتَي Wear Compose وAndroidx. وتوفّر وسيلة بسيطة للتنقل بين دوال @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 كمكتبة منفصلة لكي لا تعتمد تطبيقات WearCompose البسيطة التي تُنفِّذ واجهة تنقّل مُعدَّة يدويًا على مكتبة Androidx Navigation.
تغييرات واجهة برمجة التطبيقات
- تم تعديل
SwipeDismissableNavHost
للتوافق معrememberSaveable
من خلال ضبط الهوية الأساسية للمحتوى والخلفية (I746fd). - لقد أضفنا محوّل PositionIndicator يمكنه التعامل مع LazyListState (I21b88).
- تم تعديل SwipeToDismissBox للسماح بتذكر العناصر التي يمكن حفظها (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.dp إلى 2.dp.
- تم تغيير خط عنوان TitleCard من body إلى 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 ومُعدِّل قابل للتمرير يمكن استخدامه ل إتاحة إيماءة التمرير السريع من اليمين إلى اليسار لإغلاق التطبيق. على الرغم من أنها مستقلة عن مكونات التنقل، فمن المتوقع استخدامها للخروج من شاشة والانتقال إلى شاشة أخرى. تمت إضافة اختبارات الدمج لعرض ميزة التمرير السريع لإغلاق التطبيق. (I7bbaa)
- أضفنا واجهتَي ScalingLazyColumnItemInfo وScalingLazyColumnLayoutInfo إلى فئة ScalingLazyColumnState لتمكين المطوّرين من معرفة مواضع العناصر وأحجامها الفعلية في ScalingLazyColumn بعد تطبيق التصغير/التكبير. لقد أصلحنا أيضًا خطأ في طريقة احتساب التكبير/التصغير عند تطبيق الحشو "أعلى" للمحتوى على ScalingLazyColumn. (I27c07)
تغييرات واجهة برمجة التطبيقات
- أضِف فئة CurvedTextStyle لتحديد خيارات تنسيق النص المنحني. يشبه TextStyle، ولكنّه لا يتيح الآن سوى اللون وfontSize والخلفية. ستتم إضافة المزيد من خيارات التصميم في المستقبل. (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 في بطاقة التطبيق استجابةً لتعديل في مواصفات تجربة المستخدم. أصبح اللون التلقائي لسمة 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.dp بشكلٍ ثابت بغض النظر عمّا إذا كانت الشريحة تتضمّن رمزًا أم لا (كانت في السابق 12.dp إذا كانت الشريحة تتضمّن رمزًا و14.dp إذا لم تكن تتضمّن رمزًا) (I34c86)
إصلاح الأخطاء
- إضافة اختبارات لعنصر CurvedRow (I93cdb)
- ربط تبعيات Wear Compose بـ Compose 1.0.0-rc01 (Ie6bc9)
- تم تغيير طريقة رسم صورة الخلفية في البطاقات والرقائق بحيث يتم اقتصاص الصورة بدلاً من تمديدها للحفاظ على نسب الصورة. (I29b41)
- تمت إضافة المزيد من العروض التوضيحية واختبارات الدمج لكل من Button وToggleButton. (5e27ed2)
- تمت إضافة المزيد من اختبارات الشرائح لتغطية ألوان المحتوى لـ 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 وتتوافق مع التصميم المتعدد الأبعاد لنظام التشغيل WearOS، وهو إضافة إلى التصميم المتعدد الأبعاد لأجهزة WearOS القابلة للارتداء. يتضمّن هذا الإصدار التجريبي الأول عمليات تنفيذ وظيفية مبكرة لما يلي:
- مظهر Material: لضبط الألوان وأسلوب الخط والأشكال بشكلٍ متسق في جميع المكوّنات المستخدَمة من هذه المكتبة
- رقائق صغيرة وصغيرة: يتم تصميم الرقائق بأشكال مختلفة، وهي ذات شكل ملعب، وتتوفر أشكال مختلفة من الرقائق ورقائق البطاطس، ويمكن أخذها في صورة محتوى عن الأيقنة والتصنيفات وشركات الإنتاج.
- - ToggleChip وSplitToggleChip: نوعان متخصصان من الشرائح يتضمّنان خانة لرمز تبديل ثنائي الحالة، مثل زر اختيار أو مربّع اختيار. بالإضافة إلى ذلك، تحتوي SegmentToggleChip على منطقتين قابلتين للنقر، إحداهما قابلة للنقر، والأخرى قابلة للنقر.
- Button وCompactButton: تكون الأزرار دائرية الشكل، وتتضمّن خانة محتوى واحدة لعرض رمز أو نص بسيط (3 أحرف بحد أقصى).
- زر التبديل - زر لتشغيل أحد الإجراءات أو إيقافه، به فتحة واحدة للرمز أو الحد الأدنى من النص (3 أحرف كحد أقصى).
- بطاقة وAppCard - مستطيلة الشكل بزوايا مستديرة، توفر خانات للمحتوى مثل رمز التطبيق والوقت والعنوان والجسم.
ستوسّع الإصدارات المستقبلية مجموعة التطبيقات المصغّرة من خلال إضافة أدوات اختيار وقوائم ومؤشرات صفحات ومحادثات ومؤشرات شريط التمرير ورسائل فورية وغيرها من عناصر التصميم المتعدّد الأبعاد في Wear.
بالإضافة إلى ذلك، سيتم توفير دعم لميزات أخرى خاصة بالأجهزة القابلة للارتداء، مثل التنسيقات والنصوص المنحنية، بالإضافة إلى توفير إطار عمل لتسهيل إنشاء المطوّرين لتطبيقات/طبقات تطبيقات متوافقة مع الأجهزة القابلة للارتداء.
تم تصميم واجهة Compose Material لنظام التشغيل Wear بالمبادئ نفسها المستخدَمة في واجهة Compose Material، على الرغم من أنّها مخصّصة للأجهزة القابلة للارتداء. يجب استخدام مكتبة Material Compose لنظام التشغيل Wear بدلاً من مكتبة Material Compose عند إنشاء تطبيق مخصّص لأجهزة Wearables.
يجب اعتبار مكتبتَي "المادة" متبادلتَين ولا يجب خلطهما في التطبيق نفسه. إذا وجد المطوّرون أنّهم يُدرِجون مكتبة Compose Material في التبعيات، يعني ذلك أنّه إما (أ) هناك مكوّنات غير متوفّرة في مكتبة Wear Compose Material، يُرجى إعلامنا بما تحتاجه، أو (ب) أنّك تستخدِم مكوّنًا لا ننصح باستخدامه على جهاز قابل للارتداء.