طرح اولیه لباس

این کتابخانه امکان تعریف مجموعه‌ای از طرح‌بندی‌های رابط کاربری و عبارات غیر رابط کاربری را برای رندر/ارزیابی در سطوح از راه دور فراهم می‌کند.
آخرین به‌روزرسانی انتشار پایدار کاندیدای انتشار انتشار بتا انتشار آلفا
۱۱ فوریه ۲۰۲۶ ۱.۳.۰ - ۱.۴.۰-بتا۰۱ -

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

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

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

شیار

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

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

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

کاتلین

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

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

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

شیار

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

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

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

کاتلین

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

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

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

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

بازخورد

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

ایجاد یک مسئله جدید

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

نسخه ۱.۴

نسخه ۱.۴.۰-بتا۰۱

۱۱ فوریه ۲۰۲۶

androidx.wear.protolayout:protolayout-*:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 شامل این کامیت‌ها است.

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

نسخه ۱.۴.۰-بتا۰۱ از Wear ProtoLayout نشان می‌دهد که این نسخه از کتابخانه از نظر امکانات کامل شده و API آن قفل شده است (به جز مواردی که به عنوان آزمایشی علامت‌گذاری شده‌اند). Wear ProtoLayout 1.4 شامل قابلیت‌ها و APIهای جدید زیر است:

  • منابع تصویر درون‌خطی شده و بهبود عملکرد: یک مفهوم مدیریت منابع بهبود یافته معرفی شد که در آن ImageResource می‌تواند مستقیماً درون خود طرح‌بندی درون‌خطی شود.
    • این امر با حذف نیاز به نگاشت دستی منابع در onTileResourcesRequest و لغو آن متد، توسعه را به طور قابل توجهی ساده می‌کند.
    • این امر با حذف نیاز به دو فراخوانی binder، زمان بارگذاری Tiles را به طور قابل توجهی بهبود می‌بخشد، زیرا فقط می‌توان متد onTileResourcesRequest را پیاده‌سازی کرد.
    • اکنون همه APIهای Image با ارائه متدهای جدیدی که ProtoLayoutScope مسئول این امر می‌پذیرند، از این مفهوم پشتیبانی می‌کنند.
  • ثبت خودکار منابع و محدوده Material3: برای پشتیبانی از مفهوم MaterialScope در Material3 با منابع تصویر درون‌خطی، materialScopeWithResources اضافه شده است. این محدوده، ثبت خودکار منابع را مدیریت می‌کند و شامل متدهای کمکی جدید برای تصاویر ( backgroundImage ، avatarImage و icon ) برای ساده‌سازی استفاده از اجزا است.

    • قطعه کد ساده شده:

      materialScopeWithResources(
      context = context,
      deviceConfiguration = deviceParameters,
          protoLayoutScope = protoLayoutScope) {
        primaryLayout(
        // layout setup here
      iconContent = { **icon**(
      **imageResource**(
      **androidImageResource**(R.drawable.myIcon)))})
      //…
      }
      
  • پشتیبانی از PendingIntent: پشتیبانی از PendingIntent برای Tiles اضافه شده است. کلیک‌شونده‌های PendingIntent اقدامات جایگزین ( LoadAction یا LaunchAction ) را می‌پذیرند. این تضمین می‌کند که اگر رندرکننده ProtoLayout نسخه قدیمی‌تری باشد که PendingIntent پشتیبانی نمی‌کند، یک اقدام جایگزین معتبر به طور خودکار استفاده شود.

  • بسیاری از پیشرفت‌های Kotlin DSL:

    • برای بهبود تجربه توسعه‌دهندگان برای کاربران کاتلین، کمک‌کننده‌های تخصصی کاتلین برای Image و همه انواع ImageResources اضافه شده است.
    • برای سازگاری بیشتر با توسعه مدرن اندروید، کمک‌رسان‌هایی برای انواع کانتینر مانند Box ، Row ، Column و غیره اضافه شده است.
    • یک اصلاح‌کننده و متد کمکی جدید برای تبدیل کاتلین (Kotlin Transformation ) برای محو شدن در انیمیشن اضافه شد.
  • سفارشی‌سازی انیمیشن Lottie: API در AndroidLottieResourceByResId اضافه شده است تا امکان سفارشی‌سازی انیمیشن Lottie از طریق ویژگی‌ها فراهم شود و پشتیبانی و API مشخصی برای ایجاد ویژگی برای تم‌بندی یک اسلات بر اساس شناسه اسلات با رنگ مشخص اضافه شده است.

  • آگاهی از حالت محیطی: یک منبع رویداد جدید پلتفرم به isInAmbientMode اضافه شده است که به طرح‌بندی‌ها اجازه می‌دهد بر اساس اینکه دستگاه در حالت محیطی است یا خیر، واکنش نشان داده و عبارات را به‌روزرسانی کنند.

تغییرات API

  • کمک‌کننده‌های تصویر Material3: کمک‌کننده‌های تصویر Material3 موجود منسوخ شدند و جای خود را به اضافه بارهای جدیدی دادند که از ProtoLayoutScope و مدیریت منابع درون‌خطی جدید استفاده می‌کنند.
  • به‌روزرسانی‌های MaterialScope: فیلد protoLayoutScope در MaterialScope برای استفاده آسان‌تر هنگام ایجاد از طریق materialScopeWithResources NonNull است. یک تابع جدید hasProtoLayoutScope برای بررسی وجود آن اضافه شده است. MaterialScope همچنین فیلد عمومی Context را در معرض نمایش قرار می‌دهد.
  • عنوان معنایی به عنوان یک API در LayoutModifier در دسترس است.
  • پشتیبانی از جهت قوسی ثابت‌های ARC_DIRECTION_* اکنون به صورت عمومی برای استفاده در عناصر Arc / ArcLine / ArcText / DashedArcLine در دسترس هستند.

رفع اشکالات

  • مقایسه منابع: عملکرد بهینه شده با پیاده‌سازی روش‌های hash و equals بهبود یافته برای مقایسه انواع منابع.
  • توضیحات محتوای پیش‌فرض را برای تک دکمه‌ی متنی (textButton) اعمال کنید.
  • محاسبات مربوط به تنظیم حداکثر خطوط در سمت رندر را اصلاح کنید.

نسخه ۱.۴.۰-آلفا۰۵

۲۸ ژانویه ۲۰۲۶

androidx.wear.protolayout:protolayout-*:1.4.0-alpha05 منتشر شد. نسخه 1.4.0-alpha05 شامل این کامیت‌ها است.

تغییرات API

  • یک اصلاح‌کننده‌ی جدید Transformation کاتلین اضافه شده است. ( I195a7 , b/397169191 )

رفع اشکالات

  • ما با حذف Stateful ProtoLayoutScope از TileService مشکل مدیریت بهتر منابع را برطرف کرده‌ایم. ( I5dc0a ، b/474614772 )

نسخه ۱.۴.۰-آلفا۰۴

۱۴ ژانویه ۲۰۲۶

androidx.wear.protolayout:protolayout-*:1.4.0-alpha04 منتشر شد. نسخه 1.4.0-alpha04 شامل این کامیت‌ها است.

