پوشیدن طرح اولیه

این کتابخانه امکان تعریف مجموعه‌ای از طرح‌بندی‌های رابط کاربری و عبارات غیر UI را برای رندر/ارزیابی روی سطوح از راه دور فراهم می‌کند.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
7 مه 2025 1.2.1 - 1.3.0-beta02 -

اعلام وابستگی ها

برای افزودن وابستگی به 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.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.1"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.1"
}

کاتلین

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.1")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.1")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.1")
}
،

شیار

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.2.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.1"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.1"
}

کاتلین

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.1")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.1")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.1")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.3

نسخه 1.3.0-beta02

7 مه 2025

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 )
  • پرداخت نهایی UX از primaryLayout که در آن فضای بین اسلات عنوان و شکاف اصلی به جای 6dp در صفحه‌های کوچکتر به 4dp کاهش می‌یابد. ( I0e056 )
  • توضیحات محتوای پیش فرض را در textEdgeButton اعمال کنید. ( Ifaf8b )
  • به روز رسانی جزئی برای پد داخلی avatarButton . ( I0910b )

نسخه 1.3.0-beta01

9 آوریل 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

نسخه 1.3.0-beta01 Wear ProtoLayout نشان می دهد که این نسخه از کتابخانه کامل شده است و API قفل شده است (به جز مواردی که به عنوان آزمایشی علامت گذاری شده است). Wear ProtoLayout 1.3 شامل عملکردها و APIهای جدید زیر است:

  • طراحی متریال 3 با اجزا و طرح‌بندی‌هایی که برای صفحه‌نمایش گرد بهینه‌سازی شده‌اند و به‌طور مناسب از اندازه‌های صفحه‌نمایش کوچک تا بزرگ مقیاس می‌شوند، به ساعت می‌آیند.
    • این شامل کتابخانه protolayout-material3 فقط Kotlin با APIهای Compose بیشتر برای مؤلفه‌ها و ویژگی‌های زیر است:
    • تم رنگی پویا از سیستم و صفحه ساعت با جدیدترین تم Material3 برای رنگ‌ها، اشکال و تایپوگرافی
    • MaterialScope برای مراقبت از همه پیش فرض های نظری و سفارشی سازی آسان تر
    • iconEdgeButton ، textEdgeButton
    • iconButton , textButton , button , imageButton , avatarButton , compactButton
    • titleCard , appCard , graphicDataCard , iconDataCard , textDataCard
    • circularProgressIndicator , segmentedCircularProgressIndicator
    • primaryLayout ، buttonGroup
    • همه مؤلفه‌ها در هر سطح SDK و نسخه ProtoLayout Renderer کار می‌کنند، و در صورت لزوم، بازگشت‌های معقولی را ارائه می‌کنند.
  • APIهای سازگار با Kotlin بیشتر و شبیه Compose برای عناصر ProtoLayout پایه
    • LayoutModifier با قابلیت افزودن بیشتر اصلاح‌کننده‌ها به‌عنوان توابع زنجیره‌ای ( padding ، contentDescription (از جمله clearSemanticsbackground ، clip ، opacity و غیره)، قابل تبدیل به شی Modifiers موجود
    • LayoutColors و LayoutString به عنوان انواع با پشتیبانی آسان تر برای استفاده از فیلدها و محدودیت های پویا
    • text و fontStyle
    • پشتیبانی بهتر نقشه از StateBuilder ، از جمله DynamicDataMap و روش‌های کارخانه‌ای مانند intAppDataKey برای ایجاد آسان‌تر اشیاء AppDataKey
  • انیمیشن‌های Lottie از جمله گزینه‌ای برای تنظیم راه‌اندازهای مختلف در زمان شروع انیمیشن، برای مثال زمانی که طرح‌بندی بارگیری می‌شود یا زمانی که طرح‌بندی قابل مشاهده می‌شود، پشتیبانی می‌کند.
    • پشتیبانی گرادیان بهبود یافته:
    • API گرادیان خطی به عنوان بخشی از Brush که می تواند در اصلاح کننده های Background برای عناصری مانند Box ، Spacer و غیره استفاده شود.
    • اجازه دادن به مقادیر رنگ پویا در ColorStop برای گرادیان خطی و جابجایی
    • Sweep Gradient موجود در اشیاء قوس اکنون از رنگ های پویا و زوایای شروع و پایان پشتیبانی می کند
  • اتصال داده‌های پلت‌فرم در protolayout-expression برای دریافت اطلاعات در هر زمان که نمای طرح تغییر می‌کند، که برای مثال می‌توان از آن برای پنهان کردن بخش‌های خاصی از طرح‌بندی در حین کشیدن کاشی به آن استفاده کرد.
  • کتابخانه تست - protolayout-testing - برای پشتیبانی از پوشش تست واحد آسانتر برای هر عنصر ProtoLayout اضافه شده است
  • عنصر جدید DashedArcLine با مجموعه ای از ویژگی های بهبود یافته به طوری که خط می تواند دارای خط تیره باشد، برخلاف ArcLine موجود
  • پشتیبانی ArcSpacer برای تنظیم طول آن در بعد DP به جای درجه
  • اضافه شدن گردی محور FontSetting قابل اجرا برای برخی از فونت ها

نسخه 1.3.0-alpha10

12 مارس 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 منتشر شد. نسخه 1.3.0-alpha10 حاوی این تعهدات است.

ویژگی های جدید

  • افزودن کمکی برای Brush in kotlin Background Modifier. ( I995de )
  • قسمت اجباری Android Context در MaterialScope عمومی شده است تا امکان استفاده آسان تر در توابع توسعه دهندگانی که اجزایی برای کاشی های Material3 ایجاد می کنند، فراهم شود. ( I7df73 )

تغییرات API

  • نام api platformVisibilityStatus را به PlatformEventSources.isLayoutVisible تغییر دهید و یک API آزمایشی جدید PlatformEventSources.isLayoutUpdatePending اضافه کنید. ( Ie1e04 )

رفع اشکال

  • به جای آن، حاشیه‌های primaryLayout به درستی گرد شده‌اند، که می‌تواند روی برخی از طرح‌بندی‌ها تا فضای ۲dp کمتر برای شکاف اصلی تأثیر بگذارد. ( I8f5d3 )
  • شفاف سازی تم رنگی پویا پیش فرض در اجزای ProtoLayout Material3. ( Iff5f3 )
  • Typography.NUMERAL_* تایپوگرافی ها دیگر بصورت جدولی/تک فضا به صورت پیش فرض نیستند. اگر متن متحرک است، به شدت توصیه می شود که تنظیمات FontSetting.tabularNum() را به آن اضافه کنید. در تمام موارد دیگر به این گزینه monospace نیازی نیست و با استفاده نکردن از آن کاراکترهای در دسترس بیشتری وجود خواهد داشت. ( ID3cd9 )
  • شفاف سازی تم رنگی پویا پیش فرض در اجزای ProtoLayout Material3. ( I9d831 )

نسخه 1.3.0-alpha09

26 فوریه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 منتشر شد. نسخه 1.3.0-alpha09 حاوی این commit ها است.

ویژگی های جدید

  • اصلاح‌کننده‌های آزمایشی برای enterTransition و exitTransition اضافه شد ( I4a4d6 )
  • برای دریافت وضعیت نمایان بودن چیدمان کامل، هر زمان که تغییر کرد، پیوند پلت فرم اضافی اضافه کرده ایم. ( I250c3 )
  • برای ارزیابی مقادیر پویا، اجازه تزریق داده‌های وضعیت برنامه و پلتفرم آزمایشی به LayoutElementAssertionsProvider را بدهید. ( IB5fcb )
  • فیلترهای گوشه ای را به کتابخانه آزمایشی طرح اولیه ( Ie2361 ) اضافه کنید
  • ButtonColors ، CardColors و ProgressIndicatorColors اکنون از روش کپی پشتیبانی می‌کنند و برخی از پارامترها را به صورت اختیاری لغو می‌کند. ( Ie2054 )

تغییرات API

  • پشتیبانی از اتصال داده های پویا را به کتابخانه آزمایشی اضافه کنید ( Ib98de )
  • با حذف همپوشانی imageButton هنگام استفاده با عملکرد backgroundImage برطرف کنید. علاوه بر این، به تابع backgroundImage اجازه دهید تا برای رنگ همپوشانی null مشخص شود، به این معنی که همپوشانی اعمال نخواهد شد. ( Ibec3c )

رفع اشکال

  • متد پیش‌فرض hasValueOfType برای پرتاب UnsupportedOperationException به جای IllegalArgumentException تغییر داد. ( Ia36c3 )
  • مقادیر نشانه رنگی پیش‌فرض به‌روزرسانی می‌شوند تا آخرین مشخصات را منعکس کنند. ( I75d44 )
  • رفع مشکل aliasing قابل مشاهده در خطوط قوس در رندر کاشی AndroidX. ( I88190 )

نسخه 1.3.0-alpha08

12 فوریه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 منتشر شد. نسخه 1.3.0-alpha08 حاوی این commit ها است.

ویژگی های جدید

  • پارامتر لیست FontSetting را برای متن Material3 اضافه کنید. ( IC102d )
  • کلاس DynamicDataMap اضافه شده است که StateBuilder اکنون برای API ایمن Kotlin از نوع بهتر برای حالت های برنامه پشتیبانی می کند ( I012ba )
  • اضافه شدن روش های کارخانه ای مانند intAppDataKey برای ایجاد آسان تر اشیاء AppDataKey ( Icea2a )
  • DynamicDataValue اکنون دارای یک متد hasValueOfType(Class<?>) علاوه بر متدهای hasInt/hasColor/ ... است ( I4f7a6 )
  • برای خطاهای با اولویت بالا یا اقدامات اضطراری مانند هشدارهای ایمنی، errorDim به Material3 ProtoLayout ColorScheme اضافه کرده‌ایم. ( Ia17bb )
  • هنگام دسترسی به تنظیمات کاهش حرکت جهانی، محافظی در برابر خرابی اضافه کرده‌ایم، که در برخی از پلتفرم‌هایی که این تنظیمات ارائه نشده بود، فعال شده است. ( I01e2c )

تغییرات API

  • addKeyToValueMapping به addToStateMap تغییر نام داده و متدهای DynamicDataMap.put به دلیل زائد بودن حذف می شوند. ( Ibe9dd )
  • Material3 Typography اکنون از محور متغیر گردی برای فونت های سیستمی که از این محور پشتیبانی می کنند پشتیبانی می کند. ProtoLayout FontSetting از محور گردی برای فونت هایی که از این محور پشتیبانی می کنند پشتیبانی می کند. ( I33eb5 )
  • تغییر نام multilineAlignment به تراز در روش متنی Material3. ( I2b66b )
  • نشانگر پیشرفت دایره ای را به نوع Box به روز کنید، همچنین mainContent در constructGraphic به نوع Box مشخص کنید ( I5a3dc )
  • پشتیبانی بهتر برای استفاده از نشانگر پیشرفت دایره ای در نمودار ( I039db )

رفع اشکال

  • مقادیر پویا را در ColorStop و همچنین برای زوایای شروع/پایان در SweepGradient مجاز کنید. ( I0146d )
  • Docs رفع می کند. ( I4a63a )
  • مؤلفه‌های Material 3 ( graphicCard و avatarButton ) به‌روزرسانی شد تا زمانی که ابعاد گسترش weight پشتیبانی نمی‌شود (به عنوان مثال زیر API 33) بازگشتی را ارائه دهد. هنگامی که TEXT_OVERFLOW_ELLIPSIZE توسط رندر پشتیبانی نمی‌شود، مؤلفه متنی به TEXT_OVERFLOW_ELLIPSIZE_END به‌روزرسانی شد. ( I19e2c )
  • به روز رسانی Docs برای PrimaryLayoutMargins . ( Ibaf7b )

نسخه 1.3.0-alpha07

29 ژانویه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 منتشر شد. نسخه 1.3.0-alpha07 حاوی این commit ها است.

ویژگی های جدید

  • اضافه شدن گزینه API برای تنظیم محرک های مختلف برای انیمیشن های Lottie. علاوه بر این، API اضافه شده برای راه‌اندازهایی که وقتی طرح‌بندی قابل مشاهده است فعال می‌شوند ( I8272d )
  • اصلاح کننده های border ، visibility و opacity اضافه شده است. ( I6d3dd )
  • دکمه آواتار به جزء ProtoLayout Material3 اضافه شد. ( Idb5ae )
  • اکنون اجازه می‌دهیم حاشیه‌ها (سمت کنار و در برخی موارد پایین) در 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 )

نسخه 1.3.0-alpha06

15 ژانویه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 منتشر شد. نسخه 1.3.0-alpha06 حاوی این commit ها است.

ویژگی های جدید

  • LayoutColor برای پشتیبانی از هر دو نوع رنگ ثابت و پویا ( I4c89b )
  • مولفه textButton ProtoLayout Material3 اضافه شد. ( ID680d )
  • جزء iconButton ProtoLayout Material3 را اضافه کنید. ( Ica3f0 )
  • کامپوننت ظرف دکمه ProtoLayout Material3 اضافه شد. ( I17a38 )
  • اضافه شدن پشتیبانی از اصلاح کننده های معنایی Chainable به protolayout-material3 ( I4af62 )
  • اضافه شده ProtoLayout Material3 تک بخش CircularProgressIndicator ( I2c8a2 )
  • padding اضافه شده، اصلاح کننده های metadata ( I8720a )
  • background ، clip و اصلاح کننده های clickable اضافه شد ( I35478 )
  • LinearGradient به Brush اضافه کنید و اجازه دهید در Background Modifier استفاده شود. ( IC4dea )
  • اندازه کوچک را برای appCard و titleCard اضافه کنید. ( I91f98 )
  • جزء ProtoLayout Material3 graphicDataCard اضافه شد. ( I92be7 )
  • اضافه شدن ProtoLayout Material3 iconDataCard و اجزای textDataCard . ( I4e1e4 )
  • کامپوننت ProtoLayout Material3 appCard اضافه شد. ( ID4c57 )
  • Abstract EdgeButtonColors به ButtonColors . ( I83624 )
  • اضافه شده ProtoLayout Material3 جزء titleCard . ( I2dc72 )

تغییرات API

  • ProtoLayout Material3 API اکنون LayoutString برای پشتیبانی از متون استاتیک و پویا می پذیرد. ( I9c24a )

رفع اشکال

  • اضافه کردن اجرای رندر برای باد کردن DashedArcLine ( I0c700 )
  • تغییر رندر برای اجازه دادن به ArcSpacer برای گرفتن طول dp. ( I1437b )

نسخه 1.3.0-alpha05

11 دسامبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 منتشر شد. نسخه 1.3.0-alpha05 حاوی این تعهدات است.

ویژگی های جدید

  • LayoutString برای پشتیبانی از فیلدهای رشته طرح بندی قابل اتصال اضافه شده است. ( Ida650 )
  • کامپوننت ظرف کارت ProtoLayout Material3 اضافه شد. ( IC985a )

رفع اشکال

  • این کتابخانه اکنون از حاشیه‌نویسی‌های پوچ JSpecify استفاده می‌کند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود). ( Id1f9b , b/326456246 )

نسخه 1.3.0-alpha04

13 نوامبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 منتشر شد. نسخه 1.3.0-alpha04 حاوی این commit ها است.

ویژگی های جدید

  • شکل Material3 به‌روزرسانی شد تا یک کلاس با فیلدهایی باشد که مقدار واقعی Corner را دارند، مانند Wear Compose. ( Ied8cd )
  • رنگ‌های Material3 به‌روزرسانی شد تا مفهوم ColorScheme نیز در بر بگیرد، مانند Wear Compose. ( If645e )
  • چندین تطبیق معمولی را به کتابخانه آزمایشی اضافه کنید. ( Ie5cec )

نسخه 1.3.0-alpha03

30 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 منتشر شد. نسخه 1.3.0-alpha03 حاوی این تعهدات است.

ویژگی های جدید

  • LayoutElementAssertionsProvider ، LayoutElementAssertion و LayoutElementMatcher را به کتابخانه آزمایشی اضافه کنید ( Id1110 )

نسخه 1.3.0-alpha02

16 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 منتشر شد. نسخه 1.3.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • نسخه اولیه کتابخانه Material 3. شامل اجزای text ، edgeButton ، buttonGroup و primaryLayout است.

رفع امنیتی

  • با توجه به این تغییر ، androidx در برابر protobuf 4.28.2 به منظور آدرس دهی CVE-2024-7254 کامپایل می شود. وابستگی خود را به نسخه 1.3.0-alpha01 androidx.wear.protolayout:protolayout-proto و androidx.wear.protolayout:protolayout-external-protobuf به 1.3.0-alpha02 ارتقا دهید تا خطر آسیب پذیری را برطرف کنید.

مشارکت خارجی

نسخه 1.3.0-alpha01

2 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 حاوی این تعهدات است.

رفع اشکال

  • روشن شد که در دسترس بودن نام خانواده فونت Roboto و Roboto Flex به دستگاه بستگی دارد. ( I193be )
  • خانواده فونت Roboto Flex در رندر کاشی AndroidX فعال شد. ( I08e94 )

نسخه 1.2

نسخه 1.2.1

16 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.2.1 منتشر شد. نسخه 1.2.1 حاوی این commit ها است.

رفع امنیتی

  • با توجه به این تغییر ، androidx در برابر protobuf 4.28.2 به منظور آدرس دهی CVE-2024-7254 کامپایل می شود. وابستگی خود را به نسخه 1.2.0 androidx.wear.protolayout:protolayout-proto و androidx.wear.protolayout:protolayout-external-protobuf به 1.2.1 ارتقا دهید تا خطر آسیب پذیری را برطرف کنید.

نسخه 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.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 را گسترش داد تا شامل موارد زیر باشد:
    • تنظیم ویژگی فونت مانند تنظیم فونت به صورت جدولی. ( If12b7 )
    • تنظیم تنوع فونت مانند تنظیم عرض سفارشی برای فونت های متغیر. ( I2b36d )
  • 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-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 می تواند داشته باشد به 30 LayoutElements تو در تو محدود کرده ایم. ( 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 مطابقت داشته باشند. ثابت های int HEART_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 )
  • در متن مادی ، getExcludeFontPadding به hasExcludeFontPadding تغییر نام داده است. ( IEA01D )
  • تنظیم کننده برچسب کاملاً تراز به تمام اجزای تراشه اضافه شد. همه تراشه ها در حال حاضر دارای حداقل هدف قابل استفاده هستند. ( i8ae92 )
  • LayoutDefaults#BUTTON_MAX_NUMBER به MAX_BUTTONS تغییر نام داده است. ( i84788 )
  • DAILY_DISTANCE به DAILY_DISTANCE_M تغییر نام داده می شود. ( i4f758 )

