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

این کتابخانه امکان تعریف مجموعه‌ای از طرح‌بندی‌های UI و عبارات غیر UI را برای رندر/ارزیابی روی سطوح از راه دور فراهم می‌کند.
آخرین به روز رسانی انتشار پایدار نامزد انتشار نسخه بتا انتشار آلفا
24 جولای 2024 1.1.0 1.2.0-rc01 - -

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

برای افزودن وابستگی به wear-protolayout، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر ، مخزن Maven Google را بخوانید.

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

شیار

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

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.0-rc01"

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

کاتلین

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

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

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

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

بازخورد

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

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

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

نسخه 1.2

نسخه 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 )
  • در Material Text، getExcludeFontPadding به hasExcludeFontPadding تغییر نام داده است. ( Iea01d )
  • تنظیم کننده برای تراز کردن کامل برچسب به تمام اجزای تراشه اضافه شد. اکنون همه تراشه‌ها دارای حداقل هدف قابل لمس هستند. ( I8ae92 )
  • LayoutDefaults#BUTTON_MAX_NUMBER به MAX_BUTTONS تغییر نام داده است. ( I84788 )
  • DAILY_DISTANCE به DAILY_DISTANCE_M تغییر نام داد. ( I4f758 )

رفع اشکال

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

نسخه 1.0.0-alpha10

24 مه 2023

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

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

  • افزودن AppDataKey برای دسترسی به وضعیت تحت فشار برنامه. افزودن PlatformDataKey برای دسترسی به داده های پلت فرم. پشتیبانی فضای نام را در StateStore اضافه کنید. ( I7985e )
  • پشتیبانی از عملیات Equal و NotEqual برای DynamicBool . ( I6a0c1 )

تغییرات API

  • کلاس FontStyles اکنون نهایی است ( Iaa2ea )
  • LayoutElementBuilders#FontStyles منسوخ شده است. لطفاً از androidx.wear.protolayout.Typography استفاده کنید یا FontStyle خود را ایجاد کنید. ( IC929b )
  • رابط تو در تو Action#Builder را از رابط Action مخفی کنید. پیاده سازی Builder قبلاً توسط کلاس های LoadAction و LaunchAction ارائه شده است. ( I1d70c )
  • امکان استفاده از DynamicFloat با FloatProp . توجه داشته باشید که FloatProp نیازی به محدودیت های طرح بندی ندارد زیرا به عنوان یک پایه تغییر طرح استفاده نمی شود. ( I286ac )
  • کنش‌های LoalAction و SetStateAction حذف شده‌اند، زیرا هنوز واقعاً پشتیبانی نشده‌اند. ( I5d6a6 )
  • پشتیبانی از فرمت ARGB_8888 برای منابع تصویر درون خطی اضافه شده است. ( I8a07c )
  • StateEntryValue به DynamicDataValue تغییر نام دهید و APIS حالت را برای استفاده از DynamicDataKey ( If1c01 ) به روز کنید.
  • ما تعداد ورودی‌های مجاز در StateStore را محدود می‌کنیم تا اطمینان حاصل کنیم که استفاده از حافظه و زمان به‌روزرسانی وضعیت به خوبی برای هر نمونه از StateStore کنترل و کنترل می‌شود. در نتیجه، توسعه‌دهنده باید مطمئن شود که بیش از MAX_STATE_ENTRY_COUNT ورودی در نقشه نداشته باشد، در غیر این صورت هنگام ایجاد یا به‌روزرسانی StateStore ، یک IllegalStateException دریافت می‌کند. ( Ibadb3 )
  • کلاس‌های OnLoadTrigger و OnConditionMetTrigger را مخفی کنید و نام setTrigger را به setCondition برای OnConditionMetTrigger تغییر دهید. ( IBF629 )
  • به دلایل عملکرد و سازگاری، رندرهای ProtoLayout از مجموعه کامل ویژگی‌ها در منابع AnimatedVectorDrawable پشتیبانی نمی‌کنند. تا زمانی که بتوانیم مجموعه پشتیبانی شده را تعریف کنیم، آن APIها را به‌عنوان آزمایشی علامت‌گذاری می‌کنیم. ( IC6daf )
  • انواع پویا برای مسافت روزانه، کالری روزانه و طبقات روزانه اضافه شده است. کلیدهای منابع سلامت پلتفرم اکنون تحت PlatformHealthSources.Keys هستند ( Ib7637 )
  • روش Easing.cubicBezier جایگزین CubicBezierEasing.Builder می شود. با آن کلاس EasingFunction حذف می شود و ثابت های easing از آن کلاس اکنون مستقیماً از رابط Easing قابل دسترسی هستند. علاوه بر این setInfiniteRepeatable با INFINITE_REPEATABLE_WITH_RESTART و INFINITE_REPEATABLE_WITH_REVERSE ( Ib41e7 ) جایگزین شده است.
  • PlatformDataProvider برای ارائه ضربان قلب و مراحل روزانه پیاده سازی کنید. رابط SensorGateway از API عمومی حذف شده است. ( I55b84 )
  • PlatformDataProvider را اضافه کنید و StateStore برای ثبت در PlatformDataProvider به‌روزرسانی کنید، زمانی که کلید پشتیبانی‌کننده ارائه‌دهنده توسط نود از خط لوله بیان مورد نیاز است. ( IB616a )
  • SensorGateway دیگر Closeable نیست زیرا دیگر هیچ حالتی را حفظ نمی کند. ( I6b4f7 )
  • اجازه استفاده از FloatProp با DynamicFloat برای پیشرفت در CircularProgressIndicator را بدهید. این برای رندرهایی که از نسخه 1.2 پشتیبانی می کنند پشتیبانی می شود. رندرهای قدیمی در صورت ارائه به staticValue بازگشت خواهند کرد، در غیر این صورت به 0 ( I0d91b )
  • ثابت‌های MultiButtonLayout به کلاس LayoutDefaults.MultiButtonLayoutDefaults تبدیل شده‌اند که اکنون شامل موارد مربوط به اندازه دکمه‌ها بسته به تعدادی از دکمه‌ها در طرح‌بندی است. ( I13973 )
  • پشتیبانی از StringProp با DynamicString در متن متریال. این برای رندرهایی که از نسخه 1.2 پشتیبانی می کنند پشتیبانی می شود. رندرهای قدیمی به مقدار استاتیک ارائه شده بازگشت خواهند کرد. نوع بازگشت Text#getText را از String به StringProp به‌روزرسانی کنید. ( I7275b )