تغییرات API

  • ما کمکی‌های تصویر Material3 را منسوخ کرده‌ایم و به جای آنها از overloadهای جدیدی استفاده می‌کنیم که ProtoLayoutScope و مفهوم مدیریت منابع بهتر استفاده می‌کنند که در آن ImageResource می‌تواند مستقیماً در خود طرح‌بندی inline شود و نیاز به متد onTileResourcesRequest برای نگاشت منابع را از بین ببرد. برای بهترین تجربه، از آن با androidx.wear.tiles.Material3TileService که در نسخه Wear Tiles 1.6-alpha04 اضافه شده است، استفاده کنید. ( I8198c ، b/440376391 )

نسخه ۱.۴.۰-آلفا۰۳

۱۷ دسامبر ۲۰۲۵

androidx.wear.protolayout:protolayout-*:1.4.0-alpha03 منتشر شد. نسخه 1.4.0-alpha03 شامل این کامیت‌ها است.

رفع اشکالات

  • مقایسه دو نوع منبع برای مدیریت بهتر منابع و بهبود عملکرد، اکنون با استفاده از روش‌های هش و تساوی بهینه‌شده انجام می‌شود. ( 82f21b2f )

نسخه ۱.۴.۰-آلفا۰۲

۲۲ اکتبر ۲۰۲۵

androidx.wear.protolayout:protolayout-*:1.4.0-alpha02 منتشر شد. نسخه 1.4.0-alpha02 شامل این کامیت‌ها است.

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

  • منبع رویداد جدید پلتفرم ( isInAmbientMode ) اضافه شد که نشان می‌دهد آیا دستگاه در حالت محیطی است یا خیر ( Ief832 )

تغییرات API

  • اکنون clickable PendingIntent یک اقدام جایگزین ( LoadAction / LaunchAction ) را می‌پذیرد تا زمانی که PendingIntent توسط رندرکننده ProtoLayout پشتیبانی نمی‌شود، مورد استفاده قرار گیرد. اقدام جایگزین به طور خودکار انتخاب شده و در طرح‌بندی قرار می‌گیرد، زمانی که نسخه رندرکننده پایین‌تر از نسخه‌ای باشد که از PendingIntent پشتیبانی می‌کند. ( I6eee2 ، b/450259727 )
  • فیلد protoLayoutScope در MaterialScope اکنون NonNull تبدیل شده است تا استفاده از آن هنگام ایجاد MaterialScope از طریق materialScopeWithResources آسان‌تر شود. علاوه بر این، یک تابع hasProtoLayoutScope برای بررسی وجود آن وجود دارد. ( I1858f ، b/450067019 )

نسخه ۱.۴.۰-آلفا۰۱

۲۴ سپتامبر ۲۰۲۵

androidx.wear.protolayout:protolayout-*:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 شامل این کامیت‌ها است.

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

  • یک متد کمکی برای LayoutModifier اضافه شده است که باعث می‌شود یک عنصر همزمان با نمایان شدن کاشی، محو شود. ( I38531 ، b/390345969 )
  • materialScopeWithResources برای پشتیبانی از مفهوم M3 MaterialScope اضافه شد که ثبت خودکار منابع را نیز بر عهده دارد. در داخل آن، متدهای کمکی جدیدی برای تصاویر ( backgroundImage avatarImage و آیکون) اضافه شده است که نیاز به ثبت دستی منابع در onTileResourceRequest را هنگام استفاده از بین می‌برد. ( I525bd ، b/428692714 )
  • کمک‌کننده‌های کاتلین ProtoLayout برای Image و ImageResources برای استفاده با ProtoLayoutScope و ثبت خودکار منابع. ( Iada82 ، b/430584304 )
  • یک دریافت‌کننده برای تعیین تعداد ویژگی‌های Lottie که در سفارشی‌سازی یک انیمیشن Lottie مجاز هستند، اضافه شد. ( I73733 ، b/436532706 )
  • API را در AndroidLottieResourceByResId اضافه کنید تا امکان سفارشی‌سازی انیمیشن Lottie از طریق ویژگی‌ها فراهم شود و API را برای ایجاد ویژگی برای قالب‌بندی اسلات با شناسه اسلات به رنگ مشخص شده اضافه کنید. ( I301b3 ، b/423581481 )
  • APIهای ارائه‌دهنده را برای پذیرش PendingIntent به عنوان اقدام کلیک اضافه کنید ( I01978 ، b/433802488 )
  • API جدیدی را در Image.Builder - setImageResource اضافه کنید تا شیء منبع را مستقیماً روی تصویر در onTileRequest تنظیم کنید، بدون اینکه نیازی به ثبت آن در نگاشت در onTileResourcesRequest باشد. ( Ifa69a ، b/428693523 )
  • مفهوم ProtoLayoutScope برای مدیریت بهتر منابع در Tiles اضافه شد. ( I132ce ، b/428692423 )
  • ProtoLayout Material3 MaterialScope اکنون فیلد Context را به صورت عمومی نمایش می‌دهد تا در متدهای درون محدوده، بدون نیاز به ارسال آن، مورد استفاده قرار گیرد. ( I0e5cc ، b/414559956 )
  • APIهای معنایی عنوان را عمومی کنید ( I75299 ، b/413653475 )
  • ثابت‌های ARC_DIRECTION_* را برای استفاده در Arc/ArcLine/ArcText/DashedArcLine به صورت عمومی نمایش دهید. ( I83959 ، b/427556439 )

تغییرات API

  • ما متدهای Image.Builder() و Image.Builder.setResourceId را منسوخ کرده‌ایم و از API جدید ثبت خودکار منابع استفاده می‌کنیم که در Image.Builder(ProtoLayoutScope) و Image.Builder.setImageResource موجود است و نیاز به override کردن onTileResourcesRequest را از بین می‌برد. ( I7bfe6 , b/432758526 )
  • APIهای مربوط به ایجاد ProtoLayoutScope از حالت محدود به عمومی تغییر دهید. با این حال، نباید از آنها استفاده شود زیرا سیستم از قبل این فراخوانی‌ها را مدیریت می‌کند. ( I1d8e8 , b/432758251 )

رفع اشکالات

  • پیاده‌سازی پشتیبانی از PendingIntent در ProtoTiles ( I38167 ، b/430610429 ) را اضافه کنید.
  • متد invalidateLayout اضافه کنید. ( Ief898 )
  • انتقال minSdk پیش‌فرض از API 21 به API 23 ( Ibdfca ، b/380448311 ، b/435705964 ، b/435705223 )
  • ImageResource اکنون دارای متدهای hashCode و equals است. ( I650ee , b/428692423 , b/428693523 )
  • پیام اولیه جدید PendingIntentAction و سازنده بسته‌بندی آن ( Ie2aca ، b/427643502 ) را اضافه کنید
  • کاهش تعداد دفعات ایجاد نمونه ZoneId . ( I284d3 )
  • توضیحات محتوای پیش‌فرض را به textButton تک اسلاتی اعمال کنید. ( I0dc8a ، b/415001534 )
  • محاسبات مربوط به تنظیم حداکثر خطوط در سمت رندرر را اصلاح کنید. ( I933bc ، b/414353620 )

