طرح اولیه لباس
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۲۲ اکتبر ۲۰۲۵ | ۱.۳.۰ | - | - | ۱.۴.۰-آلفا۰۲ |
اعلام وابستگیها
برای افزودن وابستگی به wear-protolayout، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
کاتلین
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
شیار
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
کاتلین
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۴
نسخه ۱.۴.۰-آلفا۰۲
۲۲ اکتبر ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.4.0-alpha02 منتشر شد. نسخه 1.4.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
- منبع رویداد جدید پلتفرم (
isInAmbientMode) اضافه شد که نشان میدهد آیا دستگاه در حالت محیطی است یا خیر ( Ief832 )
تغییرات API
- اکنون
clickablePendingIntentیک اقدام جایگزین (LoadAction/LaunchAction) را میپذیرد تا زمانی کهPendingIntentتوسط رندرکنندهProtoLayoutپشتیبانی نمیشود، مورد استفاده قرار گیرد. اقدام جایگزین به طور خودکار انتخاب شده و در طرحبندی قرار میگیرد، زمانی که نسخه رندرکننده پایینتر از نسخهای باشد که ازPendingIntentپشتیبانی میکند. ( I6eee2 ، b/450259727 ) - فیلد
protoLayoutScopeدرMaterialScopeاکنونNonNullتبدیل شده است تا استفاده از آن هنگام ایجادMaterialScopeاز طریقmaterialScopeWithResourcesآسانتر شود. علاوه بر این، یک تابعhasProtoLayoutScopeبرای بررسی وجود آن وجود دارد. ( I1858f ، b/450067019 )
نسخه ۱.۴.۰-آلفا۰۱
۲۴ سپتامبر ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- یک متد کمکی برای
LayoutModifierاضافه شده است که باعث میشود یک عنصر همزمان با نمایان شدن کاشی، محو شود. ( I38531 ، b/390345969 ) -
materialScopeWithResourcesبرای پشتیبانی از مفهوم M3MaterialScopeاضافه شد که ثبت خودکار منابع را نیز بر عهده دارد. در داخل آن، متدهای کمکی جدیدی برای تصاویر (backgroundImageavatarImageو آیکون) اضافه شده است که نیاز به ثبت دستی منابع درonTileResourceRequestرا هنگام استفاده از بین میبرد. ( I525bd ، b/428692714 ) - کمککنندههای کاتلین
ProtoLayoutبرایImageوImageResourcesبرای استفاده باProtoLayoutScopeو ثبت خودکار منابع. ( Iada82 ، b/430584304 ) - یک دریافتکننده برای تعیین تعداد ویژگیهای Lottie که در سفارشیسازی یک انیمیشن Lottie مجاز هستند، اضافه شد. ( I73733 ، b/436532706 )
- API را در
AndroidLottieResourceByResIdاضافه کنید تا امکان سفارشیسازی انیمیشن Lottie از طریق ویژگیها فراهم شود و API را برای ایجاد ویژگی برای قالببندی اسلات با شناسه اسلات به رنگ مشخص شده اضافه کنید. ( I301b3 ، b/423581481 ) - APIهای ارائهدهنده را برای پذیرش
PendingIntentبه عنوان اقدام کلیک اضافه کنید ( I01978 ، b/433802488 ) - API جدیدی را در
Image.Builder-setImageResourceاضافه کنید تا شیء منبع را مستقیماً روی تصویر درonTileRequestتنظیم کنید، بدون اینکه نیازی به ثبت آن در نگاشت درonTileResourcesRequestباشد. ( Ifa69a ، b/428693523 ) - مفهوم
ProtoLayoutScopeبرای مدیریت بهتر منابع در Tiles اضافه شد. ( I132ce ، b/428692423 ) -
ProtoLayoutMaterial3MaterialScopeاکنون فیلدContextبه صورت عمومی نمایش میدهد تا در متدهای درون محدوده، بدون نیاز به ارسال آن، مورد استفاده قرار گیرد. ( I0e5cc ، b/414559956 ) - APIهای معنایی عنوان را عمومی کنید ( I75299 ، b/413653475 )
- ثابتهای
ARC_DIRECTION_*را برای استفاده درArc/ArcLine/ArcText/DashedArcLineبه صورت عمومی نمایش دهید. ( I83959 ، b/427556439 )
تغییرات API
- ما متدهای
Image.Builder()وImage.Builder.setResourceIdرا منسوخ کردهایم و از API جدید ثبت خودکار منابع استفاده میکنیم که درImage.Builder(ProtoLayoutScope)وImage.Builder.setImageResourceموجود است و نیاز به override کردنonTileResourcesRequestاز بین میبرد. ( I7bfe6 , b/432758526 ) - APIهای مربوط به ایجاد
ProtoLayoutScopeاز حالت محدود به عمومی تغییر دهید. با این حال، نباید از آنها استفاده شود زیرا سیستم از قبل این فراخوانیها را مدیریت میکند. ( I1d8e8 , b/432758251 )
رفع اشکالات
- پیادهسازی پشتیبانی از
PendingIntentدرProtoTiles( I38167 ، b/430610429 ) را اضافه کنید. - متد
invalidateLayoutاضافه کنید. ( Ief898 ) - انتقال minSdk پیشفرض از API 21 به API 23 ( Ibdfca ، b/380448311 ، b/435705964 ، b/435705223 )
-
ImageResourceاکنون دارای متدهایhashCodeوequalsاست. ( I650ee , b/428692423 , b/428693523 ) - پیام اولیه جدید
PendingIntentActionو سازنده بستهبندی آن ( Ie2aca ، b/427643502 ) را اضافه کنید - کاهش تعداد دفعات ایجاد نمونه
ZoneId. ( I284d3 ) - توضیحات محتوای پیشفرض را به
textButtonتک اسلاتی اعمال کنید. ( I0dc8a ، b/415001534 ) - محاسبات مربوط به تنظیم حداکثر خطوط در سمت رندرر را اصلاح کنید. ( I933bc ، b/414353620 )
نسخه ۱.۳
نسخه ۱.۳.۰
۴ ژوئن ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.3.0 منتشر شد. نسخه ۱.۳.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۲.۰
- طراحی متریال ۳ به این ساعت میآید، با اجزا و طرحبندیهایی که برای صفحه نمایش گرد بهینه شدهاند و به طور مناسب از اندازههای کوچک تا بزرگ صفحه نمایش قابل تغییر هستند.
- این شامل کتابخانه
protolayout-material3مخصوص کاتلین به همراه APIهای بیشتر شبیه Compose برای کامپوننتها و ویژگیهای زیر است: - تم رنگی پویا از سیستم و صفحه ساعت با جدیدترین تم Material3 برای رنگها، شکلها و تایپوگرافی
-
MaterialScopeبرای مدیریت تمام پیشفرضهای دلخواه و سفارشیسازی آسانتر -
iconEdgeButton،textEdgeButton -
iconButton،textButton،button،imageButton،avatarButton،compactButton -
titleCard،appCard،graphicDataCard،iconDataCard،textDataCard -
circularProgressIndicator،segmentedCircularProgressIndicator -
primaryLayout،buttonGroup - همه کامپوننتها در هر سطح SDK و نسخه رندر
ProtoLayoutکار میکنند و در صورت لزوم، fallbackهای معقولی ارائه میدهند.
- این شامل کتابخانه
- APIهای بیشتر و سازگار با کاتلین و شبیه به Compose برای عناصر پایه ProtoLayout
-
LayoutModifierبا قابلیت اضافه کردن اکثر اصلاحکنندهها به صورت توابع زنجیروار (padding،contentDescription(شاملclearSemantics)،background،clip،opacityو غیره)، قابل تبدیل به شیءModifiersموجود -
LayoutColorsوLayoutStringبه عنوان انواعی با پشتیبانی آسانتر برای استفاده از فیلدها و محدودیتهای پویا -
textوfontStyle - پشتیبانی بهتر از نقشه برای
StateBuilder، شاملDynamicDataMapو متدهای factory مانندintAppDataKeyبرای ایجاد آسانتر اشیاءAppDataKey
-
- پشتیبانی از انیمیشنهای Lottie شامل گزینهای برای تنظیم محرکهای مختلف برای زمان شروع انیمیشن، برای مثال زمان بارگذاری طرحبندی یا زمان نمایش طرحبندی
- پشتیبانی از گرادیان بهبود یافته:
- API گرادیان خطی به عنوان بخشی از
Brushکه میتواند در اصلاحکنندههایBackgroundبرای عناصری مانندBox،Spacerو غیره استفاده شود… - مقادیر رنگ پویا را در
ColorStopکه برای گرادیان خطی و جاروبی استفاده میشود، مجاز کنید - گرادیان رفت و برگشتی موجود در اشیاء قوسی اکنون از رنگهای پویا و زوایای شروع و پایان پشتیبانی میکند.
- اتصال دادههای پلتفرم در
protolayout-expressionبرای دریافت اطلاعات در هر زمان که قابلیت مشاهده طرح تغییر میکند، که برای مثال میتواند برای پنهان کردن قسمتهای خاصی از طرح در حالی که کاشی به سمت آن کشیده میشود، استفاده شود. - کتابخانه تست -
protolayout-testing- برای پشتیبانی آسانتر از پوشش تست واحد برای هر عنصر ProtoLayout اضافه شده است. - عنصر جدید
DashedArcLineبا مجموعهای از ویژگیهای بهبود یافته، به طوری که این خط میتواند خط تیره داشته باشد، برخلافArcLineموجود - پشتیبانی
ArcSpacerبرای تنظیم طول آن بر اساس بُعد DP به جای درجه - محور
FontSettingبا قابلیت گرد کردن اضافه شد که برای برخی فونتها قابل اجرا است.
نسخه ۱.۳.۰-rc01
۲۰ مه ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.3.0-rc01 بدون هیچ تغییری نسبت به نسخه قبلی منتشر شده است. نسخه 1.3.0-rc01 شامل این کامیتها است.
نسخه ۱.۳.۰-بتا۰۲
۷ مه ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.3.0-beta02 منتشر شد. نسخه 1.3.0-beta02 شامل این کامیتها است.
رفع اشکالات
- ما بهبود مهمی در مقادیر طراحی تایپوگرافی که در API 36 و بالاتر اعمال میشوند، ایجاد کردهایم. دلیل این امر این است که از API 36، تمام کاشیها با فونت سیستم خواهند بود، بنابراین این تغییر، سازگاری بهتری را در چرخ فلک کاشیها ایجاد میکند. ( If316f )
- سازندههای
Text،Spacer،ArcLineوDashedArcLineدر صورتی کهlayoutConstraintsبرای مقادیر پویا تنظیم نشده باشند، اجرا نمیشوند. توجه داشته باشید که رندرکنندههای قدیمیتر هنوز هم به تنظیمlayoutConstraintsنیاز دارند و هر مقدار پویایی را که تنظیم نشده باشد، نادیده میگیرند. ( Ic52e8 ) - اصلاحکنندهی معنایی عنوان را اضافه کنید تا نشان دهد که یک عنصر طرحبندی به منظور دسترسیپذیری به بخشی از محتوا اشاره دارد و متن موجود در جایگاه عنوان
primaryLayoutرا به عنوان عنوان دسترسیپذیری به طور پیشفرض علامتگذاری کنید. ( Iae1fb ) - پرداخت نهایی تجربه کاربری
primaryLayoutکه در آن فضای بین جایگاه عنوان و جایگاه اصلی به جای ۶dp در صفحه نمایشهای کوچکتر، به ۴dp کاهش یافته است. ( I0e056 ) - توضیحات محتوای پیشفرض را به
textEdgeButtonاعمال کن. ( Ifaf8b ) - بهروزرسانی جزئی در پدینگ داخلی
avatarButton. ( I0910b )
نسخه ۱.۳.۰-بتا۰۱
۹ آوریل ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
نسخه ۱.۳.۰-بتا۰۱ از Wear ProtoLayout نشان میدهد که این نسخه از کتابخانه از نظر امکانات کامل شده و API آن قفل شده است (به جز مواردی که به عنوان آزمایشی علامتگذاری شدهاند). Wear ProtoLayout 1.3 شامل قابلیتها و APIهای جدید زیر است:
- طراحی متریال ۳ به این ساعت میآید، با اجزا و طرحبندیهایی که برای صفحه نمایش گرد بهینه شدهاند و به طور مناسب از اندازههای کوچک تا بزرگ صفحه نمایش قابل تغییر هستند.
- این شامل کتابخانه
protolayout-material3مخصوص کاتلین به همراه APIهای بیشتر شبیه Compose برای کامپوننتها و ویژگیهای زیر است: - تم رنگی پویا از سیستم و صفحه ساعت با جدیدترین تم Material3 برای رنگها، شکلها و تایپوگرافی
-
MaterialScopeبرای مدیریت تمام پیشفرضهای دلخواه و سفارشیسازی آسانتر -
iconEdgeButton،textEdgeButton -
iconButton،textButton،button،imageButton،avatarButton،compactButton -
titleCard،appCard،graphicDataCard،iconDataCard،textDataCard -
circularProgressIndicator،segmentedCircularProgressIndicator -
primaryLayout،buttonGroup - همه کامپوننتها در هر سطح SDK و نسخه رندر ProtoLayout کار میکنند و در صورت لزوم، fallbackهای معقولی ارائه میدهند.
- این شامل کتابخانه
- APIهای بیشتر و سازگار با کاتلین و شبیه به Compose برای عناصر پایه ProtoLayout
-
LayoutModifierبا قابلیت اضافه کردن اکثر اصلاحکنندهها به صورت توابع زنجیروار (padding،contentDescription(شاملclearSemantics)،background،clip،opacityو غیره)، قابل تبدیل به شیءModifiersموجود -
LayoutColorsوLayoutStringبه عنوان انواعی با پشتیبانی آسانتر برای استفاده از فیلدها و محدودیتهای پویا -
textوfontStyle - پشتیبانی بهتر از نقشه برای
StateBuilder، شاملDynamicDataMapو متدهای factory مانندintAppDataKeyبرای ایجاد آسانتر اشیاءAppDataKey
-
- پشتیبانی از انیمیشنهای Lottie شامل گزینهای برای تنظیم محرکهای مختلف برای زمان شروع انیمیشن، برای مثال زمان بارگذاری طرحبندی یا زمان نمایش طرحبندی
- پشتیبانی از گرادیان بهبود یافته:
- API گرادیان خطی به عنوان بخشی از
Brushکه میتواند در اصلاحکنندههایBackgroundبرای عناصری مانندBox،Spacerو غیره استفاده شود… - مقادیر رنگ پویا را در
ColorStopکه برای گرادیان خطی و جاروبی استفاده میشود، مجاز کنید - گرادیان رفت و برگشتی موجود در اشیاء قوسی اکنون از رنگهای پویا و زوایای شروع و پایان پشتیبانی میکند.
- اتصال دادههای پلتفرم در
protolayout-expressionبرای دریافت اطلاعات در هر زمان که قابلیت مشاهده طرح تغییر میکند، که برای مثال میتواند برای پنهان کردن قسمتهای خاصی از طرح در حالی که کاشی به سمت آن کشیده میشود، استفاده شود. - کتابخانه تست -
protolayout-testing- برای پشتیبانی آسانتر از پوشش تست واحد برای هر عنصر ProtoLayout اضافه شده است. - عنصر جدید
DashedArcLineبا مجموعهای از ویژگیهای بهبود یافته، به طوری که این خط میتواند خط تیره داشته باشد، برخلافArcLineموجود - پشتیبانی
ArcSpacerبرای تنظیم طول آن بر اساس بُعد DP به جای درجه - محور
FontSettingبا قابلیت گرد کردن اضافه شد که برای برخی فونتها قابل اجرا است.
نسخه ۱.۳.۰-آلفا۱۰
۱۲ مارس ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 منتشر شد. نسخه 1.3.0-alpha10 شامل این کامیتها است.
ویژگیهای جدید
- اضافه کردن کمکی برای قلممو در اصلاحکننده پسزمینه کاتلین ( I995de )
- فیلد اجباری Android Context در
MaterialScopeعمومی شده است تا استفاده از آن در توابع توسعهدهندگانی که کامپوننتهایی برای کاشیهای Material3 ایجاد میکنند، آسانتر شود. ( I7df73 )
تغییرات API
- نام api
platformVisibilityStatusبهPlatformEventSources.isLayoutVisibleتغییر دهید و یک API آزمایشی جدیدPlatformEventSources.isLayoutUpdatePendingاضافه کنید. ( Ie1e04 )
رفع اشکالات
- حاشیههای
primaryLayoutاکنون به درستی گرد شدهاند، که میتواند در برخی از طرحبندیها تا 2dp فضای کمتری برای اسلات اصلی ایجاد کند. ( I8f5d3 ) - شفافسازی تم رنگ پویای پیشفرض در کامپوننتهای
ProtoLayoutMaterial3 ( Iff5f3 ) - تایپوگرافیهای
Typography.NUMERAL_*دیگر به طور پیشفرض جدولی/تکفاصله نیستند. اگر متن متحرک است، اکیداً توصیه میشود که تنظیمFontSetting.tabularNum()را به آن اضافه کنید. در سایر موارد، این گزینه تکفاصله مورد نیاز نیست و با عدم استفاده از آن، کاراکترهای بیشتری در دسترس خواهند بود. ( Id3cd9 ) - شفافسازی تم رنگ پویای پیشفرض در کامپوننتهای
ProtoLayoutMaterial3 ( I9d831 )
نسخه ۱.۳.۰-آلفا۰۹
۲۶ فوریه ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 منتشر شد. نسخه 1.3.0-alpha09 شامل این کامیتها است.
ویژگیهای جدید
- اصلاحکنندههای آزمایشی برای
enterTransitionوexitTransitionاضافه شدند ( I4a4d6 ) - ما یک اتصال پلتفرم اضافی اضافه کردهایم تا وضعیت نمایش طرحبندی کامل را هر زمان که تغییر کند، دریافت کند. ( I250c3 )
- اجازه تزریق وضعیت برنامه آزمایشی و دادههای پلتفرم به
LayoutElementAssertionsProviderبرای ارزیابی مقادیر پویا. ( Ib5fcb ) - فیلترهای گوشهای را به کتابخانه تست طرح اولیه ( Ie2361 ) اضافه کنید
-
ButtonColors،CardColorsوProgressIndicatorColorsاکنون از متد کپی، با قابلیت لغو اختیاری برخی پارامترها، پشتیبانی میکنند. ( Ie2054 )
تغییرات API
- پشتیبانی از اتصال داده پویا را به کتابخانه تست ( Ib98de ) اضافه کنید
- با حذف overlay،
imageButtonهنگام استفاده با تابعbackgroundImageرا برطرف کنید. علاوه بر این، به تابعbackgroundImageاجازه دهید تا مقدار null را برای رنگ overlay تعیین کند، به این معنی که overlay اعمال نخواهد شد. ( Ibec3c )
رفع اشکالات
- متد پیشفرض
hasValueOfTypeتغییر کرد تا به جایIllegalArgumentException، استثنایUnsupportedOperationExceptionایجاد کند ( Ia36c3 ). - مقادیر پیشفرض توکن رنگ، مطابق با آخرین مشخصات بهروزرسانی میشوند. ( I75d44 )
- رفع مشکل دندانهدار شدن خطوط قوسی در رندرکننده کاشیهای AndroidX ( I88190 )
نسخه ۱.۳.۰-آلفا۰۸
۱۲ فوریه ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 منتشر شد. نسخه 1.3.0-alpha08 شامل این کامیتها است.
ویژگیهای جدید
- پارامتر لیست
FontSettingرا برای متن Material3 اضافه کنید. ( Ic102d ) - کلاس
DynamicDataMapاضافه شد کهStateBuilderاکنون از آن پشتیبانی میکند تا API کاتلین با امنیت نوع بهتر برای حالتهای برنامه ( I012ba ) ارائه شود. - متدهای کارخانهای مانند
intAppDataKeyبرای ایجاد آسانتر اشیاءAppDataKeyاضافه شد ( Icea2a ) -
DynamicDataValueاکنون علاوه بر متدهایhasInt/hasColor/.... ( I4f7a6 ) دارای یک متدhasValueOfType(Class<?>)میباشد. - ما
errorDimبه Material3 ProtoLayoutColorSchemeاضافه کردهایم، برای خطاهای با اولویت بالا یا اقدامات اضطراری مانند هشدارهای ایمنی. ( Ia17bb ) - ما هنگام دسترسی به تنظیمات سراسری reducemotion، یک محافظ در برابر خرابی اضافه کردهایم که در برخی از پلتفرمها که این تنظیم ارائه نشده بود، فعال میشد. ( I01e2c )
تغییرات API
-
addKeyToValueMappingبهaddToStateMapتغییر نام داده شده و متدهایDynamicDataMap.putبه دلیل زائد بودن حذف شدهاند. ( Ibe9dd ) - تایپوگرافی Material3 اکنون از محور متغیر گردی برای فونتهای سیستمی که از این محور پشتیبانی میکنند، پشتیبانی میکند.
FontSettingProtoLayout از محور گردی برای فونتهایی که از این محور پشتیبانی میکنند، پشتیبانی میکند. ( I33eb5 ) - تغییر نام
multilineAlignmentبه alignment در متد متن Material3 ( I2b66b ) - نشانگر پیشرفت دایرهای را به نوع Box بهروزرسانی کنید، همچنین
mainContentدرconstructGraphicبه نوع Box ( I5a3dc ) مشخص کنید. - پشتیبانی بهتر برای استفاده از نشانگر پیشرفت دایرهای در نمودار ( I039db )
رفع اشکالات
- مقادیر پویا را در
ColorStopو همچنین برای زوایای شروع/پایان درSweepGradientمجاز کنید. ( I0146d ) - رفع مشکلات اسناد. ( I4a63a )
- کامپوننتهای Material 3 (
graphicCardوavatarButton) بهروزرسانی شدند تا در صورت عدم پشتیبانی از بعدweightexpand (مثلاً پایینتر از API 33)، قابلیت بازگشت به عقب را فراهم کنند. کامپوننت متن بهروزرسانی شد تا در صورت عدم پشتیبانی رندرکننده ازTEXT_OVERFLOW_ELLIPSIZE، بهTEXT_OVERFLOW_ELLIPSIZE_ENDبازگشت کند. ( I19e2c ) - بهروزرسانی مستندات برای
PrimaryLayoutMargins. ( Ibaf7b )
نسخه ۱.۳.۰-آلفا۰۷
۲۹ ژانویه ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 منتشر شد. نسخه 1.3.0-alpha07 شامل این کامیتها است.
ویژگیهای جدید
- گزینه API برای تنظیم محرکهای مختلف برای انیمیشنهای Lottie اضافه شد. علاوه بر این، API برای محرکهایی که هنگام نمایش طرحبندی فعال میشوند اضافه شد ( I8272d )
- اصلاحکنندههای
border،visibilityوopacityاضافه شدند. ( I6d3dd ) - دکمه آواتار به کامپوننت ProtoLayout Material3 اضافه شد. ( Idb5ae )
- اکنون اجازه میدهیم حاشیهها (کناری و در برخی موارد پایین) در Material3
primaryLayout( Ib22f6 ) سفارشیسازی شوند. - نوع قطعهبندیشدهی نشانگر پیشرفت دایرهای را اضافه کنید. ( I6a648 )
- کامپوننت دکمه فشرده به ProtoLayout Material3 اضافه شد. ( Ia3c5c )
- کامپوننتهای دکمه به شکل قرص و دکمه تصویری به ProtoLayout Material3 اضافه شد. ( Ifb88a )
تغییرات API
-
LayoutModfier.foldInاکنونfoldRightنامیده میشود تا رفتار مورد انتظار خود را بهتر منعکس کند ( Idf242 ) - تریگر
VisibleOnceاکنون آزمایشی است. ( Ib2d26 ) -
withOpacityاز API عمومی حذف کنید زیرا یک کتابخانه گرافیکی جایگزین وجود دارد. ( I030c2 ) - نام متدهای سطح بالا در
LayoutString.ktوLayoutColor.ktبه نامهای سازگار با جاوا تغییر داده شد. ( I7aff0 ) - تایپوگرافیهای غیر ProtoLayout در Material3 حذف شدند. ( Idd9ae )
- پسوند Color را به فیلدهای کلاسهای
*Colorsدر Material3 اضافه کنید. ( I2d114 )
رفع اشکالات
- پیادهسازی جایگزین
EdgeButtonبرای رندرکنندههای قدیمیتر که از گوشههای نامتقارن پشتیبانی نمیکنند، اضافه کنید. ( I63364 ) - پیادهسازی جایگزین نشانگر پیشرفت دایرهای را با رندرکننده قدیمیتر اضافه کنید. ( I0f134 )
نسخه ۱.۳.۰-alpha06
۱۵ ژانویه ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 منتشر شد. نسخه 1.3.0-alpha06 شامل این کامیتها است.
ویژگیهای جدید
-
LayoutColorبرای پشتیبانی از انواع رنگ استاتیک و پویا ( I4c89b ) - کامپوننت textButton مربوط
ProtoLayout Material3اضافه شد. ( Id680d ) - کامپوننت
iconButtonProtoLayout Material3 را اضافه کنید. ( Ica3f0 ) - کامپوننت کانتینر دکمه ProtoLayout Material3 اضافه شد. ( I17a38 )
- پشتیبانی از اصلاحکنندههای معنایی Chainable به protolayout-material3 ( I4af62 ) اضافه شد.
- اضافه شدن ProtoLayout Material3 با یک قطعه کد
CircularProgressIndicator( I2c8a2 ) - اضافه شدن
paddingو اصلاحکنندههایmetadata( I8720a ) -
background،clipو اصلاحکنندههایclickableاضافه شد ( I35478 ) -
LinearGradientبه قلممو اضافه کنید و اجازه دهید در اصلاحکننده پسزمینه استفاده شود. ( Ic4dea ) - اندازه کوچک برای appCard و
titleCardاضافه کنید. ( I91f98 ) - کامپوننت
graphicDataCardمربوط به ProtoLayout Material3 اضافه شد. ( I92be7 ) - کامپوننتهای ProtoLayout Material3
iconDataCardوtextDataCardاضافه شد. ( I4e1e4 ) - کامپوننت
appCardمربوط به ProtoLayout Material3 اضافه شد. ( Id4c57 ) - رنگهای انتزاعی
EdgeButtonColorsبهButtonColors( I83624 ) - کامپوننت ProtoLayout Material3
titleCardاضافه شد. ( I2dc72 )
تغییرات API
- API مربوط به ProtoLayout Material3 اکنون
LayoutStringبرای پشتیبانی از متون استاتیک و دینامیک میپذیرد. ( I9c24a )
رفع اشکالات
- پیادهسازی رندرکننده برای inflat کردن
DashedArcLine( I0c700 ) را اضافه کنید - تغییر رندرکننده برای اینکه به
ArcSpacerاجازه داده شود طول dp را بگیرد. ( I1437b )
نسخه ۱.۳.۰-آلفا۰۵
۱۱ دسامبر ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 منتشر شد. نسخه 1.3.0-alpha05 شامل این کامیتها است.
ویژگیهای جدید
-
LayoutStringبرای پشتیبانی از فیلدهای رشتهای طرحبندی قابل اتصال اضافه شد. ( Ida650 ) - کامپوننت محفظه کارت
ProtoLayout Material3اضافه شد. ( Ic985a )
رفع اشکالات
- این کتابخانه اکنون از حاشیهنویسیهای nullness از نوع JSpecify استفاده میکند که از نوع type-use هستند. توسعهدهندگان کاتلین باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض است که از نسخه 2.1.0 کامپایلر کاتلین شروع میشود). ( Id1f9b ، b/326456246 )
نسخه ۱.۳.۰-آلفا۰۴
۱۳ نوامبر ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 منتشر شد. نسخه 1.3.0-alpha04 شامل این کامیتها است.
ویژگیهای جدید
- شکل Material3 بهروزرسانی شد تا به یک کلاس با فیلدهایی تبدیل شود که مقدار واقعی Corner را در خود نگه میدارند، مشابه آنچه در Wear Compose وجود دارد. ( Ied8cd )
- رنگهای Material3 بهروزرسانی شدند تا شامل مفهوم
ColorSchemeشوند، مشابه آنچه در Wear Compose وجود داشت. ( If645e ) - چندین تطبیقدهندهی پرکاربرد را به کتابخانهی تست اضافه کنید. ( Ie5cec )
نسخه ۱.۳.۰-آلفا۰۳
۳۰ اکتبر ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 منتشر شد. نسخه 1.3.0-alpha03 شامل این کامیتها است.
ویژگیهای جدید
-
LayoutElementAssertionsProvider،LayoutElementAssertionوLayoutElementMatcherبه کتابخانه تست ( Id1110 ) اضافه کنید.
نسخه ۱.۳.۰-آلفا۰۲
۱۶ اکتبر ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 منتشر شد. نسخه 1.3.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
- نسخه اولیه کتابخانه Material 3. شامل کامپوننتهای
text،edgeButton،buttonGroupوprimaryLayout.
رفع مشکلات امنیتی
- با اعمال این تغییر ، androidx برای رفع آسیبپذیری CVE-2024-7254 ، بر اساس protobuf 4.28.2 کامپایل میشود. برای رفع خطر آسیبپذیری، وابستگی خود را به نسخه 1.3.0-alpha01 از
androidx.wear.protolayout:protolayout-protoوandroidx.wear.protolayout:protolayout-external-protobufبه 1.3.0-alpha02 ارتقا دهید.
مشارکت خارجی
نسخه ۱.۳.۰-آلفا۰۱
۲ اکتبر ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 شامل این کامیتها است.
رفع اشکالات
- توضیح داده شد که در دسترس بودن نامهای خانواده فونت Roboto و Roboto Flex به دستگاه بستگی دارد. ( I193be )
- خانواده فونت Roboto Flex در رندرکننده کاشی AndroidX فعال شد. ( I08e94 )
نسخه ۱.۲
نسخه ۱.۲.۱
۱۶ اکتبر ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.2.1 منتشر شد. نسخه ۱.۲.۱ شامل این کامیتها است.
رفع مشکلات امنیتی
- با اعمال این تغییر ، androidx برای رفع آسیبپذیری CVE-2024-7254 ، بر اساس protobuf 4.28.2 کامپایل میشود. برای رفع خطر آسیبپذیری، وابستگی خود را به نسخه ۱.۲.۰ از
androidx.wear.protolayout:protolayout-protoوandroidx.wear.protolayout:protolayout-external-protobufبه ۱.۲.۱ ارتقا دهید.
نسخه ۱.۲.۰
۷ آگوست ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.2.0 منتشر شد. نسخه ۱.۲.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۱.۰
-
FontStyleبهروزرسانی شده است تا پشتیبانی فونت بیشتری برای محورهای متغیر داشته باشد و API انتخاب فونت بهتری برای پشتیبانی از فونتهای Flex آینده ارائه دهد. - پشتیبانی از اصلاحکنندههای اضافی:
- اصلاحکنندهی تبدیل که امکان انتقال، چرخش و مقیاسبندی را با یا بدون انیمیشن فراهم میکند.
- تعیین مقادیر مختلف (افقی و عمودی) برای هر شعاع گوشه.
- با افزایش مساحت قابل لمس هر عنصری که از اصلاحکننده Clickable استفاده میکند، به اندازه حداقل
48dpدر48dp، دسترسی به همه اهداف لمسی بهبود یافته است. - با افزودن
setResponsiveContentInsetEnabledPrimaryLayoutوEdgeContentLayoutبهبود یافتهاند تا از رفتار واکنشگرای این طرحبندیها در اندازههای مختلف صفحه نمایش بهتر پشتیبانی کنند و سازگاری Tiles را بهبود بخشند. - بهبود مقیاسبندی/عدم مقیاسبندی متن متریال برای مقیاسبندی فونت غیرخطی اندروید ۱۴.
- پشتیبانی بهبود یافته از جهت طرح RTL در تمام عناصر قوس.
تغییرات اضافی
- برای مشاهدهی مجموعهی کاملتری از تغییرات معرفیشده در نسخهی ۱.۱.۰، به یادداشتهای انتشار نسخهی بتا ۱ مراجعه کنید.
نسخه ۱.۲.۰-rc01
۲۴ ژوئیه ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 شامل این کامیتها است.
رفع اشکالات
- ما تراشه استاندارد متریال را طوری اصلاح کردهایم که فقط در صورتی که هیچ یک از برچسبهای اولیه یا ثانویه وارد نشده باشند، بتوان از آن به عنوان آیکون استفاده کرد. ( Iceef9 )
- مستندات مربوط به طرحبندیهای متریال بهروزرسانی شده است تا شامل تصاویر از صفحه مربوطه برای درک آسانتر طرحبندیها باشد. ( I0256a )
نسخه ۱.۲.۰-بتا۰۱
۱۰ ژوئیه ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
نسخه ۱.۲.۰-بتا۰۱ از Wear ProtoLayout نشان میدهد که این نسخه از کتابخانه از نظر امکانات کامل شده و API آن قفل شده است (به جز مواردی که به عنوان آزمایشی علامتگذاری شدهاند). Wear ProtoLayout 1.2 شامل قابلیتها و APIهای جدید زیر است:
-
FontStyleبهروزرسانی شده است تا پشتیبانی از فونتهای اضافی به شرح زیر را داشته باشد:- تنظیم تنظیمات مختلف فونت مانند
FontSetting.weightوFontSetting.width - تنظیم عرض یکسان برای همه کاراکترهای عددی - اعداد جدولی (تنظیم ویژگی فونت
FontSetting.tnum) - بهبود APIهای انتخاب فونت برای پشتیبانی از فونتهای flex آینده با تعیین نامهای خانواده فونت مورد نظر برای استفاده.
- تنظیم تنظیمات مختلف فونت مانند
- اصلاحکنندهی
Cornerتوسعهیافته برای پشتیبانی از تعیین هرCornerRadiusبا مقادیر افقی و عمودی جداگانه، امکان ساخت عناصر با گوشههای نامتقارن را فراهم میکند. - یک اصلاحکنندهی
Transformationجدید اضافه شده که امکان انتقال، چرخش و مقیاسبندیLayoutElementرا فراهم میکند. این تبدیلها را میتوان با استفاده از مقادیر پویا متحرکسازی کرد. - برای پشتیبانی بهتر در جهتهای مختلف طرحبندی (مانند چپ به راست و راست به چپ)،
setArcDirectionبه همراه گزینههایClockwise،CounterClockwiseوNormalبه همه عناصر قوسی (Arc،ArcLineوArcText) اضافه شد. - با افزایش مساحت قابل لمس هر عنصری که از اصلاحکننده
Clickableاستفاده میکند، به اندازه حداقل48dpدر48dp، دسترسی به همه اهداف لمسی بهبود یافته است. - بهبود
PrimaryLayoutوEdgeContentLayoutبا اضافه کردنsetResponsiveContentInsetEnabledبرای پشتیبانی بهتر از رفتار واکنشگرای این طرحبندیها در اندازههای مختلف صفحه نمایش و بهبود سازگاری Tiles. اضافه شدن هشدار linter برای پیشنهاد استفاده از این APIها با یک راهحل سریع. - بهبود مقیاسبندی/عدم مقیاسبندی
Textمتریال برای مقیاسبندی فونت غیرخطی اندروید ۱۴.
تغییرات API
- نام خانوادگی فونت پیشفرض (
DEFAULT_SYSTEM_FONT) حذف شده است، زیرا به طور ضمنی از عدم استفاده از APIpreferredFontFamilies( I39dab ) ناشی میشود. - پارامتر ارسالی به
FontSetting.widthباید مثبت باشد. ( I1266f )
نسخه ۱.۲.۰-آلفا۰۵
۲۶ ژوئن ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 منتشر شد. نسخه 1.2.0-alpha05 شامل این کامیتها است.
ویژگیهای جدید
- متد
hasTextرا بهMaterial.CompactChipاضافه کنید تا بررسی کنید که آیا محتوای متن تنظیم شده است یا خیر. ( I6e8fc )
تغییرات API
- مقادیر ثابت
FontFamilyبه جای کلاس Builder بهFontStyleمنتقل شدهاند. ( I06ced ) - APIهای
FontSetting.weightوFontSetting.widthرا بهروزرسانی کنید تا شامل حاشیهنویسیهای Range باشند و پارامتر weight را به عدد صحیح (Int) تغییر دهید ( Ia726c ).
رفع اشکالات
- متنهای غیرمقیاسپذیر در کتابخانه متریال اکنون به درستی با مقیاسبندی فونت غیرخطی اندروید ۱۴ کار میکنند. ( I6601e )
نسخه ۱.۲.۰-آلفا۰۴
۲۹ مه ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 منتشر شد. نسخه 1.2.0-alpha04 شامل این کامیتها است.
تغییرات API
- API گوشههای نامتقارن اضافه شد تا بتوان شعاع هر گوشه را با ۲ مقدار به طور جداگانه مشخص کرد. ( Icbd69 )
- API
FontSettingرا گسترش داد تا شامل موارد زیر باشد: - API خانواده فونت به
FontStyleاضافه شد تا امکان تعیین لیست ترتیب استفاده از خانوادههای فونت فراهم شود. ( Iba9f5 ) - ثابتهای مربوط به ارتفاع فضای بین محتوا و برچسب ثانویه در
LayoutDefaultsمربوط به Material که در ابتدا با پیشوند «Edge content» مشخص میشدند، تغییر نام دادند تا عمومیتر باشند و بتوان آنها را هم برایPrimaryLayoutو همEdgeContentLayoutاعمال کرد. ( I4dc32 )
رفع اشکالات
- نامگذاری محورهای فونت متغیر از
axisNameبهaxisTagتغییر نام داد. ( I02ba3 )
نسخه ۱.۲.۰-آلفا۰۳
۱۴ مه ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 شامل این کامیتها است.
ویژگیهای جدید
- API برای تنظیم مقادیر وزن سفارشی برای
FontStyleاضافه شد. ( I7390a )
رفع اشکالات
- رفع مشکل عدم موفقیت در
getTouchDelegateInfoبه دلیل خالی بودن نقشه هدف ( I2accf )
نسخه ۱.۲.۰-آلفا۰۲
۱ مه ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 شامل این کامیتها است.
تغییرات API
- ما پشتیبانی از غیرفعال کردن بازخورد موجی روی عناصر قابل کلیک را اضافه کردهایم. ( If1ede )
- رابط برنامهنویسی کاربردی (API) برای تبدیل از
ArcModifiersحذف شده است زیرا از این ویژگی پشتیبانی نمیکند ( Ic0827 ) -
ArcDirectionPropBuilder اکنون انتظار دریافت مقداری در سازنده را دارد. ( I76ada ) - متد
PlatformDataValues.Builder.putAllامکان ادغام یکPlatformDataValueدر یک PlatformDataValue دیگر را فراهم میکند. ( I50ba3 ) -
Text#setIsScalableبهText#setScalableتغییر نام داده شده است. ( If920e ) - متن متریال میتواند تنظیم کند که آیا از اندازه مقیاسپذیر (با تغییر اندازه فونت کاربر افزایش مییابد) استفاده کند یا خیر. ( Ibc849 )
- ما گزینهای برای تنظیم توضیحات محتوا روی
TitleChipاضافه کردهایم. ( I5d21f ) - مشکل کارکرد صحیح
CompactChipفقط با آیکون برطرف شد و API بهروزرسانی شد تا این گزینه فعال شود. ( I6589e )
رفع اشکالات
- مشکل دادههای تکراری احتمالی پلتفرم در هنگام مقداردهی اولیه برطرف شد. ( Iba0fd )
- یک getter جدید به
DynamicDataNodeمعرفی کنید تا هزینه گره را بازیابی کند. این هزینه هنگام دستیابی به سهمیه گره پویا استفاده میشود. در حال حاضر، گرههایی با مقادیر ثابت هزینه ۰ و سایر گرهها هزینه ۱ خواهند داشت. ( Ia33e1 ) - منطق شمارش را از
NO_OP_QUOTA_MANAGERحذف کنید. ( Ib50b8 ) - ما یک قانون lint اضافه کردهایم تا هنگام استفاده از
PrimaryLayoutبدونsetResponsiveContentInsetEnabledهشداری را گزارش دهد و یک راهحل سریع ارائه دهد. ( I12025 ) - محدودیتی برای تعداد گرههای عبارت پویا وجود دارد. ( Iffae8 )
نسخه ۱.۲.۰-آلفا۰۱
۶ مارس ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- عناصر
ProtoLayout Arcاکنون میتوانندArcDirection(Clockwise،CounterclockwiseیاNormal) را به خود اضافه کنند. افزودن این رفتار بهArc،ArcLineیاArcTextرفتار آنها را در طرحبندیهای RTL اصلاح میکند. ( I90699 ) -
EdgeContentLayoutبا یک تنظیمکننده جدیدsetResponsiveContentInsetEnabledبهروزرسانی شده است تا با دستورالعملهای UX، هماهنگی بهتری داشته باشد، در Tiles با داشتن برچسب اصلی در مکان ثابت در بالا و inset واکنشگرا برای برچسبها، سازگاری بیشتری ایجاد کند. ( I60175 ) - ما
PrimaryLayout.setResponsiveContentInsetEnabledرا اضافه کردهایم که به برچسب اصلی، برچسب ثانویه و تراشه پایینی در این طرحبندی، درج واکنشگرا اضافه میکند تا از خروج محتوا از لبه صفحه جلوگیری شود. ( I0c457 ) - روشی برای حذف حاشیههای بیرونی از
CircularProgressIndicatorاضافه میکند تا بتوان از آن به عنوان یک کامپوننت کوچکتر استفاده کرد. ( I55c06 )
تغییرات API
- رندرکنندهی Tiles اکنون به طور پیشفرض، فاصلهی بین فونتها (font padding) را در تمام عناصر متنی حذف میکند، بدون اینکه گزینهای برای گنجاندن آن وجود داشته باشد. ( I3e300 )
رفع اشکالات
- مشکل ترازبندی متن هنگام استفاده از بیضیسازی، فاصلهگذاری حروف و ترازبندی وسط در متن برطرف شد. ( I716c7 )
- یک راه حل برای مشکل ترسیم قوس اسکی اضافه کنید. ( I08f09 )
- رفع مشکل جهت ترسیم
ArcLineبرای طرحبندیهای RTL ( I6c141 )
نسخه ۱.۱
نسخه ۱.۱.۰
۷ فوریه ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.1.0 منتشر شد. نسخه ۱.۱.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۰.۰
- پشتیبانی از گرادیان و نمایش بهتر طولهای بزرگتر از ۳۶۰ درجه در
ArcLine. - قالببندی تاریخ-زمان از مناطق زمانی مختلف برای انواع دادههای پویا پشتیبانی میکند.
- گزینههای بهتر برای تغییر اندازه خودکار و بیضیبندی متن، برای مدیریت متن کوتاهشده.
- فاصله دهنده از ابعاد گسترده با وزن اختیاری پشتیبانی میکند.
- حاشیهنویسی الزامات نسخه Schema برای تمام APIهای
ProtoLayout. - ناحیه هدف گسترشیافته برای هر عنصر
Clickableتا ۴۸ نقطه در ۴۸ نقطه، برای برآورده کردن الزامات دسترسیپذیری. - قابلیت font padding به طور پیشفرض غیرفعال است و تنها رفتار در تمام عناصر Text و کامپوننتهای Material است که حاوی متن هستند.
تغییرات اضافی
- برای مشاهدهی مجموعهی کاملتری از تغییرات معرفیشده در نسخهی ۱.۱.۰، به یادداشتهای انتشار نسخهی بتا ۱ مراجعه کنید.
نسخه ۱.۱.۰-rc01
۲۴ ژانویه ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 شامل این کامیتها است.
رفع اشکالات
- بلافاصله پس از فعال کردن بهروزرسانی،
PlatformTimeUpdateNotifierImplتیک میزند. ( I77145 ) -
CircularProgressIndicatorبرای طرحبندیهای RTL برطرف شده است. از این به بعد، در همه موارد در جهت عقربههای ساعت حرکت خواهد کرد. ( I95ee3 ) - یک راه حل برای مشکل ترسیم قوس اسکی اضافه کنید. ( I08f09 )
نسخه ۱.۱.۰-بتا۰۱
۱۰ ژانویه ۲۰۲۴
androidx.wear.protolayout:protolayout-*:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
نسخه ۱.۱.۰-بتا۰۱ از Wear ProtoLayout نشان میدهد که این نسخه از کتابخانه از نظر امکانات کامل شده و API آن قفل شده است (به جز مواردی که به عنوان آزمایشی علامتگذاری شدهاند). Wear ProtoLayout 1.1 شامل قابلیتها و APIهای جدید زیر است:
-
ArcLineاکنون با اضافه کردنBrushباSweepGradientو داشتن سایه روی کلاهک، از گرادیان پشتیبانی میکند تا با اضافه کردنShadowرویStrokeCapموجود، طول بزرگتر از ۳۶۰ درجه را بهتر نشان دهد. -
DynamicInstantاز قالببندی تاریخ-زمان منطقهای پشتیبانی میکند.DynamicInstantوDynamicDurationمیتوانند به عنوان انواع داده وضعیت یا پلتفرم استفاده شوند. - ویژگی تنظیم خودکار اندازه متن که امکان تنظیم چندین اندازه را برای
FontStyle.setSizesفراهم میکند، که در آن اندازه متن به طور خودکار بر اساس فضایی که درون والد دارد، مقیاسبندی میشود. علاوه بر این، ما گزینههای بیضیسازی را برای متنی که سرریز میشود با اضافه کردنTEXT_OVERFLOW_ELLIPSIZEو منسوخ کردنTEXT_OVERFLOW_ELLIPSIZE_ENDبهبود بخشیدهایم. - اکنون
Spacerاز داشتن ابعاد بسطیافته با وزن اختیاری پشتیبانی میکند. برای ساختExpandedDimensionProp، یک متد کمکیDimensionBuilders.weightاضافه کردهایم. - پشتیبانی از پنهانسازی و آشکارسازی پویای عناصر طرحبندی با استفاده از
Modifier.visible. این شامل داشتن مقادیر پویا درBoolPropنیز میشود. - اکنون تمام APIهای
ProtoLayoutدارای حاشیهنویسی الزامات نسخه طرحواره هستند و میتوان قبل از فراخوانی یک API جدیدتر، نسخه را بررسی کرد. - Every element that has
Clickablenow has its target area extended to at least 48x48 in the renderer to better support accessibility requirements. - Following other Material components and Compose initiatives, we have now turned off font padding by default on all
Textelements. Additionally,AndroidTextStyleand related setters have been removed from the public API. with following bug fixes: - Added a setter for positioning the edge content in
EdgeContentLayoutso it can be positioned before other content. - Consistently throwing an exception when encountering an unrecognized enum value.
- Invalidate the result of an expression when it yields an invalid numeric value (NaN or infinite) or throws an
ArithmeticException.
تغییرات API
- Updates to
SweepGradientAPI to allow accepting either colors orColorStopsin the constructor. ( I6676f )
رفع اشکالات
- Adding a restricted API and renderer support for setting a direction in which arc elements are drawn. ( Idef5a )
-
RoundModedefaults toFloorinFloatToInt32Nodewhen unspecified. The node will still throw an exception if the providedRoundModeis unrecognized. ( I1b2d8 )
Version 1.1.0-alpha04
۱۳ دسامبر ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.
ویژگیهای جدید
-
VersionInfoclass not implements theComparableinterface. ( I8d13c ) - Renderer now supports
TEXT_OVERFLOW_ELLIPSIZEoption. ( I7f085 )
تغییرات API
- Text overflow option
TEXT_OVERFLOW_ELLIPSIZE_ENDis now deprecated. Please use the new APITEXT_OVERFLOW_ELLIPSIZEwith very similar behavior. ( I822d8 ) - Following other Material components and Compose initiatives, we have now turned off font padding by default on all Text elements. Additionally,
AndroidTextStyleand related setters have been removed from the public API. ( I79094 , Ib0b03 , I32959 , Iaf7d5 , Ifa298 , I0a4ae , Ida9d3 ) -
Modifier.hiddenis replaced withModifier.visible( I56902 ) -
FontStyle#setSizesnow accepts int instead ofSpProparguments. ( I02b37 )
رفع اشکالات
- Throw an exception when encountering an Undefined or Unrecognized enum value. ( I9d2cf )
- Refactor
DynamicTypeBindingRequest. ( I27b57 ) - Invalidate the result of an expression when it yields an invalid numeric value (NaN or infinite) or throws an
ArithmeticException. ( I681ae )
Version 1.1.0-alpha03
۲۹ نوامبر ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.
ویژگیهای جدید
- Add experimental support for dynamically hiding/unhiding layout elements ( I64a78 )
- Add dynamic value support to
BoolProp( I2fe96 ) - Add schema version requirement annotation to
ProtoLayoutAPIs ( I0f03c ) - Extending the API with the new option in
TextOverflowfor ellipsizing the Text in a fixed parent container even when max lines is not reached (but there's not enough space for Text). ( I110a9 ) - Added helper method
DimensionBuilders.weightfor buildingExpandedDimensionPropwith weight. ( I4f72b ) -
DynamicInstantandDynamicDurationcan be used as state or platform data types. ( I6819f )
تغییرات API
- Update The API to hide
DynamicZonedDateTimeand move all its operations toDyanamicInstant( I34b94 ) - Spacer now supports Expanded dimension for width/height. ( Ie7c94 )
- Support click target area extension in Renderer ( I39c79 )
Version 1.1.0-alpha02
۱۵ نوامبر ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.
ویژگیهای جدید
- Added an
ArcLineStrokeCapShadowfield to the API. ( I830ec ) - Extending the API to be able to specify Spacer's width or height to expand. ( I757ca )
- We have added an experimental API to automatically scale the text size based on the space it has inside of the parent. ( Ibbe63 )
- Support minimum clickable size ( I178e3 )
- Added renderer support for
StrokeCapShadow. ( I48b17 ) - Add renderer support for Sweep Gradient in
ArcLine. ( I4d5bb )
Version 1.1.0-alpha01
۱۸ اکتبر ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.
ویژگیهای جدید
- Added a brush option to
Arcline, with support forSweepGradient. ( Ie7ce3 ) - Added support for zoned date-time formatting. ( Ibfae0 )
- Added protos and java Wrappers required for zoned date-time formatting. ( I97126 )
- Added getters for reading back the value stored in a
DynamicDataValue. ( Ie6cea ) - Added a setter for positioning the edge content in
EdgeContentLayoutso it can be positioned before other content. ( Ie8e8a )
رفع اشکالات
- Fixed an issue when an expression with multiple time data source registrations was not being updated immediately. ( I8e1a8 )
- Fixed a bug to center root element during diff updates. ( Ie48f7 )
- Unset (or empty) layout constraint values will not be ignored anymore. ( Ibc785 )
- Reduced delay between a layout becoming visible and its pipeline nodes being initialized. ( I38d4e )
نسخه ۱.۰
نسخه ۱.۰.۰
۹ آگوست ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0 is released. Version 1.0.0 contains these commits.
ویژگیهای اصلی نسخه ۱.۰.۰
ProtoLayout library introduces APIs for creating layouts and expressions that can be used across different Wear OS surfaces. For example Tiles library uses these APIs to support platform data binding (for faster tile data updates) and animations.
Version 1.0.0-rc01
۲۶ ژوئیه ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.
- To migrate from Tiles to
ProtoLayout, please follow the instructions here .
تغییرات API
- We have removed
setLayoutConstraintForDynamicAnchorAngleandgetLayoutConstraintForDynamicAnchorAnglemethods from Arc element. These methods have been added by mistake and they didn't have any effect on the provided layout. ( If7d01 ) - We have limited the maximum depth that a
ProtoLayout's layout can have to 30 nestedLayoutElements. ( I8a74b )
رفع اشکالات
- We have added a check to throw if
DynamicColorhas been set for aSpanText. ( I0e5bc ) - It is clarified that
DAILY_CALORIESdata source unit is kcal. ( Iaa785 )
Version 1.0.0-beta01
۲۱ ژوئن ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.
ویژگیهای جدید
- Allow setting clock for time binding tests. ( I05622 )
تغییرات API
-
PlatformDataReceiver.onData()andStateBuilders.Builder.addKeyToValueMappingnow accept type-safe mapping ofDynamicDataKeytoDynamicDataValuerather than unsafe generics. That means thatDynamicDataValueis now typed with itsDynamicType.HEART_RATE_ACCURACY_Xconstants moved to the root ofPlatformHealthSources, to match other Android constants positioning.HEART_RATE_ACCURACY_Xint constants are now used directly inDynamicHeartRateAccuracy.constant()andDynamicHeartRateAccuracy.dynamicDataValueOf()instead of value constant. ( I82ff5 ) - The
PlatformHealthSources.Constantsclass was instantiable by mistake. This has been fixed now. ( Icb849 ) -
PlatformTimeUpdateNotifier#setReceivernow receivesRunnableinstead ofSupplierfunction andExecutorto notify on. ( I9d938 ) - We have changed the parameter type in the
PlatformTimeUpdateNotifier#setReceiverfromCallabletoSupplier. ( I664bf ) -
CompactChipandTitleChipnow support adding an icon to it. ( I5a01e )
رفع اشکالات
- Update Prop messages with dynamic fields to use oneof instead ( I81739 )
- Reuse setters implementation for overloads that have setters ( Ied70c )
- Properly record fingerprints in setters that have overloads ( I86ed2 )
Version 1.0.0-alpha11
۷ ژوئن ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits.
ویژگیهای جدید
- We've added a
PlatformDataKeyfor heart rate accuracy. ( I7f9b8 )
تغییرات API
- Rename
StateBuilders#getIdToValueMappingtogetKeyToValueMappingand change the return type toMap<<AppDataKey<?>,DynamicDataValue>. ( Iaa7ae ) - Make
StateStorea final class ( I408ca ) -
TimeGatewayinterface has been replaced byPlatformTimeUpdateNotifierinprotolayout-expression-pipelinelibrary which provides desired frequency for updating time data. ( I60869 ) - Rename
register/unregisterForDatainPlatformDataProvidertoset/clearReceiver( I14b02 ) - In Material Text,
getExcludeFontPaddinghas been renamed tohasExcludeFontPadding. ( Iea01d ) - Setter for perfectly aligning label was added to all chip components. All chips now have min tappable target applied. ( I8ae92 )
-
LayoutDefaults#BUTTON_MAX_NUMBERhas been renamed toMAX_BUTTONS. ( I84788 ) -
DAILY_DISTANCEis renamed toDAILY_DISTANCE_M. ( I4f758 )
رفع اشکالات
- Update Prop types docs to clarify why static value is enforced. Specify the default value used if static value wasn't provided. ( I155aa )
-
PlatformDataKeynamespaces should follow Java style naming. ( I47bda )
Version 1.0.0-alpha10
۲۴ مه ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.
ویژگیهای جدید
- Add
AppDataKeyfor accessing app pushed state; AddPlatformDataKeyfor accessing platform data; Add namespace support inStateStore. ( I7985e ) - Support
EqualandNotEqualoperations forDynamicBool. ( I6a0c1 )
تغییرات API
-
FontStylesclass is now final ( Iaa2ea ) -
LayoutElementBuilders#FontStyleshas been deprecated. Please useandroidx.wear.protolayout.Typographyor create your ownFontStyle. ( Ic929b ) - Hide
Action#Buildernested interface fromActioninterface. Implementations of Builder are already provided byLoadActionandLaunchActionclasses. ( I1d70c ) - Allow using
DynamicFloatwithFloatProp. Note thatFloatPropdo no require layout constraints as it's not used as a layout changing prop. ( I286ac ) - The
LoalActionandSetStateActionactions are removed as they were not really supported yet. ( I5d6a6 ) - Added support for ARGB_8888 format for inline image resources. ( I8a07c )
- Rename
StateEntryValuetoDynamicDataValue, and update the state APIS to use theDynamicDataKey( If1c01 ) - We are limiting the number of entries that are allowed in the
StateStorein order to ensure that memory usage and state update time are well contained and controlled for each instance of theStateStore. As a result, the developer needs to ensure that they do not have more thanMAX_STATE_ENTRY_COUNTentries in the map otherwise they will get anIllegalStateExceptionwhen creating or updating theStateStore. ( Ibadb3 ) - Hide
OnLoadTriggerandOnConditionMetTriggerclasses, and renamesetTriggertosetConditionforOnConditionMetTrigger. ( Ibf629 ) - For performance and compatibility reasons, the
ProtoLayoutrenderers won't support the full set of features inAnimatedVectorDrawableresources. We're marking those APIs as experimental until we can define the supported set. ( Ic6daf ) - Added dynamic types for daily distance, daily calories and daily floors. Keys for platform health sources are now under
PlatformHealthSources.Keys( Ib7637 ) - The
Easing.cubicBeziermethod replaces theCubicBezierEasing.Builder. With that theEasingFunctionclass is removed and the easing constants from that class are now directly accessible from theEasinginterface. In additionsetInfiniteRepeatableis replaced byINFINITE_REPEATABLE_WITH_RESTARTandINFINITE_REPEATABLE_WITH_REVERSE( Ib41e7 ) - Implement
PlatformDataProviderto provide heart rate and daily steps.SensorGatewayinterface is removed from public API. ( I55b84 ) - Add
PlatformDataProvider, and updateStateStoreto register toPlatformDataProviderwhen the provider's supported key is required by node from expression pipeline. ( Ib616a ) -
SensorGatewayis no longerCloseableas it no longer maintains any state. ( I6b4f7 ) - Allow using
FloatPropwithDynamicFloatfor progress inCircularProgressIndicator. This is supported for renderers supporting version 1.2. Old renderers will fallback to thestaticValueif provided, otherwise to 0 ( I0d91b ) -
MultiButtonLayoutconstants have been refactored intoLayoutDefaults.MultiButtonLayoutDefaultsclass which now contains those for button sizes depending on a number of buttons in the layout. ( I13973 ) - Support using
StringPropwithDynamicStringin Material Text. This is supported for renderers supporting version 1.2. Old renderers will fallback to the provided static value. UpdateText#getTextreturn type fromStringtoStringProp. ( I7275b )
Version 1.0.0-alpha09
۱۰ مه ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits.
ویژگیهای جدید
- We've added an experimental extension layout element. Note that this can't be used by default and requires a renderer extension capable of understanding the layout element. ( I6581d )
- Added
StrokeCapsupport forArcLine. ( I94951 ) - Added support for Conditional Instant operation. ( I489a7 )
- Added support for Conditional Duration operation. ( Iab469 )
- Added support for creating duration from seconds. ( Ib5fa1 )
تغییرات API
-
enable/disablePlatformSourcemethods have been removed fromDynamicTypeEvaluator. The caller should be responsible for updates. ( I78c6d ) - Allow capping the size of bound data types. ( Ie2966 )
- Add support for dynamic content description in
protolayout-material. ( I62c8e ) - Use long and
@IntRangefor duration and delay in AnimationParameters. ( I388b6 )
Version 1.0.0-alpha08
۱۹ آوریل ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.
ویژگیهای جدید
-
AndroidTextStylehas been added toLayoutElementBuilders. ( I8d967 ) - We have added support for setting excluding font padding in
ProtoLayoutMaterial Text. ( I17f5d ) - ARGB_8888 is now supported for inline images. ( I18c1e )
-
DynamicColornow supportsonConditionoperation. ( I10927 )
تغییرات API
- Support custom duration for reverse animation ( I3251f )
- We've added the
SemanticDescriptionmodifier. In addition,ContentDescriptionis not bindable. ( I3f1d ) - The
DynamicBool.isFalse()method is now replaced withDynamicBool.negate()and theDynamicBool.isTrue()is removed. In addition NaNDynamicFloatvalues and narrowing aDynamicInt32to aDynamicFloatnow emit an invalid dynamic result. ( I6ac1e ) - Int and float formatters now use the Builder pattern. ( Ieb213 )
رفع اشکالات
- Fallback static value has been removed from animatable fields. ( Ifcb01 )
-
DynamicTypeValueReceiver#onPreUpdatehas been removed. ( I2dc35 ) - Length of Strings in dynamic expressions are now capped. ( I4c93 )
- The gradle dependencies are now correctly set to
apiinstead ofimplementationwhen required. ( I40503 )
Version 1.0.0-alpha07
۵ آوریل ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.
ویژگیهای جدید
تغییرات API
-
sensorGateway#registerSensorGatewayConsumertakes data type as a parameter instead of method in Consumer. ( Icf314 ) -
ObservableStateStorehas been renamed toStateStore. ( Ieb0e2 ) - Added
DynamicTypeEvaluator.Builderinstead of constructor arguments to allow more optional arguments, includingObservableStateStorewhich now defaults to an empty store. ( I6f832 ) - Refactored order of parameters in
DynamicTypeEvaluator. ( Ic1ba4 )
رفع اشکالات
- Correctly propagate signals from platform sensor sources to downstream nodes ( I5a922 )
Version 1.0.0-alpha06
۲۲ مارس ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.
ویژگیهای جدید
- We've added an experimental API for using heart rate and daily steps in dynamic expressions ( Ifd711 )
- We have added support for reverse and forward delay for animations. ( Ic25f7 )
- We've added
DynamicColorsupport to Border and Background - We've added dynamic value support to types in
DimensionBuilder - Layout and components from
tiles-materialare moving toprotolayout-material
تغییرات API
-
LoadActionListenerhas been added toProtoLayoutViewInstance. ( If7806 )
رفع اشکالات
- Added
FloatNodesTest( Id7281 ) - Fix renderer crash when unable to load structured bitmap.
Version 1.0.0-alpha05
۸ مارس ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.
ویژگیهای جدید
- We've added an experimental "content update" animation to the
Modifiersobject. This animation will trigger whenever the element (with this modifier) or one of its children changes during a layout update. ( bd03e5d )
تغییرات API
- We've added
forwardRepeatDelayMillisandreverseRepeatDelayMillistoRepeatable. We've also renameddelayMillisinAnimationSpectostartDelayMillis( Ifb266 ) -
DynamicTypeEvaluator.bindmethods now accept an Executor. ( I346ab ) - We've added the
startEvaluationmethod to theBoundDynamicTypeto trigger the evaluation after the dynamic type is bound. ( I19908 )
رفع اشکالات
- The Animator object will be reused for subsequent animations of a single element. ( Ia3be9 )
Version 1.0.0-alpha04
۲۲ فوریه ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.
ویژگیهای جدید
-
ObservableStateStorenow informs the listeners when a key is removed too. - We've added renderer schema version and font scale to
DeviceParameters(which can be used to conditionally create layouts in response to different versions and font settings). - We've added support for animating
DynamicInt32values ( I05485 ) - We've added
OnLoadandOnConditionalMettriggers. These can be used to start animations that support a trigger. - We've added layout weight for expanded dimensions and min size for wrapped dimensions.
- We've added duration and instant dynamic types. These can be used to represent a time instant or duration in a dynamic expression.
- We've added support for
AnimatedVectorDrawableandSeekableAnimatedVectorDrawableas layout resources.
تغییرات API
- Sensor data requires API 29+. ( I8099e )
- We've added two
launchActionhelper methods (for launching Activities).
رفع اشکالات
- Rename
set/getSpectoset/getAnimationSpecin Tiles animation ( I3d74b )
Version 1.0.0-alpha03
۸ فوریه ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.
ویژگیهای جدید
- We have added
toByteArray()andfromByteArray()to Dynamic types in protolayout-express library. - We have added
toString()to Dynamic types in protolayout-expression library. - We have added evaluation support for Dynamic types. The
DynamicTypeEvaluatorclass from the protolayout-expression-pipeline library can be used to evaluate (and receive updated values) for a previously create Dynamic type (DynamicString,DynamicFloat, …) - When animations can't be played (either because they are disabled by the evaluator, or the number of running animations has reached the set limit), the static values set on the animatable node will be used to replace the animation.
نسخه ۱.۰.۰-آلفا۰۲
۲۵ ژانویه ۲۰۲۳
androidx.wear.protolayout:protolayout:1.0.0-alpha02 , androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 , and androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.
ویژگیهای جدید
- Layout builders from
androidx.wear.tiles:tilesare moving toandroidx.wear.protolayout:protolayout. The ones inandroidx.wear.tiles:tileswill be deprecated in one of the next alpha releases.
نسخه ۱.۰.۰-آلفا۰۱
۱۱ ژانویه ۲۰۲۳
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 and androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.
ویژگیهای جدید
- This release introduces a new library "ProtoLayout Expression" for creating expressions from dynamic variables.