پوشیدن طرح اولیه
آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
7 آگوست 2024 | 1.2.0 | - | - | - |
اعلام وابستگی ها
برای افزودن وابستگی به wear-protolayout، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر ، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0" }
کاتلین
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت نگاه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.2
نسخه 1.2.0
7 آگوست 2024
androidx.wear.protolayout:protolayout-*:1.2.0
منتشر شد. نسخه 1.2.0 شامل. این متعهد شدن .
تغییرات مهم از 1.1.0
-
FontStyle
برای پشتیبانی از فونت اضافی برای محورهای متغیر و API انتخاب فونت بهتر برای پشتیبانی از فونتهای Flex به روز شده است. - پشتیبانی از اصلاح کننده های اضافی:
- اصلاحکننده تبدیل، ترجمه، چرخش و مقیاسبندی را با یا بدون انیمیشن ارائه میدهد.
- تعیین مقادیر مختلف (افقی و عمودی) برای هر شعاع گوشه.
- با گسترش ناحیه قابل لمس هر عنصری که از اصلاح کننده قابل کلیک استفاده می کند، دسترسی به همه اهداف لمسی را به حداقل
48dp
در48dp
افزایش می دهد. -
PrimaryLayout
وEdgeContentLayout
را با افزودنsetResponsiveContentInsetEnabled
برای پشتیبانی بهتر از رفتار پاسخگوی این طرحبندیها در اندازههای مختلف صفحه و بهبود سازگاری کاشیها، بهبود بخشید. - مقیاسبندی/عدم مقیاسپذیری متن مواد برای مقیاسبندی فونت غیرخطی Android 14 بهبود یافته است.
- پشتیبانی بهبود یافته برای جهت طرح RTL در تمام عناصر قوس.
تغییرات اضافی
- برای مجموعه کاملتری از تغییرات معرفیشده در نسخه 1.1.0، به یادداشتهای انتشار beta01 مراجعه کنید.
نسخه 1.2.0-rc01
24 جولای 2024
androidx.wear.protolayout:protolayout-*:1.2.0-rc01
منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.
رفع اشکال
- ما تراشه استاندارد مواد را تعمیر کردهایم، بنابراین فقط در صورتی میتوان از آن به عنوان نماد استفاده کرد که هیچ یک از برچسبهای اولیه یا ثانویه وارد نشده باشد. ( Iceef9 )
- اسناد برای طرحبندی مواد بهروزرسانی شده است تا تصاویری از صفحه مربوطه را برای درک آسانتر طرحبندیها شامل شود. ( I0256a )
نسخه 1.2.0-beta01
10 جولای 2024
androidx.wear.protolayout:protolayout-*:1.2.0-beta01
منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
نسخه 1.2.0-beta01 Wear ProtoLayout نشان میدهد که این نسخه از کتابخانه کامل شده است و API قفل شده است (به جز مواردی که به عنوان آزمایشی علامتگذاری شدهاند). Wear ProtoLayout 1.2 شامل عملکردها و APIهای جدید زیر است:
-
FontStyle
بهروزرسانی شده است تا از فونتهای اضافی پشتیبانی کند:- تنظیم تنظیمات مختلف فونت مانند
FontSetting.weight
وFontSetting.width
- تنظیم عرض یکسان برای همه کاراکترهای عددی - اعداد جدولی (تنظیم ویژگی فونت
FontSetting.tnum
) - APIهای انتخاب فونت بهبود یافته برای پشتیبانی از فونتهای انعطافپذیر آینده با تعیین نامهای خانواده فونت ترجیحی برای استفاده.
- تنظیم تنظیمات مختلف فونت مانند
- اصلاح کننده Extended
Corner
برای پشتیبانی از تعیین هرCornerRadius
با مقادیر افقی و عمودی جداگانه برای اجازه دادن به عناصر ساختمان با گوشه های نامتقارن. - یک اصلاحکننده
Transformation
جدید اضافه شد که ترجمه، چرخش و مقیاسبندیLayoutElement
را ارائه میدهد. این تبدیل ها را می توان با استفاده از مقادیر پویا متحرک کرد. - افزودن
setArcDirection
با گزینههایClockwise
،CounterClockwise
وNormal
به تمام عناصر قوس (Arc
،ArcLine
وArcText
) برای پشتیبانی بهتر در جهتهای طرحبندی مختلف (مانند LTR و RTL). - با گسترش ناحیه قابل لمس هر عنصری که از اصلاح کننده
Clickable
استفاده می کند، دسترسی به همه اهداف لمسی را به حداقل48dp
در48dp
افزایش می دهد. -
PrimaryLayout
وEdgeContentLayout
را با افزودنsetResponsiveContentInsetEnabled
برای پشتیبانی بهتر از رفتار پاسخگوی این طرحبندیها در اندازههای مختلف صفحه و بهبود سازگاری کاشیها، بهبود بخشید. برای پیشنهاد استفاده از این APIها با یک راه حل سریع، هشدار لینتر اضافه شده است. - مقیاسبندی/عدم مقیاسبندی
Text
مواد برای مقیاسبندی فونت غیرخطی Android 14 بهبود یافته است.
تغییرات API
- نام خانوادگی فونت پیشفرض (
DEFAULT_SYSTEM_FONT
) حذف میشود، زیرا از استفاده نکردن ازpreferredFontFamilies
API استفاده میشود. ( I39dab ) - پارامتر ارسال شده به
FontSetting.width
باید مثبت باشد. ( I1266f )
نسخه 1.2.0-alpha05
26 ژوئن 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
منتشر شد. نسخه 1.2.0-alpha05 حاوی این تعهدات است.
ویژگی های جدید
- روش
hasText
را بهMaterial.CompactChip
اضافه کنید تا بررسی کنید که آیا محتوای متن تنظیم شده است یا خیر. ( I6e8fc )
تغییرات API
- اجزای
FontFamily
به جای کلاس Builder درFontStyle
منتقل می شوند. ( I06ced ) -
FontSetting.weight
وFontSetting.width
API را بهروزرسانی کنید تا حاشیهنویسی Range را در بر بگیرد و پارامتر وزن را به int تغییر دهید. ( Ia726c )
رفع اشکال
- متنهای غیر مقیاسپذیر در کتابخانه Material اکنون با مقیاسبندی فونت غیرخطی Android 14 به درستی کار میکنند. ( I6601e )
نسخه 1.2.0-alpha04
29 مه 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha04
منتشر شد. نسخه 1.2.0-alpha04 حاوی این commit ها است.
تغییرات API
- API گوشه های نامتقارن را اضافه کرد تا بتوان شعاع هر گوشه را با 2 مقدار به طور جداگانه مشخص کرد. ( Icbd69 )
-
FontSetting
API را گسترش داد تا شامل موارد زیر باشد: - API خانواده فونت را به
FontStyle
اضافه کرد تا امکان تعیین لیست ترتیبی از خانوادههای فونتهایی که باید استفاده شوند. ( Iba9f5 ) - ثابتهای تغییر نام برای ارتفاع فاصله بین محتوا و برچسب ثانویه در Material's
LayoutDefaults
که در ابتدا با پیشوند «محتوای لبه» بهعنوان عمومیتر بودند، زیرا میتوان آنها را هم برایPrimaryLayout
و همEdgeContentLayout
اعمال کرد. ( I4dc32 )
رفع اشکال
- تغییر نام برای محورهای قلم متغیر از
axisName
بهaxisTag
. ( I02ba3 )
نسخه 1.2.0-alpha03
14 مه 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha03
منتشر شد. نسخه 1.2.0-alpha03 حاوی این commit ها است.
ویژگی های جدید
- API برای تنظیم مقادیر وزن سفارشی برای
FontStyle
اضافه شد. ( I7390a )
رفع اشکال
- رفع خطا در
getTouchDelegateInfo
به دلیل خالی بودن نقشه هدف. ( I2accf )
نسخه 1.2.0-alpha02
1 مه 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
منتشر شد. نسخه 1.2.0-alpha02 حاوی این تعهدات است.
تغییرات API
- ما برای غیرفعال کردن بازخورد ریپل در عناصر تکی قابل کلیک پشتیبانی اضافه کرده ایم. ( If1ede )
- API برای تبدیل از
ArcModifiers
حذف شده است زیرا آنها از این ویژگی پشتیبانی نمی کنند ( Ic0827 ) -
ArcDirectionProp
Builder اکنون مقداری را در سازنده انتظار دارد. ( I76ada ) - متد
PlatformDataValues.Builder.putAll
امکان ادغام یکPlatformDataValue
را با دیگری فراهم می کند. ( I50ba3 ) -
Text#setIsScalable
بهText#setScalable
تغییر نام داد. ( If920e ) - متن متریال میتواند تعیین کند که از اندازه مقیاسپذیر استفاده شود (وقتی اندازه فونت کاربر تغییر میکند رشد میکند) یا خیر. ( IBC849 )
- ما گزینه تنظیم توضیحات محتوا را به
TitleChip
اضافه کرده ایم. ( I5d21f ) -
CompactChip
را ثابت کرد تا فقط با نماد به درستی کار کند و API را برای اجازه دادن به این گزینه به روز رسانی کند. ( I6589e )
رفع اشکال
- مشکل دادههای پلتفرم تکراری احتمالی در طول اولیهسازی برطرف شد. ( Iba0fd )
- یک گیرنده جدید به
DynamicDataNode
برای بازیابی هزینه گره معرفی کنید. هزینه هنگام به دست آوردن سهمیه گره پویا استفاده می شود. در حال حاضر، گره هایی با مقادیر ثابت دارای هزینه 0 خواهند بود، تمام گره های دیگر هزینه 1 خواهند داشت. ( Ia33e1 ) - منطق شمارش را از
NO_OP_QUOTA_MANAGER
حذف کنید. ( Ib50b8 ) - یک قانون پرز اضافه کردهایم تا هنگام استفاده از
PrimaryLayout
بدونsetResponsiveContentInsetEnabled
هشداری را گزارش کنیم و یک راه حل سریع ارائه دهیم. ( I12025 ) - محدودیتی برای تعدادی گره بیان پویا وجود دارد. ( Iffae8 )
نسخه 1.2.0-alpha01
6 مارس 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha01
منتشر شد. نسخه 1.2.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
- عناصر
ProtoLayout Arc
اکنون این گزینه را دارند کهArcDirection
(Clockwise
،Counterclockwise
یاNormal
) را به آن اضافه کنند. افزودن این رفتار بهArc
،ArcLine
یاArcText
رفتار آنها را در طرحبندیهای RTL اصلاح میکند. ( I90699 ) -
EdgeContentLayout
با یک تنظیمکننده جدیدsetResponsiveContentInsetEnabled
بهروزرسانی شده است تا با داشتن برچسب اولیه در مکان ثابت در بالا و درونی پاسخگو برای برچسبها، به همترازی بهتر با دستورالعملهای UX، سازگاری در کاشیها دست یابد. ( I60175 ) - ما
PrimaryLayout.setResponsiveContentInsetEnabled
را اضافه کردهایم که به برچسب اصلی، برچسب ثانویه و تراشه پایینی در این طرحبندی، ورودی پاسخگو اضافه میکند تا از خارج شدن آن محتوا از لبه صفحه جلوگیری شود. ( I0c457 ) - روشی را برای حذف حاشیه های بیرونی از
CircularProgressIndicator
اضافه می کند تا بتوان از آن به عنوان یک جزء کوچکتر استفاده کرد. ( I55c06 )
تغییرات API
- رندر کاشیها اکنون بهطور پیشفرض، بدون داشتن گزینهای برای گنجاندن آن، فونت را روی تمام عناصر متنی حذف میکند. ( I3e300 )
رفع اشکال
- رفع مشکل تراز متن زمانی که بیضی، فاصله حروف و تراز وسط همه در متن استفاده می شود. ( I716c7 )
- یک راه حل برای مشکل ترسیم قوس اسکی اضافه کنید. ( I08f09 )
- جهت طراحی
ArcLine
را برای طرحبندیهای RTL اصلاح کنید. ( I6c141 )
نسخه 1.1
نسخه 1.1.0
7 فوریه 2024
androidx.wear.protolayout:protolayout-*:1.1.0
منتشر شد. نسخه 1.1.0 حاوی این commit ها است.
تغییرات مهم از 1.0.0
- پشتیبانی از گرادیان و نمایش بهتر طول های بزرگتر از 360 درجه در
ArcLine
. - قالب بندی تاریخ-زمان از مناطق زمانی مختلف برای انواع داده های پویا پشتیبانی می کند.
- گزینه های بهتری برای اندازه گیری خودکار و بیضی کردن متن برای مدیریت متن کوتاه شده.
- Spacer از ابعاد گسترده با وزن اختیاری پشتیبانی می کند.
- حاشیه نویسی مورد نیاز نسخه طرحواره برای همه APIهای
ProtoLayout
. - منطقه هدف را به هر عنصر
Clickable
تا 48 dp x 48 dp گسترش داد تا نیازهای دسترسی را برآورده کند. - padding فونت به طور پیشفرض خاموش است و تنها رفتاری است که در تمام عناصر متن و اجزای متریال حاوی متن وجود دارد.
تغییرات اضافی
- برای مجموعه کاملتری از تغییرات معرفیشده در نسخه 1.1.0، به یادداشتهای انتشار beta01 مراجعه کنید.
نسخه 1.1.0-rc01
24 ژانویه 2024
androidx.wear.protolayout:protolayout-*:1.1.0-rc01
منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.
رفع اشکال
-
PlatformTimeUpdateNotifierImpl
بلافاصله پس از فعال کردن به روز رسانی علامت می دهد. ( I77145 ) -
CircularProgressIndicator
برای طرحبندیهای RTL ثابت شده است. از این به بعد در همه موارد در جهت عقربه های ساعت حرکت می کند. ( I95ee3 ) - یک راه حل برای مشکل ترسیم قوس اسکی اضافه کنید. ( I08f09 )
نسخه 1.1.0-beta01
10 ژانویه 2024
androidx.wear.protolayout:protolayout-*:1.1.0-beta01
منتشر شد. نسخه 1.1.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
نسخه 1.1.0-beta01 Wear ProtoLayout نشان می دهد که این نسخه از کتابخانه کامل شده است و API قفل شده است (به جز مواردی که به عنوان آزمایشی علامت گذاری شده است). Wear ProtoLayout 1.1 شامل عملکردها و APIهای جدید زیر است:
-
ArcLine
اکنون با اضافه کردنBrush
باSweepGradient
و داشتن یک سایه روی درپوش برای نمایش بهتر طول بزرگتر از 360 درجه با افزودنShadow
درStrokeCap
موجود، از گرادیان پشتیبانی می کند. -
DynamicInstant
از قالب بندی تاریخ-زمان منطقه ای پشتیبانی می کند.DynamicInstant
وDynamicDuration
را می توان به عنوان انواع داده های حالت یا پلت فرم استفاده کرد. - ویژگی اندازهگیری خودکار برای اندازه متن که امکان تنظیم اندازههای متعدد را به
FontStyle.setSizes
میدهد که در آن اندازه متن به طور خودکار بر اساس فضایی که در داخل والد دارد، مقیاس میشود. بهعلاوه، با افزودنTEXT_OVERFLOW_ELLIPSIZE
و منسوخ کردنTEXT_OVERFLOW_ELLIPSIZE_END
، گزینههای بیضیسازی را برای متنی که سرریز میشود، بهبود دادیم. -
Spacer
اکنون از داشتن ابعاد گسترده با وزن اختیاری پشتیبانی می کند. برای ساختنExpandedDimensionProp
یک روش کمکیDimensionBuilders.weight
اضافه کرده ایم. - پشتیبانی از پنهان کردن و بازکردن عناصر طرح بندی به صورت پویا با
Modifier.visible
. این شامل داشتن مقادیر پویا درBoolProp
است. - همه APIهای
ProtoLayout
اکنون دارای حاشیه نویسی مورد نیاز نسخه طرحواره هستند و می توان نسخه را قبل از فراخوانی یک API جدیدتر بررسی کرد. - اکنون هر عنصری که دارای
Clickable
است، ناحیه هدف خود را به حداقل 48x48 در رندر گسترش داده است تا از نیازهای دسترسی بهتر پشتیبانی کند. - به دنبال سایر مؤلفههای Material و ابتکارات Compose، اکنون padding فونت را به طور پیشفرض در همه عناصر
Text
غیرفعال کردهایم. علاوه بر این،AndroidTextStyle
و تنظیمکنندههای مرتبط از API عمومی حذف شدهاند. با رفع اشکال زیر: - یک تنظیم کننده برای قرار دادن محتوای لبه در
EdgeContentLayout
اضافه شده است تا بتوان آن را قبل از سایر محتواها قرار داد. - هنگام مواجهه با مقدار enum ناشناخته، به طور مداوم یک استثنا ایجاد می کنید.
- هنگامی که یک عبارت یک مقدار عددی نامعتبر (NaN یا نامتناهی) به دست میدهد یا یک
ArithmeticException
ایجاد میکند، نتیجه را باطل کنید.
تغییرات API
- بهروزرسانیهای
SweepGradient
API برای پذیرش رنگها یاColorStops
در سازنده. ( I6676f )
رفع اشکال
- افزودن یک API محدود و پشتیبانی رندر برای تنظیم جهتی که عناصر قوس در آن کشیده می شوند. ( Idef5a )
-
RoundMode
به طور پیشفرض درFloatToInt32Node
زمانی که مشخص نشده باشد، رویFloor
قرار میگیرد. اگرRoundMode
ارائه شده شناسایی نشود، گره همچنان یک استثنا ایجاد می کند. ( I1b2d8 )
نسخه 1.1.0-alpha04
13 دسامبر 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04
منتشر شد. نسخه 1.1.0-alpha04 حاوی این commit ها است.
ویژگی های جدید
- کلاس
VersionInfo
رابطComparable
را پیاده سازی نمی کند. ( I8d13c ) - رندر اکنون از گزینه
TEXT_OVERFLOW_ELLIPSIZE
پشتیبانی می کند. ( I7f085 )
تغییرات API
- گزینه سرریز متن
TEXT_OVERFLOW_ELLIPSIZE_END
اکنون منسوخ شده است. لطفاً از API جدیدTEXT_OVERFLOW_ELLIPSIZE
با رفتار بسیار مشابه استفاده کنید. ( I822d8 ) - به دنبال سایر مؤلفههای Material و ابتکارات Compose، اکنون padding فونت را به طور پیشفرض در همه عناصر Text غیرفعال کردهایم. علاوه بر این،
AndroidTextStyle
و تنظیمکنندههای مرتبط از API عمومی حذف شدهاند. ( I79094 , Ib0b03 , I32959 , Iaf7d5 , Ifa298 , I0a4ae , Ida9d3 ) -
Modifier.hidden
باModifier.visible
جایگزین شد ( I56902 ) -
FontStyle#setSizes
اکنون به جای آرگومان هایSpProp
، int را می پذیرد. ( I02b37 )
رفع اشکال
- هنگام مواجهه با مقدار enum Undefined یا Unrecognized یک استثنا پرتاب کنید. ( I9d2cf )
- Refactor
DynamicTypeBindingRequest
. ( I27b57 ) - هنگامی که یک عبارت یک مقدار عددی نامعتبر (NaN یا نامتناهی) به دست میدهد یا یک
ArithmeticException
ایجاد میکند، نتیجه را باطل کنید. ( I681ae )
نسخه 1.1.0-alpha03
29 نوامبر 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
منتشر شد. نسخه 1.1.0-alpha03 حاوی این commit ها است.
ویژگی های جدید
- اضافه کردن پشتیبانی آزمایشی برای پنهان کردن/آشکار کردن عناصر چیدمان به صورت پویا ( I64a78 )
- افزودن پشتیبانی ارزش پویا به
BoolProp
( I2fe96 ) - اضافه کردن حاشیه نویسی مورد نیاز نسخه طرحواره به APIهای
ProtoLayout
( I0f03c ) - گسترش API با گزینه جدید در
TextOverflow
برای بیضی کردن متن در یک محفظه والد ثابت حتی زمانی که خطوط به حداکثر نرسیده باشند (اما فضای کافی برای Text وجود ندارد). ( I110a9 ) - اضافه شدن روش کمکی
DimensionBuilders.weight
برای ساختExpandedDimensionProp
با وزن. ( I4f72b ) -
DynamicInstant
وDynamicDuration
را می توان به عنوان انواع داده های حالت یا پلت فرم استفاده کرد. ( I6819f )
تغییرات API
- API را بهروزرسانی کنید تا
DynamicZonedDateTime
پنهان شود و تمام عملیات آن بهDyanamicInstant
منتقل شود ( I34b94 ) - Spacer اکنون از ابعاد گسترده برای عرض/ارتفاع پشتیبانی می کند. ( Ie7c94 )
- پشتیبانی از پسوند ناحیه هدف کلیک در Renderer ( I39c79 )
نسخه 1.1.0-alpha02
15 نوامبر 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
منتشر شد. نسخه 1.1.0-alpha02 حاوی این commit ها است.
ویژگی های جدید
- یک قسمت
ArcLine
StrokeCap
Shadow
را به API اضافه کرد. ( I830ec ) - گسترش API برای تعیین عرض یا ارتفاع Spacer برای گسترش. ( I757ca )
- ما یک API آزمایشی اضافه کردهایم تا بهطور خودکار اندازه متن را بر اساس فضایی که در داخل والد دارد، مقیاسبندی کنیم. ( Ibbe63 )
- پشتیبانی از حداقل اندازه قابل کلیک ( I178e3 )
- اضافه شدن پشتیبانی رندر برای
StrokeCap
Shadow
. ( I48b17 ) - پشتیبانی رندر را برای Sweep Gradient در
ArcLine
اضافه کنید. ( I4d5bb )
نسخه 1.1.0-alpha01
18 اکتبر 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
منتشر شد. نسخه 1.1.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
- یک گزینه براش با پشتیبانی از
SweepGradient
بهArcline
اضافه شده است. ( Ie7ce3 ) - پشتیبانی از قالب بندی تاریخ-زمان منطقه ای اضافه شده است. ( Ibfae0 )
- پروتوها و Wrapper های جاوا برای قالب بندی تاریخ-زمان منطقه ای مورد نیاز است. ( I97126 )
- دریافت کننده برای بازخوانی مقدار ذخیره شده در
DynamicDataValue
اضافه شده است. ( Ie6cea ) - یک تنظیم کننده برای قرار دادن محتوای لبه در
EdgeContentLayout
اضافه شده است تا بتوان آن را قبل از سایر محتواها قرار داد. ( Ie8e8a )
رفع اشکال
- مشکل زمانی که یک عبارت با چندین بار ثبت منبع داده بلافاصله بهروزرسانی نمیشد، برطرف شد. ( I8e1a8 )
- رفع یک اشکال در مرکز عنصر ریشه در طول بهروزرسانیهای متفاوت. ( Ie48f7 )
- مقادیر محدودیت چیدمان تنظیم نشده (یا خالی) دیگر نادیده گرفته نمی شوند. ( IBC785 )
- کاهش تأخیر بین نمایان شدن یک طرح و اولیه سازی گره های خط لوله آن. ( I38d4e )
نسخه 1.0
نسخه 1.0.0
9 آگوست 2023
androidx.wear.protolayout:protolayout-*:1.0.0
منتشر شد. نسخه 1.0.0 حاوی این commit ها است.
ویژگی های اصلی 1.0.0
کتابخانه ProtoLayout APIهایی را برای ایجاد طرحبندیها و عباراتی معرفی میکند که میتوانند در سطوح مختلف Wear OS استفاده شوند. به عنوان مثال، کتابخانه Tiles از این APIها برای پشتیبانی از اتصال دادههای پلتفرم (برای بهروزرسانی سریعتر دادههای کاشی) و انیمیشنها استفاده میکند.
نسخه 1.0.0-rc01
26 جولای 2023
androidx.wear.protolayout:protolayout-*:1.0.0-rc01
منتشر شد. نسخه 1.0.0-rc01 حاوی این commit ها است.
- برای انتقال از Tiles به
ProtoLayout
، لطفاً دستورالعملهای اینجا را دنبال کنید.
تغییرات API
- متدهای
setLayoutConstraintForDynamicAnchorAngle
وgetLayoutConstraintForDynamicAnchorAngle
را از عنصر Arc حذف کرده ایم. این روش ها به اشتباه اضافه شده اند و هیچ تاثیری در چیدمان ارائه شده نداشته اند. ( If7d01 ) - ما حداکثر عمقی را که یک طرح بندی
ProtoLayout
می تواند داشته باشد به 30LayoutElements
تو در تو محدود کرده ایم. ( I8a74b )
رفع اشکال
- اگر
DynamicColor
برایSpanText
تنظیم شده باشد، یک بررسی اضافه کردهایم. ( I0e5bc ) - مشخص شده است که واحد منبع داده
DAILY_CALORIES
کیلو کالری است. ( Iaa785 )
نسخه 1.0.0-beta01
21 ژوئن 2023
androidx.wear.protolayout:protolayout-*:1.0.0-beta01
منتشر شد. نسخه 1.0.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
- به تنظیم ساعت برای تست های زمان بندی اجازه دهید. ( I05622 )
تغییرات API
-
PlatformDataReceiver.onData()
وStateBuilders.Builder.addKeyToValueMapping
اکنون نگاشت نوع ایمنDynamicDataKey
را بهDynamicDataValue
می پذیرند تا ژنریک های ناامن. این بدان معناست کهDynamicDataValue
اکنون باDynamicType
آن تایپ می شود. ثابتهایHEART_RATE_ACCURACY_X
به ریشهPlatformHealthSources
منتقل شدند تا با موقعیتیابی سایر ثابتهای Android مطابقت داشته باشند. ثابت های intHEART_RATE_ACCURACY_X
اکنون مستقیماً درDynamicHeartRateAccuracy.constant()
وDynamicHeartRateAccuracy.dynamicDataValueOf()
به جای ثابت مقدار استفاده می شوند. ( I82ff5 ) - کلاس
PlatformHealthSources.Constants
به اشتباه قابل دستیابی بود. این الان رفع شده است. ( ICb849 ) -
PlatformTimeUpdateNotifier#setReceiver
اکنونRunnable
به جای تابعSupplier
وExecutor
برای اطلاع رسانی دریافت می کند. ( I9d938 ) - ما نوع پارامتر را در
PlatformTimeUpdateNotifier#setReceiver
ازCallable
بهSupplier
تغییر دادهایم. ( I664bf ) -
CompactChip
وTitleChip
اکنون از افزودن یک نماد به آن پشتیبانی می کنند. ( I5a01e )
رفع اشکال
- بهروزرسانی پیامهای Prop با فیلدهای پویا برای استفاده از یکی از آنها ( I81739 )
- استفاده مجدد از اجرای تنظیم کننده ها برای اضافه بارهایی که دارای تنظیم کننده هستند ( Ied70c )
- اثر انگشت را در ستترهایی که اضافه بار دارند به درستی ثبت کنید ( I86ed2 )
نسخه 1.0.0-alpha11
7 ژوئن 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
منتشر شد. نسخه 1.0.0-alpha11 حاوی این commit ها است.
ویژگی های جدید
- ما یک
PlatformDataKey
برای دقت ضربان قلب اضافه کردهایم. ( I7f9b8 )
تغییرات API
- نام
StateBuilders#getIdToValueMapping
بهgetKeyToValueMapping
تغییر دهید و نوع بازگشت را بهMap<<AppDataKey<?>,DynamicDataValue>
تغییر دهید. ( Iaa7ae ) -
StateStore
به کلاس نهایی تبدیل کنید ( I408ca ) - رابط
TimeGateway
باPlatformTimeUpdateNotifier
در کتابخانهprotolayout-expression-pipeline
جایگزین شده است که فرکانس مورد نظر را برای به روز رسانی داده های زمانی فراهم می کند. ( I60869 ) - تغییر نام
register
/unregisterForData
درPlatformDataProvider
بهset
/clearReceiver
( I14b02 ) - در Material Text،
getExcludeFontPadding
بهhasExcludeFontPadding
تغییر نام داده است. ( Iea01d ) - تنظیم کننده برای تراز کردن کامل برچسب به تمام اجزای تراشه اضافه شد. اکنون همه تراشهها دارای حداقل هدف قابل لمس هستند. ( I8ae92 )
-
LayoutDefaults#BUTTON_MAX_NUMBER
بهMAX_BUTTONS
تغییر نام داده است. ( I84788 ) -
DAILY_DISTANCE
بهDAILY_DISTANCE_M
تغییر نام داد. ( I4f758 )
رفع اشکال
- اسناد انواع Prop را به روز کنید تا مشخص شود که چرا مقدار استاتیک اعمال می شود. اگر مقدار استاتیک ارائه نشده باشد، مقدار پیشفرض مورد استفاده را مشخص کنید. ( I155aa )
- فضاهای نام
PlatformDataKey
باید از نامگذاری سبک جاوا پیروی کنند. ( I47bda )
نسخه 1.0.0-alpha10
24 مه 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
منتشر شد. نسخه 1.0.0-alpha10 حاوی این commit ها است.
ویژگی های جدید
- افزودن
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 حالت را برای استفاده ازDynamicDataKey
( If1c01 ) به روز کنید. - ما تعداد ورودیهای مجاز در
StateStore
را محدود میکنیم تا اطمینان حاصل کنیم که استفاده از حافظه و زمان بهروزرسانی وضعیت به خوبی برای هر نمونه ازStateStore
کنترل و کنترل میشود. در نتیجه، توسعهدهنده باید مطمئن شود که بیش ازMAX_STATE_ENTRY_COUNT
ورودی در نقشه نداشته باشد، در غیر این صورت هنگام ایجاد یا بهروزرسانیStateStore
، یکIllegalStateException
دریافت میکند. ( Ibadb3 ) - کلاسهای
OnLoadTrigger
وOnConditionMetTrigger
را مخفی کنید و نامsetTrigger
را بهsetCondition
برایOnConditionMetTrigger
تغییر دهید. ( 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
برای ثبت درPlatformDataProvider
بهروزرسانی کنید، زمانی که کلید پشتیبانیکننده ارائهدهنده توسط نود از خط لوله بیان مورد نیاز است. ( IB616a ) -
SensorGateway
دیگرCloseable
نیست زیرا دیگر هیچ حالتی را حفظ نمی کند. ( I6b4f7 ) - اجازه استفاده از
FloatProp
باDynamicFloat
برای پیشرفت درCircularProgressIndicator
را بدهید. این برای رندرهایی که از نسخه 1.2 پشتیبانی می کنند پشتیبانی می شود. رندرهای قدیمی در صورت ارائه بهstaticValue
بازگشت خواهند کرد، در غیر این صورت به 0 ( I0d91b ) - ثابتهای
MultiButtonLayout
به کلاسLayoutDefaults.MultiButtonLayoutDefaults
تبدیل شدهاند که اکنون شامل موارد مربوط به اندازه دکمهها بسته به تعدادی از دکمهها در طرحبندی است. ( I13973 ) - پشتیبانی از
StringProp
باDynamicString
در متن متریال. این برای رندرهایی که از نسخه 1.2 پشتیبانی می کنند پشتیبانی می شود. رندرهای قدیمی به مقدار استاتیک ارائه شده بازگشت خواهند کرد. نوع بازگشتText#getText
را ازString
بهStringProp
بهروزرسانی کنید. ( I7275b )
نسخه 1.0.0-alpha09
10 مه 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
منتشر شد. نسخه 1.0.0-alpha09 حاوی این commit ها است.
ویژگی های جدید
- ما یک عنصر طرحبندی برنامه افزودنی آزمایشی اضافه کردهایم. توجه داشته باشید که به طور پیشفرض نمیتوان از آن استفاده کرد و به یک پسوند رندرکننده نیاز دارد که بتواند عنصر طرحبندی را درک کند. ( I6581d )
- پشتیبانی
StrokeCap
برایArcLine
اضافه شد. ( I94951 ) - پشتیبانی از عملیات Instant Conditional اضافه شده است. ( I489a7 )
- پشتیبانی از عملیات مدت زمان مشروط اضافه شده است. ( Iab469 )
- اضافه شدن پشتیبانی برای ایجاد مدت زمان از ثانیه. ( Ib5fa1 )
تغییرات API
- روشهای
enable/disablePlatformSource
ازDynamicTypeEvaluator
حذف شدهاند. تماس گیرنده باید مسئول به روز رسانی ها باشد. ( I78c6d ) - اجازه می دهد تا اندازه انواع داده های محدود شده را محدود کند. ( Ie2966 )
- پشتیبانی از توضیحات محتوای پویا را در
protolayout-material
اضافه کنید. ( I62c8e ) - از طولانی و
@IntRange
برای مدت زمان و تاخیر در AnimationParameters استفاده کنید. ( I388b6 )
نسخه 1.0.0-alpha08
19 آوریل 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
منتشر شد. نسخه 1.0.0-alpha08 حاوی این commit ها است.
ویژگی های جدید
-
AndroidTextStyle
بهLayoutElementBuilders
اضافه شده است. ( I8d967 ) - ما پشتیبانی برای تنظیم به استثنای padding فونت در
ProtoLayout
Material 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 )
نسخه 1.0.0-alpha07
5 آوریل 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
منتشر شد. نسخه 1.0.0-alpha07 حاوی این commit ها است.
ویژگی های جدید
- اضافه کردن پشتیبانی ارزش پویا به
StringProp
( I04342 ) - علامت گذاری عناصر طرح بندی قابل اتصال ( Ia110b )
تغییرات API
-
sensorGateway#registerSensorGatewayConsumer
به جای متد در Consumer نوع داده را به عنوان پارامتر می گیرد. ( ICF314 ) -
ObservableStateStore
بهStateStore
تغییر نام داده است. ( Ieb0e2 ) -
DynamicTypeEvaluator.Builder
را به جای آرگومان های سازنده اضافه کرد تا آرگومان های اختیاری بیشتری را مجاز کند، از جملهObservableStateStore
که اکنون به صورت پیش فرض یک فروشگاه خالی است. ( I6f832 ) - ترتیب مجدد پارامترها در
DynamicTypeEvaluator
. ( IC1ba4 )
رفع اشکال
- انتشار صحیح سیگنال ها از منابع حسگر پلت فرم به گره های پایین دست ( I5a922 )
نسخه 1.0.0-alpha06
22 مارس 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
منتشر شد. نسخه 1.0.0-alpha06 حاوی این commit ها است.
ویژگی های جدید
- ما یک API آزمایشی برای استفاده از ضربان قلب و گامهای روزانه در عبارات پویا اضافه کردهایم ( Ifd711 )
- ما پشتیبانی از تاخیر معکوس و جلو برای انیمیشن ها را اضافه کرده ایم. ( IC25f7 )
- ما پشتیبانی
DynamicColor
به Border و Background اضافه کردهایم - ما پشتیبانی ارزش پویا را به انواع در
DimensionBuilder
اضافه کردهایم - چیدمان و اجزای
tiles-material
در حال حرکت بهprotolayout-material
هستند
تغییرات API
-
LoadActionListener
بهProtoLayoutViewInstance
اضافه شده است. ( If7806 )
رفع اشکال
-
FloatNodesTest
اضافه شد ( Id7281 ) - رفع خرابی رندر هنگامی که قادر به بارگیری بیت مپ ساختاریافته نیستید.
نسخه 1.0.0-alpha05
8 مارس 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
منتشر شد. نسخه 1.0.0-alpha05 حاوی این commit ها است.
ویژگی های جدید
- ما یک انیمیشن آزمایشی "به روز رسانی محتوا" را به شی
Modifiers
اضافه کرده ایم. هر زمان که عنصر (با این اصلاحکننده) یا یکی از فرزندان آن در طول بهروزرسانی طرحبندی تغییر کند، این انیمیشن فعال میشود. ( bd03e5d )
تغییرات API
- ما
forwardRepeatDelayMillis
وreverseRepeatDelayMillis
را بهRepeatable
اضافه کردهایم. ما همچنین نامdelayMillis
را درAnimationSpec
بهstartDelayMillis
تغییر دادیم ( Ifb266 ) - متدهای
DynamicTypeEvaluator.bind
اکنون یک Executor را می پذیرند. ( I346ab ) - ما متد
startEvaluation
بهBoundDynamicType
اضافه کردهایم تا پس از محدود شدن نوع پویا، ارزیابی را آغاز کنیم. ( I19908 )
رفع اشکال
- شی Animator برای انیمیشن های بعدی یک عنصر استفاده مجدد خواهد شد. ( Ia3be9 )
نسخه 1.0.0-alpha04
22 فوریه 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
منتشر شد. نسخه 1.0.0-alpha04 حاوی این commit ها است.
ویژگی های جدید
-
ObservableStateStore
اکنون به شنوندگان اطلاع می دهد که یک کلید نیز حذف شود. - نسخه طرحنمای رندر و مقیاس فونت را به
DeviceParameters
اضافه کردهایم (که میتوان از آن برای ایجاد طرحبندیهای مشروط در پاسخ به نسخههای مختلف و تنظیمات فونت استفاده کرد). - ما برای متحرک سازی مقادیر
DynamicInt32
پشتیبانی اضافه کرده ایم ( I05485 ) - ما تریگرهای
OnLoad
وOnConditionalMet
را اضافه کرده ایم. از اینها می توان برای شروع انیمیشن هایی که از یک ماشه پشتیبانی می کنند استفاده کرد. - وزن طرح را برای ابعاد گسترده و اندازه حداقل برای ابعاد پیچیده اضافه کرده ایم.
- ما مدت زمان و انواع پویا فوری را اضافه کرده ایم. اینها می توانند برای نمایش یک لحظه یا مدت زمان در یک عبارت پویا استفاده شوند.
- ما پشتیبانی از
AnimatedVectorDrawable
وSeekableAnimatedVectorDrawable
را به عنوان منابع طرحبندی اضافه کردهایم.
تغییرات API
- دادههای حسگر به API 29+ نیاز دارند. ( I8099e )
- ما دو روش کمکی
launchAction
(برای راهاندازی Activities) اضافه کردهایم.
رفع اشکال
- تغییر نام
set/getSpec
بهset/getAnimationSpec
در انیمیشن Tiles ( I3d74b )
نسخه 1.0.0-alpha03
8 فوریه 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
منتشر شد. نسخه 1.0.0-alpha03 حاوی این commit ها است.
ویژگی های جدید
- ما
toByteArray()
وfromByteArray()
به انواع Dynamic در کتابخانه protolayout-express اضافه کرده ایم. - ما
toString()
به انواع Dynamic در کتابخانه protolayout-expression اضافه کرده ایم. - ما پشتیبانی ارزیابی را برای انواع Dynamic اضافه کرده ایم. کلاس
DynamicTypeEvaluator
از کتابخانه protolayout-expression-pipeline می تواند برای ارزیابی (و دریافت مقادیر به روز شده) برای نوع Dynamic که قبلا ایجاد شده است (DynamicString
،DynamicFloat
، …) استفاده شود. - وقتی انیمیشنها قابل پخش نیستند (چه به این دلیل که توسط ارزیاب غیرفعال شدهاند، یا تعداد انیمیشنهای در حال اجرا به حد تعیینشده رسیده است)، از مقادیر ثابت تنظیمشده روی گره متحرک برای جایگزینی انیمیشن استفاده میشود.
نسخه 1.0.0-alpha02
25 ژانویه 2023
androidx.wear.protolayout:protolayout:1.0.0-alpha02
، androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02
و androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02
منتشر شدند. نسخه 1.0.0-alpha02 حاوی این commit ها است.
ویژگی های جدید
- سازندگان طرحبندی از
androidx.wear.tiles:tiles
بهandroidx.wear.protolayout:protolayout
میروند. موارد موجود درandroidx.wear.tiles:tiles
در یکی از نسخه های آلفا بعدی منسوخ خواهند شد.
نسخه 1.0.0-alpha01
11 ژانویه 2023
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
و androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
منتشر شدند. نسخه 1.0.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
- این نسخه یک کتابخانه جدید "ProtoLayout Expression" را برای ایجاد عبارات از متغیرهای پویا معرفی می کند.