نسخه ۱.۳

نسخه ۱.۳.۰

۴ ژوئن ۲۰۲۵

androidx.wear.protolayout:protolayout-*:1.3.0 منتشر شد. نسخه ۱.۳.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۲.۰

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

نسخه ۱.۳.۰-rc01

۲۰ مه ۲۰۲۵

androidx.wear.protolayout:protolayout-*:1.3.0-rc01 بدون هیچ تغییری نسبت به نسخه قبلی منتشر شده است. نسخه 1.3.0-rc01 شامل این کامیت‌ها است.

نسخه ۱.۳.۰-بتا۰۲

۷ مه ۲۰۲۵

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

رفع اشکالات

  • ما بهبود مهمی در مقادیر طراحی تایپوگرافی که در API 36 و بالاتر اعمال می‌شوند، ایجاد کرده‌ایم. دلیل این امر این است که از API 36، تمام کاشی‌ها با فونت سیستم خواهند بود، بنابراین این تغییر، سازگاری بهتری را در چرخ فلک کاشی‌ها ایجاد می‌کند. ( If316f )
  • سازنده‌های Text ، Spacer ، ArcLine و DashedArcLine در صورتی که layoutConstraints برای مقادیر پویا تنظیم نشده باشند، اجرا نمی‌شوند. توجه داشته باشید که رندرکننده‌های قدیمی‌تر هنوز هم به تنظیم layoutConstraints نیاز دارند و هر مقدار پویایی را که تنظیم نشده باشد، نادیده می‌گیرند. ( Ic52e8 )
  • اصلاح‌کننده‌ی معنایی عنوان را اضافه کنید تا نشان دهد که یک عنصر طرح‌بندی به منظور دسترسی‌پذیری به بخشی از محتوا اشاره دارد و متن موجود در جایگاه عنوان primaryLayout را به عنوان عنوان دسترسی‌پذیری به طور پیش‌فرض علامت‌گذاری کنید. ( Iae1fb )
  • پرداخت نهایی تجربه کاربری primaryLayout که در آن فضای بین جایگاه عنوان و جایگاه اصلی به جای ۶dp در صفحه نمایش‌های کوچک‌تر، به ۴dp کاهش یافته است. ( I0e056 )
  • توضیحات محتوای پیش‌فرض را به textEdgeButton اعمال کن. ( Ifaf8b )
  • به‌روزرسانی جزئی در پدینگ داخلی avatarButton . ( I0910b )

نسخه ۱.۳.۰-بتا۰۱

۹ آوریل ۲۰۲۵

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

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

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

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

نسخه ۱.۳.۰-آلفا۱۰

۱۲ مارس ۲۰۲۵

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

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

  • اضافه کردن کمکی برای قلم‌مو در اصلاح‌کننده پس‌زمینه کاتلین ( I995de )
  • فیلد اجباری Android Context در MaterialScope عمومی شده است تا استفاده از آن در توابع توسعه‌دهندگانی که کامپوننت‌هایی برای کاشی‌های Material3 ایجاد می‌کنند، آسان‌تر شود. ( I7df73 )

تغییرات API

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

رفع اشکالات

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

نسخه ۱.۳.۰-آلفا۰۹

۲۶ فوریه ۲۰۲۵

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

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

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

تغییرات API

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

رفع اشکالات

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

نسخه ۱.۳.۰-آلفا۰۸

۱۲ فوریه ۲۰۲۵

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

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

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

تغییرات API

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

رفع اشکالات

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

نسخه ۱.۳.۰-آلفا۰۷

۲۹ ژانویه ۲۰۲۵

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

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

  • گزینه API برای تنظیم محرک‌های مختلف برای انیمیشن‌های Lottie اضافه شد. علاوه بر این، API برای محرک‌هایی که هنگام نمایش طرح‌بندی فعال می‌شوند اضافه شد ( I8272d )
  • اصلاح‌کننده‌های border ، visibility و opacity اضافه شدند. ( I6d3dd )
  • دکمه آواتار به کامپوننت ProtoLayout Material3 اضافه شد. ( Idb5ae )
  • اکنون اجازه می‌دهیم حاشیه‌ها (کناری و در برخی موارد پایین) در Material3 primaryLayout ( Ib22f6 ) سفارشی‌سازی شوند.
  • نوع قطعه‌بندی‌شده‌ی نشانگر پیشرفت دایره‌ای را اضافه کنید. ( I6a648 )
  • کامپوننت دکمه فشرده به ProtoLayout Material3 اضافه شد. ( Ia3c5c )
  • کامپوننت‌های دکمه به شکل قرص و دکمه تصویری به ProtoLayout Material3 اضافه شد. ( Ifb88a )

تغییرات API

  • LayoutModfier.foldIn اکنون foldRight نامیده می‌شود تا رفتار مورد انتظار خود را بهتر منعکس کند ( Idf242 )
  • تریگر VisibleOnce اکنون آزمایشی است. ( Ib2d26 )
  • withOpacity از API عمومی حذف کنید زیرا یک کتابخانه گرافیکی جایگزین وجود دارد. ( I030c2 )
  • نام متدهای سطح بالا در LayoutString.kt و LayoutColor.kt به نام‌های سازگار با جاوا تغییر داده شد. ( I7aff0 )
  • تایپوگرافی‌های غیر ProtoLayout در Material3 حذف شدند. ( Idd9ae )
  • پسوند Color را به فیلدهای کلاس‌های *Colors در Material3 اضافه کنید. ( I2d114 )

رفع اشکالات

  • پیاده‌سازی جایگزین EdgeButton را برای رندرکننده‌های قدیمی‌تر که از گوشه‌های نامتقارن پشتیبانی نمی‌کنند، اضافه کنید. ( I63364 )
  • پیاده‌سازی جایگزین نشانگر پیشرفت دایره‌ای را با رندرکننده قدیمی‌تر اضافه کنید. ( I0f134 )

نسخه ۱.۳.۰-alpha06

۱۵ ژانویه ۲۰۲۵

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

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

  • LayoutColor برای پشتیبانی از انواع رنگ استاتیک و پویا ( I4c89b )
  • کامپوننت textButton مربوط به ProtoLayout Material3 اضافه شد. ( Id680d )
  • کامپوننت iconButton ProtoLayout Material3 را اضافه کنید. ( Ica3f0 )
  • کامپوننت کانتینر دکمه ProtoLayout Material3 اضافه شد. ( I17a38 )
  • پشتیبانی از اصلاح‌کننده‌های معنایی Chainable به protolayout-material3 ( I4af62 ) اضافه شد.
  • اضافه شدن ProtoLayout Material3 با یک قطعه کد CircularProgressIndicator ( I2c8a2 )
  • اضافه شدن padding و اصلاح‌کننده‌های metadata ( I8720a )
  • background ، clip و اصلاح‌کننده‌های clickable اضافه شد ( I35478 )
  • LinearGradient به قلم‌مو اضافه کنید و اجازه دهید در اصلاح‌کننده پس‌زمینه استفاده شود. ( Ic4dea )
  • اندازه کوچک برای appCard و titleCard اضافه کنید. ( I91f98 )
  • کامپوننت graphicDataCard مربوط به ProtoLayout Material3 اضافه شد. ( I92be7 )
  • کامپوننت‌های ProtoLayout Material3 iconDataCard و textDataCard اضافه شد. ( I4e1e4 )
  • کامپوننت appCard مربوط به ProtoLayout Material3 اضافه شد. ( Id4c57 )
  • رنگ‌های انتزاعی EdgeButtonColors به ButtonColors ( I83624 )
  • کامپوننت ProtoLayout Material3 titleCard اضافه شد. ( I2dc72 )