نسخه 1.0.0-alpha09

10 مه 2023

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

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

  • ما یک عنصر طرح‌بندی برنامه افزودنی آزمایشی اضافه کرده‌ایم. توجه داشته باشید که به طور پیش‌فرض نمی‌توان از آن استفاده کرد و به یک پسوند رندری نیاز دارد که بتواند عنصر طرح‌بندی را درک کند. ( I6581d )
  • پشتیبانی StrokeCap ​​برای ArcLine اضافه شد. ( I94951 )
  • پشتیبانی از عملیات Instant Conditional اضافه شده است. ( I489a7 )
  • پشتیبانی از عملیات مدت زمان مشروط اضافه شده است. ( Iab469 )
  • اضافه شدن پشتیبانی برای ایجاد مدت زمان از ثانیه. ( Ib5fa1 )

تغییرات API

  • روش‌های enable/disablePlatformSource از DynamicTypeEvaluator حذف شده‌اند. تماس گیرنده باید مسئول به روز رسانی ها باشد. ( I78c6d )
  • اجازه می دهد تا اندازه انواع داده های محدود شده را محدود کند. ( Ie2966 )
  • پشتیبانی از توضیحات محتوای پویا را در protolayout-material اضافه کنید. ( I62c8e )
  • از طولانی و @IntRange برای مدت زمان و تاخیر در AnimationParameters استفاده کنید. ( I388b6 )

نسخه 1.0.0-alpha08

19 آوریل 2023

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

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

  • AndroidTextStyle به LayoutElementBuilders اضافه شده است. ( I8d967 )
  • ما پشتیبانی برای تنظیم به استثنای padding فونت در ProtoLayout Material Text اضافه کرده‌ایم. ( I17f5d )
  • ARGB_8888 اکنون برای تصاویر درون خطی پشتیبانی می شود. ( I18c1e )
  • DynamicColor اکنون از عملیات onCondition پشتیبانی می کند. ( I10927 )

تغییرات API

  • پشتیبانی از مدت زمان سفارشی برای انیمیشن معکوس ( I3251f )
  • ما اصلاح کننده SemanticDescription را اضافه کرده ایم. علاوه بر این، ContentDescription قابل اتصال نیست. ( I3f1d )
  • متد DynamicBool.isFalse() اکنون با DynamicBool.negate() جایگزین شده و DynamicBool.isTrue() حذف می شود. علاوه بر این، مقادیر NaN DynamicFloat و باریک کردن DynamicInt32 به DynamicFloat اکنون یک نتیجه پویا نامعتبر منتشر می کند. ( I6ac1e )
  • فرمت‌کننده‌های Int و float اکنون از الگوی Builder استفاده می‌کنند. ( Ieb213 )

رفع اشکال

  • مقدار استاتیک بازگشتی از فیلدهای متحرک حذف شده است. ( Ifcb01 )
  • DynamicTypeValueReceiver#onPreUpdate حذف شده است. ( I2dc35 )
  • طول رشته ها در عبارات پویا در حال حاضر محدود شده است. ( I4c93 )
  • اکنون وابستگی‌های gradle به‌جای implementation در صورت لزوم، به‌درستی روی api تنظیم شده‌اند. ( I40503 )

نسخه 1.0.0-alpha07

5 آوریل 2023

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

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

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