رفع اشکال

  • انواع اسناد را به روز کنید تا توضیح دهید که چرا ارزش استاتیک اعمال می شود. مقدار پیش فرض مورد استفاده را در صورت ارائه مقدار استاتیک مشخص کنید. ( i155aa )
  • فضای نام PlatformDataKey باید نامگذاری سبک جاوا را دنبال کند. ( i47bda )

نسخه 1.0.0-alpha10

24 مه 2023

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 . اجرای سازندگان در حال حاضر توسط کلاسهای LoadAction و LaunchAction ارائه شده است. ( i1d70c )
  • استفاده از DynamicFloat را با FloatProp انجام دهید. توجه داشته باشید که FloatProp هیچ محدودیتی در مورد محدودیت طرح ندارد زیرا از آن به عنوان یک طرح در حال تغییر استفاده نمی شود. ( i286ac )
  • اقدامات LoalAction و SetStateAction حذف می شوند زیرا هنوز واقعاً پشتیبانی نشده اند. ( i5d6a6 )
  • پشتیبانی از فرمت ARGB_8888 برای منابع تصویر درون خطی اضافه شده است. ( i8a07c )
  • تغییر نام StateEntryValue به DynamicDataValue ، و API های دولتی را برای استفاده از DynamicDataKey ( IF1C01 ) به روز کنید
  • ما تعداد ورودی هایی را که در StateStore مجاز هستند محدود می کنیم تا اطمینان حاصل شود که استفاده از حافظه و زمان بروزرسانی حالت برای هر نمونه از StateStore به خوبی در آن قرار گرفته و کنترل می شود. در نتیجه ، توسعه دهنده باید اطمینان حاصل کند که آنها بیشتر از ورودی های MAX_STATE_ENTRY_COUNT در نقشه ندارند ، در غیر این صورت هنگام ایجاد یا به روزرسانی StateStore ، IllegalStateException دریافت می کنند. ( ibadb3 )
  • کلاسهای OnLoadTrigger و OnConditionMetTrigger را مخفی کنید ، و setTrigger تغییر دهید تا برای OnConditionMetTrigger setCondition . ( IBF629 )
  • به دلایل عملکرد و سازگاری ، ارائه دهنده های ProtoLayout از مجموعه کامل ویژگی ها در منابع AnimatedVectorDrawable پشتیبانی نمی کنند. ما این API ها را آزمایش می کنیم تا زمانی که بتوانیم مجموعه پشتیبانی شده را تعریف کنیم. ( IC6DAF )
  • انواع پویا برای مسافت روزانه ، کالری روزانه و طبقه های روزانه اضافه شده است. کلیدهای منابع بهداشتی پلتفرم اکنون تحت PlatformHealthSources.Keys ( IB7637 ) هستند
  • روش Easing.cubicBezier جایگزین CubicBezierEasing.Builder می شود. با این کار ، کلاس EasingFunction برداشته می شود و هم اکنون ثابت های کاهش یافته از آن کلاس مستقیماً از رابط Easing قابل دسترسی هستند. علاوه بر این setInfiniteRepeatable با INFINITE_REPEATABLE_WITH_RESTART و INFINITE_REPEATABLE_WITH_REVERSE جایگزین می شود ( IB41E7 )
  • PlatformDataProvider برای ارائه ضربان قلب و مراحل روزانه پیاده سازی کنید. رابط SensorGateway از API عمومی حذف می شود. ( i55b84 )
  • PlatformDataProvider اضافه کنید ، و StateStore به روز کنید تا در هنگام نیاز به کلید پشتیبانی شده ارائه دهنده توسط Node From Expression Pipeline ، در PlatformDataProvider ثبت نام کنید. ( ib616a )
  • SensorGateway دیگر Closeable نمی شود زیرا دیگر هیچ وضعیتی را حفظ نمی کند. ( i6b4f7 )
  • اجازه دهید استفاده از FloatProp با DynamicFloat برای پیشرفت در CircularProgressIndicator . این برای رندرهای پشتیبانی از نسخه 1.2 پشتیبانی می شود. در صورت ارائه ، در غیر این صورت به 0 ( I0D91b ) ، رندرهای قدیمی به staticValue باز می گردند.
  • ثابت های 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 شامل این تعهدات است.

ویژگی های جدید

  • ما یک عنصر طرح فرمت آزمایشی اضافه کرده ایم. توجه داشته باشید که این امر به طور پیش فرض قابل استفاده نیست و نیاز به یک پسوند رندر دارد که قادر به درک عنصر طرح است. ( i6581d )
  • پشتیبانی StrokeCap برای ArcLine اضافه شد. ( i94951 )
  • پشتیبانی اضافه شده برای عملکرد فوری شرطی. ( i489a7 )
  • پشتیبانی اضافه شده برای عملکرد مدت زمان مشروط. ( IAB469 )
  • پشتیبانی اضافه شده برای ایجاد مدت زمان از ثانیه. ( IB5FA1 )

تغییرات API

  • روشهای enable/disablePlatformSource روشهای از DynamicTypeEvaluator حذف شده است. تماس گیرنده باید مسئول به روزرسانی ها باشد. ( i78c6d )
  • اجازه می دهد تا اندازه انواع داده های محدود را پوشش دهد. ( IE2966 )
  • پشتیبانی از توضیحات محتوای پویا را در protolayout-material اضافه کنید. ( i62c8e )
  • برای مدت زمان و تأخیر در پارامترهای انیمیشن از long و @IntRange استفاده کنید. ( i388b6 )

نسخه 1.0.0-alpha08

19 آوریل 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 منتشر می شود. نسخه 1.0.0-alpha08 شامل این تعهدات است.

ویژگی های جدید

  • AndroidTextStyle به LayoutElementBuilders اضافه شده است. ( i8d967 )
  • ما پشتیبانی از تنظیم استثناء بالشتک قلم را در متن مواد ProtoLayout اضافه کرده ایم. ( i17f5d )
  • ARGB_8888 اکنون برای تصاویر درون خطی پشتیبانی می شود. ( i18c1e )
  • DynamicColor اکنون از عملیات onCondition پشتیبانی می كند. ( I10927 )

تغییرات API

  • پشتیبانی از مدت سفارشی برای انیمیشن معکوس ( I3251F )
  • ما اصلاح کننده SemanticDescription را اضافه کرده ایم. علاوه بر این ، ContentDescription قابل اتصال نیست. ( i3f1d )
  • روش DynamicBool.isFalse() اکنون با DynamicBool.negate() جایگزین شده است و DynamicBool.isTrue() حذف می شود. علاوه بر این مقادیر NAN DynamicFloat و باریک کردن DynamicInt32 به یک DynamicFloat اکنون نتیجه پویا نامعتبر را منتشر می کند. ( i6ac1e )
  • فرمت های Int و Float اکنون از الگوی سازنده استفاده می کنند. ( IEB213 )

رفع اشکال

  • مقدار استاتیک Fallback از زمینه های قابل تحمل حذف شده است. ( 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 شامل این تعهدات است.

ویژگی های جدید

  • پشتیبانی از ارزش پویا را به StringProp اضافه کنید ( I04342 )
  • عناصر چیدمان قابل اتصال را علامت گذاری کنید ( IA110B )

تغییرات API

  • sensorGateway#registerSensorGatewayConsumer به جای روش در مصرف کننده ، نوع داده را به عنوان یک پارامتر می گیرد. ( 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 شامل این تعهدات است.

ویژگی های جدید

  • ما یک API آزمایشی برای استفاده از ضربان قلب و مراحل روزانه در عبارات پویا اضافه کرده ایم ( IFD711 )
  • ما پشتیبانی از تأخیر معکوس و رو به جلو برای انیمیشن ها را اضافه کرده ایم. ( IC25F7 )
  • ما پشتیبانی DynamicColor را به مرز و پیشینه اضافه کرده ایم
  • ما پشتیبانی از ارزش پویا را به انواع در 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 شامل این تعهدات است.

ویژگی های جدید

  • ما یک انیمیشن تجربی "به روزرسانی محتوا" را به شیء Modifiers اضافه کرده ایم. این انیمیشن هر زمان که عنصر (با این اصلاح کننده) یا یکی از فرزندانش در حین بروزرسانی چیدمان تغییر کند ، تحریک می شود. ( BD03E5D )

تغییرات API

  • ما forwardRepeatDelayMillis و reverseRepeatDelayMillis به Repeatable اضافه کرده ایم. ما همچنین به startDelayMillis ( IFB266 ) در AnimationSpec به delayMillis در AnimationsPec تغییر نام دادیم
  • روشهای DynamicTypeEvaluator.bind اکنون یک مجری را می پذیرند. ( i346ab )
  • ما روش startEvaluation به BoundDynamicType اضافه کرده ایم تا ارزیابی را پس از محدود شدن نوع پویا انجام دهیم. ( I19908 )

رفع اشکال

  • از شیء انیماتور برای انیمیشن های بعدی یک عنصر واحد استفاده می شود. ( ia3be9 )

نسخه 1.0.0-alpha04

22 فوریه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 منتشر می شود. نسخه 1.0.0-alpha04 شامل این تعهدات است.

ویژگی های جدید

  • ObservableStateStore اکنون هنگام حذف یک کلید ، شنوندگان را به شنوندگان اطلاع می دهد.
  • ما نسخه Schema Renderer و مقیاس FONT را به DeviceParameters اضافه کرده ایم (که می تواند برای ایجاد مشروط در پاسخ به نسخه های مختلف و تنظیمات قلم استفاده شود).
  • ما پشتیبانی از انیمیشن مقادیر DynamicInt32 را اضافه کرده ایم ( I05485 )
  • ما محرک های OnLoad و OnConditionalMet را اضافه کرده ایم. از اینها می توان برای شروع انیمیشن هایی که از یک ماشه پشتیبانی می کنند استفاده شود.
  • ما وزن چیدمان را برای ابعاد گسترش یافته و اندازه حداقل برای ابعاد پیچیده اضافه کرده ایم.
  • ما به مدت زمان و انواع پویا فوری اضافه کرده ایم. اینها می توانند برای نشان دادن یک فوری یا مدت زمان در یک بیان پویا استفاده شوند.
  • ما به عنوان منابع چیدمان ، پشتیبانی از AnimatedVectorDrawable و SeekableAnimatedVectorDrawable را اضافه کرده ایم.

تغییرات API

  • داده های سنسور به API 29+ نیاز دارد. ( i8099e )
  • ما دو روش launchAction Helper (برای فعالیت های راه اندازی) اضافه کرده ایم.

رفع اشکال

  • تغییر set/getSpec به set/getAnimationSpec در انیمیشن کاشی ( i3d74b )

نسخه 1.0.0-alpha03

8 فوریه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 منتشر می شود. نسخه 1.0.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • ما toByteArray() و fromByteArray() به انواع پویا در کتابخانه ProtoLayout-Express اضافه کرده ایم.
  • ما toString() به انواع پویا در کتابخانه بیان-بیان اضافه کرده ایم.
  • ما پشتیبانی ارزیابی را برای انواع پویا اضافه کرده ایم. کلاس DynamicTypeEvaluator از کتابخانه ProtoLayout-Expression-Pipeline می تواند برای ارزیابی (و دریافت مقادیر به روز شده) برای ایجاد نوع پویا قبلاً استفاده شود ( DynamicString ، DynamicFloat ،…)
  • هنگامی که انیمیشن ها نمی توانند پخش شوند (یا به دلیل اینکه توسط ارزیاب غیرفعال شده اند ، یا تعداد انیمیشن های در حال اجرا به حد تعیین شده رسیده است) ، از مقادیر استاتیک تنظیم شده بر روی گره Animatable برای جایگزینی انیمیشن استفاده می شود.

نسخه 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 را بپوشید

این کتابخانه اجازه می دهد تا مجموعه ای از طرح های UI و عبارات غیر UI را در سطوح از راه دور ارائه یا ارزیابی کند.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
7 مه 2025 1.2.1 - 1.3.0-beta02 -

اعلام وابستگی ها

برای افزودن وابستگی به 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.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.1"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.1"
}

کاتلین

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.1")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.1")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.1")
}
،

شیار

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.2.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.1"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.1"
}

کاتلین

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.1")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.1")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.1")
}

برای کسب اطلاعات بیشتر در مورد وابستگی ها ، به افزودن وابستگی های ساخت مراجعه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.3

نسخه 1.3.0-beta02

7 مه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta02 منتشر می شود. نسخه 1.3.0-beta02 شامل این تعهدات است.

رفع اشکال

  • ما در مقادیر طراحی تایپوگرافی که در API 36 و بالاتر اعمال می شود ، پیشرفت مهمی داشته ایم. این امر به این دلیل است که از API 36 ، تمام کاشی ها در قلم سیستم قرار می گیرند ، بنابراین این تغییر قوام بهتری را در چرخ فلک کاشی معرفی می کند. ( if316f )
  • در صورت عدم تنظیم layoutConstraints برای مقادیر پویا ، Text ، Spacer ، ArcLine و سازندگان DashedArcLine پرتاب نمی شوند. توجه داشته باشید که رندرهای قدیمی هنوز هم نیاز به تنظیم layoutConstraints دارند و هر مقدار پویا را که آن را تنظیم نمی کند ، نادیده می گیرد. ( IC52E8 )
  • اصلاح کننده معنایی عنوان را اضافه کنید تا نشان دهد که یک عنصر چیدمان برای دستیابی به بخشی از محتوا در نظر گرفته شده است و متن را در شکاف عنوان primaryLayout علامت گذاری می کند تا به طور پیش فرض به عنوان قابل دسترسی باشد. ( IAE1FB )
  • قطب نهایی UX از primaryLayout که در آن فضای بین شکاف عنوان و شکاف اصلی به جای 6DP در صفحه های کوچکتر به 4DP کاهش می یابد. ( i0e056 )
  • توضیحات محتوای پیش فرض را در textEdgeButton اعمال کنید. ( ifaf8b )
  • به روزرسانی جزئی در قسمت داخلی avatarButton . ( i0910b )

نسخه 1.3.0-beta01

9 آوریل 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta01 منتشر می شود. نسخه 1.3.0-beta01 شامل این تعهدات است.

ویژگی های جدید

نسخه 1.3.0-beta01 از SEAT ProtoLayout نشان می دهد که این نسخه از کتابخانه از ویژگی های کامل و API قفل شده است (به جز جایی که به عنوان تجربی مشخص شده است). پوشیدن Protolayout 1.3 شامل ویژگی های جدید و API های زیر است:

  • طراحی مواد 3 به ساعت می آید ، با قطعات و چیدمان هایی که برای صفحه نمایش گرد بهینه شده و به طور مناسب از اندازه های صفحه کوچک تا بزرگ به طور مناسب مقیاس می شوند
    • این شامل کتابخانه فقط Kotlin ، protolayout-material3 با API های تر آهنگسازی بیشتر برای مؤلفه ها و ویژگی های زیر است:
    • تم رنگی پویا از سیستم و تماشای چهره با آخرین موضوع Material3 برای رنگ ها ، شکل ها و تایپوگرافی ها
    • MaterialScope برای مراقبت از همه پیش فرض های نظر شده و سفارشی سازی آسان تر
    • iconEdgeButton ، textEdgeButton
    • iconButton ، textButton ، button ، imageButton ، avatarButton ، compactButton
    • titleCard ، appCard ، graphicDataCard ، iconDataCard ، textDataCard
    • circularProgressIndicator ، segmentedCircularProgressIndicator
    • primaryLayout ، buttonGroup
    • همه مؤلفه ها در هر سطح SDK و نسخه renderer protoLayout کار می کنند ، و در صورت لزوم ، برگه های معقول را تأمین می کنند
  • بیشتر API های سازگار با کوتلین ، مانند عناصر پیش بینی پایه
    • LayoutModifier با توانایی اضافه کردن بیشترین اصلاح کننده ها به عنوان توابع زنجیره ای ( padding ، contentDescription (از جمله clearSemantics ) ، background ، clip ، opacity و غیره) ، قابل تبدیل به شیء Modifiers موجود
    • LayoutColors و LayoutString به عنوان انواع با پشتیبانی آسان تر برای استفاده از زمینه ها و محدودیت های پویا
    • text و fontStyle
    • پشتیبانی بهتر نقشه برای StateBuilder ، از جمله روش های DynamicDataMap و کارخانه مانند intAppDataKey برای ایجاد آسان تر اشیاء AppDataKey
  • پشتیبانی از انیمیشن های LOTTIE از جمله گزینه ای برای تنظیم محرک های مختلف در هنگام شروع انیمیشن ، به عنوان مثال هنگام بارگیری طرح یا هنگامی که طرح قابل مشاهده است
    • پشتیبانی شیب بهبود یافته:
    • API شیب خطی به عنوان بخشی از Brush که می تواند در اصلاح کننده های Background برای عناصری مانند Box ، Spacer و غیره استفاده شود ...
    • مقادیر رنگ پویا را در ColorStop استفاده کنید که برای شیب خطی و جارو استفاده می شود
    • شیب جارو موجود در اشیاء قوس اکنون از رنگهای پویا پشتیبانی می کند و زوایای شروع و پایان
  • اتصال داده های پلتفرم در protolayout-expression برای دریافت اطلاعات در هر زمان که دید طرح تغییر می کند ، که به عنوان مثال می تواند برای مخفی کردن قسمت های خاصی از طرح در حالی که کاشی به سمت آن می چرخد ​​، استفاده شود
  • کتابخانه تست - protolayout-testing - برای پشتیبانی از پوشش آسان تست واحد برای هرگونه عناصر پیش بینی اضافه شده است
  • عنصر جدید DashedArcLine با مجموعه ای از ویژگی های بهبود یافته به طوری که خط می تواند بر خلاف ArcLine موجود وجود داشته باشد
  • پشتیبانی ArcSpacer برای تنظیم طول آن در بعد DP به جای درجه
  • محور FontSetting گرد اضافه شده برای برخی از فونت ها قابل استفاده است