تغییرات API

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

رفع اشکالات

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

نسخه ۱.۳.۰-آلفا۰۵

۱۱ دسامبر ۲۰۲۴

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

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

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

رفع اشکالات

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

نسخه ۱.۳.۰-آلفا۰۴

۱۳ نوامبر ۲۰۲۴

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

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

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

نسخه ۱.۳.۰-آلفا۰۳

۳۰ اکتبر ۲۰۲۴

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

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

  • LayoutElementAssertionsProvider ، LayoutElementAssertion و LayoutElementMatcher را به کتابخانه تست ( Id1110 ) اضافه کنید.

نسخه ۱.۳.۰-آلفا۰۲

۱۶ اکتبر ۲۰۲۴

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

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

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

رفع مشکلات امنیتی

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

مشارکت خارجی

نسخه ۱.۳.۰-آلفا۰۱

۲ اکتبر ۲۰۲۴

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

رفع اشکالات

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

نسخه ۱.۲

نسخه ۱.۲.۱

۱۶ اکتبر ۲۰۲۴

androidx.wear.protolayout:protolayout-*:1.2.1 منتشر شد. نسخه ۱.۲.۱ شامل این کامیت‌ها است.

رفع مشکلات امنیتی

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

نسخه ۱.۲.۰

۷ آگوست ۲۰۲۴

androidx.wear.protolayout:protolayout-*:1.2.0 منتشر شد. نسخه ۱.۲.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۱.۰

  • FontStyle به‌روزرسانی شده است تا پشتیبانی فونت بیشتری برای محورهای متغیر داشته باشد و API انتخاب فونت بهتری برای پشتیبانی از فونت‌های Flex آینده ارائه دهد.
  • پشتیبانی از اصلاح‌کننده‌های اضافی:
    • اصلاح‌کننده‌ی تبدیل که امکان انتقال، چرخش و مقیاس‌بندی را با یا بدون انیمیشن فراهم می‌کند.
    • تعیین مقادیر مختلف (افقی و عمودی) برای هر شعاع گوشه.
  • با افزایش مساحت قابل لمس هر عنصری که از اصلاح‌کننده Clickable استفاده می‌کند، به اندازه حداقل 48dp در 48dp ، دسترسی به همه اهداف لمسی بهبود یافته است.
  • با افزودن setResponsiveContentInsetEnabled PrimaryLayout و EdgeContentLayout بهبود یافته‌اند تا از رفتار واکنش‌گرای این طرح‌بندی‌ها در اندازه‌های مختلف صفحه نمایش بهتر پشتیبانی کنند و سازگاری Tiles را بهبود بخشند.
  • بهبود مقیاس‌بندی/عدم مقیاس‌بندی متن متریال برای مقیاس‌بندی فونت غیرخطی اندروید ۱۴.
  • پشتیبانی بهبود یافته از جهت طرح RTL در تمام عناصر قوس.

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

نسخه ۱.۲.۰-rc01

۲۴ ژوئیه ۲۰۲۴

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

رفع اشکالات

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

نسخه ۱.۲.۰-بتا۰۱

۱۰ ژوئیه ۲۰۲۴

androidx.wear.protolayout:protolayout-*:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 شامل این کامیت‌ها است.

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

نسخه ۱.۲.۰-بتا۰۱ از Wear ProtoLayout نشان می‌دهد که این نسخه از کتابخانه از نظر امکانات کامل شده و API آن قفل شده است (به جز مواردی که به عنوان آزمایشی علامت‌گذاری شده‌اند). Wear ProtoLayout 1.2 شامل قابلیت‌ها و APIهای جدید زیر است:

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

تغییرات API

  • نام خانوادگی فونت پیش‌فرض ( DEFAULT_SYSTEM_FONT ) حذف شده است، زیرا به طور ضمنی از عدم استفاده از API preferredFontFamilies ( I39dab ) ناشی می‌شود.
  • پارامتر ارسالی به FontSetting.width باید مثبت باشد. ( I1266f )

نسخه ۱.۲.۰-آلفا۰۵

۲۶ ژوئن ۲۰۲۴

androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 منتشر شد. نسخه 1.2.0-alpha05 شامل این کامیت‌ها است.

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

  • متد hasText را به Material.CompactChip اضافه کنید تا بررسی کنید که آیا محتوای متن تنظیم شده است یا خیر. ( I6e8fc )

تغییرات API

  • مقادیر ثابت FontFamily به جای کلاس Builder به FontStyle منتقل شده‌اند. ( I06ced )
  • APIهای FontSetting.weight و FontSetting.width را به‌روزرسانی کنید تا شامل حاشیه‌نویسی‌های Range باشند و پارامتر weight را به عدد صحیح (Int) تغییر دهید ( Ia726c ).

رفع اشکالات

  • متن‌های غیرمقیاس‌پذیر در کتابخانه متریال اکنون به درستی با مقیاس‌بندی فونت غیرخطی اندروید ۱۴ کار می‌کنند. ( I6601e )

نسخه ۱.۲.۰-آلفا۰۴

۲۹ مه ۲۰۲۴

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

تغییرات API

  • API گوشه‌های نامتقارن اضافه شد تا بتوان شعاع هر گوشه را با ۲ مقدار به طور جداگانه مشخص کرد. ( Icbd69 )
  • API FontSetting را گسترش داد تا شامل موارد زیر باشد:
    • تنظیم ویژگی‌های فونت مانند تنظیم فونت به صورت جدولی ( If12b7 )
    • تنظیمات تغییر فونت مانند تنظیم عرض سفارشی برای فونت‌های متغیر. ( I2b36d )
  • API خانواده فونت به FontStyle اضافه شد تا امکان تعیین لیست ترتیب استفاده از خانواده‌های فونت فراهم شود. ( Iba9f5 )
  • ثابت‌های مربوط به ارتفاع فضای بین محتوا و برچسب ثانویه در LayoutDefaults مربوط به Material که در ابتدا با پیشوند «Edge content» مشخص می‌شدند، تغییر نام دادند تا عمومی‌تر باشند و بتوان آن‌ها را هم برای PrimaryLayout و هم EdgeContentLayout اعمال کرد. ( I4dc32 )

رفع اشکالات

  • نامگذاری محورهای فونت متغیر از axisName به axisTag تغییر نام داد. ( I02ba3 )

نسخه ۱.۲.۰-آلفا۰۳

۱۴ مه ۲۰۲۴

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 شامل این کامیت‌ها است.

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

  • API برای تنظیم مقادیر وزن سفارشی برای FontStyle اضافه شد. ( I7390a )

