طرح اولیه لباس
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۱۱ فوریه ۲۰۲۶ | ۱.۳.۰ | - | ۱.۴.۰-بتا۰۱ | - |
اعلام وابستگیها
برای افزودن وابستگی به 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-beta01 منتشر شد. نسخه 1.4.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
نسخه ۱.۴.۰-بتا۰۱ از Wear ProtoLayout نشان میدهد که این نسخه از کتابخانه از نظر امکانات کامل شده و API آن قفل شده است (به جز مواردی که به عنوان آزمایشی علامتگذاری شدهاند). Wear ProtoLayout 1.4 شامل قابلیتها و APIهای جدید زیر است:
- منابع تصویر درونخطی شده و بهبود عملکرد: یک مفهوم مدیریت منابع بهبود یافته معرفی شد که در آن
ImageResourceمیتواند مستقیماً درون خود طرحبندی درونخطی شود.- این امر با حذف نیاز به نگاشت دستی منابع در
onTileResourcesRequestو لغو آن متد، توسعه را به طور قابل توجهی ساده میکند. - این امر با حذف نیاز به دو فراخوانی binder، زمان بارگذاری Tiles را به طور قابل توجهی بهبود میبخشد، زیرا فقط میتوان متد
onTileResourcesRequestرا پیادهسازی کرد. - اکنون همه APIهای
Imageبا ارائه متدهای جدیدی کهProtoLayoutScopeمسئول این امر میپذیرند، از این مفهوم پشتیبانی میکنند.
- این امر با حذف نیاز به نگاشت دستی منابع در
ثبت خودکار منابع و محدوده Material3: برای پشتیبانی از مفهوم
MaterialScopeدر Material3 با منابع تصویر درونخطی،materialScopeWithResourcesاضافه شده است. این محدوده، ثبت خودکار منابع را مدیریت میکند و شامل متدهای کمکی جدید برای تصاویر (backgroundImage،avatarImageوicon) برای سادهسازی استفاده از اجزا است.قطعه کد ساده شده:
materialScopeWithResources( context = context, deviceConfiguration = deviceParameters, protoLayoutScope = protoLayoutScope) { primaryLayout( // layout setup here iconContent = { **icon**( **imageResource**( **androidImageResource**(R.drawable.myIcon)))}) //… }
پشتیبانی از PendingIntent: پشتیبانی از
PendingIntentبرای Tiles اضافه شده است. کلیکشوندههایPendingIntentاقدامات جایگزین (LoadActionیاLaunchAction) را میپذیرند. این تضمین میکند که اگر رندرکنندهProtoLayoutنسخه قدیمیتری باشد کهPendingIntentپشتیبانی نمیکند، یک اقدام جایگزین معتبر به طور خودکار استفاده شود.بسیاری از پیشرفتهای Kotlin DSL:
- برای بهبود تجربه توسعهدهندگان برای کاربران کاتلین، کمککنندههای تخصصی کاتلین برای
Imageو همه انواعImageResourcesاضافه شده است. - برای سازگاری بیشتر با توسعه مدرن اندروید، کمکرسانهایی برای انواع کانتینر مانند
Box،Row،Columnو غیره اضافه شده است. - یک اصلاحکننده و متد کمکی جدید برای تبدیل کاتلین (Kotlin
Transformation) برای محو شدن در انیمیشن اضافه شد.
- برای بهبود تجربه توسعهدهندگان برای کاربران کاتلین، کمککنندههای تخصصی کاتلین برای
سفارشیسازی انیمیشن Lottie: API در
AndroidLottieResourceByResIdاضافه شده است تا امکان سفارشیسازی انیمیشن Lottie از طریق ویژگیها فراهم شود و پشتیبانی و API مشخصی برای ایجاد ویژگی برای تمبندی یک اسلات بر اساس شناسه اسلات با رنگ مشخص اضافه شده است.آگاهی از حالت محیطی: یک منبع رویداد جدید پلتفرم به
isInAmbientModeاضافه شده است که به طرحبندیها اجازه میدهد بر اساس اینکه دستگاه در حالت محیطی است یا خیر، واکنش نشان داده و عبارات را بهروزرسانی کنند.
تغییرات API
- کمککنندههای تصویر Material3: کمککنندههای تصویر Material3 موجود منسوخ شدند و جای خود را به اضافه بارهای جدیدی دادند که از
ProtoLayoutScopeو مدیریت منابع درونخطی جدید استفاده میکنند. - بهروزرسانیهای MaterialScope: فیلد
protoLayoutScopeدرMaterialScopeبرای استفاده آسانتر هنگام ایجاد از طریقmaterialScopeWithResourcesNonNullاست. یک تابع جدیدhasProtoLayoutScopeبرای بررسی وجود آن اضافه شده است.MaterialScopeهمچنین فیلد عمومیContextرا در معرض نمایش قرار میدهد. - عنوان معنایی به عنوان یک API در
LayoutModifierدر دسترس است. - پشتیبانی از جهت قوسی ثابتهای
ARC_DIRECTION_*اکنون به صورت عمومی برای استفاده در عناصرArc/ArcLine/ArcText/DashedArcLineدر دسترس هستند.
رفع اشکالات
- مقایسه منابع: عملکرد بهینه شده با پیادهسازی روشهای
hashوequalsبهبود یافته برای مقایسه انواع منابع. - توضیحات محتوای پیشفرض را برای تک دکمهی متنی (textButton) اعمال کنید.
- محاسبات مربوط به تنظیم حداکثر خطوط در سمت رندر را اصلاح کنید.
نسخه ۱.۴.۰-آلفا۰۵
۲۸ ژانویه ۲۰۲۶
androidx.wear.protolayout:protolayout-*:1.4.0-alpha05 منتشر شد. نسخه 1.4.0-alpha05 شامل این کامیتها است.
تغییرات API
- یک اصلاحکنندهی جدید
Transformationکاتلین اضافه شده است. ( I195a7 , b/397169191 )
رفع اشکالات
- ما با حذف Stateful
ProtoLayoutScopeازTileServiceمشکل مدیریت بهتر منابع را برطرف کردهایم. ( I5dc0a ، b/474614772 )
نسخه ۱.۴.۰-آلفا۰۴
۱۴ ژانویه ۲۰۲۶
androidx.wear.protolayout:protolayout-*:1.4.0-alpha04 منتشر شد. نسخه 1.4.0-alpha04 شامل این کامیتها است.
تغییرات API
- ما کمکیهای تصویر Material3 را منسوخ کردهایم و به جای آنها از overloadهای جدیدی استفاده میکنیم که
ProtoLayoutScopeو مفهوم مدیریت منابع بهتر استفاده میکنند که در آنImageResourceمیتواند مستقیماً در خود طرحبندی inline شود و نیاز به متدonTileResourcesRequestبرای نگاشت منابع را از بین ببرد. برای بهترین تجربه، از آن باandroidx.wear.tiles.Material3TileServiceکه در نسخه Wear Tiles 1.6-alpha04 اضافه شده است، استفاده کنید. ( I8198c ، b/440376391 )
نسخه ۱.۴.۰-آلفا۰۳
۱۷ دسامبر ۲۰۲۵
androidx.wear.protolayout:protolayout-*:1.4.0-alpha03 منتشر شد. نسخه 1.4.0-alpha03 شامل این کامیتها است.
رفع اشکالات
- مقایسه دو نوع منبع برای مدیریت بهتر منابع و بهبود عملکرد، اکنون با استفاده از روشهای هش و تساوی بهینهشده انجام میشود. ( 82f21b2f )
نسخه ۱.۴.۰-آلفا۰۲
۲۲ اکتبر ۲۰۲۵
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 جدیدتر، نسخه را بررسی کرد. - هر عنصری که
Clickableداشته باشد، اکنون ناحیه هدف آن در رندرکننده حداقل به ۴۸x۴۸ افزایش یافته است تا از الزامات دسترسیپذیری بهتر پشتیبانی کند. - پیرو سایر ابتکارات کامپوننتهای متریال و Compose، اکنون به طور پیشفرض، padding فونت را برای همه عناصر
Textغیرفعال کردهایم. علاوه بر این،AndroidTextStyleو setterهای مرتبط از API عمومی حذف شدهاند و اشکالات زیر برطرف شدهاند: - یک تنظیمکننده برای موقعیتیابی محتوای لبه در
EdgeContentLayoutاضافه شد تا بتوان آن را قبل از سایر محتوا قرار داد. - هنگام مواجهه با یک مقدار enum ناشناخته، دائماً یک استثنا صادر میکند.
- وقتی نتیجهی یک عبارت، مقدار عددی نامعتبری (NaN یا بینهایت) میدهد یا خطای
ArithmeticExceptionصادر میکند، آن را نامعتبر میکند.
تغییرات API
- بهروزرسانیهایی در
SweepGradientAPI برای امکان پذیرش رنگها یاColorStopsدر سازنده. ( I6676f )
رفع اشکالات
- اضافه کردن یک API محدود و پشتیبانی رندر برای تنظیم جهت رسم عناصر قوسی. ( Idef5a )
- اگر
RoundModeدرFloatToInt32Nodeمشخص نشده باشد، به طور پیشفرض رویFloorتنظیم میشود. اگرRoundModeارائه شده شناسایی نشود، گره همچنان یک استثنا ایجاد میکند. ( I1b2d8 )
نسخه ۱.۱.۰-آلفا۰۴
۱۳ دسامبر ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 منتشر شد. نسخه 1.1.0-alpha04 شامل این کامیتها است.
ویژگیهای جدید
- کلاس
VersionInfoرابطComparableرا پیادهسازی نمیکند. ( I8d13c ) - رندرر اکنون از گزینه
TEXT_OVERFLOW_ELLIPSIZEپشتیبانی میکند. ( I7f085 )
تغییرات API
- گزینه سرریز متن
TEXT_OVERFLOW_ELLIPSIZE_ENDاکنون منسوخ شده است. لطفاً از API جدیدTEXT_OVERFLOW_ELLIPSIZEبا رفتاری بسیار مشابه استفاده کنید. ( I822d8 ) - به دنبال سایر کامپوننتهای متریال و ابتکارات Compose، اکنون به طور پیشفرض قابلیت padding فونت را برای همه عناصر متن غیرفعال کردهایم. علاوه بر این،
AndroidTextStyleو setterهای مرتبط از API عمومی حذف شدهاند. ( I79094 ، Ib0b03 ، I32959 ، Iaf7d5 ، Ifa298 ، I0a4ae ، Ida9d3 ) -
Modifier.hiddenباModifier.visible( I56902 ) جایگزین شده است. -
FontStyle#setSizesاکنون به جای آرگومانهایSpPropاز نوع int استفاده میکند. ( I02b37 )
رفع اشکالات
- هنگام مواجهه با یک مقدار شمارشی تعریف نشده یا ناشناخته، یک استثنا ایجاد کنید. ( I9d2cf )
- Refactor کردن
DynamicTypeBindingRequest. ( I27b57 ) - وقتی نتیجهی یک عبارت، مقدار عددی نامعتبری (NaN یا بینهایت) میدهد یا خطای
ArithmeticExceptionاستثنای حسابی) تولید میکند، آن را نامعتبر میکند. ( I681ae )
نسخه ۱.۱.۰-آلفا۰۳
۲۹ نوامبر ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 منتشر شد. نسخه 1.1.0-alpha03 شامل این کامیتها است.
ویژگیهای جدید
- اضافه شدن پشتیبانی آزمایشی برای پنهان/آشکارسازی پویای عناصر طرحبندی ( I64a78 )
- اضافه کردن پشتیبانی از مقدار پویا به
BoolProp( I2fe96 ) - حاشیهنویسی الزامات نسخه طرحواره را به APIهای
ProtoLayoutاضافه کنید ( I0f03c ) - گسترش API با گزینه جدید در
TextOverflowبرای بیضیسازی متن در یک کانتینر والد ثابت، حتی زمانی که به حداکثر تعداد خطوط نرسیدهایم (اما فضای کافی برای متن وجود ندارد). ( I110a9 ) - متد کمکی
DimensionBuilders.weightبرای ساختExpandedDimensionPropبا وزن اضافه شد. ( I4f72b ) -
DynamicInstantوDynamicDurationمیتوانند به عنوان انواع داده وضعیت یا پلتفرم استفاده شوند. ( I6819f )
تغییرات API
- API را بهروزرسانی کنید تا
DynamicZonedDateTimeپنهان کند و تمام عملیات آن را بهDyanamicInstant( I34b94 ) منتقل کند. - فاصلهگذار اکنون از ابعاد گسترده برای عرض/ارتفاع پشتیبانی میکند. ( Ie7c94 )
- پشتیبانی از افزونهی ناحیهی هدف کلیک در رندرر ( I39c79 )
نسخه ۱.۱.۰-آلفا۰۲
۱۵ نوامبر ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 منتشر شد. نسخه 1.1.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
- یک فیلد
ShadowArcLineStrokeCapبه API اضافه شد. ( I830ec ) - گسترش API برای تعیین عرض یا ارتفاع Spacer برای باز شدن. ( I757ca )
- ما یک API آزمایشی اضافه کردهایم تا به طور خودکار اندازه متن را بر اساس فضایی که درون والد دارد، مقیاسبندی کند. ( Ibbe63 )
- پشتیبانی از حداقل اندازه قابل کلیک ( I178e3 )
- پشتیبانی رندر برای
ShadowStrokeCapاضافه شد. ( I48b17 ) - پشتیبانی رندر برای گرادیان جاروبی را در
ArcLineاضافه کنید. ( I4d5bb )
نسخه ۱.۱.۰-آلفا۰۱
۱۸ اکتبر ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- گزینه قلممو به
Arclineاضافه شد، با پشتیبانی ازSweepGradient. ( Ie7ce3 ) - پشتیبانی از قالببندی تاریخ-زمان منطقهای اضافه شد. ( Ibfae0 )
- پروتوها و جاوا رَپِرها (Wrapper) مورد نیاز برای قالببندی تاریخ-زمان منطقهای اضافه شدند. ( I97126 )
- گیرندههایی برای خواندن مقدار ذخیره شده در
DynamicDataValueاضافه شد. ( Ie6cea ) - یک تنظیمکننده برای موقعیتیابی محتوای لبه در
EdgeContentLayoutاضافه شد تا بتوان آن را قبل از سایر محتوا قرار داد. ( Ie8e8a )
رفع اشکالات
- مشکلی که باعث میشد عبارتی با چندین منبع داده زمانی ثبت شده، بلافاصله بهروزرسانی نشود، برطرف شد ( I8e1a8 )
- اشکال مربوط به قرار دادن عنصر ریشه در مرکز صفحه هنگام بهروزرسانیهای تفاوت برطرف شد. ( Ie48f7 )
- مقادیر محدودیت طرحبندی تنظیم نشده (یا خالی) دیگر نادیده گرفته نخواهند شد. ( Ibc785 )
- کاهش تأخیر بین قابل مشاهده شدن یک طرحبندی و مقداردهی اولیه گرههای خط لوله آن. ( I38d4e )
نسخه ۱.۰
نسخه ۱.۰.۰
۹ آگوست ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0 منتشر شد. نسخه ۱.۰.۰ شامل این کامیتها است.
ویژگیهای اصلی نسخه ۱.۰.۰
کتابخانه ProtoLayout رابطهای برنامهنویسی کاربردی (API) را برای ایجاد طرحبندیها و عباراتی که میتوانند در سطوح مختلف Wear OS استفاده شوند، معرفی میکند. به عنوان مثال، کتابخانه Tiles از این APIها برای پشتیبانی از اتصال دادههای پلتفرم (برای بهروزرسانی سریعتر دادههای کاشی) و انیمیشنها استفاده میکند.
نسخه ۱.۰.۰-rc01
۲۶ ژوئیه ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 شامل این کامیتها است.
- برای مهاجرت از Tiles به
ProtoLayout، لطفاً دستورالعملهای اینجا را دنبال کنید.
تغییرات API
- ما متدهای
setLayoutConstraintForDynamicAnchorAngleوgetLayoutConstraintForDynamicAnchorAngleرا از عنصر Arc حذف کردهایم. این متدها به اشتباه اضافه شدهاند و هیچ تاثیری بر طرح ارائه شده ندارند. ( If7d01 ) - ما حداکثر عمقی که طرحبندی یک
ProtoLayoutمیتواند داشته باشد را به 30LayoutElementsتو در تو محدود کردهایم. ( I8a74b )
رفع اشکالات
- ما یک بررسی اضافه کردهایم که اگر
DynamicColorبرایSpanTextتنظیم شده باشد، اجرا میشود ( I0e5bc ). - واضح است که واحد منبع داده
DAILY_CALORIESکیلوکالری است. ( Iaa785 )
نسخه ۱.۰.۰-بتا۰۱
۲۱ ژوئن ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
- امکان تنظیم ساعت برای تستهای اتصال زمان ( I05622 )
تغییرات API
-
PlatformDataReceiver.onData()وStateBuilders.Builder.addKeyToValueMappingاکنون نگاشت ایمن ازDynamicDataKeyبهDynamicDataValueرا به جای ژنریکهای ناامن میپذیرند. این بدان معناست کهDynamicDataValueاکنون باDynamicTypeخود تایپ میشود. ثابتهایHEART_RATE_ACCURACY_Xبه ریشهPlatformHealthSourcesمنتقل شدهاند تا با موقعیت سایر ثابتهای اندروید مطابقت داشته باشند. ثابتهای intHEART_RATE_ACCURACY_Xاکنون به جای ثابت value، مستقیماً درDynamicHeartRateAccuracy.constant()وDynamicHeartRateAccuracy.dynamicDataValueOf()استفاده میشوند. ( I82ff5 ) - کلاس
PlatformHealthSources.Constantsبه اشتباه قابل نمونهسازی بود. این مشکل اکنون برطرف شده است. ( Icb849 ) -
PlatformTimeUpdateNotifier#setReceiverاکنون به جای تابعSupplierRunnableوExecutorرا برای اطلاع رسانی دریافت میکند. ( I9d938 ) - ما نوع پارامتر را در
PlatformTimeUpdateNotifier#setReceiverازCallableبهSupplierتغییر دادهایم. ( I664bf ) -
CompactChipوTitleChipاکنون از اضافه کردن یک آیکون به آن پشتیبانی میکنند. ( I5a01e )
رفع اشکالات
- پیامهای Prop با فیلدهای پویا را بهروزرسانی کنید تا به جای آن از oneof استفاده شود ( I81739 )
- استفاده مجدد از پیادهسازی setterها برای overloadهایی که setter دارند ( Ied70c )
- اثر انگشتها را به درستی در دستگاههای تنظیمکنندهای که دارای بار اضافی هستند ثبت کنید ( I86ed2 )
نسخه ۱.۰.۰-آلفا۱۱
۷ ژوئن ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 شامل این کامیتها است.
ویژگیهای جدید
- ما یک
PlatformDataKeyبرای دقت ضربان قلب اضافه کردهایم. ( I7f9b8 )
تغییرات API
- نام
StateBuilders#getIdToValueMappingبهgetKeyToValueMappingتغییر دهید و نوع بازگشتی را بهMap<<AppDataKey<?>,DynamicDataValue>تغییر دهید. ( Iaa7ae ) -
StateStoreبه یک کلاس نهایی تبدیل کنید ( I408ca ) - رابط
TimeGatewayدر کتابخانهprotolayout-expression-pipelineباPlatformTimeUpdateNotifierجایگزین شده است که فرکانس مورد نظر برای بهروزرسانی دادههای زمانی را فراهم میکند. ( I60869 ) - تغییر نام
register/unregisterForDataدرPlatformDataProviderبهset/clearReceiver( I14b02 ) - در متن متریال،
getExcludeFontPaddingبهhasExcludeFontPaddingتغییر نام داده است ( Iea01d ). - تنظیمکنندهای برای ترازبندی کامل برچسب به تمام اجزای تراشه اضافه شد. اکنون به تمام تراشهها حداقل هدف قابل لمس اعمال شده است. ( I8ae92 )
-
LayoutDefaults#BUTTON_MAX_NUMBERبهMAX_BUTTONSتغییر نام داده شده است. ( I84788 ) -
DAILY_DISTANCEبهDAILY_DISTANCE_Mتغییر نام داده است ( I4f758 )
رفع اشکالات
- مستندات انواع Prop را بهروزرسانی کنید تا روشن شود که چرا مقدار استاتیک اجباری است. اگر مقدار استاتیک ارائه نشده باشد، مقدار پیشفرض مورد استفاده را مشخص کنید. ( I155aa )
- فضاهای نام
PlatformDataKeyباید از سبک نامگذاری جاوا پیروی کنند. ( I47bda )
نسخه ۱.۰.۰-آلفا۱۰
۲۴ مه ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 شامل این کامیتها است.
ویژگیهای جدید
- برای دسترسی به وضعیت ارسال شده برنامه
AppDataKeyاضافه کنید؛ برای دسترسی به دادههای پلتفرم،PlatformDataKeyرا اضافه کنید؛ پشتیبانی از فضای نام را درStateStoreاضافه کنید. ( I7985e ) - پشتیبانی از عملیات
EqualوNotEqualبرایDynamicBool( I6a0c1 )
تغییرات API
- کلاس
FontStylesاکنون نهایی است ( Iaa2ea ) -
LayoutElementBuilders#FontStylesمنسوخ شده است. لطفاً ازandroidx.wear.protolayout.Typographyاستفاده کنید یاFontStyleخودتان را ایجاد کنید. ( Ic929b ) - رابط تودرتوی
Action#Builderرا از رابطActionمخفی کنید. پیادهسازیهای Builder از قبل توسط کلاسهایLoadActionوLaunchActionارائه شدهاند. ( I1d70c ) - اجازه استفاده از
DynamicFloatبه همراهFloatPropرا بدهید. توجه داشته باشید کهFloatPropنیازی به محدودیتهای طرحبندی ندارد زیرا به عنوان یک ویژگی تغییر طرحبندی استفاده نمیشود. ( I286ac ) - اکشنهای
LoalActionوSetStateActionحذف شدهاند زیرا هنوز پشتیبانی نشدهاند. ( I5d6a6 ) - پشتیبانی از فرمت ARGB_8888 برای منابع تصویر درون خطی اضافه شد. ( I8a07c )
- نام
StateEntryValueرا بهDynamicDataValueتغییر دهید و APIS مربوط به state را برای استفاده ازDynamicDataKeyبهروزرسانی کنید ( If1c01 ). - ما تعداد ورودیهای مجاز در
StateStoreرا محدود میکنیم تا اطمینان حاصل شود که میزان استفاده از حافظه و زمان بهروزرسانی وضعیت برای هر نمونه ازStateStoreبه خوبی کنترل و مهار شده است. در نتیجه، توسعهدهنده باید مطمئن شود که بیش ازMAX_STATE_ENTRY_COUNTورودی در نقشه ندارد، در غیر این صورت هنگام ایجاد یا بهروزرسانیStateStoreبا خطایIllegalStateExceptionمواجه خواهد شد. ( Ibadb3 ) - کلاسهای
OnLoadTriggerوOnConditionMetTriggerرا مخفی کنید و نامsetTriggerرا بهsetConditionforOnConditionMetTriggerتغییر دهید. ( Ibf629 ) - به دلایل عملکرد و سازگاری، رندرکنندههای
ProtoLayoutاز مجموعه کامل ویژگیهای منابعAnimatedVectorDrawableپشتیبانی نمیکنند. ما این APIها را تا زمانی که بتوانیم مجموعه پشتیبانیشده را تعریف کنیم، به عنوان آزمایشی علامتگذاری میکنیم. ( Ic6daf ) - انواع پویا برای مسافت روزانه، کالری روزانه و کف روزانه اضافه شد. کلیدهای منابع سلامت پلتفرم اکنون تحت
PlatformHealthSources.Keys( Ib7637 ) قرار دارند. - متد
Easing.cubicBezierجایگزینCubicBezierEasing.Builderمیشود. با این کار کلاسEasingFunctionحذف میشود و ثابتهای easing از آن کلاس اکنون مستقیماً از رابطEasingقابل دسترسی هستند. علاوه بر اینsetInfiniteRepeatableباINFINITE_REPEATABLE_WITH_RESTARTوINFINITE_REPEATABLE_WITH_REVERSE( Ib41e7 ) جایگزین میشود. - پیادهسازی
PlatformDataProviderبرای ارائه ضربان قلب و تعداد قدمهای روزانه. رابطSensorGatewayاز API عمومی حذف شده است. ( I55b84 ) -
PlatformDataProviderاضافه کنید وStateStoreرا بهروزرسانی کنید تا زمانی که کلید پشتیبانیشدهی provider توسط گره از خط لولهی عبارت مورد نیاز است، درPlatformDataProviderثبت شود. ( Ib616a ) -
SensorGatewayدیگرCloseableنیست زیرا دیگر هیچ وضعیتی را حفظ نمیکند. ( I6b4f7 ) - اجازه استفاده از
FloatPropبه همراهDynamicFloatبرای پیشرفت درCircularProgressIndicatorرا بدهید. این قابلیت برای رندرکنندههایی که از نسخه ۱.۲ پشتیبانی میکنند، پشتیبانی میشود. رندرکنندههای قدیمی در صورت ارائهstaticValue، در غیر این صورت به ۰ ( I0d91b ) رجوع میکنند. - ثابتهای
MultiButtonLayoutبه کلاسLayoutDefaults.MultiButtonLayoutDefaultsتغییر یافتهاند که اکنون شامل ثابتهایی برای اندازه دکمهها بسته به تعداد دکمههای موجود در طرحبندی است. ( I13973 ) - پشتیبانی از استفاده از
StringPropباDynamicStringدر متن متریال. این مورد برای رندرکنندههایی که از نسخه ۱.۲ پشتیبانی میکنند، پشتیبانی میشود. رندرکنندههای قدیمی به مقدار استاتیک ارائه شده، پشتیبانگیری میکنند. نوع بازگشتیText#getTextرا ازStringبهStringPropبهروزرسانی کنید. ( I7275b )
نسخه ۱.۰.۰-آلفا۰۹
۱۰ مه ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این کامیتها است.
ویژگیهای جدید
- ما یک عنصر طرحبندی افزونه آزمایشی اضافه کردهایم. توجه داشته باشید که این عنصر به طور پیشفرض قابل استفاده نیست و به یک افزونه رندر نیاز دارد که بتواند عنصر طرحبندی را درک کند. ( I6581d )
- پشتیبانی
StrokeCapبرایArcLineاضافه شد. ( I94951 ) - پشتیبانی از عملیات فوری شرطی اضافه شد. ( I489a7 )
- پشتیبانی از عملیات مدت زمان شرطی اضافه شد. ( Iab469 )
- پشتیبانی برای ایجاد مدت زمان از ثانیه اضافه شد. ( Ib5fa1 )
تغییرات API
- متدهای
enable/disablePlatformSourceازDynamicTypeEvaluatorحذف شدهاند. فراخوانیکننده باید مسئول بهروزرسانیها باشد. ( I78c6d ) - امکان محدود کردن اندازه انواع داده محدود شده. ( Ie2966 )
- اضافه شدن پشتیبانی برای توصیف محتوای پویا در
protolayout-material. ( I62c8e ) - برای مدت زمان و تأخیر در AnimationParameters از long و
@IntRangeاستفاده کنید. ( I388b6 )
نسخه ۱.۰.۰-آلفا۰۸
۱۹ آوریل ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 منتشر شد. نسخه 1.0.0-alpha08 شامل این کامیتها است.
ویژگیهای جدید
-
AndroidTextStyleبهLayoutElementBuildersاضافه شده است. ( I8d967 ) - ما پشتیبانی از تنظیمات حذف فاصله فونت را در
ProtoLayoutMaterial Text اضافه کردهایم. ( I17f5d ) - ARGB_8888 اکنون برای تصاویر درون خطی پشتیبانی میشود. ( I18c1e )
-
DynamicColorاکنون از عملیاتonConditionپشتیبانی میکند. ( I10927 )
تغییرات API
- پشتیبانی از مدت زمان سفارشی برای انیمیشن معکوس ( I3251f )
- ما اصلاحگر
SemanticDescriptionرا اضافه کردهایم. علاوه بر این،ContentDescriptionقابل اتصال نیست. ( I3f1d ) - متد
DynamicBool.isFalse()اکنون باDynamicBool.negate()جایگزین شده وDynamicBool.isTrue()حذف شده است. علاوه بر این، مقادیر NaNDynamicFloatو محدود کردنDynamicInt32بهDynamicFloatاکنون یک نتیجه پویای نامعتبر منتشر میکنند. ( I6ac1e ) - قالببندیکنندههای عدد صحیح (Int) و اعشاری (float) اکنون از الگوی Builder استفاده میکنند. ( Ieb213 )
رفع اشکالات
- مقدار استاتیک جایگزین از فیلدهای متحرک حذف شده است. ( Ifcb01 )
-
DynamicTypeValueReceiver#onPreUpdateحذف شده است. ( I2dc35 ) - طول رشتهها در عبارات پویا اکنون محدود شده است. ( I4c93 )
- وابستگیهای gradle اکنون به درستی در صورت لزوم به جای
implementationرویapiتنظیم میشوند. ( I40503 )
نسخه ۱.۰.۰-آلفا۰۷
۵ آوریل ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 منتشر شد. نسخه 1.0.0-alpha07 شامل این کامیتها است.
ویژگیهای جدید
- پشتیبانی از مقدار پویا را به
StringPropاضافه کنید ( I04342 ) - عناصر طرحبندی قابل اتصال را علامتگذاری کنید ( Ia110b )
تغییرات API
-
sensorGateway#registerSensorGatewayConsumerنوع داده را به عنوان پارامتر به جای متد در Consumer میگیرد. ( Icf314 ) -
ObservableStateStoreبهStateStoreتغییر نام داده شده است. ( Ieb0e2 ) - به جای آرگومانهای سازنده،
DynamicTypeEvaluator.Builderاضافه شد تا آرگومانهای اختیاری بیشتری از جملهObservableStateStoreکه اکنون به طور پیشفرض یک فروشگاه خالی است، مجاز باشند. ( I6f832 ) - ترتیب پارامترها در
DynamicTypeEvaluatorبازسازی شده است. ( Ic1ba4 )
رفع اشکالات
- سیگنالها را به درستی از منابع حسگر پلتفرم به گرههای پاییندست منتقل کنید ( I5a922 )
نسخه ۱.۰.۰-alpha06
۲۲ مارس ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 شامل این کامیتها است.
ویژگیهای جدید
- ما یک API آزمایشی برای استفاده از ضربان قلب و تعداد قدمهای روزانه در عبارات پویا اضافه کردهایم ( Ifd711 )
- ما پشتیبانی از تأخیر معکوس و رو به جلو را برای انیمیشنها اضافه کردهایم. ( Ic25f7 )
- ما پشتیبانی از
DynamicColorرا به حاشیه و پسزمینه اضافه کردهایم. - ما پشتیبانی از مقادیر پویا را به انواع در
DimensionBuilderاضافه کردهایم. - طرحبندی و اجزای
tiles-materialدر حال انتقال بهprotolayout-materialهستند
تغییرات API
-
LoadActionListenerبهProtoLayoutViewInstanceاضافه شده است. ( If7806 )
رفع اشکالات
-
FloatNodesTestاضافه شد ( شناسه ۷۲۸۱ ) - رفع مشکل کرش شدن رندر هنگام عدم امکان بارگذاری بیتمپ ساختاریافته.
نسخه ۱.۰.۰-آلفا۰۵
۸ مارس ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 منتشر شد. نسخه 1.0.0-alpha05 شامل این کامیتها است.
ویژگیهای جدید
- ما یک انیمیشن آزمایشی "بهروزرسانی محتوا" را به شیء
Modifiersاضافه کردهایم. این انیمیشن هر زمان که عنصر (با این اصلاحکننده) یا یکی از فرزندان آن در طول بهروزرسانی طرحبندی تغییر کند، فعال میشود. ( bd03e5d )
تغییرات API
- ما
forwardRepeatDelayMillisوreverseRepeatDelayMillisبهRepeatableاضافه کردهایم. همچنینdelayMillisدرAnimationSpecبهstartDelayMillis( Ifb266 ) تغییر نام دادهایم. - متدهای
DynamicTypeEvaluator.bindاکنون یک Executor میپذیرند. ( I346ab ) - ما متد
startEvaluationبهBoundDynamicTypeاضافه کردهایم تا ارزیابی را پس از اتصال نوع پویا آغاز کند. ( I19908 )
رفع اشکالات
- شیء Animator برای انیمیشنهای بعدی یک عنصر واحد دوباره استفاده خواهد شد. ( Ia3be9 )
نسخه ۱.۰.۰-آلفا۰۴
۲۲ فوریه ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 منتشر شد. نسخه 1.0.0-alpha04 شامل این کامیتها است.
ویژگیهای جدید
-
ObservableStateStoreاکنون به شنوندگان اطلاع میدهد که چه زمانی یک کلید نیز حذف میشود. - ما نسخه طرحواره رندر و مقیاس فونت را به
DeviceParametersاضافه کردهایم (که میتوانند برای ایجاد طرحبندیهای مشروط در پاسخ به نسخهها و تنظیمات فونت مختلف استفاده شوند). - ما پشتیبانی از متحرکسازی مقادیر
DynamicInt32( I05485 ) را اضافه کردهایم. - ما تریگرهای
OnLoadوOnConditionalMetرا اضافه کردهایم. از این تریگرها میتوان برای شروع انیمیشنهایی که از تریگر پشتیبانی میکنند، استفاده کرد. - ما وزن طرحبندی را برای ابعاد گسترده و حداقل اندازه را برای ابعاد پیچیده اضافه کردهایم.
- ما انواع پویای duration و instant را اضافه کردهایم. اینها میتوانند برای نمایش یک لحظه زمانی یا مدت زمان در یک عبارت پویا استفاده شوند.
- ما پشتیبانی از
AnimatedVectorDrawableوSeekableAnimatedVectorDrawableرا به عنوان منابع طرحبندی اضافه کردهایم.
تغییرات API
- دادههای حسگر نیاز به API 29+ ( I8099e ) دارند.
- ما دو متد کمکی
launchAction(برای اجرای فعالیتها) اضافه کردهایم.
رفع اشکالات
- تغییر نام
set/getSpecبهset/getAnimationSpecدر انیمیشن Tiles ( I3d74b )
نسخه ۱.۰.۰-آلفا۰۳
۸ فوریه ۲۰۲۳
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 منتشر شد. نسخه 1.0.0-alpha03 شامل این کامیتها است.
ویژگیهای جدید
-
toByteArray()وfromByteArray()را به انواع پویا در کتابخانه protolayout-express اضافه کردهایم. - ما
toString()به انواع پویا در کتابخانه protolayout-expression اضافه کردهایم. - ما پشتیبانی از ارزیابی برای انواع پویا (Dynamic) را اضافه کردهایم. کلاس
DynamicTypeEvaluatorاز کتابخانه protolayout-expression-pipeline میتواند برای ارزیابی (و دریافت مقادیر بهروزرسانیشده) برای یک نوع پویا (DynamicString،DynamicFloat، ...) که قبلاً ایجاد شده است، استفاده شود. - وقتی انیمیشنها قابل پخش نباشند (چه به این دلیل که توسط ارزیاب غیرفعال شدهاند، چه به این دلیل که تعداد انیمیشنهای در حال اجرا به حد تعیینشده رسیده است)، از مقادیر استاتیک تنظیمشده روی گره animatable برای جایگزینی انیمیشن استفاده میشود.
نسخه ۱.۰.۰-آلفا۰۲
۲۵ ژانویه ۲۰۲۳
androidx.wear.protolayout:protolayout:1.0.0-alpha02 ، androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 و androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 منتشر شدهاند. نسخه 1.0.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
- سازندگان طرحبندی از
androidx.wear.tiles:tilesدر حال انتقال بهandroidx.wear.protolayout:protolayoutهستند. آنهایی که درandroidx.wear.tiles:tilesهستند در یکی از نسخههای آلفای بعدی منسوخ خواهند شد.
نسخه ۱.۰.۰-آلفا۰۱
۱۱ ژانویه ۲۰۲۳
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 و androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 منتشر شدند. نسخه 1.0.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- این نسخه، کتابخانه جدیدی به نام «ProtoLayout Expression» را برای ایجاد عبارات از متغیرهای پویا معرفی میکند.