نسخه 1.3.0-alpha10

12 مارس 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 منتشر می شود. نسخه 1.3.0-alpha10 شامل این تعهدات است.

ویژگی های جدید

  • یاور را برای برس در اصلاح کننده پس زمینه کوتلین اضافه کنید. ( i995de )
  • زمینه زمینه اجباری اندرویدی در MaterialScope عمومی ساخته شده است تا امکان استفاده آسان تر در کارکردهای توسعه دهندگان را ایجاد کند که مؤلفه هایی را برای کاشی های Material3 ایجاد می کند. ( i7df73 )

تغییرات API

  • تغییر نام API platformVisibilityStatus به PlatformEventSources.isLayoutVisible و اضافه کردن یک API جدید API PlatformEventSources.isLayoutUpdatePending . ( IE1E04 )

رفع اشکال

  • در عوض حاشیه برای primaryLayout به درستی گرد شده است ، که می تواند در برخی از چیدمان تا فضای 2DP کمتر برای شکاف اصلی تأثیر بگذارد. ( i8f5d3 )
  • شفاف سازی موضوع رنگ پویا پیش فرض در اجزای ProtoLayout Material3. ( iff5f3 )
  • Typography.NUMERAL_* تایپوگرافی ها به طور پیش فرض دیگر جداول/مونوسپ فضای نیستند. اگر متن متحرک است ، توصیه می شود که تنظیمات FontSetting.tabularNum() را به آن اضافه کنید. در همه موارد دیگر این گزینه monospace مورد نیاز نیست و با استفاده از آن شخصیت های بیشتری در دسترس خواهد بود. ( id3cd9 )
  • شفاف سازی موضوع رنگ پویا پیش فرض در اجزای ProtoLayout Material3. ( i9d831 )

نسخه 1.3.0-alpha09

26 فوریه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 منتشر می شود. نسخه 1.3.0-alpha09 شامل این تعهدات است.

ویژگی های جدید

  • اصلاح کننده های تجربی برای enterTransition و exitTransition اضافه شده است ( I4A4D6 )
  • ما برای دریافت وضعیت دید طرح کامل ، هر زمان که تغییر کند ، به پلت فرم اضافی اضافه کرده ایم. ( i250c3 )
  • برای ارزیابی مقادیر پویا ، اجازه می دهد تا داده های برنامه و پلت فرم را به LayoutElementAssertionsProvider تزریق کنید. ( IB5FCB )
  • فیلترهای گوشه ای را به کتابخانه تست Protolayout اضافه کنید ( IE2361 )
  • ButtonColors ، CardColors و ProgressIndicatorColors اکنون از روش کپی پشتیبانی می کنند ، با نادیده گرفتن اختیاری برخی از پارامترها. ( IE2054 )

تغییرات API

  • پشتیبانی از اتصال داده های پویا را به کتابخانه آزمایش اضافه کنید ( IB98DE )
  • با از بین بردن imageButton با استفاده از عملکرد پس زمینه با استفاده از عملکرد backgroundImage استفاده کنید. علاوه بر این ، به عملکرد backgroundImage اجازه دهید تا NULL برای رنگ پوشش را مشخص کند ، به این معنی که پوشش استفاده نمی شود. ( ibec3c )

رفع اشکال

  • تغییر روش پیش فرض hasValueOfType برای پرتاب UnsupportedOperationException به جای IllegalArgumentException . ( ia36c3 )
  • مقادیر پیش فرض رنگ توکن به روزرسانی می شود تا آخرین مشخصات را منعکس کند. ( i75d44 )
  • رفع مشکل غیرقانونی در خطوط قوس در کاشی های Androidx قابل مشاهده است. ( i88190 )

نسخه 1.3.0-alpha08

12 فوریه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 منتشر می شود. نسخه 1.3.0-alpha08 شامل این تعهدات است.

ویژگی های جدید

  • پارامتر لیست FontSetting را برای متن Material3 اضافه کنید. ( IC102D )
  • کلاس DynamicDataMap اضافه شده است که اکنون StateBuilder از نوع بهتر Kotlin API برای حالت برنامه پشتیبانی می کند ( I012BA )
  • روشهای کارخانه اضافه شده مانند intAppDataKey برای ایجاد آسان تر اشیاء AppDataKey ( ICEA2A )
  • DynamicDataValue اکنون علاوه بر روشهای hasInt/hasColor/ .... روش HasValueOftype hasValueOfType(Class<?>) ) دارد.
  • ما برای خطاهای اولویت بالا یا اقدامات اضطراری مانند هشدارهای ایمنی ، errorDim به Material3 Protolayout ColorScheme اضافه کرده ایم. ( IA17BB )
  • ما هنگام دسترسی به تنظیمات جهانی کاهش ، که در بعضی از سیستم عامل ها که در آن تنظیم نشده بود ، در برابر تصادف محافظت کرده ایم. ( i01e2c )

تغییرات API

  • addKeyToValueMapping به addToStateMap و DynamicDataMap.put تغییر نام داده می شود. ( IBE9DD )
  • Typography Material3 اکنون از محورهای متغیر گرد برای فونت های سیستم پشتیبانی می کند که از این محور پشتیبانی می کنند. FontSetting ProtoLayout از محور گرد برای فونت هایی که از این محور پشتیبانی می کنند ، پشتیبانی می کند. ( i33eb5 )
  • تغییر نام به multilineAlignment به تراز در روش متن 3. ( i2b66b )
  • نشانگر پیشرفت دایره ای را به روز کنید تا از نوع جعبه استفاده کنید ، همچنین mainContent در constructGraphic به نوع جعبه مشخص کنید ( I5A3DC )
  • پشتیبانی بهتر برای استفاده از نشانگر پیشرفت دایره ای در نمودار ( I039DB )

رفع اشکال

  • مقادیر پویا را در ColorStop و همچنین برای زاویه های شروع/پایان در SweepGradient اجازه دهید. ( I0146D )
  • اسناد برطرف می شود. ( i4a63a )
  • مواد به روز شده 3 مؤلفه ( graphicCard و avatarButton ) برای ارائه بازپرداخت در هنگام پشتیبانی از ابعاد گسترش weight پشتیبانی نمی کنند (به عنوان مثال زیر API 33). مؤلفه متن به روز شده برای بازگرداندن به TEXT_OVERFLOW_ELLIPSIZE_END هنگامی که TEXT_OVERFLOW_ELLIPSIZE توسط رندر پشتیبانی نمی شود. ( i19e2c )
  • به روزرسانی اسناد برای PrimaryLayoutMargins . ( IBAF7B )

نسخه 1.3.0-alpha07

29 ژانویه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 منتشر می شود. نسخه 1.3.0-alpha07 شامل این تعهدات است.

ویژگی های جدید

  • گزینه API اضافه شده برای تنظیم محرک های مختلف برای انیمیشن های Lottie. علاوه بر این ، API اضافه شده برای محرک های شلیک شده در هنگام مشاهده طرح ( I8272D )
  • اصلاح کننده های border ، visibility و opacity اضافه شده است. ( i6d3dd )
  • دکمه آواتار را به مؤلفه ProtoLayout Material3 اضافه کرد. ( idb5ae )
  • اکنون ما اجازه می دهیم حاشیه ها (سمت و در بعضی موارد پایین) در primaryLayout Material3 سفارشی شوند. ( IB22F6 )
  • نوع تقسیم شده از شاخص پیشرفت دایره را اضافه کنید. ( i6a648 )
  • مؤلفه دکمه جمع و جور را به ProtoLayout Material3 اضافه کرد. ( IA3C5C )
  • دکمه شکل قرص و مؤلفه های دکمه تصویر را به ProtoLayout Material3 اضافه کرد. ( IFB88a )

تغییرات API

  • LayoutModfier.foldIn اکنون foldRight نامیده می شود تا رفتار مورد انتظار آن را بهتر منعکس کند ( IDF242 )
  • ماشه VisibleOnce اکنون آزمایشی است. ( IB2D26 )
  • با استفاده از API عمومی از withOpacity خارج شوید زیرا یک جایگزین کتابخانه گرافیکی وجود دارد. ( I030C2 )
  • برای داشتن نام های دوستانه جاوا به روشهای سطح بالا در LayoutString.kt و LayoutColor.kt تغییر نام داد. ( i7aff0 )
  • تایپوگرافی های غیر پرووتولی را در مواد 3 حذف کرد. ( idd9ae )
  • رنگ پسوند را به مزارع در کلاسهای *Colors در مواد 3 اضافه کنید. ( I2D114 )

رفع اشکال

  • اجرای Fallback EdgeButton را برای ارائه دهنده های قدیمی بدون پشتیبانی از گوشه های نامتقارن اضافه کنید. ( i63364 )
  • اجرای Fallback از شاخص پیشرفت دایره ای را با رندر قدیمی تر اضافه کنید. ( I0F134 )

نسخه 1.3.0-alpha06

15 ژانویه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 منتشر می شود. نسخه 1.3.0-alpha06 شامل این تعهدات است.

ویژگی های جدید

  • LayoutColor برای پشتیبانی از هر دو نوع رنگ استاتیک و پویا ( I4C89B )
  • مؤلفه TextButton ProtoLayout Material3 اضافه شده است. ( id680d )
  • مؤلفه ProtoLayout Material 3 iconButton اضافه کنید. ( ICA3F0 )
  • مؤلفه کانتینر دکمه Protolayout Material3 اضافه شده است. ( i17a38 )
  • پشتیبانی از اصلاح کننده های معنایی زنجیره ای به ProtoLayout-Material3 ( I4AF62 ) اضافه شد
  • اضافه شده Protolayout Material3 بخش تک بخش CircularProgressIndicator ( I2C8A2 )
  • اضافه شده padding ، اصلاح کننده های metadata ( I8720A )
  • background ، clip و اصلاح کننده های clickable اضافه شده ( I35478 )
  • برای مسواک زدن LinearGradient به صورت خطی اضافه کنید و اجازه دهید از آن در اصلاح کننده پس زمینه استفاده شود. ( IC4DEA )
  • اندازه کوچک را برای AppCard و titleCard اضافه کنید. ( i91f98 )
  • مؤلفه Protolayout Material3 graphicDataCard اضافه شده است. ( i92be7 )
  • ProtoLayout Material3 iconDataCard و textDataCard اضافه شده است. ( i4e1e4 )
  • مؤلفه appCard ProtoLayout Material3 اضافه شده است. ( id4c57 )
  • EdgeButtonColors به ButtonColors . ( i83624 )
  • مؤلفه titleCard ProtoLayout Material3 اضافه شده است. ( i2dc72 )

تغییرات API

  • Protolayout Material3 API اکنون برای پشتیبانی از متون استاتیک و پویا ، LayoutString می پذیرد. ( i9c24a )

رفع اشکال

  • اجرای Renderer را برای تورم DashedArcLine ( I0C700 ) اضافه کنید
  • تغییر رندر برای اجازه دادن به ArcSpacer طول DP. ( i1437b )

نسخه 1.3.0-alpha05

11 دسامبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 منتشر می شود. نسخه 1.3.0-alpha05 شامل این تعهدات است.

ویژگی های جدید

  • LayoutString اضافه شده برای پشتیبانی از زمینه های رشته ای طرح بندی پذیر. ( IDA650 )
  • مؤلفه کانتینر کارت ProtoLayout Material3 اضافه شده است. ( IC985a )

رفع اشکال

  • این کتابخانه اکنون از حاشیه‌نویسی‌های پوچ JSpecify استفاده می‌کند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود). ( id1f9b ، b/326456246 )

نسخه 1.3.0-alpha04

13 نوامبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 منتشر می شود. نسخه 1.3.0-alpha04 شامل این تعهدات است.

ویژگی های جدید

  • به روز شده Material3 شکل به عنوان کلاس با فیلدهایی که مقدار گوشه واقعی را نگه می دارد ، همانند سایش آهنگسازی. ( ied8cd )
  • به روز شده Material 3 Colors شامل مفهوم ColorScheme ، همانند Wear Compose. ( if645e )
  • چندین مبهم متداول را به کتابخانه تست اضافه کنید. ( IE5CEC )

نسخه 1.3.0-alpha03

30 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 منتشر می شود. نسخه 1.3.0-alpha03 شامل این تعهدات است.

ویژگی های جدید

  • اضافه کردن LayoutElementAssertionsProvider ، LayoutElementAssertion و LayoutElementMatcher به کتابخانه آزمایش ( ID1110 ) اضافه کنید

نسخه 1.3.0-alpha02

16 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 منتشر می شود. نسخه 1.3.0-alpha02 شامل این تعهدات است.

ویژگی های جدید

  • نسخه اولیه کتابخانه مواد 3. شامل text ، edgeButton ، buttonGroup و primaryLayout .

رفع امنیتی

  • با توجه به این تغییر ، androidx در برابر protobuf 4.28.2 به منظور آدرس دهی CVE-2024-7254 کامپایل می شود. وابستگی خود را به نسخه 1.3.0-alpha01 از androidx.wear.protolayout:protolayout-proto و androidx.wear.protolayout:protolayout-external-protobuf به 1.3.0-alpha02 برای رفع خطر آسیب پذیری ارتقا دهید.

مشارکت خارجی

نسخه 1.3.0-alpha01

2 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 منتشر می شود. نسخه 1.3.0-alpha01 شامل این تعهدات است.

رفع اشکال

  • توضیح داد که در دسترس بودن نام خانوادگی FONT Roboto و Roboto Flex وابسته به دستگاه است. ( i193be )
  • خانواده قلم Flex Roboto را در رندر کاشی Androidx فعال کنید. ( i08e94 )

نسخه 1.2

نسخه 1.2.1

16 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.2.1 منتشر می شود. نسخه 1.2.1 شامل این تعهدات است.

رفع امنیتی

  • با توجه به این تغییر ، androidx در برابر protobuf 4.28.2 به منظور آدرس دهی CVE-2024-7254 کامپایل می شود. وابستگی خود را به نسخه 1.2.0 androidx.wear.protolayout:protolayout-proto و androidx.wear.protolayout:protolayout-external-protobuf به 1.2.1 برای رسیدگی به خطر آسیب پذیری ارتقا دهید.

نسخه 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.2.0-RC01

24 جولای 2024

androidx.wear.protolayout:protolayout-*:1.2.0-rc01 منتشر می شود. نسخه 1.2.0-RC01 شامل این تعهدات است.

رفع اشکال

  • ما تراشه مواد استاندارد را ثابت کرده ایم تا فقط در صورتی که هیچ یک از برچسب های اولیه یا ثانویه منتقل نشود ، می توان از آن به عنوان یک نماد استفاده کرد. ( ICEEF9 )
  • مستندات مربوط به طرح بندی مواد به روز شده است تا برای درک آسان تر از طرح ها ، تصاویری از صفحه مربوطه را شامل شود. ( i0256a )

نسخه 1.2.0-beta01

10 جولای 2024

androidx.wear.protolayout:protolayout-*:1.2.0-beta01 منتشر می شود. نسخه 1.2.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

نسخه 1.2.0-beta01 از SEAT ProtoLayout نشان می دهد که این نسخه از کتابخانه از ویژگی های کامل و API قفل شده است (به جز جایی که به عنوان تجربی مشخص شده است). پوشیدن Protolayout 1.2 شامل ویژگی های جدید و API های زیر است:

  • FontStyle به روز شده است تا از فونت اضافی به شرح زیر باشد:
    • تنظیم تنظیمات مختلف فونت مانند FontSetting.weight و FontSetting.width
    • تنظیم عرض یکسان برای همه شخصیت های عددی - اعداد جدولی (تنظیم ویژگی های فونت FontSetting.tnum )
    • API های انتخاب فونت بهبود یافته برای پشتیبانی از فونت های Flex آینده با مشخص کردن نام خانوادگی فونت مورد نظر برای استفاده.
  • اصلاح کننده Corner گسترده برای پشتیبانی از مشخص کردن هر CornerRadius با مقادیر جداگانه افقی و عمودی برای اجازه دادن به عناصر ساختمان با گوشه های نامتقارن.
  • یک اصلاح کننده Transformation جدید اضافه شده و ترجمه ، چرخش و مقیاس بندی LayoutElement را ارائه می دهد. این تحولات می توانند با استفاده از مقادیر پویا متحرک شوند.
  • برای پشتیبانی بهتر در جهت های مختلف چیدمان (مانند LTR و RTL) ، setArcDirection با گزینه های Clockwise ، CounterClockwise و Normal به همه عناصر قوس ( Arc ، ArcLine و ArcText ) اضافه کرد (مانند LTR و RTL).
  • با گسترش منطقه قابل استفاده از هر عنصری که از اصلاح کننده Clickable استفاده می کند حداقل 48dp توسط 48dp باشد ، دسترسی به همه اهداف لمسی بهبود یافته است.
  • بهبود PrimaryLayout و EdgeContentLayout با اضافه کردن setResponsiveContentInsetEnabled برای پشتیبانی بهتر از رفتار پاسخگو از این طرح بندی ها در اندازه های مختلف صفحه نمایش و بهبود قوام کاشی. هشدار Linter اضافه شده برای استفاده از این API ها با رفع سریع.
  • بهبود مقیاس/عدم مقیاس Text متن برای مقیاس بندی قلم غیرخطی Android 14.