رفع اشکالات

  • رفع مشکل عدم موفقیت در getTouchDelegateInfo به دلیل خالی بودن نقشه هدف ( I2accf )

نسخه ۱.۲.۰-آلفا۰۲

۱ مه ۲۰۲۴

androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 شامل این کامیت‌ها است.

تغییرات API

  • ما پشتیبانی از غیرفعال کردن بازخورد موجی روی عناصر قابل کلیک را اضافه کرده‌ایم. ( If1ede )
  • رابط برنامه‌نویسی کاربردی (API) برای تبدیل از ArcModifiers حذف شده است زیرا از این ویژگی پشتیبانی نمی‌کند ( Ic0827 )
  • ArcDirectionProp Builder اکنون انتظار دریافت مقداری در سازنده را دارد. ( I76ada )
  • متد PlatformDataValues.Builder.putAll امکان ادغام یک PlatformDataValue در یک PlatformDataValue دیگر را فراهم می‌کند. ( I50ba3 )
  • Text#setIsScalable به Text#setScalable تغییر نام داده شده است. ( If920e )
  • متن متریال می‌تواند تنظیم کند که آیا از اندازه مقیاس‌پذیر (با تغییر اندازه فونت کاربر افزایش می‌یابد) استفاده کند یا خیر. ( Ibc849 )
  • ما گزینه‌ای برای تنظیم توضیحات محتوا روی TitleChip اضافه کرده‌ایم. ( I5d21f )
  • مشکل کارکرد صحیح CompactChip فقط با آیکون برطرف شد و API به‌روزرسانی شد تا این گزینه فعال شود. ( I6589e )

رفع اشکالات

  • مشکل داده‌های تکراری احتمالی پلتفرم در هنگام مقداردهی اولیه برطرف شد. ( Iba0fd )
  • یک getter جدید به DynamicDataNode معرفی کنید تا هزینه گره را بازیابی کند. این هزینه هنگام دستیابی به سهمیه گره پویا استفاده می‌شود. در حال حاضر، گره‌هایی با مقادیر ثابت هزینه ۰ و سایر گره‌ها هزینه ۱ خواهند داشت. ( Ia33e1 )
  • منطق شمارش را از NO_OP_QUOTA_MANAGER حذف کنید. ( Ib50b8 )
  • ما یک قانون lint اضافه کرده‌ایم تا هنگام استفاده از PrimaryLayout بدون setResponsiveContentInsetEnabled هشداری را گزارش دهد و یک راه‌حل سریع ارائه دهد. ( I12025 )
  • محدودیتی برای تعداد گره‌های عبارت پویا وجود دارد. ( Iffae8 )

نسخه ۱.۲.۰-آلفا۰۱

۶ مارس ۲۰۲۴

androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 شامل این کامیت‌ها است.

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

  • عناصر ProtoLayout Arc اکنون می‌توانند ArcDirection ( Clockwise ، Counterclockwise یا Normal ) را به خود اضافه کنند. افزودن این رفتار به Arc ، ArcLine یا ArcText رفتار آنها را در طرح‌بندی‌های RTL اصلاح می‌کند. ( I90699 )
  • EdgeContentLayout با یک تنظیم‌کننده جدید setResponsiveContentInsetEnabled به‌روزرسانی شده است تا با دستورالعمل‌های UX، هماهنگی بهتری داشته باشد، در Tiles با داشتن برچسب اصلی در مکان ثابت در بالا و inset واکنش‌گرا برای برچسب‌ها، سازگاری بیشتری ایجاد کند. ( I60175 )
  • ما PrimaryLayout.setResponsiveContentInsetEnabled را اضافه کرده‌ایم که به برچسب اصلی، برچسب ثانویه و تراشه پایینی در این طرح‌بندی، درج واکنش‌گرا اضافه می‌کند تا از خروج محتوا از لبه صفحه جلوگیری شود. ( I0c457 )
  • روشی برای حذف حاشیه‌های بیرونی از CircularProgressIndicator اضافه می‌کند تا بتوان از آن به عنوان یک کامپوننت کوچک‌تر استفاده کرد. ( I55c06 )

تغییرات API

  • رندرکننده‌ی Tiles اکنون به طور پیش‌فرض، فاصله‌ی بین فونت‌ها (font padding) را در تمام عناصر متنی حذف می‌کند، بدون اینکه گزینه‌ای برای گنجاندن آن وجود داشته باشد. ( I3e300 )

رفع اشکالات

  • مشکل ترازبندی متن هنگام استفاده از بیضی‌سازی، فاصله‌گذاری حروف و ترازبندی وسط در متن برطرف شد. ( I716c7 )
  • یک راه حل برای مشکل ترسیم قوس اسکی اضافه کنید. ( I08f09 )
  • رفع مشکل جهت ترسیم ArcLine برای طرح‌بندی‌های RTL ( I6c141 )

نسخه ۱.۱

نسخه ۱.۱.۰

۷ فوریه ۲۰۲۴

androidx.wear.protolayout:protolayout-*:1.1.0 منتشر شد. نسخه ۱.۱.۰ شامل این کامیت‌ها است.

تغییرات مهم از زمان ۱.۰.۰

  • پشتیبانی از گرادیان و نمایش بهتر طول‌های بزرگتر از ۳۶۰ درجه در ArcLine .
  • قالب‌بندی تاریخ-زمان از مناطق زمانی مختلف برای انواع داده‌های پویا پشتیبانی می‌کند.
  • گزینه‌های بهتر برای تغییر اندازه خودکار و بیضی‌بندی متن، برای مدیریت متن کوتاه‌شده.
  • فاصله دهنده از ابعاد گسترده با وزن اختیاری پشتیبانی می‌کند.
  • حاشیه‌نویسی الزامات نسخه Schema برای تمام APIهای ProtoLayout .
  • ناحیه هدف گسترش‌یافته برای هر عنصر Clickable تا ۴۸ نقطه در ۴۸ نقطه، برای برآورده کردن الزامات دسترسی‌پذیری.
  • قابلیت font padding به طور پیش‌فرض غیرفعال است و تنها رفتار در تمام عناصر Text و کامپوننت‌های Material است که حاوی متن هستند.

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

نسخه ۱.۱.۰-rc01

۲۴ ژانویه ۲۰۲۴

androidx.wear.protolayout:protolayout-*:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 شامل این کامیت‌ها است.

رفع اشکالات

  • بلافاصله پس از فعال کردن به‌روزرسانی، PlatformTimeUpdateNotifierImpl تیک می‌زند. ( I77145 )
  • CircularProgressIndicator برای طرح‌بندی‌های RTL برطرف شده است. از این به بعد، در همه موارد در جهت عقربه‌های ساعت حرکت خواهد کرد. ( I95ee3 )
  • یک راه حل برای مشکل ترسیم قوس اسکی اضافه کنید. ( I08f09 )

نسخه ۱.۱.۰-بتا۰۱

۱۰ ژانویه ۲۰۲۴

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 شامل این کامیت‌ها است.

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

