پویانمایی Compose

در برنامه‌های Jetpack Compose خود پویانمایی بسازند تا تجربه کاربری را غنی‌تر کنند.
جدیدترین به‌روزرسانی نسخه پایدار نامزد انتشار انتشار نسخه بتا نسخه آلفا
۷ اکتبر ۲۰۲۶ ۱.۱۲.۱ - 1.13.0-beta01 -

ساختار

‫Compose ترکیبی از ۷ شناسه گروه Maven در androidx است. هر گروه شامل زیرمجموعه هدف‌گذاری‌شده‌ای از عملکردها است که هرکدام مجموعه یادداشت‌های انتشار خود را دارند.

این جدول گروه‌ها و پیوندها به هر مجموعه از یادداشت‌های انتشار را توضیح می‌دهد.

گروهشرح
compose.animationدر برنامه‌های Jetpack Compose خود پویانمایی بسازند تا تجربه کاربری را غنی‌تر کنند.
compose.compilerبا افزونه مترجم Kotlin، توابع @Composable را تبدیل کنید و بهینه‌سازی‌ها را فعال کنید.
compose.foundationبرنامه‌های Jetpack Compose را با واحدهای سازنده آماده استفاده بنویسید و پایه را گسترش دهید تا عناصر سیستم طراحی خودتان را بسازید.
compose.materialبا «عناصر طراحی Material» آماده استفاده، «میاناهای کاربر Jetpack Compose» بسازید. این نقطه ورود سطح بالاتر «نگارش» است که برای ارائه مؤلفه‌هایی طراحی شده است که با مؤلفه‌های شرح‌داده‌شده در www.material.io مطابقت دارند.
compose.material3ساختن میاناهای کاربر Jetpack Compose با «عناصر طراحی سه‌بعدی ۳»، تکامل بعدی «طراحی سه‌بعدی». «طراحی مادی ۳» شامل زمینه‌سازی و عناصر به‌روزرسانی‌شده و ویژگی‌های شخصی‌سازی «طراحی مادی شما» مثل رنگ پویا است و به‌گونه‌ای طراحی شده است که با سبک بصری جدید Android 12 و واسط کاربر سیستم منسجم باشد.
compose.runtimeواحدهای سازنده بنیادی مدل برنامه‌نویسی و مدیریت وضعیت Compose، و زمان اجرای اصلی برای هدف‌یابی «افزایه کامپایلر Compose».
compose.uiعناصر اساسی میانای کاربر Compose که برای تعامل با دستگاه لازم است، ازجمله چیدمان، طراحی، و ورودی.

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

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

وابستگی‌های آرتیفکت‌های موردنیازتان را در فایل build.gradle برای برنامه یا واحدتان اضافه کنید:

شیار