تغییرات API

  • نام خانوادگی فونت پیش فرض ( DEFAULT_SYSTEM_FONT ) حذف می شود زیرا با استفاده از API preferredFontFamilies دلالت می کند. ( 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 Const به جای کلاس سازنده خود در FontStyle قرار می گیرد. ( i06ced )
  • API FontSetting.weight به روز FontSetting.width . ( IA726C )

رفع اشکال

  • متون غیر قابل مقیاس در کتابخانه مواد اکنون به درستی با مقیاس بندی قلم غیرخطی Android 14 کار می کنند. ( i6601e )

نسخه 1.2.0-alpha04

29 مه 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 منتشر می شود. نسخه 1.2.0-alpha04 شامل این تعهدات است.

تغییرات API

  • گوشه های نامتقارن API اضافه شده است تا بتواند شعاع هر گوشه را با 2 مقدار جداگانه مشخص کند. ( ICBD69 )
  • گسترش API FontSetting برای شامل موارد زیر است:
    • تنظیم ویژگی فونت مانند تنظیم قلم به صورت جدولی. ( if12b7 )
    • تنظیم تنوع قلم مانند تنظیم عرض سفارشی برای فونت های متغیر. ( i2b36d )
  • API خانواده قلم اضافه شده به FontStyle برای مشخص کردن لیست سفارش از خانواده های قلم که باید استفاده شود. ( IBA9F5 )
  • تغییر نام داد برای ارتفاع فضا بین محتوا و برچسب ثانویه در 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 شامل این تعهدات است.

ویژگی های جدید

  • 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 )
  • ما یک قانون LINT را برای گزارش یک هشدار اضافه کرده ایم که در هنگام استفاده 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 ) به آن دارند. Adding this behavior to Arc , ArcLine or ArcText will fix their behavior on RTL layouts. ( I90699 )
  • EdgeContentLayout has been updated with a new setResponsiveContentInsetEnabled setter to achieve better alignment with the UX guidelines, consistency in Tiles by having primary label at the fixed place on top and responsive inset for labels. ( I60175 )
  • We have added PrimaryLayout.setResponsiveContentInsetEnabled that adds responsive inset to the primary label, secondary label and bottom chip in this layout, to avoid that content going off the screen edge. ( I0c457 )
  • Adds method to remove outer margins from CircularProgressIndicator so it can be used as a smaller component. ( I55c06 )

تغییرات API

  • Tiles renderer now excludes font padding on all text elements by default, without an option to include it. ( I3e300 )

رفع اشکال

  • Fixed Text alignment issue when ellipsize, letter spacing and center align are all used on Text. ( I716c7 )
  • Add a workaround for a skia arc drawing issue. ( I08f09 )
  • Fix ArcLine drawing direction for RTL layouts. ( I6c141 )

نسخه 1.1

نسخه 1.1.0

7 فوریه 2024

androidx.wear.protolayout:protolayout-*:1.1.0 is released. نسخه 1.1.0 شامل این تعهدات است.

تغییرات مهم از 1.0.0

  • Gradient support and better representation of lengths larger than 360 degrees in ArcLine .
  • Date-time formatting supports different time zones for dynamic data types.
  • Better text autosizing and ellipsizing options, to handle truncated text.
  • Spacer supports expanded dimensions with optional weight.
  • Schema version requirement annotation to all ProtoLayout APIs.
  • Extended target area to any Clickable element to 48 dp x 48 dp, to satisfy accessibility requirements.
  • Font padding is turned off by default and is the only behavior across all Text elements and Material components that contain text.

تغییرات اضافی

نسخه 1.1.0-rc01

24 ژانویه 2024

androidx.wear.protolayout:protolayout-*:1.1.0-rc01 is released. نسخه 1.1.0-RC01 شامل این تعهدات است.

رفع اشکال

  • PlatformTimeUpdateNotifierImpl ticks immediately after enabling update. ( I77145 )
  • CircularProgressIndicator has been fixed for RTL layouts. From now on, it will go clockwise in all cases. ( I95ee3 )
  • Add a workaround for a skia arc drawing issue. ( I08f09 )

نسخه 1.1.0-beta01

10 ژانویه 2024

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 is released. نسخه 1.1.0-beta01 شامل این تعهدات است.

ویژگی های جدید

The 1.1.0-beta01 release of Wear ProtoLayout indicates that this release of the library is feature complete and the API is locked (except where marked as experimental). Wear ProtoLayout 1.1 includes the following new functionalities and APIs:

  • ArcLine now supports gradient by adding Brush with SweepGradient and having a shadow on the cap to better represent length larger than 360 degrees by adding Shadow on the existing StrokeCap .
  • DynamicInstant has support for zoned date-time formatting. DynamicInstant and DynamicDuration can be used as state or platform data types.
  • Autosizing feature for text size that allows setting multiple sizes to FontStyle.setSizes where the Text size will automatically scale based on the space it has inside of the parent. Additionally, we improved ellipsizing options for text that overflows by adding TEXT_OVERFLOW_ELLIPSIZE and deprecating TEXT_OVERFLOW_ELLIPSIZE_END .
  • Spacer now supports having expanded dimensions with optional weight. For building ExpandedDimensionProp we have added a helper method DimensionBuilders.weight .
  • Support for dynamically hiding and unhiding layout elements with Modifier.visible . This includes having dynamic values in BoolProp .
  • All ProtoLayout APIs now have schema version requirement annotation and version can be checked before calling a newer API.
  • Every element that has Clickable now 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 Text elements. Additionally, AndroidTextStyle and related setters have been removed from the public API. with following bug fixes:
  • Added a setter for positioning the edge content in EdgeContentLayout so 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 SweepGradient API to allow accepting either colors or ColorStops in the constructor. ( I6676f )

رفع اشکال

  • Adding a restricted API and renderer support for setting a direction in which arc elements are drawn. ( Idef5a )
  • RoundMode defaults to Floor in FloatToInt32Node when unspecified. The node will still throw an exception if the provided RoundMode is unrecognized. ( I1b2d8 )

نسخه 1.1.0-alpha04

13 دسامبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.

ویژگی های جدید

  • VersionInfo class not implements the Comparable interface. ( I8d13c )
  • Renderer now supports TEXT_OVERFLOW_ELLIPSIZE option. ( I7f085 )

تغییرات API

  • Text overflow option TEXT_OVERFLOW_ELLIPSIZE_END is now deprecated. Please use the new API TEXT_OVERFLOW_ELLIPSIZE with 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, AndroidTextStyle and related setters have been removed from the public API. ( I79094 , Ib0b03 , I32959 , Iaf7d5 , Ifa298 , I0a4ae , Ida9d3 )
  • Modifier.hidden is replaced with Modifier.visible ( I56902 )
  • FontStyle#setSizes now accepts int instead of SpProp arguments. ( 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 )

نسخه 1.1.0-alpha03

29 نوامبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 is released. نسخه 1.1.0-alpha03 شامل این تعهدات است.

ویژگی های جدید

  • Add experimental support for dynamically hiding/unhiding layout elements ( I64a78 )
  • Add dynamic value support to BoolProp ( I2fe96 )
  • Add schema version requirement annotation to ProtoLayout APIs ( I0f03c )
  • Extending the API with the new option in TextOverflow for 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.weight for building ExpandedDimensionProp with weight. ( I4f72b )
  • DynamicInstant and DynamicDuration can be used as state or platform data types. ( I6819f )

تغییرات API

  • Update The API to hide DynamicZonedDateTime and move all its operations to DyanamicInstant ( I34b94 )
  • Spacer now supports Expanded dimension for width/height. ( Ie7c94 )
  • Support click target area extension in Renderer ( I39c79 )

نسخه 1.1.0-alpha02

15 نوامبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 is released. نسخه 1.1.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • Added an ArcLine StrokeCap Shadow field 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 StrokeCap Shadow . ( I48b17 )
  • Add renderer support for Sweep Gradient in ArcLine . ( I4d5bb )

نسخه 1.1.0-alpha01

18 اکتبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 is released. نسخه 1.1.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • Added a brush option to Arcline , with support for SweepGradient . ( 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 EdgeContentLayout so 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 )

نسخه 1.0

نسخه 1.0.0

9 آگوست 2023

androidx.wear.protolayout:protolayout-*:1.0.0 is released. نسخه 1.0.0 حاوی این commit ها است.

ویژگی های اصلی 1.0.0

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.

نسخه 1.0.0-rc01

26 جولای 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 is released. نسخه 1.0.0-rc01 حاوی این commit ها است.

  • To migrate from Tiles to ProtoLayout , please follow the instructions here .

تغییرات API

  • We have removed setLayoutConstraintForDynamicAnchorAngle and getLayoutConstraintForDynamicAnchorAngle methods 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 nested LayoutElements . ( I8a74b )

رفع اشکال

  • We have added a check to throw if DynamicColor has been set for a SpanText . ( I0e5bc )
  • It is clarified that DAILY_CALORIES data source unit is kcal. ( Iaa785 )

نسخه 1.0.0-beta01

21 ژوئن 2023

androidx.wear.protolayout:protolayout-*:1.0.0-beta01 is released. نسخه 1.0.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

  • Allow setting clock for time binding tests. ( I05622 )

تغییرات API

  • PlatformDataReceiver.onData() and StateBuilders.Builder.addKeyToValueMapping now accept type-safe mapping of DynamicDataKey to DynamicDataValue rather than unsafe generics. That means that DynamicDataValue is now typed with its DynamicType . HEART_RATE_ACCURACY_X constants moved to the root of PlatformHealthSources , to match other Android constants positioning. HEART_RATE_ACCURACY_X int constants are now used directly in DynamicHeartRateAccuracy.constant() and DynamicHeartRateAccuracy.dynamicDataValueOf() instead of value constant. ( I82ff5 )
  • The PlatformHealthSources.Constants class was instantiable by mistake. This has been fixed now. ( Icb849 )
  • PlatformTimeUpdateNotifier#setReceiver now receives Runnable instead of Supplier function and Executor to notify on. ( I9d938 )
  • We have changed the parameter type in the PlatformTimeUpdateNotifier#setReceiver from Callable to Supplier . ( I664bf )
  • CompactChip and TitleChip now 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

7 ژوئن 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits.

ویژگی های جدید

  • We've added a PlatformDataKey for heart rate accuracy. ( I7f9b8 )

تغییرات API

  • Rename StateBuilders#getIdToValueMapping to getKeyToValueMapping and change the return type to Map<<AppDataKey<?>,DynamicDataValue> . ( Iaa7ae )
  • Make StateStore a final class ( I408ca )
  • TimeGateway interface has been replaced by PlatformTimeUpdateNotifier in protolayout-expression-pipeline library which provides desired frequency for updating time data. ( I60869 )
  • Rename register / unregisterForData in PlatformDataProvider to set / clearReceiver ( I14b02 )
  • In Material Text, getExcludeFontPadding has been renamed to hasExcludeFontPadding . ( Iea01d )
  • Setter for perfectly aligning label was added to all chip components. All chips now have min tappable target applied. ( I8ae92 )
  • LayoutDefaults#BUTTON_MAX_NUMBER has been renamed to MAX_BUTTONS . ( I84788 )
  • DAILY_DISTANCE is renamed to DAILY_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 )
  • PlatformDataKey namespaces should follow Java style naming. ( I47bda )

Version 1.0.0-alpha10

24 مه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.

ویژگی های جدید

  • Add AppDataKey for accessing app pushed state; Add PlatformDataKey for accessing platform data; Add namespace support in StateStore . ( I7985e )
  • Support Equal and NotEqual operations for DynamicBool . ( I6a0c1 )

تغییرات API

  • FontStyles class is now final ( Iaa2ea )
  • LayoutElementBuilders#FontStyles has been deprecated. Please use androidx.wear.protolayout.Typography or create your own FontStyle . ( Ic929b )
  • Hide Action#Builder nested interface from Action interface. Implementations of Builder are already provided by LoadAction and LaunchAction classes. ( I1d70c )
  • Allow using DynamicFloat with FloatProp . Note that FloatProp do no require layout constraints as it's not used as a layout changing prop. ( I286ac )
  • The LoalAction and SetStateAction actions are removed as they were not really supported yet. ( I5d6a6 )
  • Added support for ARGB_8888 format for inline image resources. ( I8a07c )
  • Rename StateEntryValue to DynamicDataValue , and update the state APIS to use the DynamicDataKey ( If1c01 )
  • We are limiting the number of entries that are allowed in the StateStore in order to ensure that memory usage and state update time are well contained and controlled for each instance of the StateStore . As a result, the developer needs to ensure that they do not have more than MAX_STATE_ENTRY_COUNT entries in the map otherwise they will get an IllegalStateException when creating or updating the StateStore . ( Ibadb3 )
  • Hide OnLoadTrigger and OnConditionMetTrigger classes, and rename setTrigger to setCondition for OnConditionMetTrigger . ( Ibf629 )
  • For performance and compatibility reasons, the ProtoLayout renderers won't support the full set of features in AnimatedVectorDrawable resources. 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.cubicBezier method replaces the CubicBezierEasing.Builder . With that the EasingFunction class is removed and the easing constants from that class are now directly accessible from the Easing interface. In addition setInfiniteRepeatable is replaced by INFINITE_REPEATABLE_WITH_RESTART and INFINITE_REPEATABLE_WITH_REVERSE ( Ib41e7 )
  • Implement PlatformDataProvider to provide heart rate and daily steps. SensorGateway interface is removed from public API. ( I55b84 )
  • Add PlatformDataProvider , and update StateStore to register to PlatformDataProvider when the provider's supported key is required by node from expression pipeline. ( Ib616a )
  • SensorGateway is no longer Closeable as it no longer maintains any state. ( I6b4f7 )
  • Allow using FloatProp with DynamicFloat for progress in CircularProgressIndicator . This is supported for renderers supporting version 1.2. Old renderers will fallback to the staticValue if provided, otherwise to 0 ( I0d91b )
  • MultiButtonLayout constants have been refactored into LayoutDefaults.MultiButtonLayoutDefaults class which now contains those for button sizes depending on a number of buttons in the layout. ( I13973 )
  • Support using StringProp with DynamicString in Material Text. This is supported for renderers supporting version 1.2. Old renderers will fallback to the provided static value. Update Text#getText return type from String to StringProp . ( I7275b )

Version 1.0.0-alpha09

10 مه 2023

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 StrokeCap support for ArcLine . ( 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/disablePlatformSource methods have been removed from DynamicTypeEvaluator . 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 @IntRange for duration and delay in AnimationParameters. ( I388b6 )

Version 1.0.0-alpha08

19 آوریل 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.

ویژگی های جدید

  • AndroidTextStyle has been added to LayoutElementBuilders . ( I8d967 )
  • We have added support for setting excluding font padding in ProtoLayout Material Text. ( I17f5d )
  • ARGB_8888 is now supported for inline images. ( I18c1e )
  • DynamicColor now supports onCondition operation. ( I10927 )

تغییرات API

  • Support custom duration for reverse animation ( I3251f )
  • We've added the SemanticDescription modifier. In addition, ContentDescription is not bindable. ( I3f1d )
  • The DynamicBool.isFalse() method is now replaced with DynamicBool.negate() and the DynamicBool.isTrue() is removed. In addition NaN DynamicFloat values and narrowing a DynamicInt32 to a DynamicFloat now 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#onPreUpdate has been removed. ( I2dc35 )
  • Length of Strings in dynamic expressions are now capped. ( I4c93 )
  • The gradle dependencies are now correctly set to api instead of implementation when required. ( I40503 )

Version 1.0.0-alpha07

5 آوریل 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

ویژگی های جدید

  • Add dynamic value support to StringProp ( I04342 )
  • Mark bindable layout elements ( Ia110b )

تغییرات API

  • sensorGateway#registerSensorGatewayConsumer takes data type as a parameter instead of method in Consumer. ( Icf314 )
  • ObservableStateStore has been renamed to StateStore . ( Ieb0e2 )
  • Added DynamicTypeEvaluator.Builder instead of constructor arguments to allow more optional arguments, including ObservableStateStore which 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

22 مارس 2023

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 DynamicColor support to Border and Background
  • We've added dynamic value support to types in DimensionBuilder
  • Layout and components from tiles-material are moving to protolayout-material

تغییرات API

  • LoadActionListener has been added to ProtoLayoutViewInstance . ( If7806 )

رفع اشکال

  • Added FloatNodesTest ( Id7281 )
  • Fix renderer crash when unable to load structured bitmap.

Version 1.0.0-alpha05

8 مارس 2023

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 Modifiers object. 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 forwardRepeatDelayMillis and reverseRepeatDelayMillis to Repeatable . We've also renamed delayMillis in AnimationSpec to startDelayMillis ( Ifb266 )
  • DynamicTypeEvaluator.bind methods now accept an Executor. ( I346ab )
  • We've added the startEvaluation method to the BoundDynamicType to 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

22 فوریه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.

ویژگی های جدید

  • ObservableStateStore now 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 DynamicInt32 values ( I05485 )
  • We've added OnLoad and OnConditionalMet triggers. 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 AnimatedVectorDrawable and SeekableAnimatedVectorDrawable as layout resources.

تغییرات API

  • Sensor data requires API 29+. ( I8099e )
  • We've added two launchAction helper methods (for launching Activities).

رفع اشکال

  • Rename set/getSpec to set/getAnimationSpec in Tiles animation ( I3d74b )

نسخه 1.0.0-alpha03

8 فوریه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 is released. نسخه 1.0.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • We have added toByteArray() and fromByteArray() 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 DynamicTypeEvaluator class 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.

نسخه 1.0.0-alpha02

25 ژانویه 2023

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. نسخه 1.0.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • Layout builders from androidx.wear.tiles:tiles are moving to androidx.wear.protolayout:protolayout . The ones in androidx.wear.tiles:tiles will be deprecated in one of the next alpha releases.

نسخه 1.0.0-alpha01

11 ژانویه 2023

androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 and androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 are released. نسخه 1.0.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • This release introduces a new library "ProtoLayout Expression" for creating expressions from dynamic variables.
،

wear protolayout

This library allows defining a set of UI layouts and non-UI expressions to be rendered/evaluated on remote surfaces.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
7 مه 2025 1.2.1 - 1.3.0-beta02 -

اعلام وابستگی ها

To add a dependency on wear-protolayout, you must add the Google Maven repository to your project. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.2.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.1"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.1"
}

کاتلین

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.1")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.1")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.1")
}
،

شیار

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.2.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.1"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.1"
}

کاتلین

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.1")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.1")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.1")
}

For more information about dependencies, see Add build dependencies .

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.3

Version 1.3.0-beta02

7 مه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta02 is released. Version 1.3.0-beta02 contains these commits .