نسخه ۱.۱.۰-بتا۰۱ از Wear ProtoLayout نشان می‌دهد که این نسخه از کتابخانه از نظر امکانات کامل شده و API آن قفل شده است (به جز مواردی که به عنوان آزمایشی علامت‌گذاری شده‌اند). Wear ProtoLayout 1.1 شامل قابلیت‌ها و APIهای جدید زیر است:

  • ArcLine اکنون با اضافه کردن Brush با SweepGradient و داشتن سایه روی کلاهک، از گرادیان پشتیبانی می‌کند تا با اضافه کردن Shadow روی StrokeCap ​​موجود، طول بزرگتر از ۳۶۰ درجه را بهتر نشان دهد.
  • DynamicInstant از قالب‌بندی تاریخ-زمان منطقه‌ای پشتیبانی می‌کند. DynamicInstant و DynamicDuration می‌توانند به عنوان انواع داده وضعیت یا پلتفرم استفاده شوند.
  • ویژگی تنظیم خودکار اندازه متن که امکان تنظیم چندین اندازه را برای FontStyle.setSizes فراهم می‌کند، که در آن اندازه متن به طور خودکار بر اساس فضایی که درون والد دارد، مقیاس‌بندی می‌شود. علاوه بر این، ما گزینه‌های بیضی‌سازی را برای متنی که سرریز می‌شود با اضافه کردن TEXT_OVERFLOW_ELLIPSIZE و منسوخ کردن TEXT_OVERFLOW_ELLIPSIZE_END بهبود بخشیده‌ایم.
  • اکنون Spacer از داشتن ابعاد بسط‌یافته با وزن اختیاری پشتیبانی می‌کند. برای ساخت ExpandedDimensionProp یک متد کمکی DimensionBuilders.weight اضافه کرده‌ایم.
  • پشتیبانی از پنهان‌سازی و آشکارسازی پویای عناصر طرح‌بندی با استفاده از Modifier.visible . این شامل داشتن مقادیر پویا در BoolProp نیز می‌شود.
  • اکنون تمام APIهای ProtoLayout دارای حاشیه‌نویسی الزامات نسخه طرحواره هستند و می‌توان قبل از فراخوانی یک API جدیدتر، نسخه را بررسی کرد.
  • هر عنصری که Clickable داشته باشد، اکنون ناحیه هدف آن در رندرکننده حداقل به ۴۸x۴۸ افزایش یافته است تا از الزامات دسترسی‌پذیری بهتر پشتیبانی کند.
  • پیرو سایر ابتکارات کامپوننت‌های متریال و Compose، اکنون به طور پیش‌فرض، padding فونت را برای همه عناصر Text غیرفعال کرده‌ایم. علاوه بر این، AndroidTextStyle و setterهای مرتبط از API عمومی حذف شده‌اند و اشکالات زیر برطرف شده‌اند:
  • یک تنظیم‌کننده برای موقعیت‌یابی محتوای لبه در EdgeContentLayout اضافه شد تا بتوان آن را قبل از سایر محتوا قرار داد.
  • هنگام مواجهه با یک مقدار enum ناشناخته، دائماً یک استثنا صادر می‌کند.
  • وقتی نتیجه‌ی یک عبارت، مقدار عددی نامعتبری (NaN یا بی‌نهایت) می‌دهد یا خطای ArithmeticException صادر می‌کند، آن را نامعتبر می‌کند.

تغییرات API

  • به‌روزرسانی‌هایی در SweepGradient API برای امکان پذیرش رنگ‌ها یا ColorStops در سازنده. ( I6676f )

رفع اشکالات

  • اضافه کردن یک API محدود و پشتیبانی رندر برای تنظیم جهت رسم عناصر قوسی. ( Idef5a )
  • اگر RoundMode در FloatToInt32Node مشخص نشده باشد، به طور پیش‌فرض روی Floor تنظیم می‌شود. اگر RoundMode ارائه شده شناسایی نشود، گره همچنان یک استثنا ایجاد می‌کند. ( I1b2d8 )

نسخه ۱.۱.۰-آلفا۰۴

۱۳ دسامبر ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 منتشر شد. نسخه 1.1.0-alpha04 شامل این کامیت‌ها است.

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

  • کلاس VersionInfo رابط Comparable را پیاده‌سازی نمی‌کند. ( I8d13c )
  • رندرر اکنون از گزینه TEXT_OVERFLOW_ELLIPSIZE پشتیبانی می‌کند. ( I7f085 )

تغییرات API

  • گزینه سرریز متن TEXT_OVERFLOW_ELLIPSIZE_END اکنون منسوخ شده است. لطفاً از API جدید TEXT_OVERFLOW_ELLIPSIZE با رفتاری بسیار مشابه استفاده کنید. ( I822d8 )
  • به دنبال سایر کامپوننت‌های متریال و ابتکارات Compose، اکنون به طور پیش‌فرض قابلیت padding فونت را برای همه عناصر متن غیرفعال کرده‌ایم. علاوه بر این، AndroidTextStyle و setterهای مرتبط از API عمومی حذف شده‌اند. ( I79094 ، Ib0b03 ، I32959 ، Iaf7d5 ، Ifa298 ، I0a4ae ، Ida9d3 )
  • Modifier.hidden با Modifier.visible ( I56902 ) جایگزین شده است.
  • FontStyle#setSizes اکنون به جای آرگومان‌های SpProp از نوع int استفاده می‌کند. ( I02b37 )

رفع اشکالات

  • هنگام مواجهه با یک مقدار شمارشی تعریف نشده یا ناشناخته، یک استثنا ایجاد کنید. ( I9d2cf )
  • Refactor کردن DynamicTypeBindingRequest . ( I27b57 )
  • وقتی نتیجه‌ی یک عبارت، مقدار عددی نامعتبری (NaN یا بی‌نهایت) می‌دهد یا خطای ArithmeticException استثنای حسابی) تولید می‌کند، آن را نامعتبر می‌کند. ( I681ae )

نسخه ۱.۱.۰-آلفا۰۳

۲۹ نوامبر ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 منتشر شد. نسخه 1.1.0-alpha03 شامل این کامیت‌ها است.

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

  • اضافه شدن پشتیبانی آزمایشی برای پنهان/آشکارسازی پویای عناصر طرح‌بندی ( I64a78 )
  • اضافه کردن پشتیبانی از مقدار پویا به BoolProp ( I2fe96 )
  • حاشیه‌نویسی الزامات نسخه طرحواره را به APIهای ProtoLayout اضافه کنید ( I0f03c )
  • گسترش API با گزینه جدید در TextOverflow برای بیضی‌سازی متن در یک کانتینر والد ثابت، حتی زمانی که به حداکثر تعداد خطوط نرسیده‌ایم (اما فضای کافی برای متن وجود ندارد). ( I110a9 )
  • متد کمکی DimensionBuilders.weight برای ساخت ExpandedDimensionProp با وزن اضافه شد. ( I4f72b )
  • DynamicInstant و DynamicDuration می‌توانند به عنوان انواع داده وضعیت یا پلتفرم استفاده شوند. ( I6819f )