dependencies {
    implementation "androidx.compose.animation:animation:1.12.1"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

کاتلین

dependencies {
    implementation("androidx.compose.animation:animation:1.12.1")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

بازخورد

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

ایجاد مشکل جدید

برای کسب اطلاعات بیشتر، به مستندات «پیگیری مسائل» مراجعه کنید.

نسخه ۱.۱۳

نسخه 1.13.0-beta01

۷ اکتبر ۲۰۲۶

‫androidx.compose.animation:animation-*:1.13.0-beta01 منتشر شد. نسخه 1.13.0-beta01 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • کتابخانه‌ها اکنون Kotlin 2.2 را هدف‌یابی می‌کنند و به kotlinc 2.2 نیاز دارند (I82396، b/498369605)

رفع اشکال‌ها

  • خرابی در SeekableTransitionState برطرف شد که در آن گرد کردن مقادیر NaN باعث پرتاب شدن IllegalArgumentException درطول گذرهای صفر-مدت یا قطع‌شده می‌شد. (I8f3a9, b/555294641)

نسخه 1.13.0-alpha03

۹ سپتامبر ۲۰۲۶

‫androidx.compose.animation:animation-*:1.13.0-alpha03 منتشر شد. نسخه 1.13.0-alpha03 شامل این تعهدها است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫ExperimentalDeferredTransitionApi حذف شد. میاناهای برنامه‌سازی کاربردی انتقال معوق دیگر نیازی به موافقت آزمایشی ندارند. (Ib6430)

رفع اشکال‌ها

  • ‫compileSdk برای کتابخانه‌های Compose به نسخه ۳۷.۱ به‌روز شد. این کار مستلزم به‌روزرسانی انتقالی compileSdk برای همه برنامه‌ها و کتابخانه‌هایی است که از Compose استفاده می‌کنند. (I05b0f)

نسخه 1.13.0-alpha02

۲۶ اوت ۲۰۲۶

‫androidx.compose.animation:animation-*:1.13.0-alpha02 منتشر شد. نسخه 1.13.0-alpha02 شامل این تغییرات است.

نسخه 1.13.0-alpha01

‫۱۲ اوت ۲۰۲۶

‫androidx.compose.animation:animation-*:1.13.0-alpha01 منتشر شد. نسخه 1.13.0-alpha01 شامل این تغییرات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫EnterTransition.with به‌عنوان منسوخ با DeprecationLevel.HIDDEN برای سازگاری دودویی بازیابی شد. (I71214، b/535291175)
  • روش‌های پایه خالی قابل‌لغو با @EmptySuper در سراسر Compose حاشیه‌نویسی شده است تا نشان دهد پیاده‌سازی‌های لغوکننده نباید از super فراخوانی کنند. (Id407b)
  • ‫CapturedAnimatedVisibility را معرفی کردیم، جایگزینی برای AnimatedVisibility که هنگام خروج، ترکیب کودک را بلافاصله دور می‌اندازد و آخرین قاب پردازش‌شده را ازطریق GraphicsLayer پویانمایی می‌کند. (I6c5b3)
  • نام سربار rememberTransition را که DeferredTransitionState را می‌پذیرد به rememberDeferredTransition تغییر داد تا آن را از گونه‌های استاندارد TransitionState متمایز کند. (I7bb7e)
  • ‫EnterExitTransitionConfig را برای EnterTransition و ExitTransition عمومی کرد. (Idd5a4،‏ b/330152398)
  • ‫Transition.Crossfade و createChildTransition اکنون پایدار هستند. ‫EnterTransition.with برداشته شده است (از togetherWith استفاده کنید). (I38f66)
  • ‫createChildTransition اکنون پایدار است. (Ied832, b/261422996)
  • ‫androidx.benchmark اکنون minSdk برابر با ۲۴ دارد. (Ic2a85)
  • مقدار پویانمایی فعلی در DeferredTargetAnimation آشکار شد. (Ie4f6e، b/434659224)
  • جایگزین کردن @AnimationToolingApi آزمایشی با @RestrictTo API که تضمین‌های ردیابی دقیق‌تری دارد. (Ia4fd1, b/524317805)
  • ‫unveilIn و veilOut API را پایدار کردیم (I9e3a3)

رفع اشکال‌ها

  • مقداردهی اولیه بهینه‌سازی‌شده سطح فایل برای animation مشخصه‌های کلاس مقدار سطح بالا بااستفاده از دریافت‌کننده‌های پویا. (I88b86)
  • مقداردهی اولیه شیء همراه بهینه‌سازی‌شده compose:animation کلاس‌های مقدار (StartOffsetType، ArcMode، SlideDirection) بااستفاده از دریافت‌کننده‌های پویا. (I4162e)
  • اطلاعات میانای برنامه‌سازی کاربردی را پاک می‌کند (Ia8066)

نسخه ۱.۱۲

نسخه ۱.۱۲.۱

۹ سپتامبر ۲۰۲۶

‫androidx.compose.animation:animation-*:1.12.1 منتشر شد. نسخه ۱.۱۲.۱ شامل این تعهدات است.

نسخه ۱.۱۲.۰

‫۱۲ اوت ۲۰۲۶

‫androidx.compose.animation:animation-*:1.12.0 منتشر شد. نسخه ۱.۱۲.۰ شامل این تعهدات است.

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

نسخه 1.12.0-rc01

۲۹ ژوئیه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.12.0-rc01 منتشر شد. نسخه 1.12.0-rc01 شامل این تعهدات است.

نسخه 1.12.0-beta02

۱ ژوئیه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.12.0-beta02 منتشر شد. نسخه 1.12.0-beta02 شامل این تعهدها است.

نسخه 1.12.0-beta01

‫۱۷ ژوئن ۲۰۲۶

‫androidx.compose.animation:animation-*:1.12.0-beta01 منتشر شد. نسخه 1.12.0-beta01 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • پارامتر permitTransformDuringDeferredTransition به SharedContentConfig معرفی شد تا کنترل کند که آیا عناصر هم‌رسانی‌شده باید درطول فاز تعویق DeferredTransition به‌صورت دیداری با محتوی والد خود تبدیل شوند یا نه. (I4b67b)
  • کد «گذار» به کلاس مهروموم‌شده را بازسازی کردیم و DeferredTransition مستندات و ایمنی «میانای برنامه‌سازی کاربردی» را بهبود دادیم. (Iecb8f)
  • ‫inactiveElementColor به LookaheadAnimationVisualDebugging" به androidx-main اضافه شد
  • ‫inactiveElementColor به LookaheadAnimationVisualDebugging (I5454b،‏ b/501193322) اضافه شد
  • ‫ExperimentalAnimatableApi گزارمان برداشته شد. (I4e670، b/500030165)

رفع اشکال‌ها

  • مشکلی در LinkComposer برطرف شد که می‌توانست باعث شود عناصر ترکیبی هنگام نامعتبر شدن درطول ترکیب مجدد، به‌جای ترکیب مجدد، از آن‌ها صرف‌نظر شود. (Ie29fe)

نسخه 1.12.0-alpha03

‫۱۹ مه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.12.0-alpha03 منتشر شد. نسخه 1.12.0-alpha03 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫DeferredTargetAnimation دیگر آزمایشی نیست، لطفاً موافقت را از androidx-main بردارید
  • پارامتر mutableTransform به AnimatedVisibility و AnimatedContent اضافه شد تا از دستکاری مستقیم و دستی دارایی (برای نمونه، برای اشاره‌های برگشت پیش‌گویانه) درطول مرحله انتقال تعویق‌یافته پشتیبانی کند. (I236e8)
  • ‫DeferredTargetAnimation دیگر آزمایشی نیست، لطفاً موافقت را بردارید. (I1e4ae،‏ b/500030165)
  • تعداد جدید برای پشتیبانی از راه‌اندازها در ui-tooling (I6e198، b/478807872)

نسخه 1.12.0-alpha02

۶ مه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.12.0-alpha02 منتشر شد. نسخه 1.12.0-alpha02 شامل این تعهدات است.

نسخه 1.12.0-alpha01

‫۲۲ آوریل ۲۰۲۶

‫androidx.compose.animation:animation-*:1.12.0-alpha01 منتشر شد. نسخه 1.12.0-alpha01 شامل این تعهدها است.

رفع اشکال‌ها

  • ‫Compose compileSdk به API 37 به‌روز شد. این یعنی هنگام استفاده از «نوشتن»، حداقل نسخه AGP باید ۹.۲.۰ باشد. (Id45cd،‏ b/413674743)
  • پایان پویانمایی SeekableTransitionState قبل‌از ترکیب (1bf9dc، b/410055849)

نسخه ۱.۱۱

نسخه ۱.۱۱.۴

۱ ژوئیه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.11.4 منتشر شد. نسخه ۱.۱۱.۴ شامل این تعهدات است.

نسخه ۱.۱۱.۳

‫۱۷ ژوئن ۲۰۲۶

‫androidx.compose.animation:animation-*:1.11.3 منتشر شد. نسخه ۱.۱۱.۳ شامل این تعهدات است.

نسخه ۱.۱۱.۲

‫۱۹ مه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.11.2 منتشر شد. نسخه ۱.۱۱.۲ شامل این تعهدات است.

نسخه ۱.۱۱.۱

۶ مه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.11.1 منتشر شد. نسخه ۱.۱۱.۱ شامل این تعهدات است.

نسخه ۱.۱۱.۰

‫۲۲ آوریل ۲۰۲۶

‫androidx.compose.animation:animation-*:1.11.0 منتشر شد. نسخه ۱.۱۱.۰ شامل این تعهدات است.

تغییرات مهم از تاریخ ۱.۱۰.۰:

  • ‫androidx.compose.animation:animation-*:1.11.0 منتشر شد. این نسخه پایدار بهبودها و اصلاحات چرخه توسعه ۱.۱۱.۰ را یکپارچه می‌کند و بر پایداری عنصر مشترک، قابلیت اطمینان رشته‌بندی، و ابزارهای جدید توسعه‌دهنده تمرکز دارد.

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

  • اشکال‌زدایی بصری برای پیش‌بینی: مجموعه جدیدی از قابلیت‌های اشکال‌زدایی بصری معرفی شد که امکان تجسم اطلاعات مربوط به عناصر هم‌رسانی‌شده و Modifier.animatedBounds را فراهم می‌کند. چنین اطلاعاتی شامل این موارد می‌شود: محدوده‌های هدف، مسیر حرکت پویانمایی محدوده‌ها، تعداد مطابقت‌های یافت‌شده، فعال بودن انتقال، و غیره.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫APIs جدیدی (LookaheadAnimationVisualDebugging،‏ CustomizedLookaheadAnimationVisualDebugging، و LookaheadAnimationVisualDebugConfig) اضافه شد تا به اشکال‌زدایی محدوده‌های پویانمایی‌شده و پویانمایی‌های عنصر هم‌رسانی‌شده کمک کند. ‫(Id5575،‏ b/390011686،‏ b/466169919)

رفع اشکال‌ها

  • ایمنی رشته: SeekableTransitionState اکنون تغییرات وضعیت خارج از رشته را به‌درستی مدیریت می‌کند. قبلاً، اگر وضعیت بااستفاده از Snapshot.withMutableSnapshot() در خارج از رشته واسط کاربر تغییر می‌کرد، انتقال به‌اشتباه سعی می‌کرد به‌روزرسانی را در خارج از رشته واسط کاربر انجام دهد. (0aba38)
  • عملکرد: عملکرد دسترسی به نقشه sharedElements بهبود یافته است. (93f57d)
  • گزارش‌دهی وضعیت: isTransitionActive اصلاح شد تا فقط زمانی درست گزارش دهد که پویانمایی‌های فعال از عناصر مشترک منطبق وجود داشته باشد. (d3426a، b/474385510)
  • پایداری: ریشه انتقال مشترک لازم است قبل‌از پُرسمان کردن محدوده‌ها قرار داده شود (۷۷d۵۹c) و تضمین شود که موقعیت‌های sharedElements فقط درصورتی به‌دست می‌آیند که SharedTransitionLayout پیوست شده باشد. (I2a035)
  • مدیریت وقفه: مدیریت وقفه در حالت گوشه زمانی که پویانمایی خروج کودک درحالی‌که انتقال ولی هنوز در AnimatedContent درحال اجرا است، تمام می‌شود، اصلاح شد. (ad9b4f)
  • اعتبارسنجی: مدت اعتبارسنجی‌شده در InfiniteRepeatableSpec برای جلوگیری از دوره‌های ۰-مدت. (151b6d)
  • سفارشی‌سازی: احترام به visibilityThreshold در AnimationSpec سفارشی برای animateFloatAsState. (3a1cdc)

نسخه 1.11.0-rc01

۸ آوریل ۲۰۲۶

‫androidx.compose.animation:animation-*:1.11.0-rc01 منتشر شد. نسخه 1.11.0-rc01 شامل این تعهدات است.

نسخه 1.11.0-beta02

۲۵ مارس ۲۰۲۶

‫androidx.compose.animation:animation-*:1.11.0-beta02 منتشر شد. نسخه 1.11.0-beta02 شامل این تعهدات است.

رفع اشکال‌ها

  • ‫SeekableTransitionState اکنون تغییرات وضعیت خارج از رشته را به‌درستی مدیریت می‌کند. قبلاً، اگر وضعیت در خارج از رشته واسط کاربر بااستفاده از Snapshot.withMutableSnapshot() تغییر می‌کرد، انتقال به‌اشتباه سعی می‌کرد به‌روزرسانی را در خارج از رشته واسط کاربر انجام دهد.(0aba38)
  • مدت زمان را در InfiniteRepeatableSpec اعتبارسنجی کنید تا از دوره‌های ۰-مدت جلوگیری شود (151b6d)
  • ‫visibilityThreshold در AnimationSpec سفارشی برای animateFloatAsState رعایت شود (3a1cdc)
  • رفع اشکال مربوط به مدیریت وقفه در حالت گوشه زمانی که پویانمایی خروج کودک درحالی‌که انتقال ولی هنوز در AnimatedContent درحال اجرا است، تمام می‌شود. (ad9b4f)

نسخه 1.11.0-beta01

۱۱ مارس ۲۰۲۶

‫androidx.compose.animation:animation-*:1.11.0-beta01 منتشر شد. نسخه 1.11.0-beta01 شامل این تعهدات است.

رفع اشکال‌ها

  • ‫isTransitionActive را اصلاح کنید تا فقط زمانی درست گزارش کند که پویانمایی فعال از عنصر مشترک مطابقت‌داده‌شده وجود داشته باشد (d3426a،‏ b/474385510)

نسخه 1.11.0-alpha06

۲۵ فوریه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.11.0-alpha06 منتشر شد. نسخه 1.11.0-alpha06 شامل این تعهدها است.

رفع اشکال‌ها

  • عملکرد دسترسی به نقشه sharedElements را بهبود دهید. (93f57d)

نسخه 1.11.0-alpha05

‫۱۱ فوریه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.11.0-alpha05 منتشر شد. نسخه 1.11.0-alpha05 شامل این تعهدات است.

نسخه 1.11.0-alpha04

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

‫androidx.compose.animation:animation-*:1.11.0-alpha04 منتشر شد. نسخه 1.11.0-alpha04 شامل این تعهدات است.

نسخه 1.11.0-alpha03

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

‫androidx.compose.animation:animation-*:1.11.0-alpha03 منتشر شد. نسخه 1.11.0-alpha03 شامل این تعهدات است.

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

  • مجموعه جدیدی از قابلیت‌های اشکال‌زدایی دیداری معرفی شد که امکان دیداری‌سازی اطلاعات مربوط به عناصر هم‌رسانی‌شده و Modifier.animatedBounds را فراهم می‌کند. چنین اطلاعاتی شامل این موارد می‌شود: محدوده‌های هدف، مسیر حرکت پویانمایی محدوده‌ها، تعداد مطابقت‌های یافت‌شده، فعال بودن انتقال، و غیره.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫api جدیدی (LookaheadAnimationVisualDebugging،‏ CustomizedLookaheadAnimationVisualDebugging، و LookaheadAnimationVisualDebugConfig) اضافه شد تا به اشکال‌زدایی محدوده‌های پویانمایی‌شده و پویانمایی‌های عنصر هم‌رسانی‌شده کمک کند. ‫(Id5575،‏ b/390011686،‏ b/466169919)

رفع اشکال‌ها

  • الزامی است که ریشه انتقال هم‌رسانی‌شده قبل‌از پُرسمان محدوده‌ها قرار داده شود. (77d59c)

نسخه 1.11.0-alpha02

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

‫androidx.compose.animation:animation-*:1.11.0-alpha02 منتشر شد. نسخه 1.11.0-alpha02 شامل این تعهدات است.

نسخه 1.11.0-alpha01

۳ دسامبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.11.0-alpha01 منتشر شد. نسخه 1.11.0-alpha01 شامل این تعهدات است.

رفع اشکال‌ها

  • فقط درصورتی‌که SharedTransitionLayout پیوست شده باشد، موقعیت sharedElements را به‌دست آورید (I2a035)

نسخه ۱.۱۰

نسخه ۱.۱۰.۶

۲۵ مارس ۲۰۲۶

‫androidx.compose.animation:animation-*:1.10.6 منتشر شد. نسخه 1.10.6 شامل این تعهدات است.

نسخه ۱.۱۰.۵

۱۱ مارس ۲۰۲۶

‫androidx.compose.animation:animation-*:1.10.5 منتشر شد. نسخه ۱.۱۰.۵ شامل این تعهدها است.

نسخه ۱.۱۰.۴

۲۵ فوریه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.10.4 منتشر شد. نسخه ۱.۱۰.۴ شامل این تعهدات است.

نسخه ۱.۱۰.۳

‫۱۱ فوریه ۲۰۲۶

‫androidx.compose.animation:animation-*:1.10.3 منتشر شد. نسخه ۱.۱۰.۳ حاوی این تعهدات است.

رفع اشکال‌ها

  • خرابی ناشی از یک مورد خاص که در آن گره محتوای هم‌رسانی‌شده قبل‌از اینکه ریشه انتقال هم‌رسانی‌شده قرار داده شود جدا می‌شد، برطرف شد. (121310)

نسخه ۱.۱۰.۲

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

‫androidx.compose.animation:animation-*:1.10.2 منتشر شد. نسخه ۱.۱۰.۲ شامل این تعهدات است.

نسخه ۱.۱۰.۱

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

‫androidx.compose.animation:animation-*:1.10.1 منتشر شد. نسخه ۱.۱۰.۱ شامل این تعهدات است.

نسخه ۱.۱۰.۰

۳ دسامبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.10.0 منتشر شد. نسخه ۱.۱۰.۰ شامل این تعهدات است.

تغییرات مهم از نسخه ۱.۹.۰:

  • میاناهای برنامه‌سازی کاربردی انتقال هم‌رسانی‌شده در نسخه ۱.۱۰ پایدار هستند
  • میانای برنامه‌سازی کاربردی Modifier.skipToLookaheadPosition جدید برای چیدمان در SharedTransitionScope برای پرش به موقعیت هدف به‌جای پویانمایی تغییرات موقعیت (9a88f4)
  • پشتیبانی از فعال/غیرفعال کردن پویا عناصر مشترک (07680e)
  • میانای برنامه‌سازی کاربردی جدید برای پشتیبانی از سرعت اولیه برای شروع انتقال عنصر مشترک با پرتاب (b0afe2)
  • ‫EnterTransition و ExitTransition جدید برای پویانمایی لایه حجاب برای AnimatedVisibility و AnimatedContent (0f6e7c)

نسخه 1.10.0-rc01

‫۱۹ نوامبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.10.0-rc01 منتشر شد. نسخه 1.10.0-rc01 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫unveilIn و veilOut گزینه اکنون برای EnterExitTransitions دردسترس است. این کار امکان می‌دهد لایه رونهادی در مقابل محتوای ورودی یا خروجی پویانمایی شود. (If26fe)

رفع اشکال‌ها

  • پشتیبانی از ردیابی مرزها ازطریق جدا کردن و دوباره متصل کردن sharedElement (be0e9e)
  • نقشه عنصر هم‌رسانی‌شده را برای مشاهده فعال بودن انتقال قابل‌مشاهده کنید. (1fc2ec)

نسخه 1.10.0-beta02

۵ نوامبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.10.0-beta02 منتشر شد. نسخه 1.10.0-beta02 شامل این تعهدات است.

نسخه 1.10.0-beta01

‫۲۲ اکتبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.10.0-beta01 منتشر شد. نسخه 1.10.0-beta01 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • روش کارخانه SharedContentConfig که لامبدایی را می‌گیرد که نشان می‌دهد عنصر هم‌رسانی‌شده باید فعال باشد برداشته شده است. ‫lookheadScopeCoordinates API با LookaheadScope به‌عنوان حوزه گیرنده به‌روز شده است و مختصات منبع به‌عنوان پارامتر درنظر گرفته شده است. (Id1fc2، b/452416806)
  • میانای BoundsTransform به‌روزرسانی شده است تا با SizeTransform سازگار باشد. (Ia46f2, b/343696350)
  • میانای برنامه‌سازی کاربردی ScaleToBounds نامناسب برداشته شده است. لطفاً درعوض از scaleToBounds استفاده کنید. (I17296)

نسخه 1.10.0-alpha05

‫۸ اکتبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.10.0-alpha05 منتشر شد. نسخه 1.10.0-alpha05 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • میاناهای برنامه‌سازی کاربردی انتقال هم‌رسانی‌شده اکنون پایدار هستند. برای اطلاعات بیشتر، لطفاً راهنمای عنصر مشترک را ببینید. (I7167e).

نسخه 1.10.0-alpha04

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

‫androidx.compose.animation:animation-*:1.10.0-alpha04 منتشر شد. نسخه 1.10.0-alpha04 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • نام‌گذاری برای PlaceHolderSize میانای برنامه‌سازی کاربردی مرتبط به‌روزرسانی شد. (I037d8،‏ b/343696350)
  • میانای برنامه‌سازی کاربردی انتقال عنصر هم‌رسانی‌شده جدید برای پشتیبانی از سرعت اولیه به‌منظور ادامه سرعت اشاره در عناصر هم‌رسانی‌شده. (I91be9)

نسخه 1.10.0-alpha03

‫۱۰ سپتامبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.10.0-alpha03 منتشر شد. نسخه 1.10.0-alpha03 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫Modifier.skipToLookaheadSize اکنون از لامبدای فعال‌شده پیش‌فرضی استفاده می‌کند که فقط زمانی پرش اندازه را فعال می‌کند که انتقال مشترک فعال باشد، همانند Modifier.skipToLookaheadPosition. (Ibe0f5، b/432485585)

نسخه 1.10.0-alpha02

‫۲۷ اوت ۲۰۲۵

‫androidx.compose.animation:animation-*:1.10.0-alpha02 منتشر شد. نسخه 1.10.0-alpha02 شامل این تعهدات است.

نسخه 1.10.0-alpha01

‫۱۳ اوت ۲۰۲۵

‫androidx.compose.animation:animation-*:1.10.0-alpha01 منتشر شد. نسخه 1.10.0-alpha01 شامل این تعهدات است.

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

  • «میانای برنامه‌سازی کاربردی» جدید برای فعال و غیرفعال کردن پویا عناصر مشترک که همچنین امکان محاسبه اینکه آیا ازقبل انتقال عنصر مشترک درحال انجام وجود دارد یا نه را فراهم می‌کند.
  • «میانای برنامه‌سازی کاربردی» جدید برای تنظیم محدوده‌های هدف جایگزین وقتی عنصر مشترک هدف درطول انتقال ازبین می‌رود.
  • میانای برنامه‌سازی کاربردی جدید برای دریافت LayoutCoordinates LookaheadScope. (I18dd4، b/409819304، b/395670637)
  • توصیف‌گر جدید Modifier.skipToLookaheadPosition در SharedTransitionScope برای ثابت کردن چیدمان در موقعیت هدف درطول انتقال مشترک. (I88734)

تغییرات میانای برنامه‌سازی کاربردی

  • با برداشتن clipInOverlayDuringTransition لامبدا، renderInSharedTransitionOverlay ساده شد زیرا به‌ندرت استفاده می‌شد. روش کارخانه‌ای جدیدی برای SharedContentConfig معرفی شد. (Id01b2)
  • مجموعه‌ای از «پیش‌فرض‌ها» برای عنصر مشترک، محدوده مشترک، renderInSharedTransitionOverlay پیکربندی اضافه شد. این پیش‌فرض‌ها اکنون ازطریق میاناهای برنامه‌سازی کاربردی عمومی دردسترس هستند. (Id23cc)
  • نام ScaleToBounds ResizeMode به scaleToBounds تغییر کرده است (I5ac50)

رفع اشکال‌ها

نسخه ۱.۹

نسخه ۱.۹.۵

‫۱۹ نوامبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.5 منتشر شد. نسخه ۱.۹.۵ شامل این تعهدات است.

نسخه ۱.۹.۴

‫۲۲ اکتبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.4 منتشر شد. نسخه 1.9.4 شامل این تعهدات است.

نسخه 1.9.3

‫۸ اکتبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.3 منتشر شد. نسخه ۱.۹.۳ حاوی این تعهدات است.

نسخه ۱.۹.۲

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

‫androidx.compose.animation:animation-*:1.9.2 منتشر شد. نسخه 1.9.2 شامل این تعهدات است.

نسخه ۱.۹.۱

‫۱۰ سپتامبر ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.1 منتشر شد. نسخه 1.9.1 شامل این تعهدات است.

رفع اشکال‌ها

  • پویانمایی مقداردهی اولیه برای sharedElementWithCallerManagedVisibility را اصلاح کنید. (fa29de)

نسخه ۱.۹.۰

‫۱۳ اوت ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.0 منتشر شد. نسخه 1.9.0 شامل این تعهدات است.

نسخه 1.9.0-rc01

۳۰ ژوئیه ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.0-rc01 منتشر شد. نسخه 1.9.0-rc01 شامل این تعهدات است.

نسخه 1.9.0-beta03

‫۱۶ ژوئیه ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.0-beta03 منتشر شد. نسخه 1.9.0-beta03 شامل این تعهدات است.

نسخه 1.9.0-beta02

‫۲ ژوئیه ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.0-beta02 منتشر شد. نسخه 1.9.0-beta02 شامل این تعهدات است.

نسخه 1.9.0-beta01

‫۱۸ ژوئن ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.0-beta01 منتشر شد. نسخه 1.9.0-beta01 شامل این تعهدات است.

نسخه 1.9.0-alpha04

‫۴ ژوئن ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.0-alpha04 منتشر شد. نسخه 1.9.0-alpha04 شامل این تعهدها است.

نسخه 1.9.0-alpha03

‫۲۰ مه ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.0-alpha03 منتشر شد. نسخه 1.9.0-alpha03 شامل این تعهدات است.

نسخه 1.9.0-alpha02

۷ مه ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.0-alpha02 منتشر شد. نسخه 1.9.0-alpha02 شامل این تعهدات است.

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

  • پشتیبانی بسیار بهبودیافته برای پیمایش یا کشیدن در عناصر مشترک. به‌طور دقیق‌تر، وقتی عنصر مشترک انتقالی پیمایش می‌شود، دلتای پیمایش مستقیماً روی عنصر مشترک اعمال می‌شود و باعث نمی‌شود عناصر مشترک هدف جدید را دنبال کنند. (cacf7b)

نسخه 1.9.0-alpha01

‫۲۳ آوریل ۲۰۲۵

‫androidx.compose.animation:animation-*:1.9.0-alpha01 منتشر شد. نسخه 1.9.0-alpha01 شامل این تعهدها است.

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

  • بررسی‌های Lint که همراه با Compose ارسال می‌شوند اکنون به حداقل نسخه ۸.۸.۲ از AGP نیاز دارند. اگر نمی‌توانید AGP را ارتقا دهید، می‌توانید به‌جای آن بااستفاده از android.experimental.lint.version=8.8.2 (یا نسخه جدیدتر) در gradle.properties، خود Lint را ارتقا دهید. برای اجرای بررسی‌های lint در Compose درون IDE، به Android Studio Ladybug یا نسخه‌های جدیدتر نیاز است.

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

  • بهبود عملکرد پیمایش برای عناصر هم‌رسانی‌شده (ea4f1f)

تغییرات میانای برنامه‌سازی کاربردی

  • برای مصرف پروژه‌های منتشرشده با Kotlin 2.0، به KGP 2.0.0 یا جدیدتر نیاز است. (Idb6b5)
  • ‫TabRow و ScrollableTabRow به نفع انواع «اصلی» و «فرعی» هرکدام منسوخ شده‌اند. ردیف‌های برگه «اصلی» و «فرعی» عملکرد بهتری دارند و با مشخصات دقیق‌تر هستند. (I918e2)
  • ‫LocalResources ترکیب محلی به پُرسمان «منابع» اضافه شد. وقتی پیکربندی تغییر می‌کند، LocalResources.current تماس را دوباره می‌سازد، بنابراین تماس با «میاناهای برنامه‌سازی کاربردی» (API) مثل stringResource() مقادیر به‌روزشده را برمی‌گرداند (I50c13، b/274786917)

رفع اشکال‌ها

  • مطمئن شوید وقتی انتقال تمام شد عناصر مشترک از رونهاد حذف شوند (35f359)
  • حذف کردن ترکیب مجدد اضافی در «گذار» (988923)
  • رفع مشکل مدیریت وقفه در انتقال کودک (8aed52)
  • مطمئن شوید وقتی TransitionState جدیدی ارائه می‌شود، انتقال بازنشانی می‌شود (57820a)

همیاری خارجی

  • از نوشتن 1.8.1: پویانمایی‌های پایانی در SeekableTransitionState اگر قبلاً از مدت جدید گذشته است توسط Steven Schoen. ‫(0c832c)

نسخه ۱.۸

نسخه ۱.۸.۳

‫۱۸ ژوئن ۲۰۲۵

‫androidx.compose.animation:animation-*:1.8.3 منتشر شد. نسخه ۱.۸.۳ شامل این تعهدات است.

نسخه ۱.۸.۲

‫۲۰ مه ۲۰۲۵

‫androidx.compose.animation:animation-*:1.8.2 منتشر شد. نسخه ۱.۸.۲ شامل این تعهدات است.

نسخه ۱.۸.۱

۷ مه ۲۰۲۵

‫androidx.compose.animation:animation-*:1.8.1 منتشر شد. نسخه ۱.۸.۱ شامل این تعهدات است.

همیاری خارجی

  • اگر پویانمایی‌ها از مدت جدید گذشته باشند، در SeekableTransitionState پایان می‌یابند. از استیون شون سپاس‌گزاریم! ‫(fbcdf7)

نسخه ۱.۸.۰

‫۲۳ آوریل ۲۰۲۵

‫androidx.compose.animation:animation-*:1.8.0 منتشر شد. نسخه ۱.۸.۰ شامل این تعهدات است.

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

  • تغییرات مهم در نسخه ۱.۸.۰ در این پست وبلاگ پوشش داده شده است
  • «میانای برنامه‌سازی کاربردی» جدید Modifier.animateBounds برای پویانمایی تغییرات اندازه و موقعیت در محدوده پیش‌بینی. ‫(94b939)
  • میاناهای برنامه‌سازی کاربردی نهایی برای «قاب‌های کلیدی با کمان‌ها و منحنی‌های اسپلاین» (89e119)
  • «پیش‌بینی» در LazyGrid و Pager پشتیبانی می‌شود. این شامل تمایز بین گذر پیش‌نگر و گذر رویکرد در پیمایش، ترکیب/دفع مورد، و پویانمایی مورد می‌شود، و از گذر پیش‌نگر برای منبع حقیقت پیمایش و هدف پویانمایی مورد استفاده می‌کند.
  • نام‌گذاری پارامتر sharedElement از وضعیت به sharedContentState برای یکپارچگی در سراسر «میاناهای برنامه‌سازی کاربردی عنصر هم‌رسانی‌شده» به‌روز شد. (9e7df5)
  • مجموعه AnimatedImageVector میانای برنامه‌سازی کاربردی اکنون پایدار است.(69d7e0)

نسخه 1.8.0-rc03

‫۹ آوریل ۲۰۲۵

‫androidx.compose.animation:animation-*:1.8.0-rc03 منتشر شد. نسخه 1.8.0-rc03 شامل این تعهدها است.

نسخه 1.8.0-rc02

‫۲۶ مارس ۲۰۲۵

‫androidx.compose.animation:animation-*:1.8.0-rc02 منتشر شد. نسخه 1.8.0-rc02 شامل این تعهدات است.

نسخه 1.8.0-rc01

‫۱۲ مارس ۲۰۲۵

‫androidx.compose.animation:animation-*:1.8.0-rc01 منتشر شد. نسخه 1.8.0-rc01 شامل این تعهدات است.

رفع اشکال‌ها

  • رفع شدن مشکل علامت‌گذاری نادرست انتقال فرزند به‌عنوان قطع‌شده. (3fa2ce)

نسخه 1.8.0-beta03

‫۲۶ فوریه ۲۰۲۵

‫androidx.compose.animation:animation-*:1.8.0-beta03 منتشر شد. نسخه 1.8.0-beta03 شامل این تعهدات است.

نسخه 1.8.0-beta02

‫۱۲ فوریه ۲۰۲۵

‫androidx.compose.animation:animation-*:1.8.0-beta02 منتشر شد. نسخه 1.8.0-beta02 شامل این تعهدات است.

نسخه 1.8.0-beta01

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

‫androidx.compose.animation:animation-*:1.8.0-beta01 منتشر شد. نسخه 1.8.0-beta01 شامل این تعهدها است.

نسخه 1.8.0-alpha08

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

‫androidx.compose.animation:animation-*:1.8.0-alpha08 منتشر شد. نسخه 1.8.0-alpha08 شامل این تعهدات است.

رفع اشکال‌ها

  • پویانمایی جای‌گذاری نادرست از animateBounds در LazyGrid به‌دلیل بازنشانی MotionFrameOfReferencePlacement اصلاح شد. (16193b)
  • با هدایت کردن پرسمان ذاتی به گذر پیش‌نگر از ریشه پیش‌نگر سطح بالا، پرسمان ذاتی در SharedTransitionLayout اصلاح شد. (a07d12)
  • برچسب‌های @param جاافتاده در سندها اضافه شد. (e5cf67)

نسخه 1.8.0-alpha07

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

‫androidx.compose.animation:animation-*:1.8.0-alpha07 منتشر شد. نسخه 1.8.0-alpha07 شامل این تعهدات است.

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

  • با متمایز کردن گذر پیش‌نگر از گذر رویکرد برای حفظ موارد و مصرف پیمایش، از پیش‌نگر در «صفحه‌بندی» پشتیبانی می‌کند. (b/371802474)

رفع اشکال‌ها

  • با ملزم کردن عنصر هم‌رسانی‌شده به اینکه حداقل یک‌بار در جای خود پرداز شود قبل‌از اینکه در رونهاد پرداز شود، خرابی نادری را که در آن عنصر هم‌رسانی‌شده ترکیب می‌شود اما هرگز اندازه‌گیری/قرار داده نمی‌شود برطرف می‌کند. (b/371802474)

نسخه 1.8.0-alpha06

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

‫androidx.compose.animation:animation-*:1.8.0-alpha06 منتشر شد. نسخه 1.8.0-alpha06 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • نام‌گذاری پارامتر sharedElement از state به sharedContentState به‌روزرسانی شد تا در سراسر میاناهای برنامه‌سازی کاربردی عنصر مشترک یکسان باشد. (I5694c،‏ b/375351468)
  • مجموعه AnimatedImageVector میانای برنامه‌سازی کاربردی اکنون پایدار است. (I7174b، b/261436267)

نسخه 1.8.0-alpha05

۳۰ اکتبر ۲۰۲۴

‫androidx.compose.animation:animation-*:1.8.0-alpha05 منتشر شد. نسخه 1.8.0-alpha05 شامل این تعهدات است.

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

  • اکنون «پیش‌نگاه» در LazyGrid پشتیبانی می‌شود. این شامل تمایز بین گذر پیش‌نگر و گذر رویکرد در پیمایش، ترکیب/دفع مورد، و پویانمایی مورد می‌شود، و از گذر پیش‌نگر برای منبع حقیقت پیمایش و هدف پویانمایی مورد استفاده می‌کند.

رفع اشکال‌ها

  • وقتی انتقال بازآفرینی می‌شود، وضعیت‌های داخلی را برای تبدیل اندازه AnimatedContent به‌روزرسانی کنید. این کار تضمین می‌کند که اطلاعات اندازه هدف همیشه به‌روز باشد. (b/372512085)

نسخه 1.8.0-alpha04

‫۱۶ اکتبر ۲۰۲۴

‫androidx.compose.animation:animation-*:1.8.0-alpha04 منتشر شد. نسخه 1.8.0-alpha04 شامل این تعهدات است.

رفع اشکال‌ها

  • اشکالی که باعث می‌شد برخی‌از منحنی‌های سرعت در کسرهای زمانی خاصی ازکار بیفتند برطرف شد.
  • اشکالی که باعث تراز نامناسب Modifier.animateContentSize در زبان‌های راست‌به‌چپ می‌شد برطرف شد. (Idae6b، b/372055503)

نسخه 1.8.0-alpha03

‫۲ اکتبر ۲۰۲۴

‫androidx.compose.animation:animation-*:1.8.0-alpha03 منتشر شد. نسخه 1.8.0-alpha03 شامل این تعهدها است.

تغییرات میانای برنامه‌سازی کاربردی

  • به‌روزرسانی نسخه Kotlin به ۱.۹ (I1a14c)

رفع اشکال‌ها

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

نسخه 1.8.0-alpha02

‫۱۸ سپتامبر ۲۰۲۴

‫androidx.compose.animation:animation-*:1.8.0-alpha02 منتشر شد. نسخه 1.8.0-alpha02 شامل این تعهدات است.

نسخه 1.8.0-alpha01

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

‫androidx.compose.animation:animation-*:1.8.0-alpha01 منتشر شد. نسخه 1.8.0-alpha01 شامل این تعهدات است.

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

  • «میانای برنامه‌سازی کاربردی» جدید Modifier.animateBounds برای پویانمایی تغییرات اندازه و موقعیت در محدوده پیش‌بینی. 94b9394

تغییرات میانای برنامه‌سازی کاربردی

  • برداشتن پرچم‌های آزمایشی در «قاب‌های کلیدی با کمان‌ها و خطوط منحنی» (89e1199)

رفع اشکال‌ها

  • وقتی منطبقی پیدا نشد، از منطق placeHolderSize رد شوید (77c0160)
  • زمان پخش در AndroidFlingSpline محدود می‌شود تا از خرابی‌های ناشی از افزایش غیریکنواخت زمان پخش جلوگیری شود(9d47587)
  • رفع اشکال SharedTransitionScope که در شرایط خاصی موارد را ترسیم نمی‌کرد (b41077b6)

همیاری خارجی

  • جلوگیری از تنظیم انتقال قابل‌جستجو playTime وقتی انتقالی درحال اجرا نیست از Steven Schoen. (c2e6e7e6)

نسخه ۱.۷

نسخه ۱.۷.۸

‫۱۲ فوریه ۲۰۲۵

‫androidx.compose.animation:animation-*:1.7.8 منتشر شد. نسخه ۱.۷.۸ شامل این تعهدات است.

نسخه ۱.۷.۷

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

‫androidx.compose.animation:animation-*:1.7.7 منتشر شد. از نسخه ۱.۷.۶ تغییری نداشته است. ۱۱ دسامبر ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.6 منتشر شد. نسخه ۱.۷.۶ شامل این تعهدات است.

نسخه ۱.۷.۵

۳۰ اکتبر ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.5 منتشر شد. نسخه ۱.۷.۵ شامل این تعهدات است.

رفع اشکال‌ها

  • اشکالی که باعث تراز نامناسب Modifier.animateContentSize در زبان‌های راست‌به‌چپ می‌شد برطرف شد. (Idae6b، b/372055503)

نسخه ۱.۷.۴

‫۱۶ اکتبر ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.4 منتشر شد. نسخه ۱.۷.۴ شامل این تعهدات است.

نسخه ۱.۷.۳

‫۲ اکتبر ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.3 منتشر شد. نسخه ۱.۷.۳ شامل این تعهدها است.

نسخه ۱.۷.۲

‫۱۸ سپتامبر ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.2 منتشر شد. نسخه ۱.۷.۲ شامل این تعهدات است.

همیاری خارجی

  • از تنظیم انتقال قابل‌جستجو playTime زمانی که هیچ انتقالی درحال اجرا نیست جلوگیری کنید. از استیون شون سپاس‌گزاریم! (c2e6e7e6)

نسخه ۱.۷.۱

‫۱۰ سپتامبر ۲۰۲۴

  • هیچ تغییری در آرتیفکت‌های Android ایجاد نشده است. ‫-desktop مصنوع برداشته شد و -jvmStubs و -linuxx64Stubs مصنوع اضافه شد. هیچ‌کدام از این هدف‌ها برای استفاده درنظر گرفته نشده‌اند، بلکه جای‌گذاری‌هایی هستند که به تلاش‌های Jetbrains Compose کمک می‌کنند.

نسخه ۱.۷.۰

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

‫androidx.compose.animation:animation-*:1.7.0 منتشر شد.

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

تغییرات مهم در نسخه ۱.۷.۰ در این پست وبلاگ پوشش داده شده است.

میاناهای برنامه‌سازی کاربردی جدید انتقال عنصر مشترک

  • میاناهای برنامه‌سازی کاربردی جدید انتقال عنصر مشترک منتظر استفاده و بازخورد شما هستند. این APIهای آزمایشی جدید امکان برچسب‌گذاری چیدمان‌ها را به‌عنوان هم‌رسانی‌شده در سراسر درخت چیدمان بااستفاده از اصلاح‌کننده‌های ارائه‌شده فراهم می‌کنند و وقتی یک مجموعه محتوای هم‌رسانی‌شده خارج می‌شود و مجموعه دیگر وارد می‌شود، مرزهای تغییر هموار ایجاد می‌کنند. (Icb0b9)
  • ‫scaleInSharedContentToBounds و scaleOutSharedContentToBounds جدید برای مقیاس‌بندی محتوا در sharedBounds (I731c1)
  • ‫Experimental SharedTransitionScope اکنون یک میانای کاربری است نه یک کلاس. (Iaf856)
  • ‫resizeModes جدید (ScaleToBounds و RemeasureToBounds) برای sharedBounds تا بین مقیاس‌بندی و اندازه‌گیری مجدد انتخاب کند. میاناهای برنامه‌سازی کاربردی scaleIn/OutSharedContentToBounds قبلی اکنون نامناسب هستند. (I0d41a)

بهبودهای میاناهای برنامه‌سازی کاربردی موجود:

  • ‫Modifier.animateContentSize جدید که پارامتر اضافه‌ای برای تراز کردن محتوای سفارشی می‌گیرد. (I5623a، b/269803907)
  • ‫DeferredTargetAnimation آزمایشی جدید برای پویانمایی اندازه، موقعیت، یا هر هدف دیگری که درطول نمونه‌سازی ناشناخته است. (I60745)
  • SeekableTransitionState snapTo() را با seekTo() جایگزین می‌کند و snapTo() را اضافه می‌کند که بلافاصله وضعیت را بدون هیچ‌گونه پویانمایی به وضعیت مقصد تغییر می‌دهد.
  • اکنون می‌توانید مقدار periodicBias (شناور) را به keyframesWithSpline منتقل کنید، این کار باعث می‌شود که سرعت اولیه و نهایی خط منحنی یکسان باشد. برای پویانمایی‌های تکرارشونده بااستفاده از خطوط منحنی مفید است. انحراف نشان می‌دهد که هر سرعت (اولیه و نهایی) چقدر تغییر می‌کند تا به تناوب برسد. (Ic1e6c, b/292114811)

میاناهای برنامه‌سازی کاربردی زیر پایدار شده‌اند یا برداشته شده‌اند:

  • ‫AnimatedVisibilityScope.transition اکنون یک «میانای برنامه‌سازی کاربردی» پایدار است. ‫Modifier.animateEnterExit(..) نیز پایدار شده است. (I6c1d1)
  • ‫ApproachLayoutModifierNode و Modifier.approachLayout اکنون پایدار هستند و isMeasurementApproachInProgress() و isPlacementApproachInProgress() جدید جایگزین isMeasurementApproachComplete() و isPlacementApproachComplete() قدیمی شده‌اند.
  • اصلاح‌گر منسوخ intermediateLayout برداشته شد. (I3e91c)
  • ‫LookaheadScope میانای برنامه‌سازی کاربردی پایدار شده است. (I21507)

نسخه 1.7.0-rc01

‫۲۱ اوت ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-rc01 منتشر شد. نسخه 1.7.0-rc01 شامل این تعهدات است.

نسخه 1.7.0-beta07

‫۷ اوت ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-beta07 منتشر شد. نسخه 1.7.0-beta07 شامل این تعهدات است.

رفع اشکال‌ها

  • رفع مشکل SharedTransitionScope که در شرایط خاصی، ازجمله استفاده با «پیمایش»، عناصر رونهاد را درطول انتقال رسم نمی‌کرد. (Id65ab، b/347520198)

نسخه 1.7.0-beta06

۲۴ ژوئیه ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-beta06 منتشر شد. نسخه 1.7.0-beta06 شامل این تعهدات است.

رفع اشکال‌ها

  • با پاک‌سازی صحیح مشاهدات از SnapshotStateObserver هنگام حذف گذار، مشکل نشت وضعیت‌های گذار SeekableTransition برطرف شد. (b9c7182)
  • موارد حاشیه‌ای که در آن‌ها «گذار» کودک هنگام تکمیل شدن توسط ولی به‌درستی به‌عنوان تکمیل‌شده علامت‌گذاری نمی‌شد اصلاح شد. (dc42216)

نسخه 1.7.0-beta05

۱۰ ژوئیه ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-beta05 منتشر شد. نسخه 1.7.0-beta05 شامل این تعهدات است.

رفع اشکال‌ها

  • اکنون می‌توان دارایی «گذار» totalDurationNanos را به‌درستی در snapshotFlow خواند.

نسخه 1.7.0-beta04

۲۶ ژوئن ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-beta04 منتشر شد. نسخه 1.7.0-beta04 حاوی این تعهدات است.

نسخه 1.7.0-beta03

۱۲ ژوئن ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-beta03 منتشر شد. نسخه 1.7.0-beta03 شامل این تعهدات است.

نسخه 1.7.0-beta02

۲۹ مه ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-beta02 منتشر شد. نسخه 1.7.0-beta02 شامل این تعهدات است.

نسخه 1.7.0-beta01

۱۴ مه ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-beta01 منتشر شد. نسخه 1.7.0-beta01 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫resizeModes جدید (ScaleToBounds و RemeasureToBounds) برای sharedBounds تا بین مقیاس‌بندی و اندازه‌گیری مجدد انتخاب کند. میاناهای برنامه‌سازی کاربردی scaleIn/OutSharedContentToBounds قبلی اکنون نامناسب هستند. (I0d41a)

همیاری خارجی

  • ‫Experimental SharedTransitionScope اکنون به‌جای کلاس، یک میانای کاربری از Steven Schoen است. (Iaf856، b/338415048، b/338414702)

نسخه 1.7.0-alpha08

۱ مه ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-alpha08 منتشر شد. نسخه 1.7.0-alpha08 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫LookaheadScope میانای برنامه‌سازی کاربردی پایدار شده است. (I21507)

همیاری خارجی

  • زمان پویانمایی شروع واضح پس‌از SeekableTransitionState پویانمایی/عکس فوری توسط Steven Schoen (1ca89529)

نسخه 1.7.0-alpha07

‫۱۷ آوریل ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-alpha07 منتشر شد. نسخه 1.7.0-alpha07 شامل این تعهدات است.

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

  • میاناهای برنامه‌سازی کاربردی جدید انتقال عنصر مشترک منتظر استفاده و بازخورد شما هستند. این APIهای آزمایشی جدید امکان برچسب‌گذاری چیدمان‌ها را به‌عنوان هم‌رسانی‌شده در سراسر درخت چیدمان بااستفاده از اصلاح‌کننده‌های ارائه‌شده فراهم می‌کنند و وقتی یک مجموعه محتوای هم‌رسانی‌شده خارج می‌شود و مجموعه دیگر وارد می‌شود، مرزهای تغییر هموار ایجاد می‌کنند. (Icb0b9)
  • ‫scaleInSharedContentToBounds و scaleOutSharedContentToBounds جدید برای مقیاس‌بندی محتوا در sharedBounds (I731c1)

تغییرات میانای برنامه‌سازی کاربردی

  • ‫AnimatedVisibilityScope.transition اکنون یک «میانای برنامه‌سازی کاربردی» پایدار است. ‫Modifier.animateEnterExit(..) نیز پایدار شده است. (I6c1d1)
  • ‫ApproachLayoutModifierNode و Modifier.approachLayout اکنون پایدار هستند و isMeasurementApproachInProgress() و isPlacementApproachInProgress() جدید جایگزین isMeasurementApproachComplete() و isPlacementApproachComplete() قدیمی شده‌اند.
  • اصلاح‌گر منسوخ intermediateLayout برداشته شد. (I3e91c)
  • اکنون می‌توانید مقدار periodicBias (شناور) را به keyframesWithSpline منتقل کنید، این کار باعث می‌شود که سرعت اولیه و نهایی خط منحنی یکسان باشد. برای پویانمایی‌های تکرارشونده بااستفاده از خطوط منحنی مفید است. انحراف نشان می‌دهد که هر سرعت (اولیه و نهایی) چقدر تغییر می‌کند تا به تناوب برسد. (Ic1e6c, b/292114811)

رفع اشکال‌ها

  • منحنی‌های تسهیل‌کننده که قبلاً به ۰..۱ محدود می‌شدند برای حرکت بیش‌ازحد و حرکت ناکافی اصلاح شدند (I38747)

نسخه 1.7.0-alpha06

۳ آوریل ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-alpha06 منتشر شد. نسخه 1.7.0-alpha06 شامل این تعهدها است.

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

  • پشتیبانی از پویانمایی ظاهر و ناپدید شدن مورد به LazyColumn و LazyRow اضافه شد. قبلاً امکان افزودن اصلاح‌کننده Modifier.animateItemPlacement() برای پشتیبانی از پویانمایی‌های جای‌گذاری (تغییر ترتیب) وجود داشت. این اصلاح‌گر را منسوخ کردیم و اصلاح‌گر غیرآزمایشی جدیدی به‌نام Modifier.animateItem() معرفی کردیم که به شما امکان می‌دهد از هر سه نوع پویانمایی پشتیبانی کنید: ظاهر شدن (محو شدن)، ناپدید شدن (محو شدن) و مرتب‌سازی مجدد. (I2d7f7, b/330152398, b/150812265)

رفع اشکال‌ها

  • عملکرد «میانای برنامه‌سازی کاربردی» updateTransition بهبود یافت.

نسخه 1.7.0-alpha05

‫۲۰ مارس ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-alpha05 منتشر شد. نسخه 1.7.0-alpha05 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • SeekableTransitionState snapTo() را با seekTo() جایگزین می‌کند و snapTo() را اضافه می‌کند که بلافاصله وضعیت را بدون هیچ‌گونه پویانمایی به وضعیت مقصد تغییر می‌دهد.

نسخه 1.7.0-alpha04

۶ مارس ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-alpha04 منتشر شد. نسخه 1.7.0-alpha04 شامل این تعهدها است.

تغییرات میانای برنامه‌سازی کاربردی

  • میانای برنامه‌سازی کاربردی جدید Path.reverse() برای معکوس کردن جهت مسیر (I36348)

نسخه 1.7.0-alpha03

۲۱ فوریه ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-alpha03 منتشر شد. نسخه 1.7.0-alpha03 شامل این تعهدات است.

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

  • ‫Modifier.animateContentSize جدید که پارامتر اضافه‌ای برای تراز کردن محتوای سفارشی می‌گیرد. (I5623a، b/269803907)
  • ‫DeferredTargetAnimation آزمایشی جدید برای پویانمایی اندازه، موقعیت، یا هر هدف دیگری که درطول نمونه‌سازی ناشناخته است. (I60745)

نسخه 1.7.0-alpha02

۷ فوریه ۲۰۲۴

‫androidx.compose.animation:animation-*:1.7.0-alpha02 منتشر شد. نسخه 1.7.0-alpha02 شامل این تعهدات است.

رفع اشکال‌ها

  • رفع مشکل سازگاری برای KeyframesSpec. (I2bdf3, b/322214617)
  • رفع مشکل Modifier.animateContentSize که هنگام استفاده در LazyList به‌درستی بازنشانی نمی‌شد. (I070512، b/322525716)
  • در تاریخ KeyframesSpec، IllegalStateException مشکل هنگام استفاده از مُهرهای زمان خارج از محدوده برطرف شد. (I341b8، b/322839811)

نسخه 1.7.0-alpha01

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

‫androidx.compose.animation:animation-*:1.7.0-alpha01 منتشر شد. نسخه 1.7.0-alpha01 شامل این تعهدات است.

نسخه ۱.۶

نسخه ۱.۶.۸

۱۲ ژوئن ۲۰۲۴

‫androidx.compose.animation:animation-*:1.6.8 منتشر شد. نسخه ۱.۶.۸ شامل این تعهدها است.

نسخه ۱.۶.۷

۱ مه ۲۰۲۴

‫androidx.compose.animation:animation-*:1.6.7 منتشر شد. نسخه ۱.۶.۷ شامل این تعهدات است.

نسخه ۱.۶.۶

‫۱۷ آوریل ۲۰۲۴

‫androidx.compose.animation:animation-*:1.6.6 منتشر شد. از زمان انتشار قبلی تغییری نکرده است

نسخه ۱.۶.۵

۳ آوریل ۲۰۲۴

‫androidx.compose.animation:animation-*:1.6.5 منتشر شد. نسخه ۱.۶.۵ شامل این تعهدات است.

نسخه ۱.۶.۴

‫۲۰ مارس ۲۰۲۴

‫androidx.compose.animation:animation-*:1.6.4 منتشر شد. نسخه ۱.۶.۴ شامل این تعهدات است.

نسخه ۱.۶.۳

۶ مارس ۲۰۲۴

‫androidx.compose.animation:animation-*:1.6.3 منتشر شد. نسخه ۱.۶.۳ شامل این تعهدات است.

نسخه ۱.۶.۲

۲۱ فوریه ۲۰۲۴

‫androidx.compose.animation:animation-*:1.6.2 منتشر شد. نسخه ۱.۶.۲ شامل این تعهدات است.

نسخه ۱.۶.۱

۷ فوریه ۲۰۲۴

‫androidx.compose.animation:animation-*:1.6.1 منتشر شد. نسخه ۱.۶.۱ حاوی این تعهدات است.

رفع اشکال‌ها

نسخه ۱.۶.۰

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

‫androidx.compose.animation:animation-*:1.6.0 منتشر شد. نسخه ۱.۶.۰ حاوی این تعهدات است.

نسخه 1.6.0-rc01

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

‫androidx.compose.animation:animation-*:1.6.0-rc01 منتشر شد. نسخه 1.6.0-rc01 حاوی این تعهدات است.

نسخه 1.6.0-beta03

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

‫androidx.compose.animation:animation-*:1.6.0-beta03 منتشر شد. نسخه 1.6.0-beta03 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫scaleInToFitContainer و scaleOutToFitContainer به‌طور موقت از AnimatedContentTransitionScope برداشته شد زیرا به پیش‌نگاه نیاز دارند. این ویژگی زمانی دردسترس خواهد بود که پیش‌بینی به‌طور پیش‌فرض روشن باشد یا در نسخه‌های پخش آینده با آن موافقت کنید.

نسخه 1.6.0-beta02

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

‫androidx.compose.animation:animation-*:1.6.0-beta02 منتشر شد. نسخه 1.6.0-beta02 حاوی این تعهدها است.

نسخه 1.6.0-beta01

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

‫androidx.compose.animation:animation-*:1.6.0-beta01 منتشر شد. نسخه 1.6.0-beta01 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • نام ExitTransition.Hold به ExitTransition.KeepUntilTransitionsFinished تغییر کرده است تا صریح‌تر باشد. (I1c490)
  • اکنون می‌توانید از keyframesWithSpline برای میان‌یابی هر مقدار N بعدی بااستفاده از تابع‌های چندجمله‌ای یکنوا استفاده کنید. این ویژگی به‌ویژه برای درون‌یابی مقادیر موقعیتی مثل Offset،‏ IntOffset،‏ DpOffset مفید است. به‌عنوان «میانای برنامه‌سازی کاربردی آزمایشی» اضافه شد.

رفع اشکال‌ها

  • پشتیبانی از رندرکننده برای «گرادیان جارویی» در ArcLine اضافه کنید. (I4d5bb)
  • ‫equals و hashcode را برای PageSize.Fixed پیاده‌سازی کنید. (Ie3ede, b/300134276)
  • رفع مشکل سازگاری باینری با تغییر «حاشیه پنجره». (Iee695)
  • لایه اصلی مطالب را برای «تراشه/دکمه Material3» بردارید زیرا ریزسنجش‌ها نشان می‌دهد که بدون آن عملکرد بهتری دارد. (I55555)

نسخه 1.6.0-alpha08

۱۸ اکتبر ۲۰۲۳

‫androidx.compose.animation:animation-*:1.6.0-alpha08 منتشر شد. نسخه 1.6.0-alpha08 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫KeyframesSpecConfig#with منسوخ شده است و KeyframesSpecConfig#using جایگزین آن شده است که الگوی سازنده را حفظ می‌کند. (I1d769)

نسخه 1.6.0-alpha07

۴ اکتبر ۲۰۲۳

‫androidx.compose.animation:animation-*:1.6.0-alpha07 منتشر شد. نسخه 1.6.0-alpha07 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • «ردیف‌های برگه ثابت» و «ردیف‌های برگه پیمایش‌پذیر» اکنون دارای انواع «اصلی» و «ثانویه» هستند. این‌ها به‌درستی با رفتار رنگ و نشانگر تعریف‌شده در Material3 مطابقت دارند.
  • ‫PrimaryScrollableTabRow و SecondaryScrollableTabRow اکنون وضعیت پیمایش را آشکار می‌کنند. (Iec8f5، b/260572337)

نسخه 1.6.0-alpha06

‫۲۰ سپتامبر ۲۰۲۳

‫androidx.compose.animation:animation-*:1.6.0-alpha06 منتشر شد. نسخه 1.6.0-alpha06 شامل این تعهدات است.

نسخه 1.6.0-alpha05

۶ سپتامبر ۲۰۲۳

‫androidx.compose.animation:animation-*:1.6.0-alpha05 منتشر شد. نسخه 1.6.0-alpha05 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫PathEasing اضافه شد تا امکان ارائه مسیر دلخواه به منحنی شتاب فراهم شود. (Idb4b9)

نسخه 1.6.0-alpha04

۲۳ اوت ۲۰۲۳

‫androidx.compose.animation:animation-*:1.6.0-alpha04 منتشر شد. نسخه 1.6.0-alpha04 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫SeekableTransitionState را اضافه کنید تا به توسعه‌دهندگان اجازه دهید پیشرفت انتقال را کنترل کنند. (I8e69d)

نسخه 1.6.0-alpha03

۹ اوت ۲۰۲۳

‫androidx.compose.animation:animation-*:1.6.0-alpha03 منتشر شد. نسخه 1.6.0-alpha03 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • نوع جدیدی از گذار ورود/خروج که محتوا را براساس اندازه محتوی پویانمایی درطول پویانمایی ورود و خروج مقیاس‌بندی می‌کند. LookaheadScope رابط و قابلیت‌های ترکیبی اکنون پایدار است. (Ifb2ce)

نسخه 1.6.0-alpha02

۲۶ ژوئیه ۲۰۲۳

‫androidx.compose.animation:animation-*:1.6.0-alpha02 منتشر شد. نسخه 1.6.0-alpha02 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ExitTransition.Hold جدید برای نمایش محتوای خروجی در AnimatedContent تا زمانی که هر دو انتقال ورود و خروج تمام شوند. (I5984f)
  • حاشیه‌نویسی‌های اضافی برای مشخص کردن ورودی‌های مجاز برای عناصر ترکیبی (I51109)

نسخه 1.6.0-alpha01

۲۱ ژوئن ۲۰۲۳

‫androidx.compose.animation:animation-*:1.6.0-alpha01 منتشر شد. نسخه 1.6.0-alpha01 حاوی این تعهدات است.

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

  • با گزارش کردن اندازه هدف در گذر پیش‌نگاه، Modifier.animateContentSize و AnimatedVisibility را فعال کنید تا به‌طور کامل در سیستم پیش‌نگاه ادغام شوند.

تغییرات میانای برنامه‌سازی کاربردی

  • دارایی جدید در IntrinsincMeasureScope و پیاده‌سازی‌های آن (برای نمونه MeasureScope) برای نشان دادن اینکه آیا مجوز اندازه‌گیری کنونی مجوز پیش‌نگر است یا نه. (I7a812)

رفع اشکال‌ها

  • تخصیص‌ها از پویانمایی‌های فنری برداشته شد. (Ie9431)
  • نام پارامتر مقدار برای Enum.valueOf تغییر کرد (Ia9b89)
  • استثناهای بیشتری از enum valueOf (I818fe) پرتاب شد

نسخه 1.5

نسخه ۱.۵.۴

۱۸ اکتبر ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.4 منتشر شد. نسخه 1.5.4 شامل این تعهدات است.

نسخه ۱.۵.۳

۴ اکتبر ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.3 منتشر شد. این نسخه هیچ تغییری ندارد

نسخه 1.5.2

۲۷ سپتامبر ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.2 منتشر شد. نسخه ۱.۵.۲ شامل این تعهدات است.

نسخه 1.5.1

۶ سپتامبر ۲۰۲۳

‫androidx.compose.foundation:foundation-*:1.5.1 منتشر شد. نسخه 1.5.1 حاوی این تعهدات است.

رفع اشکال‌ها

  • وقتی readOnly درست باشد، فیلدهای نوشتاری ثابت صفحه‌کلید را نشان می‌دهند و قابل‌ویرایش هستند. همچنین مشکل نمایش داده نشدن صفحه‌کلید هنگام تغییر readOnly از درست به نادرست درحالی‌که تمرکز روی آن است برطرف شد. (I34a19, b/246909589)

نسخه 1.5.1

۶ سپتامبر ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.1 منتشر شد. نسخه 1.5.1 حاوی این تعهدات است.

نسخه ۱.۵.۰

۹ اوت ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.0 منتشر شد. نسخه ۱.۵.۰ حاوی این تعهدات است.

نسخه 1.5.0-rc01

۲۶ ژوئیه ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.0-rc01 منتشر شد. نسخه 1.5.0-rc01 شامل این تعهدات است.

رفع اشکال‌ها

  • مشکلی برطرف شد که در آن فراخوانی .value در نوع وضعیت ابتدایی (مثل MutableIntState) هشدار lint با اصلاح نامعتبر گزارش می‌کرد. اکنون بازرسی توصیه می‌کند به دارایی صحیح انتقال دهید. (Iba953، b/287279257)

  • بازرسی اختیاری برای توصیه به انتقال mutableStateOf() تماس به انواع تخصصی مربوطه برای عناصر اولیه دردسترس است. شناسه lint آن AutoboxingStateCreation است. قبلاً، این بازرسی به‌طور پیش‌فرض برای همه پروژه‌ها فعال بود. برای دیدن این هشدار در ویرایشگر Android Studio و بروندادهای lint پروژه، با تعریف کردن warning "AutoboxingStateCreation" در پیکربندی build.gradle یا build.gradle.kts واحد خود، شدت آن را از «اطلاعاتی» به «هشدار» (یا بالاتر) تغییر دهید، همان‌طور که نشان داده شده است (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

نسخه 1.5.0-beta03

۲۸ ژوئن ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.0-beta03 منتشر شد. نسخه 1.5.0-beta03 حاوی این تعهدات است.

نسخه 1.5.0-beta02

۷ ژوئن ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.0-beta02 منتشر شد. نسخه 1.5.0-beta02 شامل این تعهدات است.

نسخه 1.5.0-beta01

۲۴ مه ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.0-beta01 منتشر شد. نسخه 1.5.0-beta01 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • تخصیص‌های برداشته‌شده در ترکیب مجدد، پویانمایی‌های رنگی، و AndroidComposeView (Ib2bfa)

رفع اشکال‌ها

  • تخصیص‌ها از پویانمایی‌های فنری برداشته شد (Ie9431)

نسخه 1.5.0-alpha04

۱۰ مه ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.0-alpha04 منتشر شد. نسخه 1.5.0-alpha04 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • اکنون ContentKey در AnimatedContent پشتیبانی می‌شود تا کنترل بیشتری بر زمان انتقال داشته باشید. (Ic069b)

نسخه 1.5.0-alpha03

‫۱۹ آوریل ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.0-alpha03 منتشر شد. نسخه 1.5.0-alpha03 حاوی این تعهدات است.

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

  • رفتار پیش‌فرض جدید برای SubcomposeLayout در LookaheadScope. این ویژگی به SubcomposeLayouts که جایگاه شرطی ندارند (برای نمونه TabRow، Scaffold، BoxWithConstraints، و غیره) اجازه می‌دهد به‌خوبی با پویانمایی‌های پیش‌نگر کار کنند.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫intermediateMeasurePolicy پیش‌فرض جدید که از خط‌مشی اندازه‌گیری از گذر پیش‌نگر استفاده مجدد می‌کند به SubcomposeLayout زیرنوع بدون جایگاه‌های شرطی مثل Scaffold، TabRow، و BoxWithConstraints اجازه می‌دهد به‌طور پیش‌فرض با پیش‌نگر کار کنند. (Id84c8)
  • برای ترکیب کردن گذارهای ورود و خروج، نام میانوند fun with را به togetherWith تغییر دهید. ‫AnimatedContentScope جدید به‌عنوان گیرنده برای محتوای لامبدا. (Ic39ae)

نسخه 1.5.0-alpha02

۵ آوریل ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.0-alpha02 منتشر شد. نسخه 1.5.0-alpha02 شامل این تعهدات است.

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

  • میانای برنامه‌سازی کاربردی آزمایشی جدید برای پشتیبانی از پیش‌بینی در SubcomposeLayout. این کار به SubcomposeLayout اجازه می‌دهد در LookaheadScope به‌درستی کار کند. به‌زودی پشتیبانی بیشتری برای زیرگونه‌های خاص SubcomposeLayout ارائه خواهد شد.

تغییرات میانای برنامه‌سازی کاربردی

  • «میانای برنامه‌سازی کاربردی» جدید SubcomposeLayout که خط‌مشی اندازه‌گیری میانه‌ای اضافی برای مدیریت منطق اندازه‌گیری/چیدمان درطول پویانمایی‌های مبتنی بر پیش‌بینی می‌گیرد. (I017d3)

نسخه 1.5.0-alpha01

۲۲ مارس ۲۰۲۳

‫androidx.compose.animation:animation-*:1.5.0-alpha01 منتشر شد. نسخه 1.5.0-alpha01 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫AnimatedContent میانای برنامه‌سازی کاربردی اکنون پایدار است AnimatedContentScope به AnimatedContentTransitionScope تغییر نام داده است. ‫scaleIn و scaleOut اکنون میاناهای برنامه‌سازی کاربردی پایدار هستند. (Iaf54e)

نسخه ۱.۴

نسخه ۱.۴.۳

۳ مه ۲۰۲۳

‫androidx.compose.animation:animation:1.4.3،‏ androidx.compose.animation:animation-core:1.4.3، و androidx.compose.animation:animation-graphics:1.4.3 بدون هیچ تغییری منتشر شده‌اند (فقط نسخه ارتقا یافته است).

نسخه 1.4.2

‫۱۹ آوریل ۲۰۲۳

‫androidx.compose.animation:animation:1.4.2،‏ androidx.compose.animation:animation-core:1.4.2، و androidx.compose.animation:animation-graphics:1.4.2 بدون تغییر منتشر شدند. نسخه ۱.۴.۲ شامل این تعهدات است.

نسخه ۱.۴.۱

۵ آوریل ۲۰۲۳

‫androidx.compose.animation:animation:1.4.1،‏ androidx.compose.animation:animation-core:1.4.1، و androidx.compose.animation:animation-graphics:1.4.1 بدون تغییر منتشر شدند. نسخه 1.4.1 حاوی این تعهدات است.

نسخه ۱.۴.۰

۲۲ مارس ۲۰۲۳

‫androidx.compose.animation:animation:1.4.0،‏ androidx.compose.animation:animation-core:1.4.0، و androidx.compose.animation:animation-graphics:1.4.0 منتشر شدند. نسخه ۱.۴.۰ حاوی این تعهدات است.

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

  • برچسب ابزار در rememberInfiniteTransition و همه توابع افزونه در InfiniteTransition و «گذار» (برای نمونه InfiniteTransition#animateColor) پشتیبانی می‌شود (I56ef7)

نسخه 1.4.0-rc01

۸ مارس ۲۰۲۳

‫androidx.compose.animation:animation:1.4.0-rc01،‏ androidx.compose.animation:animation-core:1.4.0-rc01، و androidx.compose.animation:animation-graphics:1.4.0-rc01 بدون تغییر منتشر شدند. نسخه 1.4.0-rc01 حاوی این تعهدات است.

نسخه 1.4.0-beta02

۲۲ فوریه ۲۰۲۳

‫androidx.compose.animation:animation:1.4.0-beta02،‏ androidx.compose.animation:animation-core:1.4.0-beta02، و androidx.compose.animation:animation-graphics:1.4.0-beta02 بدون تغییر منتشر شدند. نسخه 1.4.0-beta02 شامل این تعهدات است.

نسخه 1.4.0-beta01

۸ فوریه ۲۰۲۳

‫androidx.compose.animation:animation:1.4.0-beta01،‏ androidx.compose.animation:animation-core:1.4.0-beta01، و androidx.compose.animation:animation-graphics:1.4.0-beta01 بدون تغییر منتشر شدند. نسخه 1.4.0-beta01 حاوی این تعهدات است.

نسخه 1.4.0-alpha05

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

‫androidx.compose.animation:animation:1.4.0-alpha05،‏ androidx.compose.animation:animation-core:1.4.0-alpha05، و androidx.compose.animation:animation-graphics:1.4.0-alpha05 منتشر شدند. نسخه 1.4.0-alpha05 حاوی این تعهدات است.

تغییرات

  • از آخرین نسخه آلفا، تغییری در کتابخانه‌های پویانمایی ایجاد نشده است، فقط نسخه ارتقا یافته است

نسخه 1.4.0-alpha04

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

‫androidx.compose.animation:animation:1.4.0-alpha04،‏ androidx.compose.animation:animation-core:1.4.0-alpha04، و androidx.compose.animation:animation-graphics:1.4.0-alpha04 منتشر شدند. نسخه 1.4.0-alpha04 حاوی این تعهدات است.

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

  • برچسب ابزار در rememberInfiniteTransition و همه توابع افزونه در InfiniteTransition و Transition (برای نمونه InfiniteTransition#animateColor) پشتیبانی می‌شود (I56ef7)

تغییرات میانای برنامه‌سازی کاربردی

  • میاناهای برنامه‌سازی کاربردی InfiniteTransition#TransitionAnimationState و InfiniteTransition#animations اکنون عمومی هستند. (I36682)

نسخه 1.4.0-alpha03

۷ دسامبر ۲۰۲۲

‫androidx.compose.animation:animation:1.4.0-alpha03،‏ androidx.compose.animation:animation-core:1.4.0-alpha03، و androidx.compose.animation:animation-graphics:1.4.0-alpha03 منتشر شدند. نسخه 1.4.0-alpha03 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • در آزمایش‌های رابط کاربری که از قانون «نوشتن» استفاده می‌کنند، ادامه درطول withFrameNanos تماس برگشتی ازسر گرفته نخواهد شد تا زمانی که همه تماس‌های برگشتی چارچوب اجرا شوند. این با رفتار نوشتن در حالت عادی مطابقت دارد. بااین‌حال، آزمایش‌هایی که به رفتار قدیمی متکی هستند ممکن است ناموفق باشند. این تغییر فقط باید بر کدی که مستقیماً withFrameNanos یا withFrameMillis را فرا می‌خواند تأثیر بگذارد و منطقی خارج از برگشتی که به آن توابع ارسال شده است داشته باشد که ممکن است نیاز باشد به داخل برگشتی‌ها منتقل شود. تغییرات آزمایش پویانمایی را در این CL برای نمونه‌ها ببینید.
  • پارامتر اختیاری onPerformTraversals: (Long) -> Unit به سازنده TestMonotonicFrameClock و تابع کارخانه‌ای اضافه شد تا کد پس‌از withFrameNanos برگشت‌پذیرها اما قبل‌از ازسرگیری روتین‌های هم‌زمان تماس‌گیرندگان اجرا شود. (Idb413،‏ b/254115946،‏ b/222093277،‏ b/255802670)
  • پارامتر جدید در AnimatedContent برای برچسب ابزار (Iebe2d)

نسخه 1.4.0-alpha02

۹ نوامبر ۲۰۲۲

‫androidx.compose.animation:animation:1.4.0-alpha02،‏ androidx.compose.animation:animation-core:1.4.0-alpha02، و androidx.compose.animation:animation-graphics:1.4.0-alpha02 منتشر شدند. نسخه 1.4.0-alpha02 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫ToolingState را اضافه کنید تا ابزارها بتوانند وضعیت‌های داخلی «ترکیب‌شدنی» را تغییر دهند (Ie6614)

نسخه 1.4.0-alpha01

‫۲۴ اکتبر ۲۰۲۲

‫androidx.compose.animation:animation:1.4.0-alpha01،‏ androidx.compose.animation:animation-core:1.4.0-alpha01، و androidx.compose.animation:animation-graphics:1.4.0-alpha01 منتشر شدند. نسخه 1.4.0-alpha01 شامل این تعهدات است.

رفع اشکال‌ها

  • پویانمایی وقفه نادرست را در AnimatedContent (b/238662479) اصلاح کنید

نسخه ۱.۳

نسخه ۱.۳.۳

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

‫androidx.compose.animation:animation:1.3.3،‏ androidx.compose.animation:animation-core:1.3.3، و androidx.compose.animation:animation-graphics:1.3.3 منتشر شدند. نسخه ۱.۳.۳ حاوی این تعهدات است.

  • از نسخه ۱.۳.۲ تغییری نکرده است.

نسخه ۱.۳.۲

۷ دسامبر ۲۰۲۲

‫androidx.compose.animation:animation:1.3.2،‏ androidx.compose.animation:animation-core:1.3.2، و androidx.compose.animation:animation-graphics:1.3.2 منتشر شدند. نسخه ۱.۳.۲ حاوی این تعهدات است.

رفع اشکال‌ها

  • برای پشتیبانی از androidx.compose.ui 1.3.2 به‌روزرسانی شد

نسخه ۱.۳.۱

۹ نوامبر ۲۰۲۲

‫androidx.compose.animation:animation:1.3.1،‏ androidx.compose.animation:animation-core:1.3.1، و androidx.compose.animation:animation-graphics:1.3.1 منتشر شدند. نسخه 1.3.1 شامل این تعهدات است.

نسخه ۱.۳.۰

‫۲۴ اکتبر ۲۰۲۲

‫androidx.compose.animation:animation:1.3.0،‏ androidx.compose.animation:animation-core:1.3.0، و androidx.compose.animation:animation-graphics:1.3.0 منتشر شدند. نسخه ۱.۳.۰ حاوی این تعهدات است.

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

  • مجموعه جدیدی از توابع تسهیل‌کننده پایدار شده است

نسخه 1.3.0-rc01

۵ اکتبر ۲۰۲۲

‫androidx.compose.animation:animation:1.3.0-rc01،‏ androidx.compose.animation:animation-core:1.3.0-rc01، و androidx.compose.animation:animation-graphics:1.3.0-rc01 منتشر شدند. نسخه 1.3.0-rc01 حاوی این تعهدات است.

نسخه 1.3.0-beta03

۲۱ سپتامبر ۲۰۲۲

‫androidx.compose.animation:animation:1.3.0-beta03،‏ androidx.compose.animation:animation-core:1.3.0-beta03، و androidx.compose.animation:animation-graphics:1.3.0-beta03 منتشر شدند. نسخه 1.3.0-beta03 شامل این تعهدات است.

  • از نسخه 1.3.0-beta02 تغییری نداشته است.

نسخه 1.3.0-beta02

۷ سپتامبر ۲۰۲۲

‫androidx.compose.animation:animation:1.3.0-beta02،‏ androidx.compose.animation:animation-core:1.3.0-beta02، و androidx.compose.animation:animation-graphics:1.3.0-beta02 منتشر شدند. نسخه 1.3.0-beta02 شامل این تعهدات است.

  • ‫Kotlin.experimental از گزینه‌های کامپایلر برداشته شد زیرا منسوخ شده است

نسخه 1.3.0-beta01

۲۴ اوت ۲۰۲۲

‫androidx.compose.animation:animation:1.3.0-beta01،‏ androidx.compose.animation:animation-core:1.3.0-beta01، و androidx.compose.animation:animation-graphics:1.3.0-beta01 منتشر شدند. نسخه 1.3.0-beta01 حاوی این تعهدات است.

نسخه 1.3.0-alpha03

۱۰ اوت ۲۰۲۲

‫androidx.compose.animation:animation:1.3.0-alpha03،‏ androidx.compose.animation:animation-core:1.3.0-alpha03، و androidx.compose.animation:animation-graphics:1.3.0-alpha03 منتشر شدند. نسخه 1.3.0-alpha03 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • پارامتر جدید در Crossfade،‏ animateAsState، و Animatable برای برچسب ابزار (Iac08a)
  • تابع atFraction برای تعریف قاب‌های کلیدی در یک کسر به‌جای یک مدت زمان خاص اضافه شد. (I20c76، b/232059455)

نسخه 1.3.0-alpha02

۲۷ ژوئیه ۲۰۲۲

‫androidx.compose.animation:animation:1.3.0-alpha02،‏ androidx.compose.animation:animation-core:1.3.0-alpha02، و androidx.compose.animation:animation-graphics:1.3.0-alpha02 منتشر شدند. نسخه 1.3.0-alpha02 شامل این تعهدها است.

نسخه 1.3.0-alpha01

۲۹ ژوئن ۲۰۲۲

‫androidx.compose.animation:animation:1.3.0-alpha01،‏ androidx.compose.animation:animation-core:1.3.0-alpha01، و androidx.compose.animation:animation-graphics:1.3.0-alpha01 منتشر شدند. نسخه 1.3.0-alpha01 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫LookaheadLayout جدید که از گذر پیش‌نگر قبل‌از میزان/چیدمان واقعی پشتیبانی می‌کند. این کار امکان می‌دهد چیدمان هنگام تغییر ازقبل محاسبه شود و درعین‌حال به چیدمان/واحد اندازه‌گیری پس‌از پیش‌نگاه اجازه می‌دهد از اندازه/موقعیت ازپیش محاسبه‌شده برای پویانمایی اندازه و موقعیت‌ها به‌سمت هدف استفاده کند. ‫SubcomposeLayouts هنوز پشتیبانی نمی‌شود، اما در نسخه پخش آتی پشتیبانی خواهد شد. (I477f5)

نسخه ۱.۲

نسخه ۱.۲.۱

۱۰ اوت ۲۰۲۲

‫androidx.compose.animation:animation:1.2.1،‏ androidx.compose.animation:animation-core:1.2.1، و androidx.compose.animation:animation-graphics:1.2.1 منتشر شدند. نسخه ۱.۲.۱ حاوی این تعهدات است.

نسخه ۱.۲.۰

۲۷ ژوئیه ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0،‏ androidx.compose.animation:animation-core:1.2.0، و androidx.compose.animation:animation-graphics:1.2.0 منتشر شدند. نسخه ۱.۲.۰ حاوی این تعهدها است.

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

  • «مقیاس مدت پویانمایی» در تنظیمات «گزینه‌های توسعه‌دهنده» اکنون در «پویانمایی Compose» پشتیبانی می‌شود.
  • مجموعه بزرگی از منحنی‌های جدید آزمایشی برای آسان‌سازی.
  • ‫AnimatedImageVector اکنون از repeatCount و repeatMode پشتیبانی می‌کند

نسخه 1.2.0-rc03

۲۹ ژوئن ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-rc03،‏ androidx.compose.animation:animation-core:1.2.0-rc03، و androidx.compose.animation:animation-graphics:1.2.0-rc03 منتشر شدند. نسخه 1.2.0-rc03 حاوی این تعهدات است.

  • از نسخه 1.2.0-rc02 تغییری نکرده است.

نسخه 1.2.0-rc02

‫۲۲ ژوئن ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-rc02،‏ androidx.compose.animation:animation-core:1.2.0-rc02، و androidx.compose.animation:animation-graphics:1.2.0-rc02 منتشر شدند. نسخه 1.2.0-rc02 حاوی این تعهدات است.

رفع اشکال‌ها

  • گزارمان ExperimentalEasingApi در «توابع تسهیل» (Ied441) برداشته شد

نسخه 1.2.0-rc01

۱۵ ژوئن ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-rc01،‏ androidx.compose.animation:animation-core:1.2.0-rc01، و androidx.compose.animation:animation-graphics:1.2.0-rc01 منتشر شدند. نسخه 1.2.0-rc01 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • میاناهای کتابخانه‌های Compose اکنون بااستفاده از روش‌های میانای پیش‌فرض jdk8 ساخته می‌شوند (I5bcf1)

نسخه 1.2.0-beta03

۱ ژوئن ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-beta03،‏ androidx.compose.animation:animation-core:1.2.0-beta03، و androidx.compose.animation:animation-graphics:1.2.0-beta03 منتشر شدند. نسخه 1.2.0-beta03 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • «منحنی‌های آسان‌سازی آزمایشی» برای «پویانمایی‌ها» اضافه شد (I64a38)

نسخه 1.2.0-beta02

‫۱۸ مه ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-beta02،‏ androidx.compose.animation:animation-core:1.2.0-beta02، و androidx.compose.animation:animation-graphics:1.2.0-beta02 منتشر شدند. نسخه 1.2.0-beta02 حاوی این تعهدات است.

نسخه 1.2.0-beta01

۱۱ مه ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-beta01،‏ androidx.compose.animation:animation-core:1.2.0-beta01، و androidx.compose.animation:animation-graphics:1.2.0-beta01 منتشر شدند. نسخه 1.2.0-beta01 حاوی این تعهدها است.

  • این اولین نسخه بتای ۱.۲ است! از آخرین نسخه آلفا تغییری ایجاد نشده است.

نسخه 1.2.0-alpha08

‫۲۰ آوریل ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-alpha08،‏ androidx.compose.animation:animation-core:1.2.0-alpha08، و androidx.compose.animation:animation-graphics:1.2.0-alpha08 منتشر شدند. نسخه 1.2.0-alpha08 حاوی این تعهدات است.

نسخه 1.2.0-alpha07

‫۶ آوریل ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-alpha07،‏ androidx.compose.animation:animation-core:1.2.0-alpha07، و androidx.compose.animation:animation-graphics:1.2.0-alpha07 منتشر شدند. نسخه 1.2.0-alpha07 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫AnimatedImageVector اکنون از repeatCount و repeatMode پشتیبانی می‌کند (Ia3e75، b/199304067)

نسخه 1.2.0-alpha06

۲۳ مارس ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-alpha06،‏ androidx.compose.animation:animation-core:1.2.0-alpha06، و androidx.compose.animation:animation-graphics:1.2.0-alpha06 منتشر شدند. نسخه 1.2.0-alpha06 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • تجزیه به‌روزشده داراها برداری برای پشتیبانی از قرینه‌سازی خودکار برای برگرداندن محتوای VectorPainter درصورتی‌که جهت چیدمان کنونی راست‌به‌چپ باشد. (I79cd9, b/185760237)

رفع اشکال‌ها

  • «میاناهای برنامه‌سازی کاربردی» گرافیک برداری به‌روزرسانی شد تا به‌جای @UiComposable (I942bc) از گزارمان ترکیبی مناسب @VectorComposable استفاده کند

نسخه 1.2.0-alpha05

۹ مارس ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-alpha05،‏ androidx.compose.animation:animation-core:1.2.0-alpha05، و androidx.compose.animation:animation-graphics:1.2.0-alpha05 منتشر شدند. نسخه 1.2.0-alpha05 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • هورا! پویانمایی «ترکیب» اکنون از تنظیم «مقیاس مدت زمان پویانمایی» در «گزینه‌های توسعه‌دهندگان» پشتیبانی می‌کند. (I5a4fc, b/161675988)

نسخه 1.2.0-alpha04

۲۳ فوریه ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-alpha04،‏ androidx.compose.animation:animation-core:1.2.0-alpha04، و androidx.compose.animation:animation-graphics:1.2.0-alpha04 منتشر شدند. نسخه 1.2.0-alpha04 حاوی این تعهدات است.

نسخه 1.2.0-alpha03

۹ فوریه ۲۰۲۲

‫androidx.compose.animation:animation:1.2.0-alpha03،‏ androidx.compose.animation:animation-core:1.2.0-alpha03، و androidx.compose.animation:animation-graphics:1.2.0-alpha03 منتشر شدند. نسخه 1.2.0-alpha03 شامل این تعهدات است.

نسخه 1.2.0-alpha02

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

‫androidx.compose.animation:animation:1.2.0-alpha02،‏ androidx.compose.animation:animation-core:1.2.0-alpha02، و androidx.compose.animation:animation-graphics:1.2.0-alpha02 منتشر شدند. نسخه 1.2.0-alpha02 شامل این تعهدات است.

نسخه 1.2.0-alpha01

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

‫androidx.compose.animation:animation:1.2.0-alpha01،‏ androidx.compose.animation:animation-core:1.2.0-alpha01، و androidx.compose.animation:animation-graphics:1.2.0-alpha01 منتشر شدند. نسخه 1.2.0-alpha01 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • برای بار کردن فایل منبع <animated-vector>، به‌جای animatedVectorResource از AnimatedImageVector.animatedVectorResource استفاده کنید.
    • برای پرداز کردن AnimatedImageVector، به‌جای AnimatedImageVector#painterFor از rememberAnimatedVectorResource استفاده کنید. (I9c300)

رفع اشکال‌ها

  • روش‌های toString را به Animatable و AnimationResult اضافه کنید. (Icd3a6)

به‌روزرسانی‌های وابستگی

  • اکنون به Kotlin 1.6.10 بستگی دارد.

نسخه ۱.۱

نسخه ۱.۱.۱

۲۳ فوریه ۲۰۲۲

‫androidx.compose.animation:animation:1.1.1،‏ androidx.compose.animation:animation-core:1.1.1، و androidx.compose.animation:animation-graphics:1.1.1 منتشر شدند. نسخه ۱.۱.۱ حاوی این تعهدات است.

رفع اشکال‌ها

  • رفع اشکال NullPointerException در androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059،‏ b/206677462)
  • رفع خرابی ناشی از محتوای بریده‌دان هنگام خواندن از بریده‌دان در Android. (I06020, b/197769306)
  • رفع مشکل راست‌به‌چپ در LazyVerticalGrid (aosp/1931080،‏ b/207510535)

نسخه ۱.۱.۰

۹ فوریه ۲۰۲۲

‫androidx.compose.animation:animation:1.1.0،‏ androidx.compose.animation:animation-core:1.1.0، و androidx.compose.animation:animation-graphics:1.1.0 منتشر شدند. نسخه ۱.۱.۰ حاوی این تعهدات است.

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

  • پشتیبانی پایدار از جلوه پیمایش اضافی در Android 12
  • بهبودهایی در اندازه هدف لمسی
  • توجه داشته باشید که درخصوص «نوشتن ۱.۰»، عناصر Material فضای چیدمان خود را گسترش خواهند داد تا با دستورالعمل‌های دسترس‌پذیری Material برای اندازه هدف لمسی مطابقت داشته باشند. برای مثال، هدف لمسی «دکمه» به حداقل اندازه ۴۸×۴۸ پیکسل مستقل از تراکم گسترش خواهد یافت، حتی اگر اندازه «دکمه» را کوچک‌تر تنظیم کنید. این کار باعث می‌شود Compose Material با رفتار یکسان «عناصر طراحی سه‌بعدی» هماهنگ شود و درصورت ترکیب کردن «نماها» و Compose، رفتار یکسانی ارائه دهد. این تغییر همچنین تضمین می‌کند که وقتی میانای کاربر خود را بااستفاده از عناصر Compose Material ایجاد می‌کنید، حداقل الزامات دسترسی‌پذیری هدف لمسی برآورده شود.
  • پشتیبانی پایدار برای ریل پیمایش
  • تعدادی از میاناهای برنامه‌سازی کاربردی آزمایشی قبلی را به پایدار ارتقا می‌دهد
  • پشتیبانی از نسخه‌های جدیدتر Kotlin

نسخه 1.1.0-rc03

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

‫androidx.compose.animation:animation:1.1.0-rc03،‏ androidx.compose.animation:animation-core:1.1.0-rc03، و androidx.compose.animation:animation-graphics:1.1.0-rc03 منتشر شدند. نسخه 1.1.0-rc03 حاوی این تعهدات است.

رفع اشکال‌ها

  • به‌روزرسانی‌شده برای پشتیبانی از Compose Material نسخه 1.1.0-rc03

نسخه 1.1.0-rc01

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

‫androidx.compose.animation:animation:1.1.0-rc01 و androidx.compose.animation:animation-core:1.1.0-rc01 منتشر شدند. نسخه 1.1.0-rc01 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • برای بار کردن فایل منبع <animated-vector>، به‌جای animatedVectorResource از AnimatedImageVector.animatedVectorResource استفاده کنید.
    • برای پرداز کردن AnimatedImageVector، به‌جای AnimatedImageVector#painterFor از rememberAnimatedVectorResource استفاده کنید. (I9c300)

نسخه 1.1.0-beta04

۱ دسامبر ۲۰۲۱

‫androidx.compose.animation:animation:1.1.0-beta04،‏ androidx.compose.animation:animation-core:1.1.0-beta04، و androidx.compose.animation:animation-graphics:1.1.0-beta04 منتشر شدند. نسخه 1.1.0-beta04 حاوی این تعهدات است.

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

  • به‌روزرسانی‌شده برای سازگاری با Kotlin 1.6.0

نسخه 1.1.0-beta03

۱۷ نوامبر ۲۰۲۱

‫androidx.compose.animation:animation:1.1.0-beta03،‏ androidx.compose.animation:animation-core:1.1.0-beta03، و androidx.compose.animation:animation-graphics:1.1.0-beta03 منتشر شدند. نسخه 1.1.0-beta03 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • توصیف‌گر جدید Modifier.onPlaced اضافه شد تا امکان مشاهده تغییر جای آگهی فراهم شود. بنابراین، براساس تغییر جایگاه مشاهده‌شده، می‌توان تغییرات بیشتری در انحراف اصلاح‌کننده کودک ایجاد کرد. (I558fd)
  • پشتیبانی جدید برای contentKey در «محو کردن». سیستم پویانمایی از ContentKey برای بررسی برابری استفاده خواهد کرد. بنابراین، با مشخص کردن contentKey مناسب برای حالت‌های مختلف، می‌توان به تفاوت سفارشی در حالت‌ها دست یافت.

    از ContentKey به‌عنوان کلید ذخیره و بازیابی محتوا نیز استفاده خواهد شد. (I2e055, b/197907070)

نسخه 1.1.0-beta02

۳ نوامبر ۲۰۲۱

‫androidx.compose.animation:animation:1.1.0-beta02،‏ androidx.compose.animation:animation-core:1.1.0-beta02، و androidx.compose.animation:animation-graphics:1.1.0-beta02 منتشر شدند. نسخه 1.1.0-beta02 شامل این تعهدات است.

رفع اشکال‌ها

  • «میاناهای برنامه‌سازی کاربردی» جدید پویانمایی برای پشتیبانی از ابزارها. به‌طور خاص، این‌ها به ابزارها اجازه می‌دهند پویانمایی‌ها و پیکربندی‌های آن‌ها را در «گذرها» بازرسی کنند. (I4116e)

نسخه 1.1.0-beta01

‫۲۷ اکتبر ۲۰۲۱

‫androidx.compose.animation:animation:1.1.0-beta01،‏ androidx.compose.animation:animation-core:1.1.0-beta01، و androidx.compose.animation:animation-graphics:1.1.0-beta01 منتشر شدند. نسخه 1.1.0-beta01 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • «میاناهای برنامه‌سازی کاربردی» جدید پویانمایی برای پشتیبانی از ابزارها. به‌طور خاص، این‌ها به ابزارها اجازه می‌دهند پویانمایی‌ها و پیکربندی‌های آن‌ها را در «گذرها» بازرسی کنند. (I4116e)

نسخه 1.1.0-alpha06

‫۱۳ اکتبر ۲۰۲۱

‫androidx.compose.animation:animation:1.1.0-alpha06،‏ androidx.compose.animation:animation-core:1.1.0-alpha06، و androidx.compose.animation:animation-graphics:1.1.0-alpha06 منتشر شدند. نسخه 1.1.0-alpha06 شامل این تعهدات است.

نسخه 1.1.0-alpha05

۲۹ سپتامبر ۲۰۲۱

‫androidx.compose.animation:animation:1.1.0-alpha05،‏ androidx.compose.animation:animation-core:1.1.0-alpha05، و androidx.compose.animation:animation-graphics:1.1.0-alpha05 منتشر شدند. نسخه 1.1.0-alpha05 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫EnterTransition،‏ ExitTransition، و برخی‌از میاناهای برنامه‌سازی کاربردی AnimatedVisibility پایدار شده‌اند. ‫MutableTransitionState.isIdle نیز دیگر آزمایشی نیست. (I5072d)

  • تغییرات مخرب: لامبداها در کارخانه‌های Enter/ExitTransition به آخرین موقعیت در فهرست پارامتر منتقل شده‌اند. (I5072d)

نسخه 1.1.0-alpha04

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

‫androidx.compose.animation:animation:1.1.0-alpha04،‏ androidx.compose.animation:animation-core:1.1.0-alpha04، و androidx.compose.animation:animation-graphics:1.1.0-alpha04 منتشر شدند. نسخه 1.1.0-alpha04 شامل این تعهدات است.

نسخه 1.1.0-alpha03

۱ سپتامبر ۲۰۲۱

‫androidx.compose.animation:animation:1.1.0-alpha03،‏ androidx.compose.animation:animation-core:1.1.0-alpha03، و androidx.compose.animation:animation-graphics:1.1.0-alpha03 منتشر شدند. نسخه 1.1.0-alpha03 حاوی این تعهدات است.

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

  • ‫Compose 1.1.0-alpha03 به‌روزرسانی شد تا به Kotlin 1.5.30 وابسته باشد. (I74545)

نسخه 1.1.0-alpha02

۱۸ اوت ۲۰۲۱

‫androidx.compose.animation:animation:1.1.0-alpha02،‏ androidx.compose.animation:animation-core:1.1.0-alpha02، و androidx.compose.animation:animation-graphics:1.1.0-alpha02 منتشر شدند. نسخه 1.1.0-alpha02 شامل این تعهدها است.

تغییرات میانای برنامه‌سازی کاربردی

  • اکنون StartOffset در repeatable و infiniteRepeatable پشتیبانی می‌شود، به‌عنوان روشی برای به‌تأخیر انداختن زمان شروع یا سریع به‌جلو بردن پویانمایی قبل‌از شروع پویانمایی. این مقدار کاهش شروع تکرار نخواهد شد (Ic679f، b/195079908)
  • انتقال جدید ورود/خروج برای مقیاس. می‌تواند در ترکیب با انواع دیگر «گذار ورود/خروج» استفاده شود. (I372da, b/191325593)

نسخه 1.1.0-alpha01

۴ اوت ۲۰۲۱

‫androidx.compose.animation:animation:1.1.0-alpha01،‏ androidx.compose.animation:animation-core:1.1.0-alpha01، و androidx.compose.animation:animation-graphics:1.1.0-alpha01 منتشر شدند. نسخه 1.1.0-alpha01 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫AnimatedImageVector و میاناهای برنامه‌سازی کاربردی مربوطه اکنون در واحد جدید androidx.compose.animation:animation-graphics قرار دارند. (I60873)

رفع اشکال‌ها

  • ‫InfiniteAnimationPolicy به :compose:ui (I5eb09،‏ b/160602714) منتقل شد

نسخه 1.0

نسخه ۱.۰.۵

۳ نوامبر ۲۰۲۱

‫androidx.compose.animation:animation:1.0.5 و androidx.compose.animation:animation-core:1.0.5 منتشر شدند. نسخه ۱.۰.۵ حاوی این تعهدات است.

رفع اشکال‌ها

  • ازکارافتادگی ردیابی نمونه‌های derivedStateOf برطرف شد. (aosp/1792247)

نسخه ۱.۰.۴

‫۱۳ اکتبر ۲۰۲۱

‫androidx.compose.animation:animation:1.0.4 و androidx.compose.animation:animation-core:1.0.4 منتشر شدند. نسخه 1.0.4 شامل این تعهدات است.

به‌روزرسانی‌های وابستگی

  • به‌روزرسانی شد تا به Kotlin 1.5.31 وابسته باشد

نسخه ۱.۰.۳

۲۹ سپتامبر ۲۰۲۱

‫androidx.compose.animation:animation:1.0.3 و androidx.compose.animation:animation-core:1.0.3 منتشر شدند. نسخه 1.0.3 شامل این تعهدات است.

به‌روزرسانی‌های وابستگی

  • به‌روزرسانی شد تا به Kotlin 1.5.30 وابسته باشد

نسخه ۱.۰.۲

۱ سپتامبر ۲۰۲۱

‫androidx.compose.animation:animation:1.0.2 و androidx.compose.animation:animation-core:1.0.2 منتشر شدند. نسخه 1.0.2 حاوی این تعهدات است.

برای پشتیبانی از نسخه 1.0.2 «نوشتن» به‌روز شد. ‫Compose 1.0.2 همچنان با Kotlin 1.5.21 سازگار است.

نسخه ۱.۰.۱

۴ اوت ۲۰۲۱

‫androidx.compose.animation:animation:1.0.1 و androidx.compose.animation:animation-core:1.0.1 منتشر شدند. نسخه 1.0.1 شامل این تعهدات است.

به‌روزرسانی‌های وابستگی

  • به‌روزرسانی شد تا به Kotlin 1.5.21 وابسته باشد.

نسخه ۱.۰.۰

۲۸ ژوئیه ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0 و androidx.compose.animation:animation-core:1.0.0 منتشر شدند. نسخه ۱.۰.۰ حاوی این تعهدات است.

ویژگی‌های اصلی نسخه 1.0.0

این اولین نسخه پایدار «نگارش» است. برای جزئیات بیشتر، لطفاً وبلاگ رسمی «نسخه آماده‌سازی» را ببینید!

مشکلات شناخته‌شده

  • اگر از Android Studio Bumblebee Canary 4 یا AGP 7.1.0-alpha04/7.1.0-alpha05 استفاده می‌کنید، ممکن است با خرابی زیر مواجه شوید:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    برای رفع این مشکل، به‌طور موقت minSdkVersion را در فایل build.gradle به ۲۴ یا بالاتر افزایش دهید. این مشکل در نسخه بعدی Android Studio Bumblebee و AGP 7.1 برطرف خواهد شد. (b/194289155)

نسخه 1.0.0-rc02

‫۱۴ ژوئیه ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-rc02 و androidx.compose.animation:animation-core:1.0.0-rc02 منتشر شدند. نسخه 1.0.0-rc02 حاوی این تعهدها است.

نسخه 1.0.0-rc01

۱ ژوئیه ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-rc01 و androidx.compose.animation:animation-core:1.0.0-rc01 منتشر شدند. نسخه 1.0.0-rc01 حاوی این تعهدات است.

رفع اشکال‌ها

  • ‫InfiniteAnimationPolicy به androidx.compose.ui:ui منتقل شد (I5eb09،‏ b/160602714)

نسخه 1.0.0-beta09

‫۱۶ ژوئن ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-beta09 و androidx.compose.animation:animation-core:1.0.0-beta09 منتشر شدند. نسخه 1.0.0-beta09 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • «عنصر ترکیبی» AnimatedContent جدید. این دستگاه محتوای خود را بااستفاده از ContentTransform سفارشی‌شدنی مدیریت می‌کند و با ورود محتوای هدف جدید و خروج محتوای اولیه، محتوای خود را تغییر می‌دهد. از ترکیب‌های مختلف انتقال ورود و خروج می‌توان برای ایجاد ظاهر و احساس سفارشی استفاده کرد. به‌عنوان بخشی از تبدیل محتوا، AnimatedContent اندازه آن به‌طور خودکار متحرک می‌شود تا با محتوای ورودی مطابقت داشته باشد. (I2c3df)
  • ‫ManualFrameClock حذف شد. اگر نیاز دارید پویانمایی‌ها را کنترل کنید، به‌جای آن از composeTestRule.mainClock استفاده کنید. (I3c3e8, b/189951065)

قوانین نمایه اضافه شد

این نسخه پخش قوانین نمایه را به واحدهای پیش‌نویس زیر اضافه می‌کند (I14ed6):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

قوانین نمایه چیست؟

  • قوانین نمایه برای کتابخانه در فایل نوشتاری baseline-prof.txt واقع در src/main یا مسیر معادل آن مشخص شده است. فایل در هر خط یک قانون را مشخص می‌کند، که در این مورد قانون الگویی برای مطابقت با روش‌ها یا کلاس‌ها در کتابخانه است. نحو این قوانین مجموعه‌ای از قالب نمایه‌خوانا برای انسان ART است که هنگام استفاده از adb shell profman --dump-classes-and-methods ... استفاده می‌شود. این قوانین یکی از دو شکل را برای هدف‌یابی روش‌ها یا کلاس‌ها می‌گیرند.

  • قانون روش الگوی زیر را خواهد داشت:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • و قانون کلاس الگوی زیر را خواهد داشت:

    <CLASS_DESCRIPTOR>
    
  • در اینجا <FLAGS> یک یا چند نویسه از نویسه‌های H، S، و P است که نشان می‌دهد آیا این روش باید به‌عنوان «داغ»، «راه‌اندازی»، یا «پس‌از راه‌اندازی» پرچم‌گذاری شود یا نه.

  • ‫<CLASS_DESCRIPTOR> توصیف‌گر کلاسی است که روش هدف‌گذاری‌شده به آن تعلق دارد. برای مثال، کلاس androidx.compose.runtime.SlotTable توصیف‌گر Landroidx/compose/runtime/SlotTable; را خواهد داشت.

  • ‫<METHOD_SIGNATURE> امضای روش است و شامل نام، انواع پارامتر، و انواع برگشتی روش می‌شود. برای مثال، روش fun isPlaced(): Boolean در LayoutNode امضای isPlaced()Z را دارد.

  • این الگوها می‌توانند دارای نویسه‌های عام (**،‏ *،‏ و ?) باشند تا یک قانون واحد چندین روش یا کلاس را دربر بگیرد.

قوانین چه کاری انجام می‌دهند؟

  • روشی که پرچم H را دارد نشان می‌دهد که این روش یک روش «داغ» است و باید ازقبل کامپایل شود.

  • روشی که پرچم S را دارد نشان می‌دهد که این روش در زمان راه‌اندازی فراخوانده می‌شود و باید ازقبل کامپایل شود تا از هزینه کامپایل و تفسیر روش در زمان راه‌اندازی جلوگیری شود.

  • روشی که پرچم P را دارد نشان می‌دهد که این روشی است که پس‌از راه‌اندازی فراخوانده می‌شود.

  • کلاسی که در این فایل وجود دارد نشان می‌دهد که درطول راه‌اندازی استفاده می‌شود و باید در پشته ازپیش تخصیص داده شود تا از هزینه بار کردن کلاس جلوگیری شود.

این چگونه کار می‌کند؟

  • کتابخانه‌ها می‌توانند این قوانین را تعریف کنند که در آرتیفکت‌های AAR بسته‌بندی می‌شوند. وقتی برنامه‌ای ساخته می‌شود که شامل این آرتیفکت‌ها است، این قوانین با هم ادغام می‌شوند و از قوانین ادغام‌شده برای ساختن نمایه باینری فشرده ART که مختص برنامه است استفاده می‌شود. سپس ART می‌تواند هنگام نصب برنامه در دستگاه‌ها از این نمایه استفاده کند تا زیرمجموعه خاصی از برنامه را ازپیش کامپایل کند و عملکرد برنامه، به‌ویژه اولین اجرا، را بهبود دهد. توجه داشته باشید که این کار هیچ تأثیری بر برنامه‌های اشکال‌زدایی‌شدنی نخواهد داشت.

نسخه 1.0.0-beta08

۲ ژوئن ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-beta08 و androidx.compose.animation:animation-core:1.0.0-beta08 منتشر شدند. نسخه 1.0.0-beta08 حاوی این تعهدها است.

رفع اشکال‌ها

  • اکنون detectDragGesures، detectVerticalGestures، و detectHorizontalGestures تغییر موقعیت را به‌طور خودکار مصرف می‌کنند و نیازی به فراخوانی change.consumePositionChange در برگشتی‌های onDrag نیست (I42fc4، b/185096350، b/187320697)
  • ‫Modifier.onGloballyPositioned() تغییر کرد تا مختصات این اصلاح‌کننده را در زنجیره اصلاح‌کننده گزارش کند، نه مختصات چیدمان را پس‌از اعمال همه اصلاح‌کننده‌ها. این یعنی اکنون ترتیب اصلاح‌کننده‌ها بر مختصاتی که گزارش می‌شود تأثیر می‌گذارد. (Ieb67d،‏ b/177926591)

نسخه 1.0.0-beta07

۱۸ مه ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-beta07 و androidx.compose.animation:animation-core:1.0.0-beta07 منتشر شدند. نسخه 1.0.0-beta07 شامل این تعهدها است.

تغییرات میانای برنامه‌سازی کاربردی

  • میانای برنامه‌سازی کاربردی جدید AnimatedVisibility که از مشخص شدن رؤیت‌پذیری در MutableTransitionState پشتیبانی می‌کند. این کار همچنین به وضعیت‌های پویانمایی اجازه می‌دهد ازطریق currentState و isIdle در خارج از AnimatedVisibility مشاهده شوند.
    • پشتیبانی از انتقال فرزند جدید در «انتقال»
    • پشتیبانی از پویانمایی گذار خروج/ورود سفارشی در AnimatedVisibility بااستفاده از AnimationScope.transition
    • اصلاح‌گر animateEnterExit جدید برای همه فرزندان AnimatedVisibility دردسترس است
    • میاناهای برنامه‌سازی کاربردی AnimatedVisibility که پارامتر initiallyVisible می‌گیرند منسوخ شده است (I702f3)

نسخه 1.0.0-beta06

۵ مه ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-beta06 و androidx.compose.animation:animation-core:1.0.0-beta06 منتشر شدند. نسخه 1.0.0-beta06 شامل این تعهدها است.

نسخه 1.0.0-beta05

۲۱ آوریل ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-beta05 و androidx.compose.animation:animation-core:1.0.0-beta05 منتشر شدند. نسخه 1.0.0-beta05 حاوی این تعهدها است.

رفع اشکال‌ها

  • فایل‌های AndroidManifest از ui-test-manifest و ui-tooling-data اکنون با Android 12 سازگار است (I6f9de، b/184718994)

نسخه 1.0.0-beta04

۷ آوریل ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-beta04 و androidx.compose.animation:animation-core:1.0.0-beta04 منتشر شدند. نسخه 1.0.0-beta04 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • نمونه‌های عمومی RowScope،‏ ColumnScope،‏ BoxScope،‏ BoxWithConstraintsScope برداشته شد. (I4e83e، b/181869067)

نسخه 1.0.0-beta03

۲۴ مارس ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-beta03 و androidx.compose.animation:animation-core:1.0.0-beta03 منتشر شدند. نسخه 1.0.0-beta03 شامل این تعهدات است.

نسخه 1.0.0-beta02

۱۰ مارس ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-beta02 و androidx.compose.animation:animation-core:1.0.0-beta02 منتشر شدند. نسخه 1.0.0-beta02 شامل این تعهدات است.

رفع اشکال‌ها

  • اعمال محدودیت‌ها بر استفاده عمومی از میاناهای برنامه‌سازی کاربردی آزمایشی (I6aa29، b/174531520)

نسخه 1.0.0-beta01

۲۴ فوریه ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-beta01 و androidx.compose.animation:animation-core:1.0.0-beta01 منتشر شدند. نسخه 1.0.0-beta01 شامل این تعهدات است.

این اولین نسخهٔ پخش Compose 1.0.0 Beta است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫InteractionState با [Mutable]InteractionSource جایگزین شد
    • واسط‌ها مسئول انتشار / جمع‌آوری رویدادهای «تعامل» هستند.
    • به‌جای انتقال interactionState = remember { InteractionState() } به عناصری مثل Button و Modifier.clickable()، از interactionSource = remember { MutableInteractionSource() } استفاده کنید.
    • به‌جای: Interaction.Pressed in interactionState باید از توابع افزونه در InteractionSource استفاده کنید، مثلاً InteractionSource.collectIsPressedAsState().
    • برای موارد استفاده پیچیده می‌توانید از InteractionSource.interactions برای مشاهده جاری‌سازی «تعامل‌ها» استفاده کنید. برای اطلاعات بیشتر، به اسناد و نمونه‌های InteractionSource مراجعه کنید.
    • (I85965،‏ b/152525426،‏ b/171913923،‏ b/171710801،‏ b/174852378)
  • بسته‌های روش‌های smoothScrollBy و scrollBy به androidx.compose.foundation.gestures.* تغییر کرد (I3f7c1، b/175294473)
  • نام اصلاح‌گرهای اندازه تغییر کرد. Modifier.width/height/size به requiredWidth/requiredHeight/requiredSize تغییر نام داد. نام Modifier.preferredWidth/preferredHeight/preferredSize به width/height/size تغییر کرد. (I5b414)
  • جهت‌یابی به بسته پایه منتقل شده است. ‫VelocirtTracker از ui.gesture به ui.input.pointer منتقل شد. (Iff4a8، b/175294473)
  • ‫AnimationClockObservable و زیرکلاس‌های آن برداشته شده‌اند. ‫AnimatedFloat برداشته شده است. (Icde52، b/177457083)
  • ‫Modifier.draggable اکنون به‌جای لامبدای ساده، DraggableState را می‌پذیرد. می‌توانید ازطریق rememberDraggableState { delta -> } وضعیت ایجاد کنید تا همان رفتار قبلی را داشته باشید (Ica70f، b/175294473)
  • animate،‏ animatedValue، و AnimatedValue APIs برداشته شده‌اند (If27bc،‏ b/177457083)
  • ‫AnimationEndReason.Interrupted برداشته شد. اگر پویانمایی قطع شود، CancellationException پرتاب خواهد شد. (I2cbbc, b/179695417)
  • ‫TargetAnimation API برداشته شده است. (If47d1، b/177457083)

نسخه 1.0.0-alpha12

۱۰ فوریه ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-alpha12 و androidx.compose.animation:animation-core:1.0.0-alpha12 منتشر شدند. نسخه 1.0.0-alpha12 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫Modifier.pointerInput اکنون برای نشان دادن زمان بازراه‌اندازی روتین تشخیص ورودی اشاره‌گر برای وابستگی‌های جدید، به کلیدهای به‌یادآوری نیاز دارد. (I849cd)
  • نام «محدوده» به DpRect (I4b32a) تغییر کرده است
  • نام پارامتر برای AnimationSpec در سیستم پویانمایی یکپارچه شد. همچنین Enter/ExitTransition را محدود کنید تا FiniteAnimationSpec را بپذیرد. (Ie47c5، b/177457083)
  • ‫Animatable.snapTo و Animatable.stop اکنون توابع تعلیق هستند (If4288)
  • همان‌طور که قبلاً state { 0 } قابل ترکیب را برداشتیم و اکنون استفاده از remember { mutableStateOf(0) } را ترویج می‌کنیم، savedInstanceState { 0 } قابل ترکیب را نیز برمی‌داریم. باید از rememberSaveable { mutableStateOf(0) } استفاده کنید و اگر نوع استفاده‌شده در MutableState بتواند در Bundle ذخیره شود، به‌طور خودکار ذخیره و بازیابی خواهد شد. اگر قبلاً یک شیء ذخیره‌کننده سفارشی را ارسال می‌کردید، اکنون باید از سربار جدیدی از rememberSaveable استفاده کنید که stateSaver پارامتر دارد. استفاده به این شکل خواهد بود: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26، b/177338004)
  • امضای روش «محو متقاطع» به‌روزرسانی شد تا با بقیه سیستم پویانمایی سازگارتر شود. (Ib05ed، b/177457083)
  • نام rememberSavedInstanceState() به rememberSaveable() تغییر کرده است و به بسته androidx.compose.runtime.saveable منتقل شده است. (I1366e،‏ b/177338004)
  • نام RestorableStateHolder به SaveableStateHolder تغییر کرد و به بسته androidx.compose.runtime.saveable منتقل شد. نام روش داخلی RestorableStateProvider به SaveableStateProvider تغییر کرد. نوع عمومی برداشته شد تا بتوانید «هرچیزی» را به‌عنوان کلید ارسال کنید. شرح آزمایشی دیگر لازم نیست. (I0902e،‏ b/174598702)
  • «میانای برنامه‌سازی کاربردی Modifier.animateContentSize» به‌روزرسانی شد تا با بقیه سیستم پویانمایی سازگار شود. (I0bf75، b/177457083)
  • ‫AnimatedValue/Float اکنون منسوخ شده است. لطفاً به‌جای آن از Animatable استفاده کنید. (I71345، b/177457083)
  • ‫tapGestureFilter،‏ doubleTapGestureFilter،‏ longPressGestureFilter، و pressIndicaitonGestureFilter منسوخ شده‌اند. درعوض از Modifier.clickable یا Modifier.pointerInput با تابع detectTapGestures استفاده کنید. (I6baf9، b/175294473)
  • عنصر زمینه روتین همکار InfiniteAnimationPolicy را معرفی کرد که در پویانمایی‌های بی‌نهایت اعمال خواهد شد. به‌طور پیش‌فرض هیچ خط‌مشی‌ای نصب نمی‌شود، به‌جز زمانی که آزمایش‌ها با ComposeTestRule اجرا می‌شوند. (I50ec4, b/151940543)
  • روش‌های ساختارشکنی و copy() از چندین کلاس که به‌ندرت استفاده می‌شدند برداشته شده است. (I26702, b/178659281)
  • زمان پخش در پویانمایی اکنون به نانوثانیه یکپارچه شده است (If776a)
  • ساخت‌افزار compose:runtime-dispatch اکنون منسوخ شده است. اکنون می‌توانید MonotonicFrameClock را در compose:runtime و AndroidUiDispatcher را در compose:ui پیدا کنید. ‫(Ib5c36)
  • ‫Animation.isInfinite و VectorizedAnimationSpec.isInfinite اضافه شد که نشان می‌دهد پویانمایی بی‌نهایت است یا نه. این ویژگی می‌تواند در پیاده‌سازی‌های پویانمایی‌ها برای مدیریت ویژه چنین پویانمایی‌هایی استفاده شود. برای مثال، پیام ویژه «زمان باقی‌مانده» می‌تواند نمایش داده شود، یا درطول آزمایش‌ها، پویانمایی می‌تواند لغو شود تا از انتظار نامحدود برای بیکاری جلوگیری شود. (Iebb05، b/151940543)
  • به‌جای «زمان روشن بودن» از «طولانی» به‌عنوان نوع زمان پویانمایی استفاده کنید (Ie3aa7، b/177420019)

نسخه 1.0.0-alpha11

‫۲۸ ژانویه ۲۰۲۱

‫androidx.compose.animation:animation:1.0.0-alpha11 و androidx.compose.animation:animation-core:1.0.0-alpha11 منتشر شدند. نسخه 1.0.0-alpha11 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • «گذار» مبتنی بر «تعریف گذار» نامناسب شده است (I0ac57)
  • فیلد برچسبی برای «گذار» اضافه شده است و پویانمایی‌های فرزند در ابزارها نمایش داده می‌شود (I619fb)
  • ‫animateAsState اکنون animateFooAsState است، که در آن Foo نوع متغیر پویانمایی‌شده است. برای نمونه، Float،‏ Dp،‏ Offset، و غیره (Ie7e25)
  • ‫InfiniteTransition جدیدی که هر تعداد پویانمایی فرزند را اجرا می‌کند. (I1da81)
  • واسط‌های پارامتر حالت‌دار «مطلب» را تغییر می‌دهد تا توابع ‎ @Composable داشته باشد که State<T> را برمی‌گردانند. ‫Animatable.asState() را اضافه می‌کند تا تبدیل Animatable به State آسان‌تر شود. همچنین animateElevation را به یک افزونه تعلیق در Animatable تغییر می‌دهد. (If613c)

رفع اشکال‌ها

  • onCommit،‏ onDispose، و onActive به‌نفع SideEffect و DisposableEffect APIs منسوخ شده‌اند (If760e)
  • اکنون از «حالت اولیه» در updateTransition پشتیبانی می‌شود (Ifd51d)
  • پارامتر شرح محتوا به «تصویر» و «نماد» اضافه شده است. از آن برای ارائه شرح به خدمات دسترس‌پذیری (I2ac4c) استفاده می‌شود
  • ‫invalidate و compositionReference() اکنون به‌ترتیب به‌نفع currentRecomposeScope و rememberCompositionReference منسوخ شده‌اند. (I583a8)
  • «مدت» و «زمان کار» با «میلی‌ثانیه طولانی» جایگزین خواهد شد، و این مرحله وابستگی ورودی اشاره‌گر به آن کلاس‌ها را برمی‌دارد. (Ia33b2،‏ b/175142755،‏ b/177420019)
  • اکنون می‌توان عناصر کلیک‌کردنی، قابل‌تغییر، و قابل‌انتخاب را خارج‌از ترکیب ایجاد کرد (I0a130، b/172938345، b/175294473)
  • «تسهیل» به یک میانای کارکردی (Ib14e5) تغییر کرده است
  • روش کارخانه جدید items(count: Int) برای محدوده LazyColumn/LazyRow/LazyVerticalGrid. ‫items(items: List) و itemsIndexed(items: List) اکنون تابع‌های افزونه هستند، بنابراین باید آن‌ها را هنگام استفاده به‌صورت دستی وارد کنید. سربار جدید برای «آرایه‌ها»: items(items: Array) و itemsIndexed(Array) (I803fc،‏ b/175562574)
  • استفاده از TestCoroutineDispatcher در آزمایش (I532b6)
  • ‫PointerInputData برداشته شد و PointerInputChange اصلاح شد تا همه فیلدهای PointerInputData را داشته باشد. ‫PointerInputEvent و PointerInputEventData داخلی شدند زیرا در هیچ میانای برنامه‌سازی کاربردی عمومی استفاده نمی‌شوند. (Ifff97، b/175142755)

نسخه 1.0.0-alpha10

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

‫androidx.compose.animation:animation:1.0.0-alpha10 و androidx.compose.animation:animation-core:1.0.0-alpha10 منتشر شدند. نسخه 1.0.0-alpha10 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • «سرعت» اصلاح شد تا دارای اجزای تشکیل‌دهنده و عملیات ریاضی باشد. (Ib0447)
  • نام @ExperimentalTesting به @ExperimentalTestApi تغییر کرد تا با حاشیه‌نویسی‌های مشابه میانای برنامه‌سازی کاربردی آزمایشی (Ia4502، b/171464963) سازگار باشد
  • «موقعیت» به «DpOffset» تغییر نام داد و getDistance() برداشته شد (Ib2dfd)
  • میانای برنامه کاربردی عمومی Any.identityHashCode() برداشته شد (I025d7)

رفع اشکال‌ها

  • میانای برنامه‌سازی کاربردی جدید مبتنی بر روتین همکار Animatable که انحصاری بودن متقابل بین پویانمایی‌هایش را تضمین می‌کند. ‫DecayAnimationSpec جدید برای پشتیبانی از پویانمایی افت چندبعدی (I820f2، b/168014930)
  • ‫animate() اکنون با animateAsState() جایگزین شده است، که به‌جای T،‏ State<T> برمی‌گرداند. این کار عملکرد را بهبود می‌بخشد، زیرا محدوده نامعتبرسازی می‌تواند به جایی که مقدار «وضعیت» خوانده می‌شود محدود شود. (Ib179e)

نسخه 1.0.0-alpha09

‫۱۶ دسامبر ۲۰۲۰

‫androidx.compose.animation:animation:1.0.0-alpha09 و androidx.compose.animation:animation-core:1.0.0-alpha09 منتشر شدند. نسخه 1.0.0-alpha09 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫Dp.VectorConverter،‏ Position.VectorConverter، و غیره به animation-core منتقل شد و VectorConveters قدیمی (If0c4b) منسوخ شد
  • مجموعه کاملاً جدیدی از «میاناهای برنامه‌سازی کاربردی انتقال» با سهولت استفاده بهبودیافته، و پشتیبانی از پویانمایی‌های اضافه شده به‌صورت پویا، و هدف‌های پویانمایی محاسبه‌شده به‌صورت پویا معرفی شد. این «میانای برنامه‌سازی کاربردی» به‌عنوان آزمایشی علامت‌گذاری شده است تا به‌راحتی از «میانای برنامه‌سازی کاربردی» مبتنی بر TransitionDefinition متمایز شود. (Ia7fe3)

رفع اشکال‌ها

  • ‫Lambdas در اصلاح‌کننده‌های افست اکنون به‌جای Float، مقدار IntOffset برمی‌گرداند. (Ic9ee5،‏ b/174137212،‏ b/174146755)
  • ‫LazyColumnFor،‏ LazyRowFor،‏ LazyColumnForIndexed، و LazyRowForIndexed را منسوخ کنید. به‌جای آن از LazyColumn و LazyRow استفاده کنید (I5b48c)
  • برای تعلیق کردن ورودی اشاره‌گر APIs، HandlePointerInputScope به AwaitPointerEventScope و handlePointerInput() به awaitPointerEventScope() تغییر نام داد. (Idf0a1، b/175142755)
  • تابع جدید infiniteRepeatable برای ایجاد InfiniteRepeatableSpec (I668e5)
  • حاشیه‌نویسی ExperimentalPointerInput برداشته شد (Ia7a24)

نسخه 1.0.0-alpha08

‫۲ دسامبر ۲۰۲۰

‫androidx.compose.animation:animation:1.0.0-alpha08 و androidx.compose.animation:animation-core:1.0.0-alpha08 منتشر شدند. نسخه 1.0.0-alpha08 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • بررسی lint برای نام‌گذاری و موقعیت پارامتر لامبدای ترکیب‌شدنی اضافه شد تا با رهنمودهای Compose سازگاری داشته باشد. همچنین برخی‌از APIها را بااستفاده از children به‌عنوان نام لامبدای انتهایی‌شان به content انتقال دادیم، طبق بررسی و راهنمایی lint. (Iec48e)
  • «میاناهای برنامه‌سازی کاربردی» قبلاً نامناسب برداشته شدند:
    • ‫Modifier.onPositioned برداشته شد، از Modifier.onGloballyPositioned استفاده کنید.
    • ‫Modifier.onDraw برداشته شد، از Modifier.onDrawBehind استفاده کنید.
    • ‫Modifier.plus برداشته شد، از Modifier.then استفاده کنید.
    • ‫Color.Unset برداشته شد، از Color.Unspecified استفاده کنید.
    • کلاس PxBounds برداشته شد، درعوض از Rect استفاده کنید.
    • (Ie9d02, b/172562222)
  • گزینه موقتاً اضافه شد تا اجازه دهد TestAnimationClock توسط MonotonicFrameClock کنترل شود (I1403b، b/173402197)

رفع اشکال‌ها

  • ‫Modifier.drawLayer به Modifier.graphicsLayer تغییر نام داد همچنین کلاس‌های مرتبط طبق بازخورد شورای API به GraphicsLayer به‌روزرسانی شد. (I0bd29, b/173834241)
  • «واسط‌های برنامه‌سازی کاربردی» Modifier.scale/rotate به‌عنوان تسهیلات برای drawLayer اضافه شد.
    • نام Modifier.drawOpacity به Modifier.alpha تغییر کرد
    • نام Modifier.drawShadow به Modifier.shadow تغییر یافت (I264ca، b/173208140)
  • فیلدهای زمان کار و موقعیت PointerInputData را غیرقابل‌تهی کرد. (Id468a)
  • نام اصلاح‌کننده‌های offsetPx به offset تغییر کرد. اکنون به‌جای State، پارامترهای لامبدا می‌گیرند. (Ic3021، b/173594846)
  • میاناهای برنامه‌سازی کاربردی جدید برای اجرای پویانمایی‌ها در روتین‌های همکار (Ied662)
  • «محیط‌های» منسوخ‌شده‌ای که نام آن‌ها با Ambient به‌عنوان پسوند بود، با دارایی‌های جدیدی که پیشوند آن‌ها «محیط» بود جایگزین شدند و از سایر «محیط‌ها» و دستورالعمل‌های «میانای برنامه‌سازی کاربردی Compose» پیروی کردند. (I33440)
  • کنترل زمان در آزمایش‌ها (TestAnimationClock و موارد استفاده آن) اکنون آزمایشی است (I6ef86، b/171378521)
  • برداشتن واحد ui-test قدیمی و کدهای جای‌خالی آن (I3a7cb)
  • نام تابع RestorableStateHolder.withRestorableState به RestorableStateProvider تغییر کرد (I66640)
  • میانای «تراز» به‌روزرسانی و کاربردی شد. (I46a07،‏ b/172311734)

نسخه 1.0.0-alpha07

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

‫androidx.compose.animation:animation:1.0.0-alpha07 و androidx.compose.animation:animation-core:1.0.0-alpha07 منتشر شدند. نسخه 1.0.0-alpha07 حاوی این تعهدات است.

رفع اشکال‌ها

  • ‫AmbientTextStyle،‏ ProvideTextStyle، و AmbientContentColor منسوخ شده‌اند. به‌جای آن از نسخه‌های جدید موجود در کتابخانه «ماتریال» استفاده کنید. برای برنامه‌های غیر Material، باید به‌جای آن سیستم طراحی خودتان را ایجاد کنید که دارای زمینه‌های خاصی باشد که بتواند در عناصر خودتان استفاده شود. (I74acc، b/172067770)
  • ‫foundation.Text منسوخ شده است و با material.Text جایگزین شده است. برای میانای برنامه‌سازی کاربردی نوشتاری ساده و بی‌طرف که مقادیر را از زمینه مصرف نمی‌کند، androidx.compose.foundation.BasicText را ببینید. (If64cb)
  • ‫MeasureResult از MeasureScope خارج شد. (Ibf96d،‏ b/171184002)
  • چندین نماد مربوط به چیدمان از androidx.compose.ui به androidx.compose.layout.ui منتقل شدند. (I0fa98، b/170475424)

نسخه 1.0.0-alpha06

‫۲۸ اکتبر ۲۰۲۰

‫androidx.compose.animation:animation:1.0.0-alpha06 و androidx.compose.animation:animation-core:1.0.0-alpha06 منتشر شدند. نسخه 1.0.0-alpha06 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • فعال کردن گذارها در ComposeTestRule؛ برداشتن گزینه فعال کردن مکان‌نمای چشمک‌زن از ComposeTestRule. (If0de3)

نسخه 1.0.0-alpha05

‫۱۴ اکتبر ۲۰۲۰

‫androidx.compose.animation:animation:1.0.0-alpha05 و androidx.compose.animation:animation-core:1.0.0-alpha05 منتشر شدند. نسخه 1.0.0-alpha05 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • واسط کاربر و زیرکلاس‌های «پویانمایی جدید»: این کلاس‌ها شرایط شروع و پایان پویانمایی‌ها را ذخیره می‌کنند و بنابراین امکان می‌دهند مقدار و سرعت فقط ازطریق زمان پخش پرسیده شود (Ie95bd، b/163329867)

رفع اشکال‌ها

  • ‫OnPositionedModifier به OnGloballyPositionedModifier تغییر نام داده شد و onPositioned() به onGloballyPositioned() تغییر نام داد. (I587e8، b/169083903)
  • ‫contentColor() و currentTextStyle() APIs را منسوخ می‌کند و آن‌ها را به‌ترتیب با AmbientContentColor و AmbientTextStyle ambients جایگزین می‌کند. می‌توانید بااستفاده از .current در دارایی محیطی، مانند هر محیط دیگری، به مقدار فعلی دسترسی پیدا کنید. این تغییر برای ایجاد یکپارچگی و جلوگیری از وجود چندین روش برای انجام یک کار انجام شده است. علاوه‌براین، برخی‌از دارایی‌های محیطی را تغییر نام می‌دهد تا هدف آن‌ها را بهتر توصیف کند، به این صورت:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

نسخه 1.0.0-alpha04

۱ اکتبر ۲۰۲۰

‫androidx.compose.animation:animation:1.0.0-alpha04 و androidx.compose.animation:animation-core:1.0.0-alpha04 منتشر شدند. نسخه 1.0.0-alpha04 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫Annotated rootAnimationClockFactory،‏ transitionsEnabled،‏ blinkingCursorEnabled، و textInputServiceFactory را با ‎@VisibleForTesting به API داخلی تبدیل کنید و kdoc آن‌ها را پنهان کنید (I554eb،‏ b/168308412)

رفع اشکال‌ها

  • بسیاری از «میاناهای برنامه‌سازی کاربردی گرافیک» به‌روزرسانی شد
    • میاناهای برنامه‌سازی کاربردی تبدیل چرخش و مقیاس به‌روزرسانی شد تا از یک پارامتر «آفست» برای نشان دادن مختصات محور به‌جای پارامترهای شناور جداگانه برای مختصات x/y در DrawScope و DrawTransform استفاده کند
    • روش‌های Rect.expandToInclude و Rect.join برداشته شد
    • مستندات «شعاع» به‌روز شد تا علاوه‌بر بیضی، بیضی‌شکل را نیز شامل شود
    • اسناد اضافه شد تا نشان دهد سازنده عمومی برای کلاس درون‌خطی «شعاع» نباید مستقیماً فراخوانده شود، بلکه اشیا «شعاع» باید ازطریق سازنده‌های تابع آن‌ها نمونه‌سازی شوند
    • «میاناهای برنامه‌سازی کاربردی RoundRect» برای پُرسمان topRight، bottomRight،‏ bottomCenter، و غیره برداشته شد.
    • ‫Rect.shift منسوخ شده است. به‌جای آن از Rect.translate استفاده کنید
    • ‫RoundRect.grow و Rect.shrink API برداشته شد
    • نام RoundRect.outerRect به Rect.boundingRect تغییر کرد
    • روش‌های RoundRect.middleRect/tallMiddleRect/wideMiddleRect و Rect.isStadium برداشته شد
    • نام RoundRect.longestSide به RoundRect.maxDimension تغییر کرد
    • نام RoundRect.shortestSide به RoundRect.minDimension تغییر کرد
    • ‫RoundRect.center را به‌جای تابع به دارایی تغییر داد
    • سازنده RoundRect به‌روزرسانی شد تا به‌جای پارامترهای جداگانه برای مقادیر شعاع x/y، از خصوصیات «شعاع» استفاده کند
    • «میاناهای برنامه‌سازی کاربردی اندازه» که فرض می‌کرد «مستطیل» با مبدأ در ۰٫۰ است برداشته شد
    • میانای برنامه‌سازی کاربردی مخربی به Radius اضافه شد
    • انتقال توابع افزونه RoundRect مختلف به به‌جای آن، ویژگی‌ها
    • (I8f5c7، b/168762961)
  • ‫foundation.Box منسوخ شده است. لطفاً درعوض از foundation.layout.Box استفاده کنید. (Ie5950، b/167680279)
  • نام دسته عکس به Box تغییر کرد. «جعبه» قبلی موجود به نفع «جعبه» جدید در compose.foundation.layout منسوخ خواهد شد. عملکرد «چارگوش» جدید این است که وقتی چند فرزند دارد، آن‌ها را روی هم قرار می‌دهد - این عملکرد با «چارگوش» قبلی که عملکردی مشابه «ستون» داشت متفاوت است. (I94893، b/167680279)
  • پارامترهای تزئین جعبه منسوخ شده است. اگر می‌خواهید جعبه‌تان تزئینات/حاشیه داشته باشد، به‌جای آن از «اصلاح‌گرها» استفاده کنید (Modifier.background،‏ Modifier.border،‏ Modifier.padding) (Ibae92،‏ b/167680279)
  • از وارد کردن ایستا محتوای محدوده‌های چیدمان (برای نمونه alignWithSiblings در RowScope) جلوگیری کردیم. درعوض باید از محدوده صریح جایگزین استفاده شود: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be، b/166760797)

نسخه 1.0.0-alpha03

‫۱۶ سپتامبر ۲۰۲۰

‫androidx.compose.animation:animation:1.0.0-alpha03 و androidx.compose.animation:animation-core:1.0.0-alpha03 منتشر شدند. نسخه 1.0.0-alpha03 حاوی این تعهدات است.

رفع اشکال‌ها

  • کاربردهای گرانش به‌طور پیوسته به تراز یا تراز کردن در میاناهای برنامه‌سازی کاربردی چیدمان تغییر نام داده شد. (I2421a، b/164077038)

نسخه 1.0.0-alpha02

‫۲ سپتامبر ۲۰۲۰

‫androidx.compose.animation:animation:1.0.0-alpha02 و androidx.compose.animation:animation-core:1.0.0-alpha02 منتشر شدند. نسخه 1.0.0-alpha02 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫ManualFrameClock.hasAwaiters اضافه شد تا بررسی شود آیا چیزی منتظر قاب از آن ساعت است یا نه؛ runWithManualClock به‌عنوان جایگزین runBlocking هنگام اجرای آزمایش‌هایی که به ManualFrameClock نیاز دارند؛ TestUiDispatcher.Main که دسترسی آسان به توزیع‌کننده اصلی رابط کاربری در آزمایش‌های شما را فراهم می‌کند.

    برای مثال:

    @Test
    fun myTest() = runWithManualClock { clock ->
        // set some compose content
        withContext(TestUiDispatcher.Main) {
            clock.advanceClock(1000L)
        }
        if (clock.hasAwaiters) {
            println("The clock has awaiters")
        } else {
            println("The clock has no more awaiters")
        }
    }
    

    (I0a85b، b/161247083)

رفع اشکال‌ها

  • ‫onPreCommit منسوخ شده است؛ onCommit اکنون رفتار onPreCommit را دارد.

    اکنون onCommit و onActive در همان قاب طراح رقص اجرا می‌شوند که تغییرات ترکیب در آن ثبت شده است، نه در ابتدای قاب طراح رقص بعدی. (I70403)

نسخه 1.0.0-alpha01

۲۶ اوت ۲۰۲۰

‫androidx.compose.animation:animation:1.0.0-alpha01 و androidx.compose.animation:animation-core:1.0.0-alpha01 منتشر شدند. نسخه 1.0.0-alpha01 شامل این تعهدات است.

نسخه 0.1.0-dev

نسخه 0.1.0-dev17

۱۹ اوت ۲۰۲۰

‫androidx.compose.animation:animation:0.1.0-dev17 و androidx.compose.animation:animation-core:0.1.0-dev17 منتشر شدند. نسخه 0.1.0-dev17 حاوی این تعهدات است.

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

تغییرات میانای برنامه‌سازی کاربردی

  • ‫Offset به کلاس به‌خط تبدیل شده است (Iaec70)
  • ‫IntOffset اکنون یک کلاس درون‌خطی است (Iac0bf)
  • ‫IntSize اکنون کلاس به‌خط است (I2bf42)
  • ترکیب‌پذیر AnimatedVisibilty ظاهر و ناپدید شدن محتوای فرزند را پویانمایی می‌کند.

    ‫EnterTransition و ExitTransition برای کار با ترکیب‌پذیر AnimatedVisibilty معرفی شده‌اند تا ۳ نوع مختلف از پویانمایی ظاهر و ناپدید شدن ارائه دهند: محو شدن، لغزیدن، و ازهم بازشدن/جمع شدن محتوا. انواع مختلف پویانمایی را می‌توان با هم ترکیب کرد تا ظاهر و احساسی سفارشی‌تر ایجاد شود. (Idda11)

  • ‫PxBounds منسوخ‌شده به‌نفع Rect. همه موارد استفاده از PxBounds با rect به‌روزرسانی شد و حاشیه‌نویسی‌های مناسب منسوخ کردن/جایگزین کردن برای کمک به انتقال اضافه شد. (I37038، b/162627058)

رفع اشکال‌ها

  • نام PlacementScope.placeAbsolute() به PlacementScope.place() تغییر کرد و نام PlacementScope.place() قبلی به PlacementScope.placeRelative() تغییر کرد. درنتیجه، روش PlacementScope.place() دیگر به‌طور خودکار موقعیت را در زمینه‌های راست‌به‌چپ قرینه نخواهد کرد. اگر این تغییر مطلوب است، درعوض از PlacementScope.placeRelative() استفاده کنید. (I873ac، b/162916675)
  • ‫state { ... } قابل ترکیب اکنون به‌نفع فراخوانی‌های صریح به remember { mutableStateOf(...) } برای وضوح منسوخ شده است. این کار سطح کلی میانای برنامه‌سازی کاربردی و تعداد مفاهیم مدیریت وضعیت را کاهش می‌دهد و با الگوی by mutableStateOf() برای واگذاری دارایی کلاس مطابقت دارد. (Ia5727)

نسخه 0.1.0-dev16

۵ اوت ۲۰۲۰

‫androidx.compose.animation:animation:0.1.0-dev16 و androidx.compose.animation:animation-core:0.1.0-dev16 منتشر شدند. نسخه 0.1.0-dev16 حاوی این تعهدها است.

تغییرات میانای برنامه‌سازی کاربردی

  • تبدیل‌کننده‌های برداری داخلی برای تبدیل واحدهای داخلی اکنون ازطریق Foo.VectorConverter دردسترس است. برای نمونه Dp.VectorConverter،‏ Color.VectorConverter، Float.VectorConverter، و غیره (I3e273)
  • از شنونده پایان در Modifier.animateContentSize() پشتیبانی کنید به‌طوری‌که وقتی پویانمایی تغییر اندازه تمام می‌شود، شنونده به‌همراه اندازه شروع/پایان پویانمایی مطلع شود. (I277b2)
  • اصلاح‌گر animateContentSize جدید که تغییر اندازه چیدمان اصلاح‌گر فرزندش را پویانمایی می‌کند (Ieffdc)
  • ‫MonotonicFrameAnimationClock اضافه شد که به شما امکان می‌دهد از MonotonicFrameClock به‌عنوان AnimationClockObservable برای پر کردن شکاف بین ساعت‌های مبتنی بر روتین‌های هم‌زمان جدید و میاناهای برنامه‌سازی کاربردی که هنوز از ساعت‌های مبتنی بر برگشتی قدیمی استفاده می‌کنند استفاده کنید.

    معادل MonotonicFrameClock مبلغ ManualAnimationClock اکنون ManualFrameClock است. (I111c7, b/161247083)

رفع اشکال‌ها

  • میاناهای برنامه‌سازی کاربردی برای پشتیبانی از راست‌به‌چپ به‌روز شده است. ‫LayoutDirectionAmbient اضافه شده است که می‌توان از آن برای خواندن و تغییر دادن جهت چیدمان استفاده کرد. ‫Modifier.rtl و Modifier.ltr برداشته شده‌اند. (I080b3)
  • برای transitionDefinition، نوع T باید به‌طور صریح مشخص شود. (I1aded)
  • بسته foundation.shape.corner به foundation.share مسطح شد (I46491، b/161887429)
  • ‫Modifier.plus منسوخ شده است، درعوض از Modifier.then استفاده کنید. «سپس» نشان قوی‌تری از ترتیب دارد و همچنین از تایپ کردن Modifier.padding().background() + anotherModifier جلوگیری می‌کند، که زنجیره را می‌شکند و خواندن را سخت‌تر می‌کند (Iedd58، b/161529964)
  • نام Modifier.drawBackground به Modifier.background تغییر کرده است (I13677)

نسخه 0.1.0-dev15

‫۲۲ ژوئیه ۲۰۲۰

‫androidx.compose.animation:animation:0.1.0-dev15 و androidx.compose.animation:animation-core:0.1.0-dev15 منتشر شدند. نسخه 0.1.0-dev15 حاوی این تعهدات است.

به‌روزرسانی وابستگی‌ها

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

تغییرات میانای برنامه‌سازی کاربردی

  • «میانای برنامه‌سازی کاربردی انتقال» تغییر کرده است تا به‌جای انتقال «وضعیت انتقال» به فرزندان، «وضعیت انتقال» را برگرداند. این کار باعث می‌شود این «میانای برنامه‌سازی کاربردی» با میاناهای برنامه‌سازی کاربردی animate()‎ سازگارتر شود. (I24e38)
  • پارامتر اصلاح‌کننده برای «محو شدن تدریجی» (I87cfe،‏ b/159706180) اضافه شد
  • برای روشن کردن مفهوم مشخصات پویانمایی ثابت، در سطح بالای «میاناهای برنامه‌سازی کاربردی» به‌جای AnimationBuilder از AnimationSpec استفاده کنید
    • با برداشتن الزام لامبدا برای ایجاد AnimationSpecs مثل tween و spring، زبان DSL انتقال را بهبود دهید. درعوض، آن‌ها مستقیماً پارامترهای سازنده را می‌گیرند.
    • بهبود سهولت کلی استفاده از AnimationSpec با باز کردن سازنده‌ها به‌جای تکیه بر سازندگان
    • مدت و تأخیر «قاب‌های کلیدی» و «میان‌یابی» را به «عدد صحیح» تغییر دهید. این کار تبدیل نوع غیرضروری و سربار روش را (برای پشتیبانی از «عدد صحیح» و «عدد صحیح طولانی») حذف می‌کند. (Ica0b4)
  • استفاده از IntPx با Int جایگزین شد. IntPxPosition با IntOffset جایگزین شد. ‫IntPxSize با IntSize جایگزین شد. (Ib7b44)
  • برای ادغام کردن تعداد کلاس‌های استفاده‌شده برای نمایش اطلاعات اندازه‌بندی، به‌جای PxSize، استفاده از کلاس «اندازه» را استاندارد کنید. این کار مزایای کلاس درون‌خطی را برای استفاده از long به‌منظور بسته‌بندی ۲ مقدار شناور برای نشان دادن عرض و ارتفاع نشان‌داده‌شده به‌صورت شناور فراهم می‌کند. (Ic0191)
  • برای ادغام کردن تعداد کلاس‌های استفاده‌شده برای نمایش اطلاعات مکان‌یابی، به‌جای استفاده از PxPosition، از کلاس «آفست» استفاده کنید. این کار مزایای کلاس درون‌خطی را برای استفاده از عدد صحیح طولانی برای بسته‌بندی ۲ مقدار ممیز شناور برای نمایش انحراف‌های x و y که به‌صورت ممیز شناور نمایش داده می‌شوند فراهم می‌کند. (I3ad98)
  • جایگزین کردن استفاده از کلاس Px در کلاس‌های مختلف ترکیب به‌عنوان بخشی از تلاش بزرگ بازسازی برای تکیه کردن فقط بر Dp و انواع اولیه برای پارامترهای پیکسل (I086f4)
  • پشتیبانی animate() برای Dp،‏ Px،‏ Size،‏ Position،‏ Bounds،‏ PxPosition،‏ PxSize،‏ PxBounds،‏ IntPx،‏ IntPxSize،‏ IntPxPosition،‏ IntPxBounds، و AnimationVector اضافه شد (Ib7518)
  • ‫Crossfade اکنون پارامتر اختیاری AnimationBuilder را می‌پذیرد تا امکان پیکربندی پویانمایی را فراهم کند (I6d6e0)
  • همه موارد استفاده از «رنگ» تهی‌پذیر در API با غیرتهی‌پذیر جایگزین شد و به‌جای تهی از Color.Unset استفاده شد (Iabaa7)
  • کلاس ValueHolder برداشته شد. کلاس‌های AnimatedValue و AnimatedFloat را بازسازی کردیم تا فیلد مقدار پویانمایی را انتزاعی کنیم تا زیرکلاس‌ها بتوانند به‌روزرسانی مقدار را مشاهده کنند.
    • کلاس‌های مدل برای AnimatedValue،‏ AnimatedFloat، و غیره اضافه شد.
    • مجموعه جدیدی از APIهای @Composable سبک‌وزن برای پویانمایی بین مقادیر اضافه شد. (I79530)
  • تغییرات ناگهانی در ambients API. برای جزئیات، گزارش و مستندات Ambient<T> را ببینید (I4c7ee، b/143769776)
  • حالت تکرار جدید: معکوس. این حالت تکرار قبلی را معکوس می‌کند زیرا پویانمایی در RepeatableSpec یا VectorizedRepeatableSpec تکرار می‌شود. (Ibe0f5)
  • افزوده‌های میانای برنامه‌سازی کاربردی به ManualAnimationClock: hasObservers: Boolean و پارامتر سازنده dispatchOnSubscribe: Boolean (Iaa134)
  • میاناهای برنامه‌سازی کاربردی برای دریافت محدوده‌های حداقل/حداکثر در AnimatedFloat اضافه شد (Icd9cc)

رفع اشکال‌ها

  • نام runOnIdleCompose به runOnIdle تغییر کرد (I83607)
  • چندین API آزمایشی برای شهودی‌تر شدن تغییر نام دادند. همه میاناهای برنامه‌سازی کاربردی findXYZ به onNodeXYZ تغییر نام داده شدند. نام همه «میاناهای برنامه‌سازی کاربردی doXYZ» به performXYZ تغییر کرد. (I7f164)
  • میاناهای برنامه‌سازی کاربردی پویانمایی بدون وضعیت سطح پایین معرفی شد. این میاناهای برنامه‌سازی کاربردی (I63bf7)
  • ترکیب‌بندی Recompose دیگر یک انتزاع مفید نیست. بیشتر بازآرایی‌ها باید درنتیجه تخصیص‌های MutableState انجام شود. برای هر چیزی فراتر از آن، توصیه می‌شود از تابع invalidate برای راه‌اندازی یک ترکیب مجدد از محدوده فعلی استفاده کنید. (Ifc992)
  • استفاده از کلاس Px در کلاس‌های مختلف compose به‌عنوان بخشی از تلاش بزرگ بازسازی برای تکیه کردن فقط بر Dp و انواع اولیه برای پارامترهای پیکسل جایگزین شد. کلاس Px به‌طور کامل حذف شد (I3ff33)
  • جایگزین کردن استفاده از کلاس Px در کلاس‌های مختلف ترکیب به‌عنوان بخشی از تلاش بزرگ بازسازی برای تکیه کردن فقط بر Dp و انواع اولیه برای پارامترهای پیکسل (Id3434)
  • اکنون محو شدن متقاطع می‌تواند با مقدار تهی به‌عنوان مقدار اولیه کار کند (Iad6a4، b/155947711)
  • جایگزین کردن استفاده از کلاس Px در کلاس‌های مختلف ترکیب به‌عنوان بخشی از تلاش بزرگ بازسازی برای تکیه کردن فقط بر Dp و انواع ابتدایی برای پارامترهای پیکسل (I19d02)
  • پیاده‌سازی‌های CanvasScope ادغام شد بنابراین اکنون فقط DrawScope و ContentDrawScope وجود دارد نام CanvasScope به DrawScope تغییر کرد. ‫DrawScope به‌روزرسانی شد تا واسط Density را پیاده‌سازی کند و LayoutDirection را ارائه دهد زیرکلاس DrawScope در ContentDrawScope حذف شد ‫Painter و PainterModifier به‌روزرسانی شده‌اند تا دیگر خودشان ویژگی RTL را حفظ نکنند زیرا DrawScope این ویژگی را ازقبل بدون ارائه دستی آن ارائه می‌دهد (I1798e)
  • میاناهای برنامه‌سازی کاربردی سطح بالاتر ترکیب به‌روزرسانی‌شده که «بوم نقاشی» را آشکار می‌کند به‌جای آن «محدوده بوم نقاشی» را آشکار می‌کند. این کار نیاز مصرف‌کنندگان به نگهداری اشیاء Paint خود را برطرف می‌کند. مصرف‌کنندگانی که هنوز به Canvas نیاز دارند می‌توانند از روش افزونه drawCanvas استفاده کنند که برای صدور فرمان‌های طراحی با Canvas زیرین بازخوانی ارائه می‌دهد. (I80afd)
  • پارامترهای verticalGravity و horizontalGravity را به ترتیب به «ردیف» و «ستون» اضافه کرد. (I7dc5a)
  • نام واحد ui-text به ui-text-core تغییر کرد (I57dec)
  • بهبود دادن DrawModifier API:
    • محدوده گیرنده را برای draw() به ContentDrawScope تغییر داد
    • همه پارامترهای draw() برداشته شد
    • ‫DrawScope همان رابط کاربری CanvasScope سابق را دارد
    • ‫ContentDrawScope روش drawContent() دارد (Ibaced، b/152919067)
  • ‫runOnIdleCompose و runOnUiThread اکنون کارکردهای سراسری هستند به‌جای روش‌هایی در ComposeTestRule. (Icbe8f)
  • عملگرهای نماینده دارایی [Mutable]State به افزونه‌ها منتقل شدند تا از بهینه‌سازی‌های نماینده دارایی Kotlin 1.4 پشتیبانی کنند. برای ادامه استفاده از by state { ... } یا by mutableStateOf(...)، تماس‌گیرندگان باید وارد کردن‌ها را اضافه کنند. ‫(I5312c)
  • ‫ColoredRect منسوخ شده است. درعوض از Box(Modifier.preferredSize(width, height).drawBackground(color)) استفاده کنید. (I499fa، b/152753731)
  • جایگزین کردن «اصلاح‌گر به‌علاوه اپراتور» با توابع افزونه کارخانه (I225e4)
  • ترکیب‌بندی Center منسوخ شده است. باید با اصلاح‌گر LayoutSize.Fill + LayoutAlign.Center یا با یکی از تابع‌های ترکیب‌پذیر Box یا Stack با اصلاح‌گرهای مناسب اعمال‌شده جایگزین شود (Idf5e0)
  • نام LayoutFlexible به LayoutWeight تغییر کرد. نام پارامتر «محکم» به «پر کردن» تغییر کرد. (If4738)
  • تابع ترکیب‌پذیر «ماتی» با اصلاح‌گر drawOpacity جایگزین شده است. (I5fb62)
  • آزمایش‌های استفاده‌کننده از AndroidComposeTestRule اکنون ساعت پویانمایی را در ریشه ترکیب ارائه می‌دهد که به آن امکان می‌دهد به‌صورت دستی متوقف، ازسر گرفته، و پیش برود. (Id54c5)
  • پشتیبانی از جهت راست‌به‌چپ در اصلاح‌گر LayoutPadding (I9e8da)
  • ‫Density و DensityScope در یک میانای واحد ادغام شدند. اکنون به‌جای ambientDensity() می‌توانید از DensityAmbient.current استفاده کنید. به‌جای withDensity(density) فقط with(density) (I11cb1)
  • روش‌های کپی به انواع مختلف کلاس درون‌خطی ازجمله موارد زیر اضافه شد:
    • آفست
    • اندازه
    • شعاع
    • حرکت
    • TransformOrigin
    • روش شیء همراه Size.copy منسوخ شده است به‌نفع روش کپی نمونه (Ife290، b/159905651)
  • ‫androidx.compose.ViewComposer به androidx.ui.node.UiComposer منتقل شده است ‫androidx.compose.Emittable برداشته شده است. با ComponentNode اضافی بود. androidx.compose.ViewAdapters برداشته شده است. دیگر مورد استفاده پشتیبانی‌شده‌ای نیست. ‫Compose.composeInto منسوخ شده است. درعوض از setContent یا setViewContent استفاده کنید. ‫Compose.disposeComposition منسوخ شده است. به‌جای آن از روش dispose در Composition برگشتی از setContent استفاده کنید. androidx.compose.Compose.subcomposeInto به androidx.ui.core.subcomposeInto منتقل شده است نام ComponentNode#emitInsertAt به ComponentNode#insertAt تغییر کرده است نام ComponentNode#emitRemoveAt به ComponentNode#removeAt تغییر کرده است نام ComponentNode#emitMode به ComponentNode#move تغییر کرده است (Idef00)