رفع اشکال

  • We have made an important improvement in the Typography design values that are applied on API 36 and above. This is because from API 36, all Tiles will be in the system font, so this change introduces better consistency in the Tiles carousel. ( If316f )
  • Text , Spacer , ArcLine and DashedArcLine builders won't throw if layoutConstraints for dynamic values are not set. Note that older renderers still require the layoutConstraints to be set and will ignore any dynamic value that doesn't have it set. ( Ic52e8 )
  • Add heading semantics modifier to indicate that a layout element is heading for a section of content for accessibility purpose, and mark the text in the title slot of primaryLayout to be accessibility heading by default. ( Iae1fb )
  • Final UX polish of the primaryLayout where space between title slot and main slot is decreased to 4dp instead of 6dp on smaller screens. ( I0e056 )
  • Apply default content description to textEdgeButton . ( Ifaf8b )
  • Minor update to the avatarButton inner padding. ( I0910b )

نسخه 1.3.0-beta01

9 آوریل 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits .

ویژگی های جدید

The 1.3.0-beta01 release of Wear ProtoLayout indicates that this release of the library is feature complete and the API is locked (except where marked as experimental). Wear ProtoLayout 1.3 includes the following new functionalities and APIs:

  • Material 3 design comes to the watch, with components and layouts that are optimized for the round display and scale appropriately from small to large screen sizes
    • This includes Kotlin-only, protolayout-material3 library with more Compose-like APIs for the following components and features:
    • Dynamic color theme coming from the system and watch face with the latest Material3 theme for colors, shapes and typography
    • MaterialScope for taking care of all opinionated defaults and easier customization
    • iconEdgeButton , textEdgeButton
    • iconButton , textButton , button , imageButton , avatarButton , compactButton
    • titleCard , appCard , graphicDataCard , iconDataCard , textDataCard
    • circularProgressIndicator , segmentedCircularProgressIndicator
    • primaryLayout , buttonGroup
    • All components work across any SDK levels and ProtoLayout Renderer version, supplying sensible fallbacks where applicable
  • More Kotlin-friendly, Compose-like APIs for base ProtoLayout elements
    • LayoutModifier with ability to add the most of modifiers as chained functions ( padding , contentDescription (including clearSemantics ), background , clip , opacity etc.), convertible to the existing Modifiers object
    • LayoutColors and LayoutString as types with easier support for using dynamic fields and constraints
    • text and fontStyle
    • better map support for StateBuilder , including DynamicDataMap and factory methods such as intAppDataKey for easier creation of AppDataKey objects
  • Lottie animations support including option to set different triggers on when animation should start, for example when layout is loaded or when layout becomes visible
    • Improved gradient support:
    • Linear gradient API as part of Brush that can be used in Background modifiers for elements such as Box , Spacer , etc. …
    • Allow dynamic color values in ColorStop used for linear and sweep gradient
    • Existing Sweep Gradient in arc objects now supports dynamic colors and start and end angles
  • Platform data binding in protolayout-expression to receive information anytime that layout's visibility is changed, which for example can be use to hide certain parts of the layout while tile is being swiped to
  • Testing library - protolayout-testing - has been added to support easier Unit test coverage for any ProtoLayout elements
  • New element DashedArcLine with improved set of features so that line can have dashes, as opposed to the existing ArcLine
  • ArcSpacer support for setting its length in DP dimension instead of degrees
  • Added roundness FontSetting axis applicable to some fonts

Version 1.3.0-alpha10

12 مارس 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 is released. Version 1.3.0-alpha10 contains these commits .

ویژگی های جدید

  • Add helper for Brush in kotlin Background Modifier. ( I995de )
  • Mandatory Android Context field has been made public in MaterialScope to allow for easier usage in developers' functions that are creating components for Material3 tiles. ( I7df73 )

تغییرات API

  • Rename api platformVisibilityStatus to PlatformEventSources.isLayoutVisible and add a new experimental API PlatformEventSources.isLayoutUpdatePending . ( Ie1e04 )

رفع اشکال

  • Margins for primaryLayout are now properly rounded up instead, which can have effect on some layout up to 2dp space less for the main slot. ( I8f5d3 )
  • Clarification of default dynamic color theme in ProtoLayout Material3 components. ( Iff5f3 )
  • Typography.NUMERAL_* typographies are no longer tabular/monospace by default. If text is animating, it is highly recommended to add FontSetting.tabularNum() setting to it. In all other cases this monospace option is not needed and there will be more available characters by not using it. ( Id3cd9 )
  • Clarification of default dynamic color theme in ProtoLayout Material3 components. ( I9d831 )

Version 1.3.0-alpha09

26 فوریه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 is released. Version 1.3.0-alpha09 contains these commits .

ویژگی های جدید

  • Added experimental modifiers for enterTransition and exitTransition ( I4a4d6 )
  • We have added additional platform binding to receive the visibility status of full layout, whenever it's changed. ( I250c3 )
  • Allow injecting testing app state and platform data into LayoutElementAssertionsProvider for evaluating dynamic values. ( Ib5fcb )
  • Add corner filters to the protolayout testing library ( Ie2361 )
  • ButtonColors , CardColors and ProgressIndicatorColors now support copy method, with optional override of some parameters. ( Ie2054 )

تغییرات API

  • Add dynamic data binding support to the testing library ( Ib98de )
  • Fix imageButton when used with backgroundImage function by removing overlay. Additionally, allow for backgroundImage function to allow specifying null for overlay color, meaning that overlay won't be applied. ( Ibec3c )

رفع اشکال

  • Changed default hasValueOfType method to throw UnsupportedOperationException instead of IllegalArgumentException . ( Ia36c3 )
  • Default color token values are update to reflect the latest spec. ( I75d44 )
  • Fixes for aliasing issue visible on arc lines in AndroidX tiles renderer. ( I88190 )

Version 1.3.0-alpha08

12 فوریه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 is released. Version 1.3.0-alpha08 contains these commits .

ویژگی های جدید

  • Add FontSetting list parameter for Material3 text. ( Ic102d )
  • Added DynamicDataMap class which StateBuilder now supports for a better type safe Kotlin API for app states ( I012ba )
  • Added factory methods such as intAppDataKey for easier creation of AppDataKey objects ( Icea2a )
  • DynamicDataValue now has a hasValueOfType(Class<?>) method in addition to hasInt/hasColor/ .... methods ( I4f7a6 )
  • We have added errorDim to the Material3 ProtoLayout ColorScheme , for high priority errors or emergency actions such as safety alerts. ( Ia17bb )
  • We have added a guard against a crash when accessing the global reducemotion setting, which was triggered on some platforms where that setting was not provided. ( I01e2c )

تغییرات API

  • addKeyToValueMapping is renamed to addToStateMap and DynamicDataMap.put methods are removed as they were redundant. ( Ibe9dd )
  • Material3 Typography now supports roundness variable axis for system fonts that support this axis. ProtoLayout FontSetting supports roundness axis for fonts that support this axis. ( I33eb5 )
  • Renamed multilineAlignment to alignment in Material3 text method. ( I2b66b )
  • Update the circular progress indicator to be Box type, also specify the mainContent in constructGraphic to be Box type ( I5a3dc )
  • Better support for using circular progress indicator in graph ( I039db )

رفع اشکال

  • Allow dynamic values in ColorStop and also for start/end angles in SweepGradient . ( I0146d )
  • Docs fixes. ( I4a63a )
  • Updated Material 3 components ( graphicCard and avatarButton ) to provide fallback when weight expand dimension is not supported (eg below API 33). Updated text component to fallback to TEXT_OVERFLOW_ELLIPSIZE_END when TEXT_OVERFLOW_ELLIPSIZE is not supported by the renderer. ( I19e2c )
  • Docs update for PrimaryLayoutMargins . ( Ibaf7b )

Version 1.3.0-alpha07

29 ژانویه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 is released. Version 1.3.0-alpha07 contains these commits .

ویژگی های جدید

  • Added API option to set different triggers for Lottie animations. Additionally, added API for triggers fired when layout is visible ( I8272d )
  • Added border , visibility and opacity modifiers. ( I6d3dd )
  • Added avatar button to ProtoLayout Material3 component. ( Idb5ae )
  • We are now allowing margins (side and in some cases bottom) to be customized in Material3 primaryLayout . ( Ib22f6 )
  • Add the segmented variant of the circular progress indicator. ( I6a648 )
  • Added compact button component to ProtoLayout Material3. ( Ia3c5c )
  • Added pill shape button and image button components to ProtoLayout Material3. ( Ifb88a )

تغییرات API

  • LayoutModfier.foldIn is now called foldRight to better reflect its expected behaviour ( Idf242 )
  • VisibleOnce trigger is now experimental. ( Ib2d26 )
  • Remove withOpacity from the public API as there is a graphics library alternative. ( I030c2 )
  • Renamed top level methods in LayoutString.kt and LayoutColor.kt to have Java friendly names. ( I7aff0 )
  • Removed non-ProtoLayout typographies in Material3. ( Idd9ae )
  • Add suffix Color to fields in *Colors classes in Material3. ( I2d114 )

رفع اشکال

  • Add EdgeButton fallback implementation for older renderer without asymmetrical corners support. ( I63364 )
  • Add fallback implementation of the circular progress indicator with older renderer. ( I0f134 )

Version 1.3.0-alpha06

15 ژانویه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 is released. Version 1.3.0-alpha06 contains these commits .

ویژگی های جدید

  • LayoutColor to support both static and dynamic color types ( I4c89b )
  • Added ProtoLayout Material3 textButton component. ( Id680d )
  • Add iconButton ProtoLayout Material3 component. ( Ica3f0 )
  • Added ProtoLayout Material3 button container component. ( I17a38 )
  • Added support for Chainable semantic modifiers to protolayout-material3 ( I4af62 )
  • Added ProtoLayout Material3 single segment CircularProgressIndicator ( I2c8a2 )
  • Added padding , metadata modifiers ( I8720a )
  • Added background , clip and clickable modifiers ( I35478 )
  • Add LinearGradient to Brush and allow it to be used in the Background Modifier. ( Ic4dea )
  • Add small size for appCard and titleCard . ( I91f98 )
  • Added ProtoLayout Material3 graphicDataCard component. ( I92be7 )
  • Added ProtoLayout Material3 iconDataCard and textDataCard components. ( I4e1e4 )
  • Added ProtoLayout Material3 appCard component. ( Id4c57 )
  • Abstract EdgeButtonColors to ButtonColors . ( I83624 )
  • Added ProtoLayout Material3 titleCard component. ( I2dc72 )

تغییرات API

  • ProtoLayout Material3 API now accepts LayoutString to support both static and dynamic texts. ( I9c24a )

رفع اشکال

  • Add renderer implementation for inflating DashedArcLine ( I0c700 )
  • Renderer change for allowing ArcSpacer to take dp length. ( I1437b )

Version 1.3.0-alpha05

11 دسامبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 is released. Version 1.3.0-alpha05 contains these commits .

ویژگی های جدید

  • Added LayoutString to support bindable layout string fields. ( Ida650 )
  • Added ProtoLayout Material3 card container component. ( Ic985a )

رفع اشکال

  • این کتابخانه اکنون از حاشیه‌نویسی‌های پوچ JSpecify استفاده می‌کند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود). ( Id1f9b , b/326456246 )

Version 1.3.0-alpha04

13 نوامبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 is released. Version 1.3.0-alpha04 contains these commits .

ویژگی های جدید

  • Updated Material3 shape to be a class with fields that hold the actual Corner value, same as in Wear Compose. ( Ied8cd )
  • Updated Material3 colors to include ColorScheme concept, same as in Wear Compose. ( If645e )
  • Add multiple commonly used matcher to the testing library. ( Ie5cec )

Version 1.3.0-alpha03

30 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 is released. Version 1.3.0-alpha03 contains these commits .

ویژگی های جدید

  • Add LayoutElementAssertionsProvider , LayoutElementAssertion and LayoutElementMatcher to the testing library ( Id1110 )

نسخه 1.3.0-alpha02

16 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 is released. Version 1.3.0-alpha02 contains these commits .

ویژگی های جدید

  • Initial version of Material 3 library. Includes text , edgeButton , buttonGroup and primaryLayout components.

رفع امنیتی

  • با توجه به این تغییر ، androidx در برابر protobuf 4.28.2 به منظور آدرس دهی CVE-2024-7254 کامپایل می شود. Upgrade your dependency on version 1.3.0-alpha01 of androidx.wear.protolayout:protolayout-proto and androidx.wear.protolayout:protolayout-external-protobuf to 1.3.0-alpha02 to address the vulnerability risk.

مشارکت خارجی

نسخه 1.3.0-alpha01

2 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 is released. نسخه 1.3.0-alpha01 شامل این تعهدات است.

رفع اشکال

  • Clarified that Roboto and Roboto Flex font family names availability is device dependent. ( I193be )
  • Enabled Roboto Flex font family in AndroidX Tile renderer. ( I08e94 )

نسخه 1.2

نسخه 1.2.1

16 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.2.1 is released. Version 1.2.1 contains these commits .

رفع امنیتی

  • با توجه به این تغییر ، androidx در برابر protobuf 4.28.2 به منظور آدرس دهی CVE-2024-7254 کامپایل می شود. Upgrade your dependency on version 1.2.0 of androidx.wear.protolayout:protolayout-proto and androidx.wear.protolayout:protolayout-external-protobuf to 1.2.1 to address the vulnerability risk.

نسخه 1.2.0

7 آگوست 2024

androidx.wear.protolayout:protolayout-*:1.2.0 is released. Version 1.2.0 contains. these commits .

Important changes since 1.1.0

  • FontStyle has been updated to have additional font support for the variable axes and better font selection API to support upcoming Flex fonts.
  • Additional Modifiers support:
    • Transformation modifier offering translation, rotation and scaling with or without animations.
    • Specifying different values (horizontal and vertical) for each corner radius.
  • Improved accessibility of all touch targets by extending the tappable area of any element that uses Clickable modifier to be at least 48dp by 48dp .
  • Improved PrimaryLayout and EdgeContentLayout by adding setResponsiveContentInsetEnabled to better support responsive behavior of these layouts across different screen sizes and improve Tiles consistency.
  • Improved scaling/non-scaling of the Material Text for Android 14's non-linear font scaling.
  • Improved support for RTL layout direction on all arc elements.

تغییرات اضافی

نسخه 1.2.0-RC01

24 جولای 2024

androidx.wear.protolayout:protolayout-*:1.2.0-rc01 is released. نسخه 1.2.0-RC01 شامل این تعهدات است.

رفع اشکال

  • We have fixed the standard Material Chip so it can be used as an icon only if none of the primary or secondary label is passed in. ( Iceef9 )
  • Documentation for Material layouts has been updated to include visuals from the relevant page for easier understanding of layouts. ( I0256a )

نسخه 1.2.0-beta01

10 جولای 2024

androidx.wear.protolayout:protolayout-*:1.2.0-beta01 is released. نسخه 1.2.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

The 1.2.0-beta01 release of Wear ProtoLayout indicates that this release of the library is feature complete and the API is locked (except where marked as experimental). Wear ProtoLayout 1.2 includes the following new functionalities and APIs:

  • FontStyle has been updated to have additional font support as following:
    • Setting different font variation setting such as FontSetting.weight and FontSetting.width
    • Setting the same width for all numeric characters - tabular numerals ( FontSetting.tnum font feature setting)
    • Improved font selection APIs to support the upcoming flex fonts by specifying preferred font family names to be used.
  • Extended Corner modifier to support specifying each CornerRadius with a separate horizontal and vertical values to allow building elements with asymmetric corners.
  • Added a new Transformation modifier offering translation, rotation and scaling of LayoutElement . These transformations can be animated by using dynamic values.
  • Added setArcDirection with Clockwise , CounterClockwise and Normal options to all arc elements ( Arc , ArcLine and ArcText ) for better support in different layout directions (such as LTR and RTL).
  • Improved accessibility of all touch targets by extending the tappable area of any element that uses Clickable modifier to be at least 48dp by 48dp .
  • Improved PrimaryLayout and EdgeContentLayout by adding setResponsiveContentInsetEnabled to better support responsive behavior of these layouts across different screen sizes and improve Tiles consistency. Added linter warning to suggest usage of these APIs with a quick fix.
  • Improved scaling/non-scaling of the Material Text for Android 14's non-linear font scaling.

تغییرات API

  • Default font family name ( DEFAULT_SYSTEM_FONT ) is removed as it is implied by not using the preferredFontFamilies API. ( I39dab )
  • Parameter passed in to the FontSetting.width should be positive. ( I1266f )

Version 1.2.0-alpha05

26 ژوئن 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 is released. Version 1.2.0-alpha05 contains these commits .

ویژگی های جدید

  • Add hasText method to Material.CompactChip to check whether the text content has been set. ( I6e8fc )

تغییرات API

  • FontFamily const are moved to be in FontStyle instead of its Builder class. ( I06ced )
  • Update FontSetting.weight and FontSetting.width API to include Range annotations and change weight's parameter to be int. ( Ia726c )

رفع اشکال

  • Non-scalable texts in Material library now work correctly with Android 14's non-linear font scaling. ( I6601e )

نسخه 1.2.0-alpha04

29 مه 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 is released. Version 1.2.0-alpha04 contains these commits .

تغییرات API

  • Added asymmetrical corners API to be able to specify separately each corner's radius with 2 values. ( Icbd69 )
  • Extended the FontSetting API to include:
    • font feature setting such as setting the font to be tabular. ( If12b7 )
    • font variation setting such as setting custom width for variable fonts. ( I2b36d )
  • Added font family API to FontStyle to allow specifying an order list of which font families should be used. ( Iba9f5 )
  • Renamed constants for space height between content and secondary label in Material's LayoutDefaults that were initially prefixed with “Edge content” to be more generic as they can be applied to both PrimaryLayout and EdgeContentLayout . ( I4dc32 )

رفع اشکال

  • Renamed naming for variable font axes from axisName to axisTag . ( I02ba3 )

نسخه 1.2.0-alpha03

14 مه 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 is released. Version 1.2.0-alpha03 contains these commits .

ویژگی های جدید

  • Added API for setting custom weight values for FontStyle . ( I7390a )

رفع اشکال

  • Fix the failure in getTouchDelegateInfo due to empty target map. ( I2accf )

نسخه 1.2.0-alpha02

1 مه 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 is released. نسخه 1.2.0-alpha02 حاوی این تعهدات است.