تغییرات API

  • API را به‌روزرسانی کنید تا DynamicZonedDateTime پنهان کند و تمام عملیات آن را به DyanamicInstant ( I34b94 ) منتقل کند.
  • فاصله‌گذار اکنون از ابعاد گسترده برای عرض/ارتفاع پشتیبانی می‌کند. ( Ie7c94 )
  • پشتیبانی از افزونه‌ی ناحیه‌ی هدف کلیک در رندرر ( I39c79 )

نسخه ۱.۱.۰-آلفا۰۲

۱۵ نوامبر ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 منتشر شد. نسخه 1.1.0-alpha02 شامل این کامیت‌ها است.

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

  • یک فیلد Shadow ArcLine StrokeCap ​​به API اضافه شد. ( I830ec )
  • گسترش API برای تعیین عرض یا ارتفاع Spacer برای باز شدن. ( I757ca )
  • ما یک API آزمایشی اضافه کرده‌ایم تا به طور خودکار اندازه متن را بر اساس فضایی که درون والد دارد، مقیاس‌بندی کند. ( Ibbe63 )
  • پشتیبانی از حداقل اندازه قابل کلیک ( I178e3 )
  • پشتیبانی رندر برای Shadow StrokeCap ​​اضافه شد. ( I48b17 )
  • پشتیبانی رندر برای گرادیان جاروبی را در ArcLine اضافه کنید. ( I4d5bb )

نسخه ۱.۱.۰-آلفا۰۱

۱۸ اکتبر ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 شامل این کامیت‌ها است.

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

  • گزینه قلم‌مو به Arcline اضافه شد، با پشتیبانی از SweepGradient . ( Ie7ce3 )
  • پشتیبانی از قالب‌بندی تاریخ-زمان منطقه‌ای اضافه شد. ( Ibfae0 )
  • پروتوها و جاوا رَپِرها (Wrapper) مورد نیاز برای قالب‌بندی تاریخ-زمان منطقه‌ای اضافه شدند. ( I97126 )
  • گیرنده‌هایی برای خواندن مقدار ذخیره شده در DynamicDataValue اضافه شد. ( Ie6cea )
  • یک تنظیم‌کننده برای موقعیت‌یابی محتوای لبه در EdgeContentLayout اضافه شد تا بتوان آن را قبل از سایر محتوا قرار داد. ( Ie8e8a )

رفع اشکالات

  • مشکلی که باعث می‌شد عبارتی با چندین منبع داده زمانی ثبت شده، بلافاصله به‌روزرسانی نشود، برطرف شد ( I8e1a8 )
  • اشکال مربوط به قرار دادن عنصر ریشه در مرکز صفحه هنگام به‌روزرسانی‌های تفاوت برطرف شد. ( Ie48f7 )
  • مقادیر محدودیت طرح‌بندی تنظیم نشده (یا خالی) دیگر نادیده گرفته نخواهند شد. ( Ibc785 )
  • کاهش تأخیر بین قابل مشاهده شدن یک طرح‌بندی و مقداردهی اولیه گره‌های خط لوله آن. ( I38d4e )

نسخه ۱.۰

نسخه ۱.۰.۰

۹ آگوست ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.0.0 منتشر شد. نسخه ۱.۰.۰ شامل این کامیت‌ها است.

ویژگی‌های اصلی نسخه ۱.۰.۰

کتابخانه ProtoLayout رابط‌های برنامه‌نویسی کاربردی (API) را برای ایجاد طرح‌بندی‌ها و عباراتی که می‌توانند در سطوح مختلف Wear OS استفاده شوند، معرفی می‌کند. به عنوان مثال، کتابخانه Tiles از این APIها برای پشتیبانی از اتصال داده‌های پلتفرم (برای به‌روزرسانی سریع‌تر داده‌های کاشی) و انیمیشن‌ها استفاده می‌کند.

نسخه ۱.۰.۰-rc01

۲۶ ژوئیه ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 شامل این کامیت‌ها است.

  • برای مهاجرت از Tiles به ProtoLayout ، لطفاً دستورالعمل‌های اینجا را دنبال کنید.

تغییرات API

  • ما متدهای setLayoutConstraintForDynamicAnchorAngle و getLayoutConstraintForDynamicAnchorAngle را از عنصر Arc حذف کرده‌ایم. این متدها به اشتباه اضافه شده‌اند و هیچ تاثیری بر طرح ارائه شده ندارند. ( If7d01 )
  • ما حداکثر عمقی که طرح‌بندی یک ProtoLayout می‌تواند داشته باشد را به 30 LayoutElements تو در تو محدود کرده‌ایم. ( I8a74b )

رفع اشکالات

  • ما یک بررسی اضافه کرده‌ایم که اگر DynamicColor برای SpanText تنظیم شده باشد، اجرا می‌شود ( I0e5bc ).
  • واضح است که واحد منبع داده DAILY_CALORIES کیلوکالری است. ( Iaa785 )

نسخه ۱.۰.۰-بتا۰۱

۲۱ ژوئن ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 شامل این کامیت‌ها است.

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

  • امکان تنظیم ساعت برای تست‌های اتصال زمان ( I05622 )

تغییرات API

  • PlatformDataReceiver.onData() و StateBuilders.Builder.addKeyToValueMapping اکنون نگاشت ایمن از DynamicDataKey به DynamicDataValue را به جای ژنریک‌های ناامن می‌پذیرند. این بدان معناست که DynamicDataValue اکنون با DynamicType خود تایپ می‌شود. ثابت‌های HEART_RATE_ACCURACY_X به ریشه PlatformHealthSources منتقل شده‌اند تا با موقعیت سایر ثابت‌های اندروید مطابقت داشته باشند. ثابت‌های int HEART_RATE_ACCURACY_X اکنون به جای ثابت value، مستقیماً در DynamicHeartRateAccuracy.constant() و DynamicHeartRateAccuracy.dynamicDataValueOf() استفاده می‌شوند. ( I82ff5 )
  • کلاس PlatformHealthSources.Constants به اشتباه قابل نمونه‌سازی بود. این مشکل اکنون برطرف شده است. ( Icb849 )
  • PlatformTimeUpdateNotifier#setReceiver اکنون به جای تابع Supplier Runnable و Executor را برای اطلاع رسانی دریافت می‌کند. ( I9d938 )
  • ما نوع پارامتر را در PlatformTimeUpdateNotifier#setReceiver از Callable به Supplier تغییر داده‌ایم. ( I664bf )
  • CompactChip و TitleChip اکنون از اضافه کردن یک آیکون به آن پشتیبانی می‌کنند. ( I5a01e )

رفع اشکالات

  • پیام‌های Prop با فیلدهای پویا را به‌روزرسانی کنید تا به جای آن از oneof استفاده شود ( I81739 )
  • استفاده مجدد از پیاده‌سازی setterها برای overloadهایی که setter دارند ( Ied70c )
  • اثر انگشت‌ها را به درستی در دستگاه‌های تنظیم‌کننده‌ای که دارای بار اضافی هستند ثبت کنید ( I86ed2 )

نسخه ۱.۰.۰-آلفا۱۱