تغییرات API

  • sensorGateway#registerSensorGatewayConsumer نوع داده را به جای متد در Consumer به عنوان پارامتر می گیرد. ( ICF314 )
  • ObservableStateStore به StateStore تغییر نام داده است. ( Ieb0e2 )
  • DynamicTypeEvaluator.Builder را به جای آرگومان های سازنده اضافه کرد تا آرگومان های اختیاری بیشتری را مجاز کند، از جمله ObservableStateStore که اکنون به صورت پیش فرض یک فروشگاه خالی است. ( I6f832 )
  • ترتیب مجدد پارامترها در DynamicTypeEvaluator . ( IC1ba4 )

رفع اشکال

  • انتشار صحیح سیگنال ها از منابع حسگر پلت فرم به گره های پایین دست ( I5a922 )

نسخه 1.0.0-alpha06

22 مارس 2023

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

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

  • ما یک API آزمایشی برای استفاده از ضربان قلب و گام‌های روزانه در عبارات پویا اضافه کرده‌ایم ( Ifd711 )
  • ما پشتیبانی از تاخیر معکوس و جلو برای انیمیشن ها را اضافه کرده ایم. ( IC25f7 )
  • ما پشتیبانی DynamicColor به Border و Background اضافه کرده‌ایم
  • ما پشتیبانی ارزش پویا را به انواع در DimensionBuilder اضافه کرده‌ایم
  • چیدمان و اجزای tiles-material در حال حرکت به protolayout-material هستند

تغییرات API

  • LoadActionListener به ProtoLayoutViewInstance اضافه شده است. ( If7806 )

رفع اشکال

  • FloatNodesTest اضافه شد ( Id7281 )
  • رفع خرابی رندر هنگامی که قادر به بارگیری بیت مپ ساختاریافته نیستید.

نسخه 1.0.0-alpha05

8 مارس 2023

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

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

  • ما یک انیمیشن آزمایشی "به روز رسانی محتوا" را به شی Modifiers اضافه کرده ایم. هر زمان که عنصر (با این اصلاح‌کننده) یا یکی از فرزندان آن در طول به‌روزرسانی طرح‌بندی تغییر کند، این انیمیشن فعال می‌شود. ( bd03e5d )

تغییرات API

  • ما forwardRepeatDelayMillis و reverseRepeatDelayMillis را به Repeatable اضافه کرده‌ایم. ما همچنین نام delayMillis را در AnimationSpec به startDelayMillis تغییر دادیم ( Ifb266 )
  • متدهای DynamicTypeEvaluator.bind اکنون یک Executor را می پذیرند. ( I346ab )
  • ما متد startEvaluation به BoundDynamicType اضافه کرده‌ایم تا پس از محدود شدن نوع پویا، ارزیابی را آغاز کنیم. ( I19908 )

رفع اشکال

  • شی Animator برای انیمیشن های بعدی یک عنصر استفاده مجدد خواهد شد. ( Ia3be9 )

نسخه 1.0.0-alpha04

22 فوریه 2023

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

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

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

تغییرات API

  • داده‌های حسگر به API 29+ نیاز دارند. ( I8099e )
  • ما دو روش کمکی launchAction (برای راه‌اندازی Activities) اضافه کرده‌ایم.

رفع اشکال

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

نسخه 1.0.0-alpha03

8 فوریه 2023

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

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

  • ما toByteArray() و fromByteArray() به انواع Dynamic در کتابخانه protolayout-express اضافه کرده ایم.
  • ما toString() به انواع Dynamic در کتابخانه protolayout-expression اضافه کرده ایم.
  • ما پشتیبانی ارزیابی را برای انواع Dynamic اضافه کرده ایم. کلاس DynamicTypeEvaluator از کتابخانه protolayout-expression-pipeline می تواند برای ارزیابی (و دریافت مقادیر به روز شده) برای نوع Dynamic که قبلا ایجاد شده است ( DynamicString ، DynamicFloat ، …) استفاده شود.
  • وقتی انیمیشن‌ها قابل پخش نیستند (چه به این دلیل که توسط ارزیاب غیرفعال شده‌اند، یا تعداد انیمیشن‌های در حال اجرا به حد تعیین‌شده رسیده است)، از مقادیر ثابت تنظیم‌شده روی گره متحرک برای جایگزینی انیمیشن استفاده می‌شود.

نسخه 1.0.0-alpha02

25 ژانویه 2023

androidx.wear.protolayout:protolayout:1.0.0-alpha02 ، androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 و androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 منتشر شدند. نسخه 1.0.0-alpha02 حاوی این commit ها است.

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

  • سازندگان طرح‌بندی از androidx.wear.tiles:tiles به androidx.wear.protolayout:protolayout می‌روند. موارد موجود در androidx.wear.tiles:tiles در یکی از نسخه های آلفا بعدی منسوخ خواهند شد.

نسخه 1.0.0-alpha01

11 ژانویه 2023

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

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

  • این نسخه یک کتابخانه جدید "ProtoLayout Expression" را برای ایجاد عبارات از متغیرهای پویا معرفی می کند.