تغییرات API

  • We've added support for disabling ripple feedback on individual clickable elements. ( If1ede )
  • The API for transformation has been removed from ArcModifiers as they don't support that feature ( Ic0827 )
  • ArcDirectionProp Builder now expects a value in the constructor. ( I76ada )
  • The PlatformDataValues.Builder.putAll method will allow merging one PlatformDataValue into another one. ( I50ba3 )
  • Text#setIsScalable is renamed to Text#setScalable . ( If920e )
  • Material Text can set whether to use scalable size (grows when user font size is changed) or not. ( Ibc849 )
  • We've added the option to set content description to TitleChip . ( I5d21f )
  • Fixed CompactChip to work correctly with icon only and update the API to allow this option. ( I6589e )

رفع اشکال

  • Fixed an issue of potential duplicate platform data during initialization. ( Iba0fd )
  • Introduce a new getter to DynamicDataNode to retrieve node cost. The cost is used when acquiring dynamic node quota. Currently, Nodes with fixed values will have a cost of 0, all the other nodes will have a cost of 1. ( Ia33e1 )
  • Remove counting logic from the NO_OP_QUOTA_MANAGER . ( Ib50b8 )
  • We have added a lint rule to report a warning when PrimaryLayout is used without setResponsiveContentInsetEnabled and provide a quick fix. ( I12025 )
  • There is a limit to a number of dynamic expression nodes. ( Iffae8 )

نسخه 1.2.0-alpha01

6 مارس 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 is released. نسخه 1.2.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • ProtoLayout Arc elements now have the option to add ArcDirection ( Clockwise , Counterclockwise or Normal ) to it. Adding this behavior to Arc , ArcLine or ArcText will fix their behavior on RTL layouts. ( I90699 )
  • EdgeContentLayout has been updated with a new setResponsiveContentInsetEnabled setter to achieve better alignment with the UX guidelines, consistency in Tiles by having primary label at the fixed place on top and responsive inset for labels. ( I60175 )
  • We have added PrimaryLayout.setResponsiveContentInsetEnabled that adds responsive inset to the primary label, secondary label and bottom chip in this layout, to avoid that content going off the screen edge. ( I0c457 )
  • Adds method to remove outer margins from CircularProgressIndicator so it can be used as a smaller component. ( I55c06 )

تغییرات API

  • Tiles renderer now excludes font padding on all text elements by default, without an option to include it. ( I3e300 )

رفع اشکال

  • Fixed Text alignment issue when ellipsize, letter spacing and center align are all used on Text. ( I716c7 )
  • Add a workaround for a skia arc drawing issue. ( I08f09 )
  • Fix ArcLine drawing direction for RTL layouts. ( I6c141 )

نسخه 1.1

نسخه 1.1.0

7 فوریه 2024

androidx.wear.protolayout:protolayout-*:1.1.0 is released. نسخه 1.1.0 شامل این تعهدات است.

تغییرات مهم از 1.0.0

  • Gradient support and better representation of lengths larger than 360 degrees in ArcLine .
  • Date-time formatting supports different time zones for dynamic data types.
  • Better text autosizing and ellipsizing options, to handle truncated text.
  • Spacer supports expanded dimensions with optional weight.
  • Schema version requirement annotation to all ProtoLayout APIs.
  • Extended target area to any Clickable element to 48 dp x 48 dp, to satisfy accessibility requirements.
  • Font padding is turned off by default and is the only behavior across all Text elements and Material components that contain text.

تغییرات اضافی

نسخه 1.1.0-rc01

24 ژانویه 2024

androidx.wear.protolayout:protolayout-*:1.1.0-rc01 is released. نسخه 1.1.0-RC01 شامل این تعهدات است.

رفع اشکال

  • PlatformTimeUpdateNotifierImpl ticks immediately after enabling update. ( I77145 )
  • CircularProgressIndicator has been fixed for RTL layouts. From now on, it will go clockwise in all cases. ( I95ee3 )
  • Add a workaround for a skia arc drawing issue. ( I08f09 )

نسخه 1.1.0-beta01

10 ژانویه 2024

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 is released. نسخه 1.1.0-beta01 شامل این تعهدات است.

ویژگی های جدید

The 1.1.0-beta01 release of Wear ProtoLayout indicates that this release of the library is feature complete and the API is locked (except where marked as experimental). Wear ProtoLayout 1.1 includes the following new functionalities and APIs:

  • ArcLine now supports gradient by adding Brush with SweepGradient and having a shadow on the cap to better represent length larger than 360 degrees by adding Shadow on the existing StrokeCap .
  • DynamicInstant has support for zoned date-time formatting. DynamicInstant and DynamicDuration can be used as state or platform data types.
  • Autosizing feature for text size that allows setting multiple sizes to FontStyle.setSizes where the Text size will automatically scale based on the space it has inside of the parent. Additionally, we improved ellipsizing options for text that overflows by adding TEXT_OVERFLOW_ELLIPSIZE and deprecating TEXT_OVERFLOW_ELLIPSIZE_END .
  • Spacer now supports having expanded dimensions with optional weight. For building ExpandedDimensionProp we have added a helper method DimensionBuilders.weight .
  • Support for dynamically hiding and unhiding layout elements with Modifier.visible . This includes having dynamic values in BoolProp .
  • All ProtoLayout APIs now have schema version requirement annotation and version can be checked before calling a newer API.
  • Every element that has Clickable now 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 Text elements. Additionally, AndroidTextStyle and related setters have been removed from the public API. with following bug fixes:
  • Added a setter for positioning the edge content in EdgeContentLayout so 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 SweepGradient API to allow accepting either colors or ColorStops in the constructor. ( I6676f )

رفع اشکال

  • Adding a restricted API and renderer support for setting a direction in which arc elements are drawn. ( Idef5a )
  • RoundMode defaults to Floor in FloatToInt32Node when unspecified. The node will still throw an exception if the provided RoundMode is unrecognized. ( I1b2d8 )

نسخه 1.1.0-alpha04

13 دسامبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.

ویژگی های جدید

  • VersionInfo class not implements the Comparable interface. ( I8d13c )
  • Renderer now supports TEXT_OVERFLOW_ELLIPSIZE option. ( I7f085 )

تغییرات API

  • Text overflow option TEXT_OVERFLOW_ELLIPSIZE_END is now deprecated. Please use the new API TEXT_OVERFLOW_ELLIPSIZE with 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, AndroidTextStyle and related setters have been removed from the public API. ( I79094 , Ib0b03 , I32959 , Iaf7d5 , Ifa298 , I0a4ae , Ida9d3 )
  • Modifier.hidden is replaced with Modifier.visible ( I56902 )
  • FontStyle#setSizes now accepts int instead of SpProp arguments. ( 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 )

نسخه 1.1.0-alpha03

29 نوامبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 is released. نسخه 1.1.0-alpha03 شامل این تعهدات است.

ویژگی های جدید

  • Add experimental support for dynamically hiding/unhiding layout elements ( I64a78 )
  • Add dynamic value support to BoolProp ( I2fe96 )
  • Add schema version requirement annotation to ProtoLayout APIs ( I0f03c )
  • Extending the API with the new option in TextOverflow for 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.weight for building ExpandedDimensionProp with weight. ( I4f72b )
  • DynamicInstant and DynamicDuration can be used as state or platform data types. ( I6819f )

تغییرات API

  • Update The API to hide DynamicZonedDateTime and move all its operations to DyanamicInstant ( I34b94 )
  • Spacer now supports Expanded dimension for width/height. ( Ie7c94 )
  • Support click target area extension in Renderer ( I39c79 )

نسخه 1.1.0-alpha02

15 نوامبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 is released. نسخه 1.1.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • Added an ArcLine StrokeCap Shadow field 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 StrokeCap Shadow . ( I48b17 )
  • Add renderer support for Sweep Gradient in ArcLine . ( I4d5bb )

نسخه 1.1.0-alpha01

18 اکتبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 is released. نسخه 1.1.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • Added a brush option to Arcline , with support for SweepGradient . ( 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 EdgeContentLayout so 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 )

نسخه 1.0

نسخه 1.0.0

9 آگوست 2023

androidx.wear.protolayout:protolayout-*:1.0.0 is released. نسخه 1.0.0 حاوی این commit ها است.

ویژگی های اصلی 1.0.0

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.

نسخه 1.0.0-rc01

26 جولای 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 is released. نسخه 1.0.0-rc01 حاوی این commit ها است.

  • To migrate from Tiles to ProtoLayout , please follow the instructions here .

تغییرات API

  • We have removed setLayoutConstraintForDynamicAnchorAngle and getLayoutConstraintForDynamicAnchorAngle methods 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 nested LayoutElements . ( I8a74b )

رفع اشکال

  • We have added a check to throw if DynamicColor has been set for a SpanText . ( I0e5bc )
  • It is clarified that DAILY_CALORIES data source unit is kcal. ( Iaa785 )

نسخه 1.0.0-beta01

21 ژوئن 2023

androidx.wear.protolayout:protolayout-*:1.0.0-beta01 is released. نسخه 1.0.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

  • Allow setting clock for time binding tests. ( I05622 )

تغییرات API

  • PlatformDataReceiver.onData() and StateBuilders.Builder.addKeyToValueMapping now accept type-safe mapping of DynamicDataKey to DynamicDataValue rather than unsafe generics. That means that DynamicDataValue is now typed with its DynamicType . HEART_RATE_ACCURACY_X constants moved to the root of PlatformHealthSources , to match other Android constants positioning. HEART_RATE_ACCURACY_X int constants are now used directly in DynamicHeartRateAccuracy.constant() and DynamicHeartRateAccuracy.dynamicDataValueOf() instead of value constant. ( I82ff5 )
  • The PlatformHealthSources.Constants class was instantiable by mistake. This has been fixed now. ( Icb849 )
  • PlatformTimeUpdateNotifier#setReceiver now receives Runnable instead of Supplier function and Executor to notify on. ( I9d938 )
  • We have changed the parameter type in the PlatformTimeUpdateNotifier#setReceiver from Callable to Supplier . ( I664bf )
  • CompactChip and TitleChip now 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

7 ژوئن 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits.

ویژگی های جدید

  • We've added a PlatformDataKey for heart rate accuracy. ( I7f9b8 )

تغییرات API

  • Rename StateBuilders#getIdToValueMapping to getKeyToValueMapping and change the return type to Map<<AppDataKey<?>,DynamicDataValue> . ( Iaa7ae )
  • Make StateStore a final class ( I408ca )
  • TimeGateway interface has been replaced by PlatformTimeUpdateNotifier in protolayout-expression-pipeline library which provides desired frequency for updating time data. ( I60869 )
  • Rename register / unregisterForData in PlatformDataProvider to set / clearReceiver ( I14b02 )
  • In Material Text, getExcludeFontPadding has been renamed to hasExcludeFontPadding . ( Iea01d )
  • Setter for perfectly aligning label was added to all chip components. All chips now have min tappable target applied. ( I8ae92 )
  • LayoutDefaults#BUTTON_MAX_NUMBER has been renamed to MAX_BUTTONS . ( I84788 )
  • DAILY_DISTANCE is renamed to DAILY_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 )
  • PlatformDataKey namespaces should follow Java style naming. ( I47bda )

Version 1.0.0-alpha10

24 مه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.

ویژگی های جدید

  • Add AppDataKey for accessing app pushed state; Add PlatformDataKey for accessing platform data; Add namespace support in StateStore . ( I7985e )
  • Support Equal and NotEqual operations for DynamicBool . ( I6a0c1 )

تغییرات API

  • FontStyles class is now final ( Iaa2ea )
  • LayoutElementBuilders#FontStyles has been deprecated. Please use androidx.wear.protolayout.Typography or create your own FontStyle . ( Ic929b )
  • Hide Action#Builder nested interface from Action interface. Implementations of Builder are already provided by LoadAction and LaunchAction classes. ( I1d70c )
  • Allow using DynamicFloat with FloatProp . Note that FloatProp do no require layout constraints as it's not used as a layout changing prop. ( I286ac )
  • The LoalAction and SetStateAction actions are removed as they were not really supported yet. ( I5d6a6 )
  • Added support for ARGB_8888 format for inline image resources. ( I8a07c )
  • Rename StateEntryValue to DynamicDataValue , and update the state APIS to use the DynamicDataKey ( If1c01 )
  • We are limiting the number of entries that are allowed in the StateStore in order to ensure that memory usage and state update time are well contained and controlled for each instance of the StateStore . As a result, the developer needs to ensure that they do not have more than MAX_STATE_ENTRY_COUNT entries in the map otherwise they will get an IllegalStateException when creating or updating the StateStore . ( Ibadb3 )
  • Hide OnLoadTrigger and OnConditionMetTrigger classes, and rename setTrigger to setCondition for OnConditionMetTrigger . ( Ibf629 )
  • For performance and compatibility reasons, the ProtoLayout renderers won't support the full set of features in AnimatedVectorDrawable resources. 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.cubicBezier method replaces the CubicBezierEasing.Builder . With that the EasingFunction class is removed and the easing constants from that class are now directly accessible from the Easing interface. In addition setInfiniteRepeatable is replaced by INFINITE_REPEATABLE_WITH_RESTART and INFINITE_REPEATABLE_WITH_REVERSE ( Ib41e7 )
  • Implement PlatformDataProvider to provide heart rate and daily steps. SensorGateway interface is removed from public API. ( I55b84 )
  • Add PlatformDataProvider , and update StateStore to register to PlatformDataProvider when the provider's supported key is required by node from expression pipeline. ( Ib616a )
  • SensorGateway is no longer Closeable as it no longer maintains any state. ( I6b4f7 )
  • Allow using FloatProp with DynamicFloat for progress in CircularProgressIndicator . This is supported for renderers supporting version 1.2. Old renderers will fallback to the staticValue if provided, otherwise to 0 ( I0d91b )
  • MultiButtonLayout constants have been refactored into LayoutDefaults.MultiButtonLayoutDefaults class which now contains those for button sizes depending on a number of buttons in the layout. ( I13973 )
  • Support using StringProp with DynamicString in Material Text. This is supported for renderers supporting version 1.2. Old renderers will fallback to the provided static value. Update Text#getText return type from String to StringProp . ( I7275b )

Version 1.0.0-alpha09

10 مه 2023

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 StrokeCap support for ArcLine . ( 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/disablePlatformSource methods have been removed from DynamicTypeEvaluator . 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 @IntRange for duration and delay in AnimationParameters. ( I388b6 )

Version 1.0.0-alpha08

19 آوریل 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.

ویژگی های جدید

  • AndroidTextStyle has been added to LayoutElementBuilders . ( I8d967 )
  • We have added support for setting excluding font padding in ProtoLayout Material Text. ( I17f5d )
  • ARGB_8888 is now supported for inline images. ( I18c1e )
  • DynamicColor now supports onCondition operation. ( I10927 )

تغییرات API

  • Support custom duration for reverse animation ( I3251f )
  • We've added the SemanticDescription modifier. In addition, ContentDescription is not bindable. ( I3f1d )
  • The DynamicBool.isFalse() method is now replaced with DynamicBool.negate() and the DynamicBool.isTrue() is removed. In addition NaN DynamicFloat values and narrowing a DynamicInt32 to a DynamicFloat now 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#onPreUpdate has been removed. ( I2dc35 )
  • Length of Strings in dynamic expressions are now capped. ( I4c93 )
  • The gradle dependencies are now correctly set to api instead of implementation when required. ( I40503 )

Version 1.0.0-alpha07

5 آوریل 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

ویژگی های جدید

  • Add dynamic value support to StringProp ( I04342 )
  • Mark bindable layout elements ( Ia110b )

تغییرات API

  • sensorGateway#registerSensorGatewayConsumer takes data type as a parameter instead of method in Consumer. ( Icf314 )
  • ObservableStateStore has been renamed to StateStore . ( Ieb0e2 )
  • Added DynamicTypeEvaluator.Builder instead of constructor arguments to allow more optional arguments, including ObservableStateStore which 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

22 مارس 2023

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 DynamicColor support to Border and Background
  • We've added dynamic value support to types in DimensionBuilder
  • Layout and components from tiles-material are moving to protolayout-material

تغییرات API

  • LoadActionListener has been added to ProtoLayoutViewInstance . ( If7806 )

رفع اشکال

  • Added FloatNodesTest ( Id7281 )
  • Fix renderer crash when unable to load structured bitmap.

Version 1.0.0-alpha05

8 مارس 2023

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 Modifiers object. 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 forwardRepeatDelayMillis and reverseRepeatDelayMillis to Repeatable . We've also renamed delayMillis in AnimationSpec to startDelayMillis ( Ifb266 )
  • DynamicTypeEvaluator.bind methods now accept an Executor. ( I346ab )
  • We've added the startEvaluation method to the BoundDynamicType to 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

22 فوریه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.

ویژگی های جدید

  • ObservableStateStore now 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 DynamicInt32 values ( I05485 )
  • We've added OnLoad and OnConditionalMet triggers. 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 AnimatedVectorDrawable and SeekableAnimatedVectorDrawable as layout resources.

تغییرات API

  • Sensor data requires API 29+. ( I8099e )
  • We've added two launchAction helper methods (for launching Activities).

رفع اشکال

  • Rename set/getSpec to set/getAnimationSpec in Tiles animation ( I3d74b )

نسخه 1.0.0-alpha03

8 فوریه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 is released. نسخه 1.0.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • We have added toByteArray() and fromByteArray() 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 DynamicTypeEvaluator class 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.

نسخه 1.0.0-alpha02

25 ژانویه 2023

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. نسخه 1.0.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • Layout builders from androidx.wear.tiles:tiles are moving to androidx.wear.protolayout:protolayout . The ones in androidx.wear.tiles:tiles will be deprecated in one of the next alpha releases.

نسخه 1.0.0-alpha01

11 ژانویه 2023

androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 and androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 are released. نسخه 1.0.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • This release introduces a new library "ProtoLayout Expression" for creating expressions from dynamic variables.
،

wear protolayout

This library allows defining a set of UI layouts and non-UI expressions to be rendered/evaluated on remote surfaces.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
7 مه 2025 1.2.1 - 1.3.0-beta02 -

اعلام وابستگی ها

To add a dependency on wear-protolayout, you must add the Google Maven repository to your project. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.2.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.1"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.1"
}

کاتلین

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.1")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.1")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.1")
}
،

شیار

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.2.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.1"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.1"
}

کاتلین

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.1")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.1")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.1")
}

For more information about dependencies, see Add build dependencies .

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.3

Version 1.3.0-beta02