۷ ژوئن ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 شامل این کامیت‌ها است.

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

  • ما یک PlatformDataKey برای دقت ضربان قلب اضافه کرده‌ایم. ( I7f9b8 )

تغییرات API

  • نام StateBuilders#getIdToValueMapping به getKeyToValueMapping تغییر دهید و نوع بازگشتی را به Map<<AppDataKey<?>,DynamicDataValue> تغییر دهید. ( Iaa7ae )
  • StateStore به یک کلاس نهایی تبدیل کنید ( I408ca )
  • رابط TimeGateway در کتابخانه protolayout-expression-pipeline با PlatformTimeUpdateNotifier جایگزین شده است که فرکانس مورد نظر برای به‌روزرسانی داده‌های زمانی را فراهم می‌کند. ( I60869 )
  • تغییر نام register / unregisterForData در PlatformDataProvider به set / clearReceiver ( I14b02 )
  • در متن متریال، getExcludeFontPadding به hasExcludeFontPadding تغییر نام داده است ( Iea01d ).
  • تنظیم‌کننده‌ای برای ترازبندی کامل برچسب به تمام اجزای تراشه اضافه شد. اکنون به تمام تراشه‌ها حداقل هدف قابل لمس اعمال شده است. ( I8ae92 )
  • LayoutDefaults#BUTTON_MAX_NUMBER به MAX_BUTTONS تغییر نام داده شده است. ( I84788 )
  • DAILY_DISTANCE به DAILY_DISTANCE_M تغییر نام داده است ( I4f758 )

رفع اشکالات

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

نسخه ۱.۰.۰-آلفا۱۰

۲۴ مه ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 شامل این کامیت‌ها است.

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

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

تغییرات API

  • کلاس FontStyles اکنون نهایی است ( Iaa2ea )
  • LayoutElementBuilders#FontStyles منسوخ شده است. لطفاً از androidx.wear.protolayout.Typography استفاده کنید یا FontStyle خودتان را ایجاد کنید. ( Ic929b )
  • رابط تودرتوی Action#Builder را از رابط Action مخفی کنید. پیاده‌سازی‌های Builder از قبل توسط کلاس‌های LoadAction و LaunchAction ارائه شده‌اند. ( I1d70c )
  • اجازه استفاده از DynamicFloat به همراه FloatProp را بدهید. توجه داشته باشید که FloatProp نیازی به محدودیت‌های طرح‌بندی ندارد زیرا به عنوان یک ویژگی تغییر طرح‌بندی استفاده نمی‌شود. ( I286ac )
  • اکشن‌های LoalAction و SetStateAction حذف شده‌اند زیرا هنوز پشتیبانی نشده‌اند. ( I5d6a6 )
  • پشتیبانی از فرمت ARGB_8888 برای منابع تصویر درون خطی اضافه شد. ( I8a07c )
  • نام StateEntryValue را به DynamicDataValue تغییر دهید و APIS مربوط به state را برای استفاده از DynamicDataKey به‌روزرسانی کنید ( If1c01 ).
  • ما تعداد ورودی‌های مجاز در StateStore را محدود می‌کنیم تا اطمینان حاصل شود که میزان استفاده از حافظه و زمان به‌روزرسانی وضعیت برای هر نمونه از StateStore به خوبی کنترل و مهار شده است. در نتیجه، توسعه‌دهنده باید مطمئن شود که بیش از MAX_STATE_ENTRY_COUNT ورودی در نقشه ندارد، در غیر این صورت هنگام ایجاد یا به‌روزرسانی StateStore با خطای IllegalStateException مواجه خواهد شد. ( Ibadb3 )
  • کلاس‌های OnLoadTrigger و OnConditionMetTrigger را مخفی کنید و نام setTrigger را به setCondition for 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 را به‌روزرسانی کنید تا زمانی که کلید پشتیبانی‌شده‌ی provider توسط گره از خط لوله‌ی عبارت مورد نیاز است، در PlatformDataProvider ثبت شود. ( Ib616a )
  • SensorGateway دیگر Closeable نیست زیرا دیگر هیچ وضعیتی را حفظ نمی‌کند. ( I6b4f7 )
  • اجازه استفاده از FloatProp به همراه DynamicFloat برای پیشرفت در CircularProgressIndicator را بدهید. این قابلیت برای رندرکننده‌هایی که از نسخه ۱.۲ پشتیبانی می‌کنند، پشتیبانی می‌شود. رندرکننده‌های قدیمی در صورت ارائه staticValue ، در غیر این صورت به ۰ ( I0d91b ) رجوع می‌کنند.
  • ثابت‌های MultiButtonLayout به کلاس LayoutDefaults.MultiButtonLayoutDefaults تغییر یافته‌اند که اکنون شامل ثابت‌هایی برای اندازه دکمه‌ها بسته به تعداد دکمه‌های موجود در طرح‌بندی است. ( I13973 )
  • پشتیبانی از استفاده از StringProp با DynamicString در متن متریال. این مورد برای رندرکننده‌هایی که از نسخه ۱.۲ پشتیبانی می‌کنند، پشتیبانی می‌شود. رندرکننده‌های قدیمی به مقدار استاتیک ارائه شده، پشتیبان‌گیری می‌کنند. نوع بازگشتی Text#getText را از String به StringProp به‌روزرسانی کنید. ( I7275b )

نسخه ۱.۰.۰-آلفا۰۹

۱۰ مه ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این کامیت‌ها است.

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

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

تغییرات API

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

نسخه ۱.۰.۰-آلفا۰۸

۱۹ آوریل ۲۰۲۳

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

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

  • AndroidTextStyle به LayoutElementBuilders اضافه شده است. ( I8d967 )
  • ما پشتیبانی از تنظیمات حذف فاصله فونت را در 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 )

نسخه ۱.۰.۰-آلفا۰۷

۵ آوریل ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 منتشر شد. نسخه 1.0.0-alpha07 شامل این کامیت‌ها است.

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

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

تغییرات API

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

رفع اشکالات

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

نسخه ۱.۰.۰-alpha06

۲۲ مارس ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 شامل این کامیت‌ها است.

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

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

تغییرات API

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

رفع اشکالات

  • FloatNodesTest اضافه شد ( شناسه ۷۲۸۱ )
  • رفع مشکل کرش شدن رندر هنگام عدم امکان بارگذاری بیت‌مپ ساختاریافته.

نسخه ۱.۰.۰-آلفا۰۵

۸ مارس ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 منتشر شد. نسخه 1.0.0-alpha05 شامل این کامیت‌ها است.

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

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

تغییرات API

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

رفع اشکالات

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

نسخه ۱.۰.۰-آلفا۰۴

۲۲ فوریه ۲۰۲۳

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

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

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

تغییرات API

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

رفع اشکالات

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

نسخه ۱.۰.۰-آلفا۰۳

۸ فوریه ۲۰۲۳

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 منتشر شد. نسخه 1.0.0-alpha03 شامل این کامیت‌ها است.

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

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

نسخه ۱.۰.۰-آلفا۰۲

۲۵ ژانویه ۲۰۲۳

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

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

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

نسخه ۱.۰.۰-آلفا۰۱

۱۱ ژانویه ۲۰۲۳

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

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

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