7 مه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta02 is released. Version 1.3.0-beta02 contains these commits .

رفع اشکال

  • We have made an important improvement in the Typography design values that are applied on API 36 and above. This is because from API 36, all Tiles will be in the system font, so this change introduces better consistency in the Tiles carousel. ( If316f )
  • Text , Spacer , ArcLine and DashedArcLine builders won't throw if layoutConstraints for dynamic values are not set. Note that older renderers still require the layoutConstraints to be set and will ignore any dynamic value that doesn't have it set. ( Ic52e8 )
  • Add heading semantics modifier to indicate that a layout element is heading for a section of content for accessibility purpose, and mark the text in the title slot of primaryLayout to be accessibility heading by default. ( Iae1fb )
  • Final UX polish of the primaryLayout where space between title slot and main slot is decreased to 4dp instead of 6dp on smaller screens. ( I0e056 )
  • Apply default content description to textEdgeButton . ( Ifaf8b )
  • Minor update to the avatarButton inner padding. ( I0910b )

نسخه 1.3.0-beta01

9 آوریل 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits .

ویژگی های جدید

The 1.3.0-beta01 release of Wear ProtoLayout indicates that this release of the library is feature complete and the API is locked (except where marked as experimental). Wear ProtoLayout 1.3 includes the following new functionalities and APIs:

  • Material 3 design comes to the watch, with components and layouts that are optimized for the round display and scale appropriately from small to large screen sizes
    • This includes Kotlin-only, protolayout-material3 library with more Compose-like APIs for the following components and features:
    • Dynamic color theme coming from the system and watch face with the latest Material3 theme for colors, shapes and typography
    • MaterialScope for taking care of all opinionated defaults and easier customization
    • iconEdgeButton , textEdgeButton
    • iconButton , textButton , button , imageButton , avatarButton , compactButton
    • titleCard , appCard , graphicDataCard , iconDataCard , textDataCard
    • circularProgressIndicator , segmentedCircularProgressIndicator
    • primaryLayout , buttonGroup
    • All components work across any SDK levels and ProtoLayout Renderer version, supplying sensible fallbacks where applicable
  • More Kotlin-friendly, Compose-like APIs for base ProtoLayout elements
    • LayoutModifier with ability to add the most of modifiers as chained functions ( padding , contentDescription (including clearSemantics ), background , clip , opacity etc.), convertible to the existing Modifiers object
    • LayoutColors and LayoutString as types with easier support for using dynamic fields and constraints
    • text and fontStyle
    • better map support for StateBuilder , including DynamicDataMap and factory methods such as intAppDataKey for easier creation of AppDataKey objects
  • Lottie animations support including option to set different triggers on when animation should start, for example when layout is loaded or when layout becomes visible
    • Improved gradient support:
    • Linear gradient API as part of Brush that can be used in Background modifiers for elements such as Box , Spacer , etc. …
    • Allow dynamic color values in ColorStop used for linear and sweep gradient
    • Existing Sweep Gradient in arc objects now supports dynamic colors and start and end angles
  • Platform data binding in protolayout-expression to receive information anytime that layout's visibility is changed, which for example can be use to hide certain parts of the layout while tile is being swiped to
  • Testing library - protolayout-testing - has been added to support easier Unit test coverage for any ProtoLayout elements
  • New element DashedArcLine with improved set of features so that line can have dashes, as opposed to the existing ArcLine
  • ArcSpacer support for setting its length in DP dimension instead of degrees
  • Added roundness FontSetting axis applicable to some fonts

Version 1.3.0-alpha10

12 مارس 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 is released. Version 1.3.0-alpha10 contains these commits .

ویژگی های جدید

  • Add helper for Brush in kotlin Background Modifier. ( I995de )
  • Mandatory Android Context field has been made public in MaterialScope to allow for easier usage in developers' functions that are creating components for Material3 tiles. ( I7df73 )

تغییرات API

  • Rename api platformVisibilityStatus to PlatformEventSources.isLayoutVisible and add a new experimental API PlatformEventSources.isLayoutUpdatePending . ( Ie1e04 )

رفع اشکال

  • Margins for primaryLayout are now properly rounded up instead, which can have effect on some layout up to 2dp space less for the main slot. ( I8f5d3 )
  • Clarification of default dynamic color theme in ProtoLayout Material3 components. ( Iff5f3 )
  • Typography.NUMERAL_* typographies are no longer tabular/monospace by default. If text is animating, it is highly recommended to add FontSetting.tabularNum() setting to it. In all other cases this monospace option is not needed and there will be more available characters by not using it. ( Id3cd9 )
  • Clarification of default dynamic color theme in ProtoLayout Material3 components. ( I9d831 )

Version 1.3.0-alpha09

26 فوریه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 is released. Version 1.3.0-alpha09 contains these commits .

ویژگی های جدید

  • Added experimental modifiers for enterTransition and exitTransition ( I4a4d6 )
  • We have added additional platform binding to receive the visibility status of full layout, whenever it's changed. ( I250c3 )
  • Allow injecting testing app state and platform data into LayoutElementAssertionsProvider for evaluating dynamic values. ( Ib5fcb )
  • Add corner filters to the protolayout testing library ( Ie2361 )
  • ButtonColors , CardColors and ProgressIndicatorColors now support copy method, with optional override of some parameters. ( Ie2054 )

تغییرات API

  • Add dynamic data binding support to the testing library ( Ib98de )
  • Fix imageButton when used with backgroundImage function by removing overlay. Additionally, allow for backgroundImage function to allow specifying null for overlay color, meaning that overlay won't be applied. ( Ibec3c )

رفع اشکال

  • Changed default hasValueOfType method to throw UnsupportedOperationException instead of IllegalArgumentException . ( Ia36c3 )
  • Default color token values are update to reflect the latest spec. ( I75d44 )
  • Fixes for aliasing issue visible on arc lines in AndroidX tiles renderer. ( I88190 )

Version 1.3.0-alpha08

12 فوریه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 is released. Version 1.3.0-alpha08 contains these commits .

ویژگی های جدید

  • Add FontSetting list parameter for Material3 text. ( Ic102d )
  • Added DynamicDataMap class which StateBuilder now supports for a better type safe Kotlin API for app states ( I012ba )
  • Added factory methods such as intAppDataKey for easier creation of AppDataKey objects ( Icea2a )
  • DynamicDataValue now has a hasValueOfType(Class<?>) method in addition to hasInt/hasColor/ .... methods ( I4f7a6 )
  • We have added errorDim to the Material3 ProtoLayout ColorScheme , for high priority errors or emergency actions such as safety alerts. ( Ia17bb )
  • We have added a guard against a crash when accessing the global reducemotion setting, which was triggered on some platforms where that setting was not provided. ( I01e2c )

تغییرات API

  • addKeyToValueMapping is renamed to addToStateMap and DynamicDataMap.put methods are removed as they were redundant. ( Ibe9dd )
  • Material3 Typography now supports roundness variable axis for system fonts that support this axis. ProtoLayout FontSetting supports roundness axis for fonts that support this axis. ( I33eb5 )
  • Renamed multilineAlignment to alignment in Material3 text method. ( I2b66b )
  • Update the circular progress indicator to be Box type, also specify the mainContent in constructGraphic to be Box type ( I5a3dc )
  • Better support for using circular progress indicator in graph ( I039db )

رفع اشکال

  • Allow dynamic values in ColorStop and also for start/end angles in SweepGradient . ( I0146d )
  • Docs fixes. ( I4a63a )
  • Updated Material 3 components ( graphicCard and avatarButton ) to provide fallback when weight expand dimension is not supported (eg below API 33). Updated text component to fallback to TEXT_OVERFLOW_ELLIPSIZE_END when TEXT_OVERFLOW_ELLIPSIZE is not supported by the renderer. ( I19e2c )
  • Docs update for PrimaryLayoutMargins . ( Ibaf7b )

Version 1.3.0-alpha07

29 ژانویه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 is released. Version 1.3.0-alpha07 contains these commits .

ویژگی های جدید

  • Added API option to set different triggers for Lottie animations. Additionally, added API for triggers fired when layout is visible ( I8272d )
  • Added border , visibility and opacity modifiers. ( I6d3dd )
  • Added avatar button to ProtoLayout Material3 component. ( Idb5ae )
  • We are now allowing margins (side and in some cases bottom) to be customized in Material3 primaryLayout . ( Ib22f6 )
  • Add the segmented variant of the circular progress indicator. ( I6a648 )
  • Added compact button component to ProtoLayout Material3. ( Ia3c5c )
  • Added pill shape button and image button components to ProtoLayout Material3. ( Ifb88a )

تغییرات API

  • LayoutModfier.foldIn is now called foldRight to better reflect its expected behaviour ( Idf242 )
  • VisibleOnce trigger is now experimental. ( Ib2d26 )
  • Remove withOpacity from the public API as there is a graphics library alternative. ( I030c2 )
  • Renamed top level methods in LayoutString.kt and LayoutColor.kt to have Java friendly names. ( I7aff0 )
  • Removed non-ProtoLayout typographies in Material3. ( Idd9ae )
  • Add suffix Color to fields in *Colors classes in Material3. ( I2d114 )

رفع اشکال

  • Add EdgeButton fallback implementation for older renderer without asymmetrical corners support. ( I63364 )
  • Add fallback implementation of the circular progress indicator with older renderer. ( I0f134 )

Version 1.3.0-alpha06

15 ژانویه 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 is released. Version 1.3.0-alpha06 contains these commits .

ویژگی های جدید

  • LayoutColor to support both static and dynamic color types ( I4c89b )
  • Added ProtoLayout Material3 textButton component. ( Id680d )
  • Add iconButton ProtoLayout Material3 component. ( Ica3f0 )
  • Added ProtoLayout Material3 button container component. ( I17a38 )
  • Added support for Chainable semantic modifiers to protolayout-material3 ( I4af62 )
  • Added ProtoLayout Material3 single segment CircularProgressIndicator ( I2c8a2 )
  • Added padding , metadata modifiers ( I8720a )
  • Added background , clip and clickable modifiers ( I35478 )
  • Add LinearGradient to Brush and allow it to be used in the Background Modifier. ( Ic4dea )
  • Add small size for appCard and titleCard . ( I91f98 )
  • Added ProtoLayout Material3 graphicDataCard component. ( I92be7 )
  • Added ProtoLayout Material3 iconDataCard and textDataCard components. ( I4e1e4 )
  • Added ProtoLayout Material3 appCard component. ( Id4c57 )
  • Abstract EdgeButtonColors to ButtonColors . ( I83624 )
  • Added ProtoLayout Material3 titleCard component. ( I2dc72 )

تغییرات API

  • ProtoLayout Material3 API now accepts LayoutString to support both static and dynamic texts. ( I9c24a )

رفع اشکال

  • Add renderer implementation for inflating DashedArcLine ( I0c700 )
  • Renderer change for allowing ArcSpacer to take dp length. ( I1437b )

Version 1.3.0-alpha05

11 دسامبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 is released. Version 1.3.0-alpha05 contains these commits .

ویژگی های جدید

  • Added LayoutString to support bindable layout string fields. ( Ida650 )
  • Added ProtoLayout Material3 card container component. ( Ic985a )

رفع اشکال

  • این کتابخانه اکنون از حاشیه‌نویسی‌های پوچ JSpecify استفاده می‌کند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود). ( Id1f9b , b/326456246 )

Version 1.3.0-alpha04

13 نوامبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 is released. Version 1.3.0-alpha04 contains these commits .

ویژگی های جدید

  • Updated Material3 shape to be a class with fields that hold the actual Corner value, same as in Wear Compose. ( Ied8cd )
  • Updated Material3 colors to include ColorScheme concept, same as in Wear Compose. ( If645e )
  • Add multiple commonly used matcher to the testing library. ( Ie5cec )

Version 1.3.0-alpha03

30 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 is released. Version 1.3.0-alpha03 contains these commits .

ویژگی های جدید

  • Add LayoutElementAssertionsProvider , LayoutElementAssertion and LayoutElementMatcher to the testing library ( Id1110 )

نسخه 1.3.0-alpha02

16 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 is released. Version 1.3.0-alpha02 contains these commits .

ویژگی های جدید

  • Initial version of Material 3 library. Includes text , edgeButton , buttonGroup and primaryLayout components.

رفع امنیتی

  • با توجه به این تغییر ، androidx در برابر protobuf 4.28.2 به منظور آدرس دهی CVE-2024-7254 کامپایل می شود. Upgrade your dependency on version 1.3.0-alpha01 of androidx.wear.protolayout:protolayout-proto and androidx.wear.protolayout:protolayout-external-protobuf to 1.3.0-alpha02 to address the vulnerability risk.

مشارکت خارجی

نسخه 1.3.0-alpha01

2 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 is released. نسخه 1.3.0-alpha01 شامل این تعهدات است.

رفع اشکال

  • Clarified that Roboto and Roboto Flex font family names availability is device dependent. ( I193be )
  • Enabled Roboto Flex font family in AndroidX Tile renderer. ( I08e94 )

نسخه 1.2

نسخه 1.2.1

16 اکتبر 2024

androidx.wear.protolayout:protolayout-*:1.2.1 is released. Version 1.2.1 contains these commits .

رفع امنیتی

  • با توجه به این تغییر ، androidx در برابر protobuf 4.28.2 به منظور آدرس دهی CVE-2024-7254 کامپایل می شود. Upgrade your dependency on version 1.2.0 of androidx.wear.protolayout:protolayout-proto and androidx.wear.protolayout:protolayout-external-protobuf to 1.2.1 to address the vulnerability risk.

نسخه 1.2.0

7 آگوست 2024

androidx.wear.protolayout:protolayout-*:1.2.0 is released. Version 1.2.0 contains. these commits .

Important changes since 1.1.0

  • FontStyle has been updated to have additional font support for the variable axes and better font selection API to support upcoming Flex fonts.
  • Additional Modifiers support:
    • Transformation modifier offering translation, rotation and scaling with or without animations.
    • Specifying different values (horizontal and vertical) for each corner radius.
  • Improved accessibility of all touch targets by extending the tappable area of any element that uses Clickable modifier to be at least 48dp by 48dp .
  • Improved PrimaryLayout and EdgeContentLayout by adding setResponsiveContentInsetEnabled to better support responsive behavior of these layouts across different screen sizes and improve Tiles consistency.
  • Improved scaling/non-scaling of the Material Text for Android 14's non-linear font scaling.
  • Improved support for RTL layout direction on all arc elements.

تغییرات اضافی

نسخه 1.2.0-RC01

24 جولای 2024

androidx.wear.protolayout:protolayout-*:1.2.0-rc01 is released. نسخه 1.2.0-RC01 شامل این تعهدات است.

رفع اشکال

  • We have fixed the standard Material Chip so it can be used as an icon only if none of the primary or secondary label is passed in. ( Iceef9 )
  • Documentation for Material layouts has been updated to include visuals from the relevant page for easier understanding of layouts. ( I0256a )

نسخه 1.2.0-beta01

10 جولای 2024

androidx.wear.protolayout:protolayout-*:1.2.0-beta01 is released. نسخه 1.2.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

The 1.2.0-beta01 release of Wear ProtoLayout indicates that this release of the library is feature complete and the API is locked (except where marked as experimental). Wear ProtoLayout 1.2 includes the following new functionalities and APIs:

  • FontStyle has been updated to have additional font support as following:
    • Setting different font variation setting such as FontSetting.weight and FontSetting.width
    • Setting the same width for all numeric characters - tabular numerals ( FontSetting.tnum font feature setting)
    • Improved font selection APIs to support the upcoming flex fonts by specifying preferred font family names to be used.
  • Extended Corner modifier to support specifying each CornerRadius with a separate horizontal and vertical values to allow building elements with asymmetric corners.
  • Added a new Transformation modifier offering translation, rotation and scaling of LayoutElement . These transformations can be animated by using dynamic values.
  • Added setArcDirection with Clockwise , CounterClockwise and Normal options to all arc elements ( Arc , ArcLine and ArcText ) for better support in different layout directions (such as LTR and RTL).
  • Improved accessibility of all touch targets by extending the tappable area of any element that uses Clickable modifier to be at least 48dp by 48dp .
  • Improved PrimaryLayout and EdgeContentLayout by adding setResponsiveContentInsetEnabled to better support responsive behavior of these layouts across different screen sizes and improve Tiles consistency. Added linter warning to suggest usage of these APIs with a quick fix.
  • Improved scaling/non-scaling of the Material Text for Android 14's non-linear font scaling.

تغییرات API

  • Default font family name ( DEFAULT_SYSTEM_FONT ) is removed as it is implied by not using the preferredFontFamilies API. ( I39dab )
  • Parameter passed in to the FontSetting.width should be positive. ( I1266f )

Version 1.2.0-alpha05

26 ژوئن 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 is released. Version 1.2.0-alpha05 contains these commits .

ویژگی های جدید

  • Add hasText method to Material.CompactChip to check whether the text content has been set. ( I6e8fc )

تغییرات API

  • FontFamily const are moved to be in FontStyle instead of its Builder class. ( I06ced )
  • Update FontSetting.weight and FontSetting.width API to include Range annotations and change weight's parameter to be int. ( Ia726c )

رفع اشکال

  • Non-scalable texts in Material library now work correctly with Android 14's non-linear font scaling. ( I6601e )

نسخه 1.2.0-alpha04

29 مه 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 is released. Version 1.2.0-alpha04 contains these commits .

تغییرات API

  • Added asymmetrical corners API to be able to specify separately each corner's radius with 2 values. ( Icbd69 )
  • Extended the FontSetting API to include:
    • font feature setting such as setting the font to be tabular. ( If12b7 )
    • font variation setting such as setting custom width for variable fonts. ( I2b36d )
  • Added font family API to FontStyle to allow specifying an order list of which font families should be used. ( Iba9f5 )
  • Renamed constants for space height between content and secondary label in Material's LayoutDefaults that were initially prefixed with “Edge content” to be more generic as they can be applied to both PrimaryLayout and EdgeContentLayout . ( I4dc32 )

رفع اشکال

  • Renamed naming for variable font axes from axisName to axisTag . ( I02ba3 )

نسخه 1.2.0-alpha03

14 مه 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 is released. Version 1.2.0-alpha03 contains these commits .

ویژگی های جدید

  • Added API for setting custom weight values for FontStyle . ( I7390a )

رفع اشکال

  • Fix the failure in getTouchDelegateInfo due to empty target map. ( I2accf )

نسخه 1.2.0-alpha02

1 مه 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 is released. نسخه 1.2.0-alpha02 حاوی این تعهدات است.

تغییرات API

  • We've added support for disabling ripple feedback on individual clickable elements. ( If1ede )
  • The API for transformation has been removed from ArcModifiers as they don't support that feature ( Ic0827 )
  • ArcDirectionProp Builder now expects a value in the constructor. ( I76ada )
  • The PlatformDataValues.Builder.putAll method will allow merging one PlatformDataValue into another one. ( I50ba3 )
  • Text#setIsScalable is renamed to Text#setScalable . ( If920e )
  • Material Text can set whether to use scalable size (grows when user font size is changed) or not. ( Ibc849 )
  • We've added the option to set content description to TitleChip . ( I5d21f )
  • Fixed CompactChip to work correctly with icon only and update the API to allow this option. ( I6589e )

رفع اشکال

  • Fixed an issue of potential duplicate platform data during initialization. ( Iba0fd )
  • Introduce a new getter to DynamicDataNode to retrieve node cost. The cost is used when acquiring dynamic node quota. Currently, Nodes with fixed values will have a cost of 0, all the other nodes will have a cost of 1. ( Ia33e1 )
  • Remove counting logic from the NO_OP_QUOTA_MANAGER . ( Ib50b8 )
  • We have added a lint rule to report a warning when PrimaryLayout is used without setResponsiveContentInsetEnabled and provide a quick fix. ( I12025 )
  • There is a limit to a number of dynamic expression nodes. ( Iffae8 )

نسخه 1.2.0-alpha01

6 مارس 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 is released. نسخه 1.2.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • ProtoLayout Arc elements now have the option to add ArcDirection ( Clockwise , Counterclockwise or Normal ) to it. Adding this behavior to Arc , ArcLine or ArcText will fix their behavior on RTL layouts. ( I90699 )
  • EdgeContentLayout has been updated with a new setResponsiveContentInsetEnabled setter to achieve better alignment with the UX guidelines, consistency in Tiles by having primary label at the fixed place on top and responsive inset for labels. ( I60175 )
  • We have added PrimaryLayout.setResponsiveContentInsetEnabled that adds responsive inset to the primary label, secondary label and bottom chip in this layout, to avoid that content going off the screen edge. ( I0c457 )
  • Adds method to remove outer margins from CircularProgressIndicator so it can be used as a smaller component. ( I55c06 )

تغییرات API

  • Tiles renderer now excludes font padding on all text elements by default, without an option to include it. ( I3e300 )

رفع اشکال

  • Fixed Text alignment issue when ellipsize, letter spacing and center align are all used on Text. ( I716c7 )
  • Add a workaround for a skia arc drawing issue. ( I08f09 )
  • Fix ArcLine drawing direction for RTL layouts. ( I6c141 )

نسخه 1.1

نسخه 1.1.0

7 فوریه 2024

androidx.wear.protolayout:protolayout-*:1.1.0 is released. نسخه 1.1.0 شامل این تعهدات است.

تغییرات مهم از 1.0.0

  • Gradient support and better representation of lengths larger than 360 degrees in ArcLine .
  • Date-time formatting supports different time zones for dynamic data types.
  • Better text autosizing and ellipsizing options, to handle truncated text.
  • Spacer supports expanded dimensions with optional weight.
  • Schema version requirement annotation to all ProtoLayout APIs.
  • Extended target area to any Clickable element to 48 dp x 48 dp, to satisfy accessibility requirements.
  • Font padding is turned off by default and is the only behavior across all Text elements and Material components that contain text.

تغییرات اضافی

نسخه 1.1.0-rc01

24 ژانویه 2024

androidx.wear.protolayout:protolayout-*:1.1.0-rc01 is released. نسخه 1.1.0-RC01 شامل این تعهدات است.

رفع اشکال

  • PlatformTimeUpdateNotifierImpl ticks immediately after enabling update. ( I77145 )
  • CircularProgressIndicator has been fixed for RTL layouts. From now on, it will go clockwise in all cases. ( I95ee3 )
  • Add a workaround for a skia arc drawing issue. ( I08f09 )

نسخه 1.1.0-beta01

10 ژانویه 2024

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 is released. نسخه 1.1.0-beta01 شامل این تعهدات است.

ویژگی های جدید

The 1.1.0-beta01 release of Wear ProtoLayout indicates that this release of the library is feature complete and the API is locked (except where marked as experimental). Wear ProtoLayout 1.1 includes the following new functionalities and APIs:

  • ArcLine now supports gradient by adding Brush with SweepGradient and having a shadow on the cap to better represent length larger than 360 degrees by adding Shadow on the existing StrokeCap .
  • DynamicInstant has support for zoned date-time formatting. DynamicInstant and DynamicDuration can be used as state or platform data types.
  • Autosizing feature for text size that allows setting multiple sizes to FontStyle.setSizes where the Text size will automatically scale based on the space it has inside of the parent. Additionally, we improved ellipsizing options for text that overflows by adding TEXT_OVERFLOW_ELLIPSIZE and deprecating TEXT_OVERFLOW_ELLIPSIZE_END .
  • Spacer now supports having expanded dimensions with optional weight. For building ExpandedDimensionProp we have added a helper method DimensionBuilders.weight .
  • Support for dynamically hiding and unhiding layout elements with Modifier.visible . This includes having dynamic values in BoolProp .
  • All ProtoLayout APIs now have schema version requirement annotation and version can be checked before calling a newer API.
  • Every element that has Clickable now 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 Text elements. Additionally, AndroidTextStyle and related setters have been removed from the public API. with following bug fixes:
  • Added a setter for positioning the edge content in EdgeContentLayout so 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 SweepGradient API to allow accepting either colors or ColorStops in the constructor. ( I6676f )

رفع اشکال

  • Adding a restricted API and renderer support for setting a direction in which arc elements are drawn. ( Idef5a )
  • RoundMode defaults to Floor in FloatToInt32Node when unspecified. The node will still throw an exception if the provided RoundMode is unrecognized. ( I1b2d8 )

نسخه 1.1.0-alpha04

13 دسامبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.

ویژگی های جدید

  • VersionInfo class not implements the Comparable interface. ( I8d13c )
  • Renderer now supports TEXT_OVERFLOW_ELLIPSIZE option. ( I7f085 )

تغییرات API

  • Text overflow option TEXT_OVERFLOW_ELLIPSIZE_END is now deprecated. Please use the new API TEXT_OVERFLOW_ELLIPSIZE with 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, AndroidTextStyle and related setters have been removed from the public API. ( I79094 , Ib0b03 , I32959 , Iaf7d5 , Ifa298 , I0a4ae , Ida9d3 )
  • Modifier.hidden is replaced with Modifier.visible ( I56902 )
  • FontStyle#setSizes now accepts int instead of SpProp arguments. ( 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 )

نسخه 1.1.0-alpha03

29 نوامبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 is released. نسخه 1.1.0-alpha03 شامل این تعهدات است.

ویژگی های جدید

  • Add experimental support for dynamically hiding/unhiding layout elements ( I64a78 )
  • Add dynamic value support to BoolProp ( I2fe96 )
  • Add schema version requirement annotation to ProtoLayout APIs ( I0f03c )
  • Extending the API with the new option in TextOverflow for 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.weight for building ExpandedDimensionProp with weight. ( I4f72b )
  • DynamicInstant and DynamicDuration can be used as state or platform data types. ( I6819f )

تغییرات API

  • Update The API to hide DynamicZonedDateTime and move all its operations to DyanamicInstant ( I34b94 )
  • Spacer now supports Expanded dimension for width/height. ( Ie7c94 )
  • Support click target area extension in Renderer ( I39c79 )

نسخه 1.1.0-alpha02

15 نوامبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 is released. نسخه 1.1.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • Added an ArcLine StrokeCap Shadow field 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 StrokeCap Shadow . ( I48b17 )
  • Add renderer support for Sweep Gradient in ArcLine . ( I4d5bb )

نسخه 1.1.0-alpha01

18 اکتبر 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 is released. نسخه 1.1.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • Added a brush option to Arcline , with support for SweepGradient . ( 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 EdgeContentLayout so 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 )

نسخه 1.0

نسخه 1.0.0

9 آگوست 2023

androidx.wear.protolayout:protolayout-*:1.0.0 is released. نسخه 1.0.0 حاوی این commit ها است.

ویژگی های اصلی 1.0.0

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.

نسخه 1.0.0-rc01

26 جولای 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 is released. نسخه 1.0.0-rc01 حاوی این commit ها است.

  • To migrate from Tiles to ProtoLayout , please follow the instructions here .

تغییرات API

  • We have removed setLayoutConstraintForDynamicAnchorAngle and getLayoutConstraintForDynamicAnchorAngle methods 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 nested LayoutElements . ( I8a74b )

رفع اشکال

  • We have added a check to throw if DynamicColor has been set for a SpanText . ( I0e5bc )
  • It is clarified that DAILY_CALORIES data source unit is kcal. ( Iaa785 )

نسخه 1.0.0-beta01

21 ژوئن 2023

androidx.wear.protolayout:protolayout-*:1.0.0-beta01 is released. نسخه 1.0.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

  • Allow setting clock for time binding tests. ( I05622 )

تغییرات API

  • PlatformDataReceiver.onData() and StateBuilders.Builder.addKeyToValueMapping now accept type-safe mapping of DynamicDataKey to DynamicDataValue rather than unsafe generics. That means that DynamicDataValue is now typed with its DynamicType . HEART_RATE_ACCURACY_X constants moved to the root of PlatformHealthSources , to match other Android constants positioning. HEART_RATE_ACCURACY_X int constants are now used directly in DynamicHeartRateAccuracy.constant() and DynamicHeartRateAccuracy.dynamicDataValueOf() instead of value constant. ( I82ff5 )
  • The PlatformHealthSources.Constants class was instantiable by mistake. This has been fixed now. ( Icb849 )
  • PlatformTimeUpdateNotifier#setReceiver now receives Runnable instead of Supplier function and Executor to notify on. ( I9d938 )
  • We have changed the parameter type in the PlatformTimeUpdateNotifier#setReceiver from Callable to Supplier . ( I664bf )
  • CompactChip and TitleChip now 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

7 ژوئن 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits.

ویژگی های جدید

  • We've added a PlatformDataKey for heart rate accuracy. ( I7f9b8 )

تغییرات API

  • Rename StateBuilders#getIdToValueMapping to getKeyToValueMapping and change the return type to Map<<AppDataKey<?>,DynamicDataValue> . ( Iaa7ae )
  • Make StateStore a final class ( I408ca )
  • TimeGateway interface has been replaced by PlatformTimeUpdateNotifier in protolayout-expression-pipeline library which provides desired frequency for updating time data. ( I60869 )
  • Rename register / unregisterForData in PlatformDataProvider to set / clearReceiver ( I14b02 )
  • In Material Text, getExcludeFontPadding has been renamed to hasExcludeFontPadding . ( Iea01d )
  • Setter for perfectly aligning label was added to all chip components. All chips now have min tappable target applied. ( I8ae92 )
  • LayoutDefaults#BUTTON_MAX_NUMBER has been renamed to MAX_BUTTONS . ( I84788 )
  • DAILY_DISTANCE is renamed to DAILY_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 )
  • PlatformDataKey namespaces should follow Java style naming. ( I47bda )

Version 1.0.0-alpha10

24 مه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.

ویژگی های جدید

  • Add AppDataKey for accessing app pushed state; Add PlatformDataKey for accessing platform data; Add namespace support in StateStore . ( I7985e )
  • Support Equal and NotEqual operations for DynamicBool . ( I6a0c1 )

تغییرات API

  • FontStyles class is now final ( Iaa2ea )
  • LayoutElementBuilders#FontStyles has been deprecated. Please use androidx.wear.protolayout.Typography or create your own FontStyle . ( Ic929b )
  • Hide Action#Builder nested interface from Action interface. Implementations of Builder are already provided by LoadAction and LaunchAction classes. ( I1d70c )
  • Allow using DynamicFloat with FloatProp . Note that FloatProp do no require layout constraints as it's not used as a layout changing prop. ( I286ac )
  • The LoalAction and SetStateAction actions are removed as they were not really supported yet. ( I5d6a6 )
  • Added support for ARGB_8888 format for inline image resources. ( I8a07c )
  • Rename StateEntryValue to DynamicDataValue , and update the state APIS to use the DynamicDataKey ( If1c01 )
  • We are limiting the number of entries that are allowed in the StateStore in order to ensure that memory usage and state update time are well contained and controlled for each instance of the StateStore . As a result, the developer needs to ensure that they do not have more than MAX_STATE_ENTRY_COUNT entries in the map otherwise they will get an IllegalStateException when creating or updating the StateStore . ( Ibadb3 )
  • Hide OnLoadTrigger and OnConditionMetTrigger classes, and rename setTrigger to setCondition for OnConditionMetTrigger . ( Ibf629 )
  • For performance and compatibility reasons, the ProtoLayout renderers won't support the full set of features in AnimatedVectorDrawable resources. 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.cubicBezier method replaces the CubicBezierEasing.Builder . With that the EasingFunction class is removed and the easing constants from that class are now directly accessible from the Easing interface. In addition setInfiniteRepeatable is replaced by INFINITE_REPEATABLE_WITH_RESTART and INFINITE_REPEATABLE_WITH_REVERSE ( Ib41e7 )
  • Implement PlatformDataProvider to provide heart rate and daily steps. SensorGateway interface is removed from public API. ( I55b84 )
  • Add PlatformDataProvider , and update StateStore to register to PlatformDataProvider when the provider's supported key is required by node from expression pipeline. ( Ib616a )
  • SensorGateway is no longer Closeable as it no longer maintains any state. ( I6b4f7 )
  • Allow using FloatProp with DynamicFloat for progress in CircularProgressIndicator . This is supported for renderers supporting version 1.2. Old renderers will fallback to the staticValue if provided, otherwise to 0 ( I0d91b )
  • MultiButtonLayout constants have been refactored into LayoutDefaults.MultiButtonLayoutDefaults class which now contains those for button sizes depending on a number of buttons in the layout. ( I13973 )
  • Support using StringProp with DynamicString in Material Text. This is supported for renderers supporting version 1.2. Old renderers will fallback to the provided static value. Update Text#getText return type from String to StringProp . ( I7275b )

Version 1.0.0-alpha09

10 مه 2023

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 StrokeCap support for ArcLine . ( 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/disablePlatformSource methods have been removed from DynamicTypeEvaluator . 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 @IntRange for duration and delay in AnimationParameters. ( I388b6 )

Version 1.0.0-alpha08

19 آوریل 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.

ویژگی های جدید

  • AndroidTextStyle has been added to LayoutElementBuilders . ( I8d967 )
  • We have added support for setting excluding font padding in ProtoLayout Material Text. ( I17f5d )
  • ARGB_8888 is now supported for inline images. ( I18c1e )
  • DynamicColor now supports onCondition operation. ( I10927 )

تغییرات API

  • Support custom duration for reverse animation ( I3251f )
  • We've added the SemanticDescription modifier. In addition, ContentDescription is not bindable. ( I3f1d )
  • The DynamicBool.isFalse() method is now replaced with DynamicBool.negate() and the DynamicBool.isTrue() is removed. In addition NaN DynamicFloat values and narrowing a DynamicInt32 to a DynamicFloat now 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#onPreUpdate has been removed. ( I2dc35 )
  • Length of Strings in dynamic expressions are now capped. ( I4c93 )
  • The gradle dependencies are now correctly set to api instead of implementation when required. ( I40503 )

Version 1.0.0-alpha07

5 آوریل 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

ویژگی های جدید

  • Add dynamic value support to StringProp ( I04342 )
  • Mark bindable layout elements ( Ia110b )

تغییرات API

  • sensorGateway#registerSensorGatewayConsumer takes data type as a parameter instead of method in Consumer. ( Icf314 )
  • ObservableStateStore has been renamed to StateStore . ( Ieb0e2 )
  • Added DynamicTypeEvaluator.Builder instead of constructor arguments to allow more optional arguments, including ObservableStateStore which 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

22 مارس 2023

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 DynamicColor support to Border and Background
  • We've added dynamic value support to types in DimensionBuilder
  • Layout and components from tiles-material are moving to protolayout-material

تغییرات API

  • LoadActionListener has been added to ProtoLayoutViewInstance . ( If7806 )

رفع اشکال

  • Added FloatNodesTest ( Id7281 )
  • Fix renderer crash when unable to load structured bitmap.

Version 1.0.0-alpha05

8 مارس 2023

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 Modifiers object. 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 forwardRepeatDelayMillis and reverseRepeatDelayMillis to Repeatable . We've also renamed delayMillis in AnimationSpec to startDelayMillis ( Ifb266 )
  • DynamicTypeEvaluator.bind methods now accept an Executor. ( I346ab )
  • We've added the startEvaluation method to the BoundDynamicType to 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

22 فوریه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.

ویژگی های جدید

  • ObservableStateStore now 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 DynamicInt32 values ( I05485 )
  • We've added OnLoad and OnConditionalMet triggers. 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 AnimatedVectorDrawable and SeekableAnimatedVectorDrawable as layout resources.

تغییرات API

  • Sensor data requires API 29+. ( I8099e )
  • We've added two launchAction helper methods (for launching Activities).

رفع اشکال

  • Rename set/getSpec to set/getAnimationSpec in Tiles animation ( I3d74b )

نسخه 1.0.0-alpha03

8 فوریه 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 is released. نسخه 1.0.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • We have added toByteArray() and fromByteArray() 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 DynamicTypeEvaluator class 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.

نسخه 1.0.0-alpha02

25 ژانویه 2023

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. نسخه 1.0.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • Layout builders from androidx.wear.tiles:tiles are moving to androidx.wear.protolayout:protolayout . The ones in androidx.wear.tiles:tiles will be deprecated in one of the next alpha releases.

نسخه 1.0.0-alpha01

11 ژانویه 2023

androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 and androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 are released. نسخه 1.0.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • This release introduces a new library "ProtoLayout Expression" for creating expressions from dynamic variables.