نوشتن مطلب
androidx.compose.material
androidx.compose.material.icons
(برای همه بستههای Compose، اسناد مرجع میانای برنامهسازی کاربردی را ببینید)
| جدیدترین بهروزرسانی | نسخه پایدار | نامزد انتشار | انتشار نسخه بتا | نسخه آلفا |
|---|---|---|---|---|
| ۷ اکتبر ۲۰۲۶ | ۱.۱۲.۱ | - | 1.13.0-beta01 | - |
ساختار
«ترکیب» ترکیبی از ۷ «شناسه گروه 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.material:material:1.12.1" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
کاتلین
dependencies { implementation("androidx.compose.material:material:1.12.1") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
برای اطلاعات بیشتر درباره وابستگیها، افزودن وابستگیهای ساخت را ببینید.
بازخورد
بازخوردتان به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی پیدا کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبلاز ایجاد کتابخانه جدید، مشکلات موجود در این کتابخانه را بررسی کنید. با کلیک کردن روی دکمه ستاره میتوانید رأی خود را به یک مشکل موجود اضافه کنید.
برای کسب اطلاعات بیشتر، به مستندات «پیگیری مسائل» مراجعه کنید.
نسخه ۱.۱۳
نسخه 1.13.0-beta01
۷ اکتبر ۲۰۲۶
androidx.compose.material:material-*:1.13.0-beta01 منتشر شد. نسخه 1.13.0-beta01 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- کتابخانهها اکنون Kotlin 2.2 را هدفیابی میکنند و به kotlinc 2.2 نیاز دارند (I82396، b/498369605)
نسخه 1.13.0-alpha03
۹ سپتامبر ۲۰۲۶
androidx.compose.material:material-*:1.13.0-alpha03 منتشر شد. نسخه 1.13.0-alpha03 شامل این تعهدها است.
تغییرات میانای برنامهسازی کاربردی
- فیلدهای نوشتاری «مطلب ۲» که
value, onValueChangeپارامتر را میپذیرند منسوخ شدهاند. لطفاً به سرباری که ازTextFieldStateبرای بالا بردن وضعیتش استفاده میکند انتقال دهید. (I6b841، b/556234973)
رفع اشکالها
-
compileSdkبرای کتابخانههای Compose به نسخه ۳۷.۱ بهروز شد. این کار مستلزم بهروزرسانی انتقالیcompileSdkبرای همه برنامهها و کتابخانههایی است که از Compose استفاده میکنند. (I05b0f) -
SecureTextFieldوOutlinedSecureTextFieldعنصر (و همچنینBasicSecureTextFieldسربار منسوخشده) بهروزرسانی شد تا بهجایTextObfuscationMode.RevealLastTypedازTextObfuscationMode.Systemبهعنوان حالت مبهمسازی پیشفرض استفاده کند. (I76c7e)
نسخه 1.13.0-alpha02
۲۶ اوت ۲۰۲۶
androidx.compose.material:material-*:1.13.0-alpha02 منتشر شد. نسخه 1.13.0-alpha02 شامل این تغییرات است.
نسخه 1.13.0-alpha01
۱۲ اوت ۲۰۲۶
androidx.compose.material:material-*:1.13.0-alpha01 منتشر شد. نسخه 1.13.0-alpha01 شامل این تغییرات است.
تغییرات میانای برنامهسازی کاربردی
-
androidx.benchmarkاکنونminSdkبرابر با ۲۴ دارد. (Ic2a85)
رفع اشکالها
- مقداردهی اولیه بهینهسازیشده سطح فایل برای
materialمشخصههای کلاس مقدار سطح بالا بااستفاده از دریافتکنندههای پویا. (Iae591) - بااستفاده از دریافتکنندههای پویا، مقداردهی اولیه شیء همراه بهینهسازیشده
materialکلاس مقدار (FabPositionوStrings) انجام شد. (I0c7c0) - برداشتن الزام
compileSdk 37(If78b4)
نسخه ۱.۱۲
نسخه ۱.۱۲.۱
۹ سپتامبر ۲۰۲۶
androidx.compose.material:material-*:1.12.1 منتشر شد. نسخه ۱.۱۲.۱ شامل این تعهدات است.
نسخه ۱.۱۲.۰
۱۲ اوت ۲۰۲۶
androidx.compose.material:material-*:1.12.0 منتشر شد. نسخه ۱.۱۲.۰ شامل این تعهدات است.
تغییرات مهم از ۱.۱۱.۰:
نسخه 1.12.0-rc01
۲۹ ژوئیه ۲۰۲۶
androidx.compose.material:material-*:1.12.0-rc01 منتشر شد. نسخه 1.12.0-rc01 شامل این تعهدات است.
نسخه 1.12.0-beta02
۱ ژوئیه ۲۰۲۶
androidx.compose.material:material-*:1.12.0-beta02 منتشر شد. نسخه 1.12.0-beta02 شامل این تعهدها است.
نسخه 1.12.0-beta01
۱۷ ژوئن ۲۰۲۶
androidx.compose.material:material-*:1.12.0-beta01 منتشر شد. نسخه 1.12.0-beta01 شامل این تعهدات است.
نسخه 1.12.0-alpha03
۱۹ مه ۲۰۲۶
androidx.compose.material:material-*:1.12.0-alpha03 منتشر شد. نسخه 1.12.0-alpha03 شامل این تعهدات است.
نسخه 1.12.0-alpha02
۶ مه ۲۰۲۶
androidx.compose.material:material-*:1.12.0-alpha02 منتشر شد. نسخه 1.12.0-alpha02 شامل این تعهدات است.
نسخه 1.12.0-alpha01
۲۲ آوریل ۲۰۲۶
androidx.compose.material:material-*:1.12.0-alpha01 منتشر شد. نسخه 1.12.0-alpha01 شامل این تعهدها است.
تغییرات میانای برنامهسازی کاربردی
VelocityTrackerتغییر کرد تا از پیادهسازی ارائهشده توسط «چارچوب Android» استفاده کند (باAndroidComposeUiFlags.isFrameworkVelocityTrackerEnabledقابل پیکربندی است). (Ibc7e2، b/359962905)
رفع اشکالها
- Compose
compileSdkبه API 37 بهروز شد. این یعنی هنگام استفاده از «نوشتن»، حداقل نسخه AGP باید ۹.۲.۰ باشد. (Id45cd، b/413674743)
نسخه ۱.۱۱
نسخه ۱.۱۱.۴
۱ ژوئیه ۲۰۲۶
androidx.compose.material:material-*:1.11.4 منتشر شد. نسخه ۱.۱۱.۴ شامل این تعهدات است.
نسخه ۱.۱۱.۳
۱۷ ژوئن ۲۰۲۶
androidx.compose.material:material-*:1.11.3 منتشر شد. نسخه ۱.۱۱.۳ شامل این تعهدات است.
نسخه ۱.۱۱.۲
۱۹ مه ۲۰۲۶
androidx.compose.material:material-*:1.11.2 منتشر شد. نسخه ۱.۱۱.۲ شامل این تعهدات است.
نسخه ۱.۱۱.۱
۶ مه ۲۰۲۶
androidx.compose.material:material-*:1.11.1 منتشر شد. نسخه ۱.۱۱.۱ شامل این تعهدات است.
نسخه ۱.۱۱.۰
۲۲ آوریل ۲۰۲۶
androidx.compose.material:material-*:1.11.0 منتشر شد. نسخه ۱.۱۱.۰ شامل این تعهدات است.
نسخه 1.11.0-rc01
۸ آوریل ۲۰۲۶
androidx.compose.material:material-*:1.11.0-rc01 منتشر شد. نسخه 1.11.0-rc01 شامل این تعهدات است.
نسخه 1.11.0-beta02
۲۵ مارس ۲۰۲۶
androidx.compose.material:material-*:1.11.0-beta02 منتشر شد. نسخه 1.11.0-beta02 شامل این تعهدات است.
نسخه 1.11.0-beta01
۱۱ مارس ۲۰۲۶
androidx.compose.material:material-*:1.11.0-beta01 منتشر شد. نسخه 1.11.0-beta01 شامل این تعهدات است.
نسخه 1.11.0-alpha06
۲۵ فوریه ۲۰۲۶
androidx.compose.material:material-*:1.11.0-alpha06 منتشر شد. نسخه 1.11.0-alpha06 شامل این تعهدها است.
نسخه 1.11.0-alpha05
۱۱ فوریه ۲۰۲۶
androidx.compose.material:material-*:1.11.0-alpha05 منتشر شد. نسخه 1.11.0-alpha05 شامل این تعهدات است.
نسخه 1.11.0-alpha04
۲۸ ژانویه ۲۰۲۶
androidx.compose.material:material-*:1.11.0-alpha04 منتشر شد. نسخه 1.11.0-alpha04 شامل این تعهدات است.
نسخه 1.11.0-alpha03
۱۴ ژانویه ۲۰۲۶
androidx.compose.material:material-*:1.11.0-alpha03 منتشر شد. نسخه 1.11.0-alpha03 شامل این تعهدات است.
نسخه 1.11.0-alpha02
۱۷ دسامبر ۲۰۲۵
androidx.compose.material:material-*:1.11.0-alpha02 منتشر شد. نسخه 1.11.0-alpha02 شامل این تعهدات است.
نسخه 1.11.0-alpha01
۳ دسامبر ۲۰۲۵
androidx.compose.material:material-*:1.11.0-alpha01 منتشر شد. نسخه 1.11.0-alpha01 شامل این تعهدات است.
نسخه ۱.۱۰
نسخه ۱.۱۰.۶
۲۵ مارس ۲۰۲۶
androidx.compose.material:material-*:1.10.6 منتشر شد. نسخه 1.10.6 شامل این تعهدات است.
نسخه ۱.۱۰.۵
۱۱ مارس ۲۰۲۶
androidx.compose.material:material-*:1.10.5 منتشر شد. نسخه ۱.۱۰.۵ شامل این تعهدها است.
نسخه ۱.۱۰.۴
۲۵ فوریه ۲۰۲۶
androidx.compose.material:material-*:1.10.4 منتشر شد. نسخه ۱.۱۰.۴ شامل این تعهدات است.
نسخه ۱.۱۰.۳
۱۱ فوریه ۲۰۲۶
androidx.compose.material:material-*:1.10.3 منتشر شد. نسخه ۱.۱۰.۳ حاوی این تعهدات است.
نسخه ۱.۱۰.۲
۲۸ ژانویه ۲۰۲۶
androidx.compose.material:material-*:1.10.2 منتشر شد. نسخه ۱.۱۰.۲ شامل این تعهدات است.
نسخه ۱.۱۰.۱
۱۴ ژانویه ۲۰۲۶
androidx.compose.material:material-*:1.10.1 منتشر شد. نسخه ۱.۱۰.۱ شامل این تعهدات است.
نسخه ۱.۱۰.۰
۳ دسامبر ۲۰۲۵
androidx.compose.material:material-*:1.10.0 منتشر شد. نسخه ۱.۱۰.۰ شامل این تعهدات است.
نسخه 1.10.0-rc01
۱۹ نوامبر ۲۰۲۵
androidx.compose.material:material-*:1.10.0-rc01 منتشر شد. نسخه 1.10.0-rc01 شامل این تعهدات است.
نسخه 1.10.0-beta02
۵ نوامبر ۲۰۲۵
androidx.compose.material:material-*:1.10.0-beta02 منتشر شد. نسخه 1.10.0-beta02 شامل این تعهدات است.
نسخه 1.10.0-beta01
۲۲ اکتبر ۲۰۲۵
androidx.compose.material:material-*:1.10.0-beta01 منتشر شد. نسخه 1.10.0-beta01 شامل این تعهدات است.
نسخه 1.10.0-alpha05
۸ اکتبر ۲۰۲۵
androidx.compose.material:material-*:1.10.0-alpha05 منتشر شد. نسخه 1.10.0-alpha05 شامل این تعهدات است.
نسخه 1.10.0-alpha04
۲۴ سپتامبر ۲۰۲۵
androidx.compose.material:material-*:1.10.0-alpha04 منتشر شد. نسخه 1.10.0-alpha04 شامل این تعهدات است.
نسخه 1.10.0-alpha03
۱۰ سپتامبر ۲۰۲۵
androidx.compose.material:material-*:1.10.0-alpha03 منتشر شد. نسخه 1.10.0-alpha03 شامل این تعهدات است.
نسخه 1.10.0-alpha02
۲۷ اوت ۲۰۲۵
androidx.compose.material:material-*:1.10.0-alpha02 منتشر شد. نسخه 1.10.0-alpha02 شامل این تعهدات است.
نسخه 1.10.0-alpha01
۱۳ اوت ۲۰۲۵
androidx.compose.material:material-*:1.10.0-alpha01 منتشر شد. نسخه 1.10.0-alpha01 شامل این تعهدات است.
رفع اشکالها
- انتقال
minSdkپیشفرض از «میانای برنامهسازی کاربردی» ۲۱ به «میانای برنامهسازی کاربردی» ۲۳. (Ibdfca، b/380448311، b/435705964، b/435705223)
نسخه ۱.۹
نسخه ۱.۹.۵
۱۹ نوامبر ۲۰۲۵
androidx.compose.material:material-*:1.9.5 منتشر شد. نسخه ۱.۹.۵ شامل این تعهدات است.
نسخه ۱.۹.۴
۲۲ اکتبر ۲۰۲۵
androidx.compose.material:material-*:1.9.4 منتشر شد. نسخه 1.9.4 شامل این تعهدات است.
نسخه 1.9.3
۸ اکتبر ۲۰۲۵
androidx.compose.material:material-*:1.9.3 منتشر شد. نسخه ۱.۹.۳ حاوی این تعهدات است.
نسخه ۱.۹.۲
۲۴ سپتامبر ۲۰۲۵
androidx.compose.material:material-*:1.9.2 منتشر شد. نسخه 1.9.2 شامل این تعهدات است.
نسخه ۱.۹.۱
۱۰ سپتامبر ۲۰۲۵
androidx.compose.material:material-*:1.9.1 منتشر شد. نسخه 1.9.1 شامل این تعهدات است.
نسخه ۱.۹.۰
۱۳ اوت ۲۰۲۵
androidx.compose.material:material-*:1.9.0 منتشر شد. نسخه 1.9.0 شامل این تعهدات است.
تغییرات مهم از نسخه ۱.۸.۰
تغییرات رفتار
- بررسیهای Lint که همراه با Compose ارسال میشوند اکنون به حداقل نسخه ۸.۸.۲ از AGP نیاز دارند. اگر نمیتوانید AGP را ارتقا دهید، میتوانید بهجای آن بااستفاده از
android.experimental.lint.version=8.8.2(یا نسخه جدیدتر) در gradle.properties، خود Lint را ارتقا دهید. برای اجرای بررسیهای lint در Compose درون IDE، به Android Studio Ladybug یا نسخههای جدیدتر نیاز است.
تغییرات میانای برنامهسازی کاربردی
- برای مصرف پروژههای منتشرشده با Kotlin 2.0، به KGP 2.0.0 یا جدیدتر نیاز است. (Idb6b5)
- میاناهای برنامهسازی کاربردی چارگوش تزئینی فیلد نوشتار دیگر آزمایشی نیستند. (I7480f)
رفع اشکالها
-
ExposedDropdownMenuبا نسخههای قدیمیتر سازگاری باینری دارد. (I133f7)
نسخه 1.9.0-rc01
۳۰ ژوئیه ۲۰۲۵
androidx.compose.material:material-*:1.9.0-rc01 منتشر شد. نسخه 1.9.0-rc01 شامل این تعهدات است.
نسخه 1.9.0-beta03
۱۶ ژوئیه ۲۰۲۵
androidx.compose.material:material-*:1.9.0-beta03 منتشر شد. نسخه 1.9.0-beta03 شامل این تعهدات است.
نسخه 1.9.0-beta02
۲ ژوئیه ۲۰۲۵
androidx.compose.material:material-*:1.9.0-beta02 منتشر شد. نسخه 1.9.0-beta02 شامل این تعهدات است.
نسخه 1.9.0-beta01
۱۸ ژوئن ۲۰۲۵
androidx.compose.material:material-*:1.9.0-beta01 منتشر شد. نسخه 1.9.0-beta01 شامل این تعهدات است.
رفع اشکالها
- پیوندهای
Text(AnnotatedString)اکنون بهطور پیشفرض سبک «طراحی مواد» دارند. (I0e8ed، b/339843816)
نسخه 1.9.0-alpha04
۴ ژوئن ۲۰۲۵
androidx.compose.material:material-*:1.9.0-alpha04 منتشر شد. نسخه 1.9.0-alpha04 شامل این تعهدها است.
نسخه 1.9.0-alpha03
۲۰ مه ۲۰۲۵
androidx.compose.material:material-*:1.9.0-alpha03 منتشر شد. نسخه 1.9.0-alpha03 شامل این تعهدات است.
نسخه 1.9.0-alpha02
۷ مه ۲۰۲۵
androidx.compose.material:material-*:1.9.0-alpha02 منتشر شد. نسخه 1.9.0-alpha02 شامل این تعهدات است.
نسخه 1.9.0-alpha01
۲۳ آوریل ۲۰۲۵
androidx.compose.material:material-*: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 یا نسخههای جدیدتر نیاز است.
تغییرات میانای برنامهسازی کاربردی
- برای مصرف پروژههای منتشرشده با Kotlin 2.0، به KGP 2.0.0 یا جدیدتر نیاز است. (Idb6b5)
- میاناهای برنامهسازی کاربردی چارگوش تزئین فیلد نوشتاری دیگر آزمایشی نیستند (I7480f، b/269651160)
runWithTimingDisabledرا بهنفعrunWithMeasurementDisabledمنسوخ کنید، که رفتار را واضحتر توصیف میکند - همه سنجهها موقتاً متوقف میشوند. علاوهبراین، ابرکلاسMicrobenchmarkScopeرا نمایان کنید زیرا بازاعلان کردن تابعrunWithMeasurementDisabledبرای باز کردن دسترسی امکانپذیر نیست، چون درونخطی است. (I9e23b، b/389149423، b/149979716)
رفع اشکالها
-
ExposedDropdownMenuبا نسخههای قدیمیتر سازگاری باینری دارد. (I133f7) - خرابی در نشانگرهای پیشرفت و بار کردن درصورتیکه
Float.NaNبهعنوان پیشرفت ارسال شود برطرف شد. (I4fa96, b/352364576)
نسخه ۱.۸
نسخه ۱.۸.۳
۱۸ ژوئن ۲۰۲۵
androidx.compose.material:material-*:1.8.3 منتشر شد. نسخه ۱.۸.۳ شامل این تعهدات است.
نسخه ۱.۸.۲
۲۰ مه ۲۰۲۵
androidx.compose.material:material-*:1.8.2 منتشر شد. نسخه ۱.۸.۲ شامل این تعهدات است.
نسخه ۱.۸.۱
۷ مه ۲۰۲۵
androidx.compose.material:material-*:1.8.1 منتشر شد. نسخه ۱.۸.۱ شامل این تعهدات است.
نسخه ۱.۸.۰
۲۳ آوریل ۲۰۲۵
androidx.compose.material:material-*:1.8.0 منتشر شد. نسخه ۱.۸.۰ شامل این تعهدات است.
نسخه 1.8.0-rc03
۹ آوریل ۲۰۲۵
androidx.compose.material:material-*:1.8.0-rc03 منتشر شد. نسخه 1.8.0-rc03 شامل این تعهدها است.
نسخه 1.8.0-rc02
۲۶ مارس ۲۰۲۵
androidx.compose.material:material-*:1.8.0-rc02 منتشر شد. نسخه 1.8.0-rc02 شامل این تعهدات است.
نسخه 1.8.0-rc01
۱۲ مارس ۲۰۲۵
androidx.compose.material:material-*:1.8.0-rc01 منتشر شد. نسخه 1.8.0-rc01 شامل این تعهدات است.
نسخه 1.8.0-beta03
۲۶ فوریه ۲۰۲۵
androidx.compose.material:material-*:1.8.0-beta03 منتشر شد. نسخه 1.8.0-beta03 شامل این تعهدات است.
نسخه 1.8.0-beta02
۱۲ فوریه ۲۰۲۵
androidx.compose.material:material-*:1.8.0-beta02 منتشر شد. نسخه 1.8.0-beta02 شامل این تعهدات است.
نسخه 1.8.0-beta01
۲۹ ژانویه ۲۰۲۵
androidx.compose.material:material-*:1.8.0-beta01 منتشر شد. نسخه 1.8.0-beta01 شامل این تعهدها است.
نسخه 1.8.0-alpha08
۱۵ ژانویه ۲۰۲۵
androidx.compose.material:material-*:1.8.0-alpha08 منتشر شد. نسخه 1.8.0-alpha08 شامل این تعهدات است.
رفع اشکالها
-
displayCutoutرا به گروه حاشیههایی که بهطور پیشفرض در اجزای Material درنظر گرفته میشود اضافه میکند تا از همپوشانی محتوا با برش نمایشگر جلوگیری شود.- این تغییر رفتار بر نحوه عملکرد عناصر آگاه از حاشیه در اطراف برش نمایشگر تأثیر میگذارد. این شامل مقدار پیشفرض پارامتر
WindowInsetsبرای عناصر Material 3 با قابلیت درج، و مقادیرWindowInsetsارائهشده در عنصر میشود. - اشیا را برای «مطلب ۲» و «مطلب ۳» پیشفرض میکند. اگر این تغییر باعث رفتار نامطلوب میشود، پارامتر
WindowInsetsرا بهصورت دستی برای هر عنصر مشخص کنید. (I43ee9، b/362508045)
- این تغییر رفتار بر نحوه عملکرد عناصر آگاه از حاشیه در اطراف برش نمایشگر تأثیر میگذارد. این شامل مقدار پیشفرض پارامتر
- فعالیتی که بهعنوان میزبان برای عنصر ترکیبی تحت آزمایش هنگام استفاده از
ComposeContentTestRule.setContentاستفاده میشود اکنون از زمینهTheme.Material.Light.NoActionBarاستفاده میکند تا از همپوشانیActionBarبا محتوای آزمایش هنگام هدفیابی کیت توسعه نرمافزار ۳۵ جلوگیری شود. برای انصراف دادن از این رفتار، میتوانید وابستگی بهui-test-manifestرا بردارید و ورودی فعالیتی درAndroidManifest.xmlبرنامه آزمایشیتان برایComponentActivityبا موضوع دلخواهتان اضافه کنید. (I7ae1b، b/383368165)
همیاری خارجی
- نمایش
sheetGesturesEnabledدرModalBottomSheetLayout. (I3f032، b/329543529)
نسخه 1.8.0-alpha07
۱۱ دسامبر ۲۰۲۴
androidx.compose.material:material-*:1.8.0-alpha07 منتشر شد. نسخه 1.8.0-alpha07 شامل این تعهدات است.
رفع اشکالها
- اصلاحکنندههای اندازه فیلد نوشتار که گاهی رعایت نمیشدند. (I90d4c، b/356905963)
نسخه 1.8.0-alpha06
۱۳ نوامبر ۲۰۲۴
androidx.compose.material:material-*:1.8.0-alpha06 منتشر شد. نسخه 1.8.0-alpha06 شامل این تعهدات است.
نسخه 1.8.0-alpha05
۳۰ اکتبر ۲۰۲۴
androidx.compose.material:material-*:1.8.0-alpha05 منتشر شد. نسخه 1.8.0-alpha05 شامل این تعهدات است.
رفع اشکالها
- عملکرد Scaffold
contentPaddingرا بهینهسازی کنید تا از ترکیب مجدد محتوای بدنه درصورت تغییرcontentPaddingجلوگیری شود. (I8c8e2، b/373904168) - وقتی کلیدهای کنترل فشار داده میشود، مقدار «لغزنده» ماده را تغییر دهید. (I1c442)
نسخه 1.8.0-alpha04
۱۶ اکتبر ۲۰۲۴
androidx.compose.material:material-*:1.8.0-alpha04 منتشر شد. نسخه 1.8.0-alpha04 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
readOnlyرا ازTextFieldsبردارید تا به نسخه پایه پایدار سنجاق شود. (I3aaba)
رفع اشکالها
- پشتیبانی از موجکها را به عناصر ازهم بازشونده در Android S+، مثل کارتی که با کلیک ازهم باز میشود، اضافه میکند. قبلاً موجک اندازه جدید را پر نمیکرد اما اکنون تا مرزهای جدید گسترش مییابد. (If509a، b/183019123)
نسخه 1.8.0-alpha02
۱۸ سپتامبر ۲۰۲۴
androidx.compose.material:material-*:1.8.0-alpha02 منتشر شد. نسخه 1.8.0-alpha02 شامل این تعهدات است.
نسخه 1.8.0-alpha01
۴ سپتامبر ۲۰۲۴
androidx.compose.material:material-*:1.8.0-alpha01 منتشر شد. نسخه 1.8.0-alpha01 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- سازنده جدید
NavGraphBuilder.bottomSheetبرای ایجاد sheet زیرین با آرگومانهای ایمن اضافه شد ((I28589, I777db, b/351858980)) -
TextFieldوOutlinedTextFieldسربار جدیدی اضافه شد کهTextFieldState(I3b74c) را میگیرد
نسخه ۱.۷
نسخه ۱.۷.۸
۱۲ فوریه ۲۰۲۵
androidx.compose.material:material-*:1.7.8 منتشر شد. نسخه ۱.۷.۸ شامل این تعهدات است.
نسخه ۱.۷.۷
۲۹ ژانویه ۲۰۲۵
androidx.compose.material:material-*:1.7.7 منتشر شد. از نسخه ۱.۷.۶ تغییری نداشته است.
نسخه ۱.۷.۶
۱۱ دسامبر ۲۰۲۴
androidx.compose.material:material-*:1.7.6 منتشر شد. نسخه ۱.۷.۶ شامل این تعهدات است.
نسخه ۱.۷.۵
۳۰ اکتبر ۲۰۲۴
androidx.compose.material:material-*:1.7.5 منتشر شد. نسخه ۱.۷.۵ شامل این تعهدات است.
نسخه ۱.۷.۴
۱۶ اکتبر ۲۰۲۴
androidx.compose.material:material-*:1.7.4 منتشر شد. نسخه ۱.۷.۴ شامل این تعهدات است.
نسخه ۱.۷.۲
۱۸ سپتامبر ۲۰۲۴
androidx.compose.material:material-*:1.7.2 منتشر شد. نسخه ۱.۷.۲ شامل این تعهدات است.
نسخه ۱.۷.۱
۱۰ سپتامبر ۲۰۲۴
- هیچ تغییری در آرتیفکتهای Android ایجاد نشده است.
-desktopمصنوع برداشته شد و-jvmStubsو-linuxx64Stubsمصنوع اضافه شد. هیچکدام از این هدفها برای استفاده درنظر گرفته نشدهاند، بلکه جایگذاریهایی هستند که به تلاشهای Jetbrains Compose کمک میکنند.
نسخه ۱.۷.۰
۴ سپتامبر ۲۰۲۴
androidx.compose.material:material-*:1.7.0 منتشر شد. نسخه ۱.۷.۰ شامل این تعهدات است.
تغییرات مهم از نسخه ۱.۶.۰
- عناصر Material منتقل شدهاند تا از میاناهای برنامهسازی کاربردی جدید موج استفاده کنند و دیگر
RippleThemeرا پُرسمان نمیکنند. - عناصر Material که قبلاً
MutableInteractionSourceرا میپذیرفتند و بهطور پیشفرض رویremember { MutableInteractionSource() }تنظیم میشدند، اکنونMutableInteractionSourceتهیپذیر را میپذیرند و بهطور پیشفرض روی تهی تنظیم میشوند. اگر ازMutableInteractionSourceاستفاده نمیکنید و آن را بالا نمیبرید، باید مقدار null را ارسال کنید. این کار باعث میشود برخیاز عناصر فقط درصورت نیاز نمونهای ایجاد کنند و عملکرد بهبود یابد. همچنین توصیه میشود که تغییرات مشابهی را در عناصر خودتان ایجاد کنید. -
BottomDrawer،ModalBottomSheet،BackdropScaffold، و «برگهپایین استاندارد» به «میانای برنامهسازی کاربردی» پایدار ارتقا یافتهاند.
نسخه 1.7.0-rc01
۲۱ اوت ۲۰۲۴
androidx.compose.material:material-*:1.7.0-rc01 منتشر شد. نسخه 1.7.0-rc01 شامل این تعهدات است.
نسخه 1.7.0-beta07
۷ اوت ۲۰۲۴
androidx.compose.material:material-*:1.7.0-beta07 منتشر شد. نسخه 1.7.0-beta07 شامل این تعهدات است.
نسخه 1.7.0-beta06
۲۴ ژوئیه ۲۰۲۴
androidx.compose.material:material-*:1.7.0-beta06 منتشر شد. نسخه 1.7.0-beta06 شامل این تعهدات است.
نسخه 1.7.0-beta05
۱۰ ژوئیه ۲۰۲۴
androidx.compose.material:material-*:1.7.0-beta05 منتشر شد. نسخه 1.7.0-beta05 شامل این تعهدات است.
نسخه 1.7.0-beta04
۲۶ ژوئن ۲۰۲۴
androidx.compose.material:material-*:1.7.0-beta04 منتشر شد. نسخه 1.7.0-beta04 حاوی این تعهدات است.
نسخه 1.7.0-beta03
۱۲ ژوئن ۲۰۲۴
androidx.compose.material:material-*:1.7.0-beta03 منتشر شد. نسخه 1.7.0-beta03 شامل این تعهدات است.
نسخه 1.7.0-beta02
۲۹ مه ۲۰۲۴
androidx.compose.material:material-*:1.7.0-beta02 منتشر شد. نسخه 1.7.0-beta02 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- بهروزرسانی میانای برنامهسازی کاربردی برای سبکدهی پیوندها:
TextLinkStylesبهTextStyleمنتقل شد وTextDefaultsاز عنصر (I5477b) برداشته شد
نسخه 1.7.0-beta01
۱۴ مه ۲۰۲۴
androidx.compose.material:material-*:1.7.0-beta01 منتشر شد. نسخه 1.7.0-beta01 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- «میانای برنامهسازی کاربردی» برای دریافت پیوندهای زمینهای «طراحی مواد» در «نوشتار» بهروز شد. بهطور خاص، روشهای ساخت
LinkAnnotationsبا موضوع و تجزیه HTML با پیوندهای موضوعی را ازTextDefaultsبرداشتیم. درعوض، کلاسTextLinkStylesاضافه شد که امکان میدهد پیوندها بهعنوان پارامتر به «ترکیببندی نوشتار» سبکدهی شوند. (I31b93)
نسخه 1.7.0-alpha08
۱ مه ۲۰۲۴
androidx.compose.material:material-*:1.7.0-alpha08 منتشر شد. نسخه 1.7.0-alpha08 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
backgroundColorرا اصلاح کنید تا رویTextFieldDecorationBoxوOutlinedTextFieldDecorationBoxاعمال شود. جعبههای تزئینی اکنون پارامترshapeرا میپذیرند. (I371c2، b/307694651) -
RippleConfiguration#isEnabledبرداشته شده است وLocalRippleConfigurationقابلیت تهیپذیر شدن پیدا کرده است. برای غیرفعال کردن موج، بهجای ارائهRippleConfigurationباisEnabled = false،nullتاLocalRippleConfigurationرا ارائه دهید. (I22725) - پیوندهای نوشتاری علاوهبر سبکبندی معمولی، سبکبندی حالت فشرده، و سبکبندی معلق و متمرکز، گزینه سبکبندی حالت فشرده نیز دارند. هریک از
TextDefaultsروش دارایpressedStyleاستدلال برای پشتیبانی از آن است. (Ic473f, b/139312671)
رفع اشکالها
- فاصله داخلی بالای
OutlinedTextFieldبرای برچسب اکنون اندازه قلم سیستم را درنظر میگیرد. (Idc781)
نسخه 1.7.0-alpha07
۱۷ آوریل ۲۰۲۴
androidx.compose.material:material-*:1.7.0-alpha07 منتشر شد. نسخه 1.7.0-alpha07 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- پیوندهای نوشتاری علاوهبر سبکبندی عادی، سبکبندی حالت معلق و متمرکز، گزینه سبکبندی حالت فشرده را نیز دریافت کردند. (I5f864, b/139312671)
- شیء
TextDefaultsاضافه شد که حاوی روشهایی برای ساختنLinkAnnotationو تجزیه رشته برچسبگذاریشده HTML است کهMaterialThemeرا به پیوندها اعمال میکند. (I98532، b/139312671)
نسخه 1.7.0-alpha06
۳ آوریل ۲۰۲۴
androidx.compose.material:material-*:1.7.0-alpha06 منتشر شد. نسخه 1.7.0-alpha06 شامل این تعهدها است.
اعلامیه
-
androidx.compose.materialدیگر نیازی به استفاده از نسخه یکسان همه آرتیفکتها در این گروه maven ندارد. کاربران میتوانند نسخههای کتابخانههای پایه Compose (Ie5fba) را ترکیب کنند
تغییرات میانای برنامهسازی کاربردی
- پیشفرضهای
ModalDrawerوBottomDrawerبیشتری به شیءDrawerDefaultsمنتقل شد. (Ib5b2e)
نسخه 1.7.0-alpha05
۲۰ مارس ۲۰۲۴
androidx.compose.material:material-*:1.7.0-alpha05 منتشر شد. نسخه 1.7.0-alpha05 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- پرچم
ScaffoldSubcomposeInMeasureFixبرداشته شده است. (I67363)
نسخه 1.7.0-alpha04
۶ مارس ۲۰۲۴
androidx.compose.material:material-*:1.7.0-alpha04 منتشر شد. نسخه 1.7.0-alpha04 شامل این تعهدها است.
ویژگیهای جدید
- دارواره
androidx.compose.material:material-navigationجدیدی اضافه شد که هنگام استفاده از Navigation Compose، از برگههای پایین بهعنوان مقصد پشتیبانی میکند. این جایگزین کتابخانه مواد پیمایش همراه میشود. (d65d57، b/180247978)
نسخه 1.7.0-alpha03
۲۱ فوریه ۲۰۲۴
androidx.compose.material:material-*:1.7.0-alpha03 منتشر شد. نسخه 1.7.0-alpha03 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
BottomDrawerاز آزمایشی به پایدار ارتقا یافته است. BottomDrawerStateاکنون پیشرفت را بهعنوان یک تابع آشکار میکند و امکان میدهد پیشرفت بین هدفهای مشخص را پُرسمان کنید. BottomDrawerStateاکنون اجازه میدهد مشخصات پویانمایی سفارشیسازی شود وconfirmStateChangeدیگر لامبدای دنبالهدار نیست. (I9c029، b/261423850) -
BackdropScaffoldاز آزمایشی به پایدار ارتقا یافته است. مشخصات پویانمایی اکنون براساس دستورالعملها، مشخصاتtweenاست. پارامترsnackbarHostازBackdropScaffoldدیگر آخرین پارامتر نیست تا با لامبداهای دنبالهدار اشتباه نشود. BackdropScaffoldStateیک میانای برنامهسازی کاربردیprogress(from, to)برای پُرسمان پیشرفت بین لنگرها ارائه میدهد. (I73f48, b/261423218) - برگههای پایین استاندارد از آزمایشی به پایدار ارتقا یافتهاند. سازندههای منسوخ برداشته شده است. مشخصات پویانمایی اکنون مطابق با دستورالعملها، مشخصات میانیابی است. (I3c1a8, b/278692145, b/261409034)
- برگههای پایینکشویی مشروط از حالت آزمایشی به حالت پایدار ارتقا یافتهاند. سازندههای منسوخ برداشته شده است. مشخصات پویانمایی اکنون براساس دستورالعملها، مشخصات
tweenاست. (Ic53f4، b/278692145، b/266780235، b/261409034)
رفع اشکالها
- مشکلی برطرف شد که در آن
BackdropScaffoldدر سناریوهای خاصی در ترکیب باLookaheadScopeممکن بود ازکار بیفتد. (I51396) - برای بهبود عملکرد، زیرترکیب داخل
BottomSheetScaffoldبرداشته شد. رفع مشکلی که باعث میشدBottomSheetScaffoldدر سناریوهای خاصی در ترکیب باLookaheadScopeازکار بیفتد. (I2f90c) - زیرترکیب داخل
ModalBottomSheetLayoutبرداشته شد و عملکرد بهبود یافت. (I7a025)
نسخه 1.7.0-alpha02
۷ فوریه ۲۰۲۴
androidx.compose.material:material-*:1.7.0-alpha02 منتشر شد. نسخه 1.7.0-alpha02 شامل این تعهدات است.
نسخه 1.7.0-alpha01
۲۴ ژانویه ۲۰۲۴
androidx.compose.material:material-*:1.7.0-alpha01 منتشر شد. نسخه 1.7.0-alpha01 شامل این تعهدات است.
تغییرات رفتار
- عناصر Material منتقل شدهاند تا از میاناهای برنامهسازی کاربردی جدید موج استفاده کنند و دیگر
RippleThemeرا پُرسمان نمیکنند.
تغییرات میانای برنامهسازی کاربردی
rememberRippleوRippleThemeاز material-ripple منسوخ شدهاند و میاناهای برنامه کاربردی جدید ripple وRippleConfigurationبه material و دیگر کتابخانههای سیستم طراحی اضافه شدهاند.عناصر Material که قبلاً
MutableInteractionSourceرا میپذیرفتند و بهطور پیشفرض{ MutableInteractionSource() }را بهخاطر میسپردند، اکنونMutableInteractionSourceقابلتهی را میپذیرند و بهطور پیشفرض بهجای آن تهی را میپذیرند. اگر ازMutableInteractionSourceاستفاده نمیکنید و آن را بالا نمیبرید، باید مقدار null را ارسال کنید. این کار باعث میشود برخیاز عناصر فقط درصورت نیاز نمونهای ایجاد کنند و عملکرد بهبود یابد. همچنین توصیه میشود که تغییرات مشابهی را در عناصر خودتان ایجاد کنید.
نسخه ۱.۶
نسخه ۱.۶.۸
۱۲ ژوئن ۲۰۲۴
androidx.compose.material:material-*:1.6.8 منتشر شد. نسخه ۱.۶.۸ شامل این تعهدها است.
نسخه ۱.۶.۷
۱ مه ۲۰۲۴
androidx.compose.material:material-*:1.6.7 منتشر شد. نسخه ۱.۶.۷ شامل این تعهدات است.
نسخه ۱.۶.۶
۱۷ آوریل ۲۰۲۴
androidx.compose.material:material-*:1.6.6 منتشر شد. از زمان آخرین نسخه تغییری ایجاد نشده است.
نسخه ۱.۶.۵
۳ آوریل ۲۰۲۴
androidx.compose.material:material-*:1.6.5 منتشر شد. نسخه ۱.۶.۵ شامل این تعهدات است.
نسخه ۱.۶.۴
۲۰ مارس ۲۰۲۴
androidx.compose.material:material-*:1.6.4 منتشر شد. نسخه ۱.۶.۴ شامل این تعهدات است.
نسخه ۱.۶.۳
۶ مارس ۲۰۲۴
androidx.compose.material:material-*:1.6.3 منتشر شد. نسخه ۱.۶.۳ شامل این تعهدات است.
رفع اشکالها
- برای اینکه
ExposedDropdownMenuدوباره کانونی شود، پسرفت را برطرف کنید. (c0e0ed، b/323694447)
نسخه ۱.۶.۲
۲۱ فوریه ۲۰۲۴
androidx.compose.material:material-*:1.6.2 منتشر شد. نسخه ۱.۶.۲ شامل این تعهدات است.
نسخه ۱.۶.۱
۷ فوریه ۲۰۲۴
androidx.compose.material:material-*:1.6.1 منتشر شد. نسخه ۱.۶.۱ حاوی این تعهدات است.
نسخه ۱.۶.۰
۲۴ ژانویه ۲۰۲۴
androidx.compose.material:material-*:1.6.0 منتشر شد. نسخه ۱.۶.۰ حاوی این تعهدات است.
نسخه 1.6.0-rc01
۱۰ ژانویه ۲۰۲۴
androidx.compose.material:material-*:1.6.0-rc01 منتشر شد. نسخه 1.6.0-rc01 حاوی این تعهدات است.
نسخه 1.6.0-beta03
۱۳ دسامبر ۲۰۲۳
androidx.compose.material:material-*:1.6.0-beta03 منتشر شد. نسخه 1.6.0-beta03 حاوی این تعهدات است.
نسخه 1.6.0-beta02
۲۹ نوامبر ۲۰۲۳
androidx.compose.material:material-*:1.6.0-beta02 منتشر شد. نسخه 1.6.0-beta02 حاوی این تعهدها است.
نسخه 1.6.0-beta01
۱۵ نوامبر ۲۰۲۳
androidx.compose.material:material-*:1.6.0-beta01 منتشر شد. نسخه 1.6.0-beta01 حاوی این تعهدات است.
نسخه 1.6.0-alpha08
۱۸ اکتبر ۲۰۲۳
androidx.compose.material:material-*:1.6.0-alpha08 منتشر شد. نسخه 1.6.0-alpha08 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- تابع
materialIconرا بهنفع سربار آن که پارامترautoMirrorمیگیرد منسوخ کنید. (Ia338d)
رفع اشکال - افزایش خودکار ارتفاع عنصر پیمایش برای محتوای بزرگ. (0c4ecc، b/272336962)
نسخه 1.6.0-alpha07
۴ اکتبر ۲۰۲۳
androidx.compose.material:material-*:1.6.0-alpha07 منتشر شد. نسخه 1.6.0-alpha07 شامل این تعهدات است.
- بهروزرسانیهای وابستگی
نسخه 1.6.0-alpha06
۲۰ سپتامبر ۲۰۲۳
androidx.compose.material:material-*:1.6.0-alpha06 منتشر شد. نسخه 1.6.0-alpha06 شامل این تعهدات است.
تغییر رفتار مخرب
- عملکرد مربوط به کشو از
BottomSheetScaffoldبرداشته شد.BottomSheetScaffoldرا در یک عنصر چیدمانی «کشویی» بپیچید تا به عملکرد قبلی دست یابید. برای مثال، بهBottomSheetScaffoldWithDrawerSampleمراجعه کنید. (I1dcc8)
تغییرات میانای برنامهسازی کاربردی
- پرچم موقتی برای کنترل اینکه آیا Scaffold باید فرزندانش را درطول اندازهگیری یا درطول جایگذاری اندازهگیری کند معرفی شد. بهطور پیشفرض، این مورد با واحد اندازهگیری اندازهگیری خواهد شد. اگر با عملکرد جدید مشکل دارید، لطفاً مشکل را ثبت کنید. (If6e3b)
نسخه 1.6.0-alpha05
۶ سپتامبر ۲۰۲۳
androidx.compose.material:material-*:1.6.0-alpha05 منتشر شد. نسخه 1.6.0-alpha05 حاوی این تعهدات است.
ویژگیهای جدید
- پشتیبانی از نمادهای آینهای خودکار هنگام پردازش در چیدمانهای راستبهچپ اضافه شد. نمادهای موجود در ماژولهای material-icons-core و material-icons-extended اکنون مجموعههای نماد اضافی برای پشتیبانی از قرینهسازی خودکار ارائه میدهند، البته درصورتیکه نماد اجازه دهد. مجموعههای جدید با
Icons.AutoMirrored.Filled...و غیره پیشوندگذاری میشوند و دارای نمادهایی هستند که در چیدمانهای راستبهچپ بهطور خودکار قرینه میشوند. برای فهرست نمادهایی که میتوانند (و باید) بهطور خودکار قرینه شوند، فهرست نمادهای Material را ببینید.
تغییرات میانای برنامهسازی کاربردی
- پشتیبانی از نمادهای آینهای خودکار هنگام پردازش در چیدمانهای راستبهچپ اضافه شد. نمادهای موجود در ماژولهای material-icons-core و material-icons-extended اکنون مجموعههای نماد اضافی برای پشتیبانی از قرینهسازی خودکار ارائه میدهند، البته درصورتیکه نماد اجازه دهد. مجموعههای جدید با
Icons.AutoMirrored.Filled...و غیره پیشوندگذاری میشوند و دارای نمادهایی هستند که در چیدمانهای راستبهچپ بهطور خودکار قرینه میشوند. برای فهرست نمادهایی که میتوانند (و باید) بهطور خودکار قرینه شوند، فهرست نمادهای Material را ببینید. ویژگیهای نماد ارائهشده قبلی برای آن نمادها اکنون بهعنوان منسوخ علامتگذاری شده است و پیشنهاد جایگزینی برای کمک به انتقال ارائه میدهد. اگر برای قرینهسازی نمادها در راستبهچپ هیچ مدیریت ویژهای ندارید، توصیه میکنیم به مجموعه نمادهای جدید انتقال دهید. برای مثال،Icons.Filled.ArrowBackباید بهIcons.AutoMirrored.Filled.ArrowBackبازسازی شود. (I4b511)
نسخه 1.6.0-alpha04
۲۳ اوت ۲۰۲۳
androidx.compose.material:material-*:1.6.0-alpha04 منتشر شد. نسخه 1.6.0-alpha04 حاوی این تعهدات است.
رفع اشکالها
- مشکلی برطرف شد که در آن برخیاز عناصر بااستفاده از
Subcomposition(برای نمونهBottomSheetScaffold) در «داربست» درLookaheadScopeتلاش میکردند اندازه خود را خیلی زود بخوانند. (If2c5d) - محاسبه
DropdownMenuدرoffsetاصلاح شد تا جبرانهای x فقط به جهت چیدمان محلی بستگی داشته باشد و جبرانهای y دیگر وقتی منو نزدیک پایین صفحهنمایش است معکوس نشود. (Iccc74، b/294103942) - بخشهای داخلی چیدمان
BottomSheetScaffoldبهینهسازی شد و مشکل احتمالیBottomSheetScaffoldدرLookaheadLayoutرفع شد. (Ic0afa)
نسخه 1.6.0-alpha03
۹ اوت ۲۰۲۳
androidx.compose.material:material-*:1.6.0-alpha03 منتشر شد. نسخه 1.6.0-alpha03 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- اکنون عناصر Material2 میانای برنامهسازی کاربردی جداگانهای برای انتقال
windowInsetsدارند تا از عملکرد لبهبهلبه در Android پشتیبانی کنند. برخلاف عناصر material3، عناصر material2 بهطور پیشفرض از حاشیهها پشتیبانی نمیکنند و مقدار باید بهصورت دستی منتقل شود. برای راهنمایی، به نمونههای مربوطه مراجعه کنید. (I655e8)
نسخه 1.6.0-alpha02
۲۶ ژوئیه ۲۰۲۳
androidx.compose.material:material-*:1.6.0-alpha02 منتشر شد. نسخه 1.6.0-alpha02 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- وابستگی تراکم را به سطح عنصر منتقل میکنیم. این امر برای عناصر زیر اعمال میشود:
SwipeToDismissو عناصر مبتنی بر «کاربرگ». لطفاً در جایی که تراکم پارامتر است از سربار جدید ارائهشده استفاده کنید. (I1846e) - حاشیهنویسیهای اضافی برای مشخص کردن ورودیهای مجاز برای عناصر ترکیبی (I51109)
- فایلهای API بهروزرسانیشده برای حاشیهنویسی سرکوب سازگاری (I8e87a، b/287516207)
- «تراز شروع» جدیدی برای
FabPosition(Ib7aea، b/170592777) اضافه شد -
TextFieldColorsWithIconsدر Material 2 منسوخ شده است وTextFieldColorsجایگزین آن شده است. هنگام ملغی کردنleadingIconColorیاtrailingIconColor، بار اضافی را نیز باinteractionSourceملغی کنید. (Id57ed، b/199377790)
نسخه 1.6.0-alpha01
۲۱ ژوئن ۲۰۲۳
androidx.compose.material:material-*:1.6.0-alpha01 منتشر شد. نسخه 1.6.0-alpha01 حاوی این تعهدات است.
تغییرات رفتار
- اکنون
includeFontPaddingبهطور پیشفرضfalseدر حروفچینی Material 2 است. سبک پیشفرض ارتفاع خط نیز بهTrim.NoneوAlignment.Centerتغییر کرده است وlineHeightصریح (در sp) بهTextStyleهایTypographyاضافه شده است. اگر میخواهید این مقادیر را سفارشیسازی کنید، به اسناد API مراجعه کنید و برای توضیحات دقیق درباره این تغییرات، پست وبلاگ را ببینید. (Icabc3، I3f801، I04c03)
تغییرات میانای برنامهسازی کاربردی
-
SwipeableAPI مربوط به Material منسوخ شده است. لطفاً به میاناهای برنامهسازی کاربردیAnchoredDraggableدر Foundation مراجعه کنید که برای موارد استفاده ساده و پیچیده بهینهسازی شدهاند. (I732e0)
رفع اشکالها
-
BottomSheetState،ModalBottomSheetState، وBottomDrawerStateاکنون دارایی پیشرفتی را آشکار میکنند که پیشرفت بین لنگر فعلی (تسویهشده) و نزدیکترین لنگر در جهت تند کشیدن را نشان میدهد. (I1b317، b/271169225، b/276375124، b/276776071، b/270066861)
نسخه 1.5
نسخه ۱.۵.۴
۱۸ اکتبر ۲۰۲۳
androidx.compose.material:material-*:1.5.4 منتشر شد. نسخه 1.5.4 شامل این تعهدات است.
نسخه ۱.۵.۳
۴ اکتبر ۲۰۲۳
androidx.compose.material:material-*:1.5.3 منتشر شد. این نسخه هیچ تغییری ندارد
نسخه 1.5.2
۲۷ سپتامبر ۲۰۲۳
androidx.compose.material:material-*:1.5.2 منتشر شد. نسخه ۱.۵.۲ شامل این تعهدات است.
نسخه 1.5.1
۶ سپتامبر ۲۰۲۳
androidx.compose.material:material-*:1.5.1 بدون تغییر منتشر شد. نسخه 1.5.1 حاوی این تعهدات است.
نسخه ۱.۵.۰
۹ اوت ۲۰۲۳
androidx.compose.material:material-*:1.5.0 منتشر شد. نسخه ۱.۵.۰ حاوی این تعهدات است.
تغییرات مهم از نسخه ۱.۴.۰
تغییرات میانای برنامهسازی کاربردی
- تغییرات در میاناهای برنامهسازی کاربردی Swipeable1 در
BottomSheetScaffoldادغام شد. نام پارامترconfirmStateChangeدرBottomSheetStateبهconfirmValueChangeتغییر کرده است. progressاکنون بهعنوان مقدار شناور نمایان است. animateToوsnapToداخلی هستند. درعوض ازexpand()وcollapse()استفاده کنید. directionوoverflowبرداشته شدهاند. offsetباrequireOffset()جایگزین شده است. I323b4 - تابع
snapToرا در «کشو» بهعنوان API غیرآزمایشی علامتگذاری کنید. (Ib9c18، b/261425368) - پارامتر رنگ مسیر برای نشانگرهای پیشرفت دایرهای و پارامتر سر خط برای نشانگرهای پیشرفت دایرهای و خطی اضافه شد. (Ie668c، b/216325962، b/222964817)
- نام
ModalBottomSheetState،ModalBottomSheetState.Saver، وrememberModalBottomSheetStateconfirmStateChangeبهconfirmValueChangeتغییر کرد. (Ib48d1) -
Modifier.minimumInteractiveComponentSizeرا اضافه کنید. اگر عنصر کوچکتر باشد، میتوان از آن برای رزرو حداقل ۴۸ پیکسل مستقل از تراکم در اندازه استفاده کرد تا تعاملات لمسی را از ابهام خارج کند. (I33f58، b/258495559) - تغییرات در «میاناهای برنامهسازی کاربردی کشیدنی» در
ModalBottomSheetLayoutاعمال شد. animateTo درModalBottomSheetStateدیگر پارامترanimationSpecرا نمیپذیرد و اکنون جبران افشاشده میتواند تهی باشد. ازrequireOffsetبرای الزامی کردن جبران استفاده کنید. (Ia2e79) - درحال افزودن
@JvmDefaultWithCompatibilityحاشیهنویسی (I8f206) - تغییرات گنجاندهشده در «میاناهای برنامهسازی کاربردی کشیدنی» در
ModalDrawer. DrawerStateدرanimateToبا روشهای باز و بسته جایگزین شده است و اکنون انحراف میتواند تهی باشد. ازrequireOffsetبرای الزامی کردن جبران استفاده کنید. (I3de9e) - «کشوییها» و «کاربرگنگار» بهروزرسانی شدند تا فشارها را بهدرستی بهتأخیر بیندازند تا درصورتیکه اشارهها بتوانند به رویدادهای پیمایش تبدیل شوند.
- پارامتر
minLinesبه «نوشتار» ماده و ماده۳،TextField، وOutlinedTextFieldاضافه شد که امکان تنظیم حداقل ارتفاع عنصر براساس تعداد خطوط را فراهم میکند (I4af1d)
رفع اشکالها
- مشکلی را برطرف میکند که در آن
pullRefreshسرعت را مصرف نمیکرد و باعث میشد پیمایش بیشازحد نشان داده شود. همچنین امضای API لامبدایonReleaseدرModifier.pullRefreshرا تغییر داد تا مقدار «شناور» را برای سرعت مصرفشده برگرداند (I7db65، b/266874741) -
BottomSheetState،ModalBottomSheetState، وBottomDrawerStateاکنون دارایی پیشرفتی را آشکار میکنند که پیشرفت بین لنگر فعلی (تسویهشده) و نزدیکترین لنگر در جهت تند کشیدن را نشان میدهد. (I1b317، b/271169225، b/276375124، b/276776071، b/270066861) - کنش بستن
AlertDialogاصلاح شد تا وقتی کنشها روی هم چیده میشوند تا در پهنای چارگوش جا شوند، در زیر کنش تأیید نشان داده شود. این اصلاح پیادهسازی را با مشخصات Material Design هماهنگ میکند. (I029de، b/235454277) - وقتی
gesturesEnabledروی false تنظیم شود،BottomSheetScaffoldدیگر در پیمایش تودرتو شرکت نخواهد کرد. (I634f3، b/215403277) - اشکالی برطرف شد که در آن
BottomSheetScaffoldهنگام ارائه محتوای خالی برای جایگاهها ازکار میافتاد. (Ib24a5، b/235588730) PullRefreshIndicatorرا که رویدادهای کلیک/اشارهگر را رهگیری میکند برطرف میکند. (2494256, b/271777421)- مشکلی که باعث میشد
ModalBottomSheetLayoutدر یک مورد حاشیهای هنگام تغییر جهت ازکار بیفتد برطرف شد. پویانماییهای چیدمان (برای نمونهModifier.animateContentSize) در/روی محتوای برگ اکنون بهنرمی کار میکند. (I2f981, b/266780234)
نسخه 1.5.0-rc01
۲۶ ژوئیه ۲۰۲۳
androidx.compose.material:material-*:1.5.0-rc01 منتشر شد. نسخه 1.5.0-rc01 شامل این تعهدات است.
نسخه 1.5.0-beta03
۲۸ ژوئن ۲۰۲۳
androidx.compose.material:material-*:1.5.0-beta03 منتشر شد. نسخه 1.5.0-beta03 حاوی این تعهدات است.
رفع اشکالها
-
BottomSheetState،ModalBottomSheetState، وBottomDrawerStateاکنون دارایی پیشرفتی را آشکار میکنند که پیشرفت بین لنگر فعلی (تسویهشده) و نزدیکترین لنگر در جهت تند کشیدن را نشان میدهد. (I1b317، b/271169225، b/276375124، b/276776071، b/270066861)
نسخه 1.5.0-beta02
۷ ژوئن ۲۰۲۳
androidx.compose.material:material-*:1.5.0-beta02 منتشر شد. نسخه 1.5.0-beta02 شامل این تعهدات است.
نسخه 1.5.0-beta01
۲۴ مه ۲۰۲۳
androidx.compose.material:material-*:1.5.0-beta01 منتشر شد. نسخه 1.5.0-beta01 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- آفست
DrawerStateوBottomDrawerStateدیگر نمیتواند تهی باشد. درعوض،Float.NaNرا برمیگردانند تا نشان دهند که افست وجود ندارد. (Ie9855) - گزینهای برای انتقال
ScrollStateهنگام ساختنDropdownMenuیاExposedDropdownMenuبرای کنترل وضعیت پیمایش عمودی گزینههای منو نمایشدادهشده اضافه شد. (Idb009، b/185304441) - پشتیبانی از فعال/غیرفعال کردن اشاره
ModalBottomSheetLayoutاضافه شود تا کاربر بتواند این اشاره را برای برگ زیرین ویژه بیشتری پیکربندی کند (I40af0) - پارامتر رنگی به
BasicTextاضافه شد تا امکان پویانمایی یا تنظیم رنگ نوشتار بهطور کارآمد فراهم شود. (Iffd88، b/246961787) - درحال تغییر نام دارایی «معناشناسی»
isContainerبهisTraversalGroup(I121f6)
رفع اشکالها
- کنش بستن
AlertDialogاصلاح شد تا وقتی کنشها روی هم چیده میشوند تا در پهنای چارگوش جا شوند، در زیر کنش تأیید نشان داده شود. این اصلاح پیادهسازی را با مشخصات Material Design همتراز میکند. (I029de، b/235454277)
نسخه 1.5.0-alpha04
۱۰ مه ۲۰۲۳
androidx.compose.material:material-*:1.5.0-alpha04 منتشر شد. نسخه 1.5.0-alpha04 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- وابستگی تراکم را به سطح عنصر منتقل میکنیم. این تنظیم روی اجزای زیر اعمال میشود:
BottomDrawer،ModalBottomSheetLayout،BottomSheetScaffold،Switch،ModalDrawer. لطفاً در جایی که تراکم پارامتر است از سربار جدید ارائهشده استفاده کنید. (I8fbd8)
نسخه 1.5.0-alpha03
۱۹ آوریل ۲۰۲۳
androidx.compose.material:material-*:1.5.0-alpha03 منتشر شد. نسخه 1.5.0-alpha03 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- بخشهای داخلی
BottomDrawerرا بهروز کنید تا از میاناهای برنامهسازی کاربردی جدیدSwipeableV2استفاده کند. بههمین دلیل،BottomDrawerStateاکنون فقط «میاناهای برنامهسازی کاربردی» تعریفشده در سطح کلاس را خواهد داشت و روشها/داراییها را ازSwipeableStateبه ارث نخواهد برد. ما از ترکیب باSwipeableV2Stateداخلی استفاده میکنیم. آفست اکنون یک ویژگی نقطه شناور تهیپذیر است، مقدار فعلی و مقدار هدف کشیدن همچنان ازطریق ویژگیهای currentValue و targetValue قابلدسترسی است. روشهای سطح کلاس قبلی مانند باز کردن/ازهم بازکردن/بستن و داراییهایی مانندisOpen/isClosedهمچنان پشتیبانی میشوند. (Iad40c, b/178529942, b/220676296)
رفع اشکالها
- بخشهای داخلی مؤلفه «کلید» بهروزرسانی شد. اکنون هنگام کشیدن، کلید نزدیکترین (حالت هدف) را پیشنمایش میکند. (Id90d4)
- محتوای برگ متحرک (برای نمونه،
Modifier.animateContentSizeدر محتوای برگ) درBottomSheetScaffoldبهینهسازی شده است و اکنون روان کار میکند. (Ia913c، b/270518202، b/254446195) - وقتی
gesturesEnabledرویfalseتنظیم شود،BottomSheetScaffoldدیگر در پیمایش تودرتو شرکت نخواهد کرد. (I634f3، b/215403277)
نسخه 1.5.0-alpha02
۵ آوریل ۲۰۲۳
androidx.compose.material:material-*:1.5.0-alpha02 منتشر شد. نسخه 1.5.0-alpha02 شامل این تعهدات است.
رفع اشکالها
- اشکالی برطرف شد که در آن
BottomSheetScaffoldهنگام ارائه محتوای خالی برای جایگاهها ازکار میافتاد. (Ib24a5، b/235588730) - رفع اشکال
PullRefreshIndicatorرهگیری کلیکها / رویدادهای اشارهگر (2494256، b/271777421)
نسخه 1.5.0-alpha01
۲۲ مارس ۲۰۲۳
androidx.compose.material:material-*:1.5.0-alpha01 منتشر شد. نسخه 1.5.0-alpha01 حاوی این تعهدات است.
رفع اشکالها
- نمونه جاریسازی مجدد گروه تراشه را اضافه کنید. فاصله افقی بین تراشههای فرزند در نمونه گروه تراشه تکخطی را بهروز کنید تا با مشخصات مطابقت داشته باشد. (I3b155)
- مشکلی که باعث میشد
ModalBottomSheetLayoutدر یک مورد حاشیهای هنگام تغییر جهت ازکار بیفتد برطرف شد. پویانماییهای چیدمان (برای نمونهModifier.animateContentSize) در/روی محتوای برگ اکنون بهنرمی کار میکند. (I2f981, b/266780234)
نسخه ۱.۴
نسخه ۱.۴.۳
۳ مه ۲۰۲۳
androidx.compose.material:material-*:1.4.3 بدون هیچ تغییری منتشر میشود (فقط نسخه آن افزایش مییابد).
نسخه 1.4.2
۱۹ آوریل ۲۰۲۳
androidx.compose.material:material-*:1.4.2 منتشر شد. نسخه ۱.۴.۲ شامل این تعهدات است.
نسخه ۱.۴.۱
۵ آوریل ۲۰۲۳
androidx.compose.material:material-*:1.4.1 منتشر شد. نسخه 1.4.1 حاوی این تعهدات است.
نسخه ۱.۴.۰
۲۲ مارس ۲۰۲۳
androidx.compose.material:material-*:1.4.0 منتشر شد. نسخه ۱.۴.۰ حاوی این تعهدات است.
تغییرات مهم از نسخه ۱.۳.۰
تغییرات میانای برنامهسازی کاربردی
-
Modifier.minimumInteractiveComponentSizeرا اضافه کنید. اگر عنصر کوچکتر باشد، میتوان از آن برای رزرو حداقل ۴۸ پیکسل مستقل از تراکم در اندازه استفاده کرد تا تعاملات لمسی را از ابهام خارج کند. (I33f58، b/258495559) - تغییرات در «میاناهای برنامهسازی کاربردی کشیدنی» در
ModalDrawerاعمال شد. animateToدرDrawerStateبا روشهای باز و بسته جایگزین شده است و اکنون انحراف میتواند تهی باشد. ازrequireOffsetبرای الزامی کردن جبران استفاده کنید. (I3de9e) - پارامتر
minLinesبه «نوشتار» ماده و ماده۳،TextField، وOutlinedTextFieldاضافه شد که امکان تنظیم حداقل ارتفاع عنصر براساس تعداد خطوط را فراهم میکند (I4af1d) -
minLinesپارامتر بهBasicTextوBasicTextFieldاضافه شد. این تنظیم امکان میدهد حداقل ارتفاع این عناصر ترکیبی براساس تعداد خطوط تنظیم شود (I24294، b/122476634)
نسخه 1.4.0-rc01
۸ مارس ۲۰۲۳
androidx.compose.material:material-*:1.4.0-rc01 بدون تغییر منتشر شد. نسخه 1.4.0-rc01 حاوی این تعهدات است.
نسخه 1.4.0-beta02
۲۲ فوریه ۲۰۲۳
androidx.compose.material:material-*:1.4.0-beta02 منتشر شد. نسخه 1.4.0-beta02 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- تغییرات در «میاناهای برنامهسازی کاربردی کشیدنی» در
BottomSheetScaffoldاعمال شد. نام پارامترconfirmStateChangeدرBottomSheetStateبهconfirmValueChangeتغییر کرده است. progressاکنون بهعنوان مقدار شناور نمایان است. animateToوsnapToداخلی هستند. درعوض ازexpand()وcollapse()استفاده کنید. directionوoverflowبرداشته شدهاند. offsetباrequireOffset()جایگزین شده است. (I323b4)
رفع اشکالها
- نقشهای معنایی از سطوح کلیککردنی و انتخابکردنی برداشته شد، مؤلفههایی که از آنها برای تنظیم نقشها بااستفاده از modifier.semantics استفاده میکردند بهروزرسانی شدند (Ibb4ba)
- بهروزرسانی جزئی نمادهای «طراحی مواد» توسعهیافته که نمادهای
desktop_mac،directions، وkitchenتوپر را اصلاح میکند. (I65f5e)
نسخه 1.4.0-beta01
۸ فوریه ۲۰۲۳
androidx.compose.material:material-*:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- مشکلی را برطرف میکند که در آن
pullRefreshسرعت را مصرف نمیکرد و باعث میشد پیمایش بیشازحد نشان داده شود. همچنین امضای API لامبدایonReleaseدرModifier.pullRefreshرا تغییر داد تا مقدار «شناور» را برای سرعت مصرفشده برگرداند (I7db65، b/266874741) - getter دارایی
LocalMinimuTouchTargetEnforcementرا بازیابی کنید و آن را بهعنوان منسوخ علامتگذاری کنید و بهLocalMinimumInteractiveComponentEnforcementهدایت کنید. (I60dd5)
نسخه 1.4.0-alpha05
۲۵ ژانویه ۲۰۲۳
androidx.compose.material:material-*:1.4.0-alpha05 منتشر شد. نسخه 1.4.0-alpha05 حاوی این تعهدات است.
رفع اشکالها
- رفع مشکلی که در آن وضعیت
ModalBottomSheetLayout's HalfExpandedبهاشتباه محاسبه میشد و صفحه بهنظر شناور میآمد. (I8c615، b/265610459) - اشکالی در
ModalBottomSheetLayoutبرطرف شد که در برخی شرایط باعث میشد وقتی صفحه از حالت پنهان به حالت نمایان میرفت ازکار بیفتد. (Ia9265، b/265444789)
نسخه 1.4.0-alpha04
۱۱ ژانویه ۲۰۲۳
androidx.compose.material:material-*:1.4.0-alpha04 منتشر شد. نسخه 1.4.0-alpha04 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- در
IsContainerخصوصیت معنایی به «سطوح» اضافه شد. این دارایی در تغییر بعدی که ترتیب پیمایش را براساس معنای معنایی عناصر مثل سطوح تعیین میکند استفاده خواهد شد. (I63379) - تابع
snapToرا در «کشو» بهعنوان API غیرآزمایشی علامتگذاری کنید. (Ib9c18، b/261425368) - پارامتر رنگ مسیر برای نشانگرهای پیشرفت دایرهای و پارامتر سر خط برای نشانگرهای پیشرفت دایرهای و خطی اضافه شد. (Ie668c، b/216325962، b/222964817)
- نام
ModalBottomSheetState،ModalBottomSheetState.Saver، وrememberModalBottomSheetStateconfirmStateChangeبهconfirmValueChangeتغییر کرد. (Ib48d1) - قابلیت تهی بودن نوع برگشتی توابع منسوخشده-پنهان بیشتر شد (Ibf7b0)
-
Modifier.minimumInteractiveComponentSizeرا اضافه کنید. اگر عنصر کوچکتر باشد، میتوان از آن برای رزرو حداقل ۴۸ پیکسل مستقل از تراکم در اندازه استفاده کرد تا تعاملات لمسی را از ابهام خارج کند. (I33f58، b/258495559) - تغییرات در «میاناهای برنامهسازی کاربردی کشیدنی» در
ModalBottomSheetLayoutاعمال شد. animateToدرModalBottomSheetStateدیگر پارامترanimationSpecرا نمیپذیرد وoffsetنمایانشده اکنون تهیپذیر است. برای الزامی کردنoffset، ازrequireOffsetاستفاده کنید. (Ia2e79)
رفع اشکالها
- برگ
ModalBottomSheetLayoutاکنون حداکثر عرض ۶۴۰ دیپی دارد. (I71a4f, b/234927577) - مشکلی را برطرف میکند که در آن
rememberPullRefreshStateبهمرور زمانrefreshThresholdوrefreshingOffsetرا بهروزرسانی نمیکرد. (Ifed10، b/263159832) - پیشرفت نشانگرهای پیشرفت اکنون بهدرستی به محدوده موردانتظار خود محدود شده است. (I8a7eb، b/262262727)
- وقتی
ModalBottomSheetStateهنوز هیچ لنگری دریافت نکرده است، درصورت فراخوانیsnapToیاanimateToبهجای اینکه استثنایی ایجاد کند،currentValueرا بدون پویانمایی بهروز میکند. (I2c91b) - وضعیت فعال در پیادهسازی Material 2
FilterChipرا اصلاح کرد. (Id326a، b/261329817) - اشکالی که باعث میشد
ModalBottomSheetLayoutدرصورتHalfExpandedبودن هنگام چرخاندن از حالت عمودی به افقی ازکار بیفتد برطرف شد. لطفاً مطمئن شوید کهinitialValueصحیح را ارسال میکنید، برای مثال با بررسی پیکربندی. (Ie8df7, b/182882364) - مشکلی که باعث میشد اگر محتوای برگ خالی باشد
ModalBottomSheetLayoutازکار بیفتد برطرف شد. ModalBottomSheetLayoutاکنون محتوای برگ خالی را مجاز میکند. اگر محتوای برگ خالی باشد، فقط وضعیت «پنهان» را خواهد داشت. (Ic2288، b/200980998، b/216693030)
مشکل شناختهشده
- هنگام بهروزرسانی از
androidx.compose.foundation:1.4.0-alpha03بهandroidx.compose.foundation:1.4.0-alpha04، ممکن است با خطایjava.lang.NoSuchFieldErrorمواجه شوید. اینجا جایی است که مشکل در ابتدا گزارش شده است. اصلاحی ارسال شده است و در بهروزرسانی بعدی «نوشتن» دردسترس قرار خواهد گرفت. بهعنوان راهکار موقت، کتابخانههایandroidx.compose.materialوandroidx.compose.material3را به جدیدترین نسخه(1.1.0-alpha04) بهروز کنید یاandroidx.compose.foundationرا به نسخه 1.4.0-alpha03 تنزل دهید.
نسخه 1.4.0-alpha03
۷ دسامبر ۲۰۲۲
androidx.compose.material:material-*:1.4.0-alpha03 منتشر شد. نسخه 1.4.0-alpha03 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- درحال افزودن
@JvmDefaultWithCompatibilityحاشیهنویسی (I8f206) - تغییرات در میاناهای برنامهسازی کاربردی
SwipeableدرModalDrawerاعمال شد. animateToDrawerStateبا روشهایopenوcloseجایگزین شده است و اکنون انحراف میتواند تهی باشد. ازrequireOffsetبرای الزامی کردن جبران استفاده کنید. (I3de9e) - «میانای برنامه کاربردی اصلاحکننده» برای پُرسمان کردن اطلاعات پیمایش اجداد اضافه شد. (I2ba9d، b/203141462)
- در
Clickableاستفاده میشود تا تعاملات فشار دادن بهدرستی بهتأخیر بیفتد، زمانی که اشارهها میتوانند به رویدادهای پیمایش تبدیل شوند. -
Clickablesکه هنگام استفاده درScrollable ViewGroup، موجها را بهدرستی بهتأخیر نمیانداخت، رفع شد. - «کشوییها» و «کاربرگنگار» بهروزرسانی شدند تا فشارها را بهدرستی بهتأخیر بیندازند تا درصورتیکه اشارهها بتوانند به رویدادهای پیمایش تبدیل شوند.
رفع اشکالها
- رفع مشکلی که در آن
PullRefreshIndicatorپساز فراخوانیonRefreshممکن بود گیر کند، اگر وضعیت بازآوری به درست تغییر نمیکرد. (Ie2416، b/248274004)
بهروزرسانیهای وابستگی
- اکنون «واسط کاربر Compose» و «مواد Compose» به «چرخه حیات ۲.۵.۱» وابسته هستند. (I05ab0, b/258038814)
نسخه 1.4.0-alpha02
۹ نوامبر ۲۰۲۲
androidx.compose.material:material-*:1.4.0-alpha02 منتشر شد. نسخه 1.4.0-alpha02 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
awaitFirstDownوwaitForUpOrCancellationاکنونPointerEventPassرا برای انعطافپذیری بیشتر میپذیرند. (I7579a, b/212091796) - پارامتر
minLinesبه «نوشتار» ماده و ماده۳،TextField، وOutlinedTextFieldاضافه شد که امکان تنظیم حداقل ارتفاع عنصر براساس تعداد خطوط را فراهم میکند (I4af1d) - پارامتر
minLinesبهBasicTexوBasicTextFieldاضافه شد. این امکان را میدهد که حداقل ارتفاع این عناصر ترکیبی براساس تعداد خطوط تنظیم شود (I24294، b/122476634)
نسخه 1.4.0-alpha01
۲۴ اکتبر ۲۰۲۲
androidx.compose.material:material-*:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- روش جدیدی،
awaitEachGesture()، برای آشکارسازهای اشاره اضافه شد. عملکرد آن مشابهforEachGesture()است، اما حلقه مربوط به اشارهها کاملاً درAwaitPointerEventScopeعمل میکند، بنابراین رویدادها بین تکرارها ازدست نمیروند. -
forEachGesture()بهنفعawaitEachGesture()منسوخ شده است زیرا اجازه میدهد رویدادها بین اشارهها ازدست بروند. (Iffc3f، b/251260206)
نسخه ۱.۳
نسخه ۱.۳.۱
۹ نوامبر ۲۰۲۲
androidx.compose.material:material-*:1.3.1 منتشر شد. نسخه 1.3.1 شامل این تعهدات است.
نسخه ۱.۳.۰
۲۴ اکتبر ۲۰۲۲
androidx.compose.material:material-*:1.3.0 منتشر شد. نسخه ۱.۳.۰ حاوی این تعهدات است.
تغییرات مهم از نسخه ۱.۲.۰
تغییر رفتار مخرب
- حداکثر ارتفاع پشتیبانیشده در کادرهای گفتگو و بالاپرها به ۸dp کاهش یافته است.
تغییرات میانای برنامهسازی کاربردی
- افزودن عنصر «کشیدن برای بازآوری» به Compose (I29168).
- نام پارامتر را از مقادیر به مقدار در «لغزنده محدوده» (I3b79a) تغییر دهید.
نسخه 1.3.0-rc01
۵ اکتبر ۲۰۲۲
androidx.compose.material:material-*:1.3.0-rc01 منتشر شد. نسخه 1.3.0-rc01 حاوی این تعهدات است.
نسخه 1.3.0-beta03
۲۱ سپتامبر ۲۰۲۲
androidx.compose.material:material-*:1.3.0-beta03 منتشر شد. نسخه 1.3.0-beta03 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- افزودن عنصر «کشیدن برای بازآوری» به Compose (I29168)
نسخه 1.3.0-beta02
۷ سپتامبر ۲۰۲۲
androidx.compose.material:material-*:1.3.0-beta02 منتشر شد. نسخه 1.3.0-beta02 شامل این تعهدات است.
از نسخه 1.3.0-beta01 تغییری ایجاد نشده است
نسخه 1.3.0-beta01
۲۴ اوت ۲۰۲۲
androidx.compose.material:material-*:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.
تغییر رفتار مخرب
حداکثر ارتفاع پشتیبانیشده در کادرهای گفتگو و بالاپرها به ۸dp کاهش یافته است.
حداکثر ارتفاع پشتیبانیشده برای کادرهای «نوشتن» و بالاپَرها از ۳۰dp به ۸dp کاهش یافته است. این تغییر هم بر کادرهای گفتگوی سفارشی و هم بر بالاپرهای رابط کاربری تأثیر میگذارد. این تغییر برای کاهش اشکال دسترسپذیری در نسخههای Android پایینتر از S و برای اطمینان از اینکه سرویسهای دسترسپذیری در این پنجرهها میتوانند با محتوای داخل کادر گفتگو یا بالاپر تعامل داشته باشند، انجام شده است.
تنها درصورتی تحت تأثیر این تغییر قرار میگیرید که پیادهسازی سفارشی برای چارگوش گفتگو یا بالاپری با ارتفاعی بالاتر از ۸dp ایجاد کنید. توصیه میکنیم ارتفاع چارگوش گفتگو یا بالاپرتان را کاهش دهید. اگر میخواهید از این رفتار جدید انصراف دهید، درنظر داشته باشید که کادر گفتگو یا بالاپری خودتان را با سطح دسترسی موردنظر ایجاد کنید. این کار توصیه نمیشود، زیرا ممکن است دسترسپذیری تحت تأثیر منفی قرار گیرد و این وظیفه توسعهدهنده است که اطمینان یابد بخش پایین کادر گفتگو یا بالاپَر با سرویسهای دسترسپذیری تعاملپذیر و خوانا باشد.
نسخه 1.3.0-alpha03
۱۰ اوت ۲۰۲۲
androidx.compose.material:material-*:1.3.0-alpha03 منتشر شد. نسخه 1.3.0-alpha03 شامل این تعهدات است.
نسخه 1.3.0-alpha02
۲۷ ژوئیه ۲۰۲۲
androidx.compose.material:material-*:1.3.0-alpha02 منتشر شد. نسخه 1.3.0-alpha02 شامل این تعهدها است.
همیاری خارجی
- برطرف کردن
AnimatedVisibilityمشکل درFloatingActionButtonدر Scaffold (I3a0ae، b/224005027)
نسخه 1.3.0-alpha01
۲۹ ژوئن ۲۰۲۲
androidx.compose.material:material-*:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- نام پارامتر را از مقادیر به مقدار در
RangeSliderتغییر دهید (I3b79a)
رفع اشکالها
- نمونه نشان را بهروز کنید تا شرح محتوای معنادارتری ارائه دهید. (I10b9d)
نسخه ۱.۲
نسخه ۱.۲.۱
۱۰ اوت ۲۰۲۲
androidx.compose.material:material-*:1.2.1 منتشر شد. نسخه ۱.۲.۱ حاوی این تعهدات است.
نسخه ۱.۲.۰
۲۷ ژوئیه ۲۰۲۲
androidx.compose.material:material-*:1.2.0 منتشر شد. نسخه ۱.۲.۰ حاوی این تعهدها است.
نسخه 1.2.0-rc03
۲۹ ژوئن ۲۰۲۲
androidx.compose.material:material-*:1.2.0-rc03 منتشر شد. نسخه 1.2.0-rc03 حاوی این تعهدات است.
- از نسخه 1.2.0-rc02 تغییری نکرده است.
نسخه 1.2.0-rc02
۲۲ ژوئن ۲۰۲۲
androidx.compose.material:material-*:1.2.0-rc02 منتشر شد. نسخه 1.2.0-rc02 حاوی این تعهدات است.
نسخه 1.2.0-rc01
۱۵ ژوئن ۲۰۲۲
androidx.compose.material:material-*:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- میاناهای کتابخانههای Compose اکنون بااستفاده از روشهای میانای پیشفرض jdk8 ساخته میشوند (I5bcf1)
رفع اشکالها
- نشان بهروزرسانی با برگه نماد پیشرو برای چسباندن نشان به برچسب بهجای نماد. (I90993)
نسخه 1.2.0-beta03
۱ ژوئن ۲۰۲۲
androidx.compose.material:material-*:1.2.0-beta03 منتشر شد. نسخه 1.2.0-beta03 حاوی این تعهدات است.
رفع اشکالها
- اشکالی که در آن
BottomSheetScaffoldروی سایه نوار برنامه بالای صفحه نقاشی میکرد برطرف شد. BottomSheetScaffoldاکنون هنگام قرار دادن «نوار تنقلات» وضعیت برگ را نیز درنظر میگیرد: در وضعیت جمعشده، «نوار تنقلات» بالای برگ و «دکمه شناور اقدام» قرار میگیرد؛ در وضعیت ازهم بازشده، «نوار تنقلات» به پایین برگ متصل میشود. (Ia80b5، b/187771422)
نسخه 1.2.0-beta02
۱۸ مه ۲۰۲۲
androidx.compose.material:material-*:1.2.0-beta02 منتشر شد. نسخه 1.2.0-beta02 حاوی این تعهدات است.
نسخه 1.2.0-beta01
۱۱ مه ۲۰۲۲
androidx.compose.material:material-*:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدها است.
ویژگیهای جدید
- این اولین نسخه بتای ۱.۲ است!
تغییرات میانای برنامهسازی کاربردی
- نام
TextFieldDefaults.BorderStrokeعنصر ترکیبی که درOutlinedTextFieldخط حاشیهای رسم میکند بهTextFieldDefaults.BorderBoxتغییر کرد. (I5f295)
نسخه 1.2.0-alpha08
۲۰ آوریل ۲۰۲۲
androidx.compose.material:material-*:1.2.0-alpha08 منتشر شد. نسخه 1.2.0-alpha08 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- مصرف جزئی (پایین یا موقعیت) در
PointerInputChangeمنسوخ شده است. میتوانید ازconsume()برای مصرف کامل تغییر استفاده کنید. میتوانید ازisConsumedبرای تعیین اینکه آیا شخص دیگری قبلاً تغییر را مصرف کرده است یا نه استفاده کنید. -
PointerInputChange::copy()اکنون همیشه کپی سطحی میسازد. یعنی وقتی یکی از نسخههایPointerInputChangeمصرف شود، نسخههای دیگر هم مصرف خواهد شد. اگر میخواهیدPointerInputChangeبدون محدودیت ایجاد کنید، بهجای آن از سازنده استفاده کنید. (Ie6be4، b/225669674)
نسخه 1.2.0-alpha07
۶ آوریل ۲۰۲۲
androidx.compose.material:material-*:1.2.0-alpha07 منتشر شد. نسخه 1.2.0-alpha07 حاوی این تعهدات است.
نسخه 1.2.0-alpha06
۲۳ مارس ۲۰۲۲
androidx.compose.material:material-*:1.2.0-alpha06 منتشر شد. نسخه 1.2.0-alpha06 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- بهروزرسانیهای «میانای برنامهسازی کاربردی کارت» کلیککردنی برای پیروی از تغییرات در «میانای برنامهسازی کاربردی سطح» (I56bcb)
- بهروزرسانیهای «میانای برنامه کاربردی سطح Material 2» که توابع سربار اضافی برای «سطوح» قابلانتخاب و قابلتغییر اضافه میکند. (Ifcca5)
نسخه 1.2.0-alpha05
۹ مارس ۲۰۲۲
androidx.compose.material:material-*:1.2.0-alpha05 منتشر شد. نسخه 1.2.0-alpha05 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
LazyVerticalGridوLazyHorizontalGridاکنون پایدار هستند. (I307c0) -
LazyVerticalGrid/LazyHorizontalGridو همه apiهای مرتبط به زیربسته .grid منتقل شدند. لطفاً وارد کردنهایتان را از androidx.compose.foundation.lazy به androidx.compose.foundation.lazy.grid بهروز کنید. (I2d446, b/219942574) - تغییر قبلی که فقط به «نما» برای
WindowInsetsControllerCompatمتکی بود واگرد شد، و دوباره به «پنجره» نیاز است که برای مدیریت برخی پرچمهای پنجره لازم است. منسوخشدهViewCompat.getWindowInsetsControllerبهنفعWindowCompat.getInsetsControllerبرای اطمینان از اینکه «پنجره» صحیح استفاده میشود (مثلاً اگر «نما» در چارگوش گفتگویی باشد). (I660ae، b/219572936) - نوشتار:
includeFontPaddingاکنون بهطور پیشفرض خاموش است. مشکلات برش ناشی ازincludeFontPadding=falseبرطرف شده است و هیچ برشی برای متنهای بلند رخ نخواهد داد. (I31c84، b/171394808) - میانای برنامهسازی کاربردی
LazyVerticalGridجدیدی برای تعریف اندازههای محور متقاطع اضافه شد (I17723)
نسخه 1.2.0-alpha04
۲۳ فوریه ۲۰۲۲
androidx.compose.material:material-*:1.2.0-alpha04 منتشر شد. نسخه 1.2.0-alpha04 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
Add support for filter chips(I39a6e، b/192585545) -
TextFieldDecorationBoxوOutlinedTextFieldDecorationBoxاضافه شد. استفاده از آنها بههمراهBasicTextFieldبه شما کمک میکند فیلد نوشتار سفارشی را براساس فیلدهای نوشتار «طراحی مواد» بسازید، اما با گزینههای بیشتر برای سفارشیسازی. - روشی برای تنظیم حاشیههای افقی و عمودی در فیلدهای نوشتاری ارائه شد. (I8c9f1، b/203764564، b/191543915، b/189971673، b/183136600، b/179882597، b/168003617)
ComposableTarget،ComposableTargetMarker، وComposableOpenTargetاضافه شد که گزارش زمان ترجمه را برای زمانی که یک تابع ترکیبپذیر با هدف یک اعمالکننده فراخوانده میشود که برای استفاده از آن طراحی نشده است امکانپذیر میکند.در بیشتر موارد، حاشیهنویسیها را میتوان از افزایه کامپایلر compose استنباط کرد، بنابراین استفاده مستقیم از این حاشیهنویسیها باید نادر باشد . مواردی که نمیتوانند استنباط شوند شامل ایجاد و استفاده از اعمالکننده سفارشی، توابع ترکیبی انتزاعی (مثل روشهای واسط)، فیلدها یا متغیرهای سراسری که لامبداهای ترکیبی هستند (متغیرهای محلی و پارامترها استنباط میشوند)، یا هنگام استفاده از
ComposeNodeیا توابع ترکیبی مرتبط است.برای اعمالکنندههای سفارشی، توابع ترکیبی که
ComposeNodeیاReusableComposeNodeرا فراخوانی میکنند باید حاشیهنویسیCompoableTargetرا برای تابع و هر نوع پارامتر لامبدای ترکیبی اضافه کنند. بااینحال، توصیه میشود یک گزارمان ایجاد کنید که باComposableTargetMarkerگزارمانگذاری شده باشد و سپس از گزارمان علامتگذاریشده بهجایComposableTargetمستقیماً استفاده شود. یک گزارمان ترکیبی علامتگذاریشده باComposableTargetMarkerمعادلComposbleTargetبا نام کاملاً واجدشرایط کلاس مشخصه بهعنوان پارامتر اعمالکننده است. برای نمونهای از استفاده ازComposableTargetMarker، بهanroidx.compose.ui.UiComposableمراجعه کنید. (I38f11)
نسخه 1.2.0-alpha03
۹ فوریه ۲۰۲۲
androidx.compose.material:material-*:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 شامل این تعهدات است.
رفع اشکالها
- نمونه گروه تراشه Addes (I97080، b/192585545)
نسخه 1.2.0-alpha02
۲۶ ژانویه ۲۰۲۲
androidx.compose.material:material-*:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
NonRestartableComposableبه روشهایی که سربار هستند از روشهای موجود بدون منطق پیچیده اضافه شد. این کار بررسیهای حافظهسازی تولیدشده توسط گردآورنده (برابری) را برای همه پارامترهایی که در تابع داخلی فراخواندهشده تکرار میشوند کاهش میدهد. (I90490) - افزودن پشتیبانی برای تراشه کنش (I07100، b/192585545)
نسخه 1.2.0-alpha01
۱۲ ژانویه ۲۰۲۲
androidx.compose.material:material-*:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 شامل این تعهدات است.
بهروزرسانیهای وابستگی
- اکنون به Kotlin
1.6.10وابسته است.
همیاری خارجی
-
ModalBottomSheetStateاکنون پرچمisSkipHalfExpandedدارد. این مقدار میتواند ازطریق سازنده تنظیم شود یا بعداً با تنظیم کردن داراییisSkipHalfExpandedدرModalBottomSheetStateرویtrueبهروز شود. بهروزرسانی مقدارisSkipHalfExpandedباعث بازآرایی برگ میشود. (I18b86، b/186669820)
نسخه ۱.۱
نسخه ۱.۱.۱
۲۳ فوریه ۲۰۲۲
androidx.compose.material:material-*: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.material:material-*:1.1.0 منتشر شد. نسخه ۱.۱.۰ حاوی این تعهدات است.
تغییرات مهم از نسخه ۱.۰.۰
- پشتیبانی پایدار از جلوه پیمایش اضافی در Android 12
- بهبودهایی در اندازه هدف لمسی
- توجه داشته باشید که درخصوص «نوشتن ۱.۰»، عناصر Material فضای چیدمان خود را گسترش خواهند داد تا با دستورالعملهای دسترسپذیری Material برای اندازه هدف لمسی مطابقت داشته باشند. برای مثال، هدف لمسی «دکمه» به حداقل اندازه ۴۸×۴۸ پیکسل مستقل از تراکم گسترش خواهد یافت، حتی اگر اندازه «دکمه» را کوچکتر تنظیم کنید. این کار باعث میشود Compose Material با رفتار یکسان «عناصر طراحی سهبعدی» هماهنگ شود و درصورت ترکیب کردن «نماها» و Compose، رفتار یکسانی ارائه دهد. این تغییر همچنین تضمین میکند که وقتی میانای کاربر خود را بااستفاده از عناصر Compose Material ایجاد میکنید، حداقل الزامات دسترسیپذیری هدف لمسی برآورده شود.
- پشتیبانی پایدار از ریل پیمایش
- تعدادی از میاناهای برنامهسازی کاربردی آزمایشی قبلی را به پایدار ارتقا میدهد
- پشتیبانی از نسخههای جدیدتر Kotlin
نسخه 1.1.0-rc03
۲۶ ژانویه ۲۰۲۲
androidx.compose.material:material-*:1.1.0-rc03 منتشر شد. نسخه 1.1.0-rc03 حاوی این تعهدات است.
تغییرات رفتار
توجه داشته باشید که درخصوص «نوشتن ۱.۰»، عناصر Material فضای چیدمان خود را گسترش خواهند داد تا با اندازه دستورالعملهای دسترسپذیری هدف لمسی در Material مطابقت داشته باشند. برای مثال، هدف لمسی «دکمه» به حداقل اندازه ۴۸×۴۸ پیکسل مستقل از تراکم گسترش خواهد یافت، حتی اگر اندازه «دکمه» را کوچکتر تنظیم کنید. این کار باعث میشود Compose Material با رفتار یکسان «عناصر طراحی سهبعدی» هماهنگ شود و درصورت ترکیب کردن «نماها» و Compose، رفتار یکسانی ارائه دهد. این تغییر همچنین تضمین میکند که وقتی میانای کاربر خود را بااستفاده از عناصر Compose Material ایجاد میکنید، حداقل الزامات دسترسیپذیری هدف لمسی برآورده شود.
رفع اشکالها
- وقتی اصلاحکنندههای حداقل هدف لمسی را بازرسی میکنید، اطلاعات اشکالزدایی بهتری برای بازرس چیدمان اضافه شد. (aosp/1955036)
نسخه 1.1.0-rc01
۱۵ دسامبر ۲۰۲۱
androidx.compose.material:material-*:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 حاوی این تعهدات است.
رفع اشکالها
- شعاع گوشه اعمالشده برای
Checkboxرا اصلاح کنید (I38b03، b/175198975، b/202309440)
نسخه 1.1.0-beta04
۱ دسامبر ۲۰۲۱
androidx.compose.material:material-*:1.1.0-beta04 منتشر شد. نسخه 1.1.0-beta04 حاوی این تعهدات است.
ویژگیهای جدید
- بهروزرسانیشده برای سازگاری با Kotlin
1.6.0
نسخه 1.1.0-beta03
۱۷ نوامبر ۲۰۲۱
androidx.compose.material:material-*:1.1.0-beta03 منتشر شد. نسخه 1.1.0-beta03 حاوی این تعهدات است.
نسخه 1.1.0-beta02
۳ نوامبر ۲۰۲۱
androidx.compose.material:material-*:1.1.0-beta02 منتشر شد. نسخه 1.1.0-beta02 شامل این تعهدات است.
رفع اشکالها
- اکنون امواج و نشانگرهای دیگر فقط درصورتی تأخیر خواهند داشت که در داخل یک محتوی Modifier.scrollable() باشند، بهجای اینکه همیشه برای رویداد پایین تأخیر داشته باشند. (Ibefe0، b/203141462)
نسخه 1.1.0-beta01
۲۷ اکتبر ۲۰۲۱
androidx.compose.material:material-*:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 حاوی این تعهدات است.
ویژگیهای جدید
- اکنون «موجها» از وضعیتهای تمرکز و نگه داشتن پشتیبانی میکنند، بنابراین نگه داشتن / تمرکز کردن روی عنصری مثل «دکمه» اکنون رونهاد وضعیت صحیح را نشان میدهد.
نسخه 1.1.0-alpha06
۱۳ اکتبر ۲۰۲۱
androidx.compose.material:material-*:1.1.0-alpha06 منتشر شد. نسخه 1.1.0-alpha06 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- یک سربار بدون فرزند برای «چیدمان» اضافه شد که کارایی را بهبود میبخشد (Ib0d9a)
- پیادهسازی
ExposedDropdownMenuبراساسExposedDropdownMenuBoxباTextFieldوDropdownMenuدر داخل (If60b2) -
dismissOnOutsideClickبهPopupPropertiesاضافه شد و جایگزینdismissOnClickOutsideشد که منسوخ شده بود. دارایی جدید موقعیت کلیک و محدودههای لنگر را دریافت میکند و کنترل دقیقتری بر اینکه آیا onDismissRequest باید فراخوانی شود یا نه ارائه میدهد. برای مثال، این کار میتواند برای جلوگیری از بسته شدن لنگر درصورت لمس لنگر مفید باشد.-
updateAndroidWindowManagerFlagsبهPopupPropertiesاضافه شد و کنترل سطح پایین پرچمهای ارسالشده توسط بالاپَر به Android WindowManager را ارائه میدهد. پارامتر لامبدا پرچمهایی خواهد بود که از مقادیر PopupProperties محاسبه شده و منجر به پرچمهای WindowManager میشود: مثلاً قابل تمرکز. نتیجه لامبدا پرچمهای نهایی خواهد بود که به Android WindowManager منتقل میشود. بهطور پیشفرض، updateAndroidWindowManagerFlags پرچمهای محاسبهشده از پارامترها را بدون تغییر باقی میگذارد. این API باید با احتیاط و فقط در مواردی استفاده شود که بالاپَر دارای الزامات رفتاری بسیار خاصی باشد. (I6e9f9)
-
نسخه 1.1.0-alpha05
۲۹ سپتامبر ۲۰۲۱
androidx.compose.material:material-*:1.1.0-alpha05 منتشر شد. نسخه 1.1.0-alpha05 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- اندازه حداقل هدف لمسی را برای عناصر «طراحی مواد» که هدف لمسی دسترسپذیر ندارند اضافه میکند. ازآنجاییکه این کار فضای اضافی در اطراف عناصر اضافه میکند تا مطمئن شود هدف لمسی آنها بهاندازه کافی بزرگ است، ممکن است رابطهای کاربری موجودی را که اندازه این عناصر را اندازه دیداری آنها درنظر میگیرند و اندازه هدف لمسی را درنظر نمیگیرند تغییر دهد. میتوانید از ترکیب محلی آزمایشی
LocalMinimumTouchTargetEnforcementبرای غیرفعال کردن این رفتار در سراسر سلسلهمراتب استفاده کنید، اما این فقط برای یک راه فرار موقت درحین بهروزرسانی واسطهای کاربر موجود برای درنظر گرفتن اندازه حداقل جدید درنظر گرفته شده است. (I9b966، b/149691127، b/171509422) - میانای آزمایشی TextFieldColorsWithIcons اضافه شد که TextFieldColors را گسترش میدهد تا InteractionSource را به leadingColor و trailingColor ارائه دهد. این کار امکان اصلاح ظاهر «فیلد نوشتاری» را براساس وضعیت تمرکز فعال میکند. (I66923, b/198402662)
نسخه 1.1.0-alpha04
۱۵ سپتامبر ۲۰۲۱
androidx.compose.material:material-*:1.1.0-alpha04 منتشر شد. نسخه 1.1.0-alpha04 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
performGestureوGestureScopeمنسوخ شدند و باperformTouchInputوTouchInjectionScopeجایگزین شدند. (Ia5f3f، b/190493367) -
touchBoundsInRootبهSemanticsNodeاضافه شد که شامل حداقل اندازه هدف لمسی است تا توسعهدهندگان بتوانند مطمئن شوند که هدفهای لمسی حداقلهای دسترسپذیری را برآورده میکنند. (I2e14b, b/197751214)
رفع اشکالها
- اجازه میدهد کلیپ مرزهای هدف لمسی را فراتر از منطقه کلیپ برای اهداف حداقل هدف لمسی گسترش دهد. (I43e10, b/171509422)
Dividerترکیبی بهروز شد تاDp.Hairlineرا برای پارامتر ضخامت بهمنظور پشتیبانی از رسم تقسیمکنندههای تکپیکسلی بدون درنظر گرفتن تراکم نمایشگر رعایت کند. (I16ffb، b/196840810)
نسخه 1.1.0-alpha03
۱ سپتامبر ۲۰۲۱
androidx.compose.material:material-*:1.1.0-alpha03 منتشر شد. نسخه 1.1.0-alpha03 حاوی این تعهدات است.
ویژگیهای جدید
- Compose
1.1.0-alpha03بهروزرسانی شد تا به Kotlin1.5.30وابسته باشد. (I74545)
تغییرات میانای برنامهسازی کاربردی
- روش آزمایشی برای دریافت محدودههای کلیپشده اضافه شد. (I6b28e)
- حداقل اندازه هدف لمسی به ViewConfiguration برای استفاده در معناشناسی و ورودی اشارهگر اضافه شد تا دسترسیپذیری تضمین شود. (Ie861c)
نسخه 1.1.0-alpha02
۱۸ اوت ۲۰۲۱
androidx.compose.material:material-*:1.1.0-alpha02 منتشر شد. نسخه 1.1.0-alpha02 شامل این تعهدها است.
همیاری خارجی
- اصلاح رفتار SwipeableState در مواردی که انحراف تند کشیدن در محدوده خطای گرد کردن لنگر است. (I03d39, b/191993377)
نسخه 1.1.0-alpha01
۴ اوت ۲۰۲۱
androidx.compose.material:material-*:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- روش
DrawScope#drawImageبهروزشده که مستطیلهای منبع و مقصد را مصرف میکند تا پارامتر اختیاری FilterQuality را مصرف کند. این گزینه برای هنر پیکسلی که قرار است هنگام بزرگ شدن برای هنر مبتنی بر پیکسل پیکسلدار شود مفید است. BitmapPainter + Image composable بهروزرسانی شد تا پارامتر اختیاری FilterQuality را نیز مصرف کند (Ie4fb0، b/180311607) - نام BadgeBox به BadgedBox تغییر کرد، پارامترها تغییر کرد تا Badge قابل ترکیب را بپذیرد. عنصر «نشان» اضافه شد که محتوای نشان معمولی برای «جعبه نشاندار» است. (I639c6)
- عنصر NavigationRail اضافه شد، برای اطلاعات استفاده، اسناد و نمونهها را ببینید (I8de77)
رفع اشکالها
- نمونه NavigationRail با تراز پایین و نسخه نمایشی برنامه Catalog اضافه شد. (I3cffc)
- اکنون اندازه کادرهای گفتگو از رفتار اندازه پلاتفرم پیروی میکند. برای ملغی کردن این رفتار، usePlatformDefaultWidth را روی false تنظیم کنید. (Iffaed, b/192682388)
- نسخه نمایشی navigation-rail به برنامه کاتالوگ اضافه شد. (I04960)
- نمونه نمایشی نشان به برنامه کاتالوگ اضافه شد. (If285d)
نسخه 1.0
نسخه ۱.۰.۵
۳ نوامبر ۲۰۲۱
androidx.compose.material:material-*:1.0.5 منتشر شد. نسخه ۱.۰.۵ حاوی این تعهدات است.
رفع اشکالها
- ازکارافتادگی ردیابی نمونههای derivedStateOf برطرف شد. (aosp/1792247)
نسخه ۱.۰.۴
۱۳ اکتبر ۲۰۲۱
androidx.compose.material:material-*:1.0.4 منتشر شد. نسخه 1.0.4 شامل این تعهدات است.
بهروزرسانیهای وابستگی
- بهروزرسانی شد تا به Kotlin
1.5.31وابسته باشد
نسخه ۱.۰.۳
۲۹ سپتامبر ۲۰۲۱
androidx.compose.material:material-*:1.0.3 منتشر شد. نسخه 1.0.3 شامل این تعهدات است.
بهروزرسانیهای وابستگی
- بهروزرسانی شد تا به Kotlin
1.5.30وابسته باشد
نسخه ۱.۰.۲
۱ سپتامبر ۲۰۲۱
androidx.compose.material:material-*:1.0.2 منتشر شد. نسخه 1.0.2 حاوی این تعهدات است.
برای پشتیبانی از نسخه 1.0.2 «نوشتن» بهروز شد. Compose 1.0.2 همچنان با Kotlin 1.5.21 سازگار است.
نسخه ۱.۰.۱
۴ اوت ۲۰۲۱
androidx.compose.material:material-*:1.0.1 منتشر شد. نسخه 1.0.1 شامل این تعهدات است.
بهروزرسانیهای وابستگی
- بهروزرسانی شد تا به Kotlin
1.5.21وابسته باشد.
نسخه ۱.۰.۰
۲۸ ژوئیه ۲۰۲۱
androidx.compose.material:material-*: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 و AGP7.1برطرف خواهد شد. (b/194289155)
نسخه 1.0.0-rc02
۱۴ ژوئیه ۲۰۲۱
androidx.compose.material:material-*:1.0.0-rc02 منتشر شد. نسخه 1.0.0-rc02 حاوی این تعهدها است.
رفع اشکالها
- اکنون اندازه کادرهای گفتگو از رفتار اندازه پلاتفرم پیروی میکند. برای ملغی کردن این رفتار،
usePlatformDefaultWidthرا روی false تنظیم کنید. (Iffaed, b/192682388)
نسخه 1.0.0-rc01
۱ ژوئیه ۲۰۲۱
androidx.compose.material:material-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
BadgeBoxعنصر اضافه شد، برای اطلاعات استفاده به اسناد و نمونهها مراجعه کنید (I5e284) - نام
useDefaultMaxWidthدرPopupPropertiesبهusePlatformDefaultWidthتغییر کرد. (I05710) - اکنون کادرهای گفتگو میتوانند از کل پهنای صفحه استفاده کنند. (I83929، b/190810877)
- پیادهسازی «لغزنده محدوده آزمایشی» اضافه شد (I2f4b3)
رفع اشکالها
- برای هماهنگی با مشخصات «طراحی مواد»، وقتی از برچسب بهعنوان جایبان استفاده میشود، OutlinedTextField با ورودی نامعتبر دیگر از رنگ خطا برای برچسب استفاده نمیکند. مورد دوم زمانی درست است که نوشتار ورودی در فیلد نوشتار وجود نداشته باشد و فیلد نوشتار در کانون توجه نباشد. با این تغییر، معنای پارامتر
error:Booleanدر تابعTextFieldColors.labelColor()نیز تغییر کرد: اکنون حتی اگر ورودی نامعتبر باشد، درصورتیکه برچسب بهعنوان جایبان استفاده شود،falseرا برمیگرداند. (I45f78)
نسخه 1.0.0-beta09
۱۶ ژوئن ۲۰۲۱
androidx.compose.material:material-*:1.0.0-beta09 منتشر شد. نسخه 1.0.0-beta09 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- پارامتر «شکل» به OutlinedTextField اضافه شد تا بتوان شکل حاشیه را سفارشیسازی کرد (I8f39e، b/181322957)
- TextOverflow به کلاس بهخط تغییر میکند. (I433af)
رفع اشکالها
- وقتی Color.Unspecified ارسال میشود، Scrim در BottomDrawer، BackdropScaffold، و ModalBottomSheetLayout ناپدید میشود (I2d899، b/182063309)
قوانین نمایه اضافه شد
این نسخه پخش قوانین نمایه را به واحدهای پیشنویس زیر اضافه میکند (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 بستهبندی میشوند. وقتی APK ساخته میشود که شامل این آرتیفکتها باشد، این قوانین با هم ادغام میشوند و از قوانین ادغامشده برای ساختن نمایه باینری فشرده ART که مختص APK است استفاده میشود. سپس ART میتواند هنگام نصب APK در دستگاهها از این نمایهبرداری استفاده کند تا زیرمجموعه خاصی از برنامه را ازپیش کامپایل کند و عملکرد برنامه، بهویژه اولین اجرا، را بهبود دهد. توجه داشته باشید که این کار هیچ تأثیری بر برنامههای اشکالزداییشدنی نخواهد داشت.
نسخه 1.0.0-beta08
۲ ژوئن ۲۰۲۱
androidx.compose.material:material-*:1.0.0-beta08 منتشر شد. نسخه 1.0.0-beta08 حاوی این تعهدها است.
ویژگیهای جدید
تغییر «میانای برنامهسازی کاربردی» که باعث تغییر رفتار میشود
- رفتار-شکن: کارت اکنون کلیکها را مصرف میکند و کلیکهای اضافهشده ازطریق
Card(Modifier.clickable)را به عملیات بدون اثر تبدیل میکند. لطفاً از سربار آزمایشی جدید «کارت» که onClick را میپذیرد استفاده کنید. (Ia8744, b/183775620)- «بار اضافی کارت» جدیدی اضافه شد که کلیکها و همچنین دیگر قابلیتهای کلیککردنی را مدیریت میکند: نشانگر، منبع تعامل، فعال/غیرفعال. استفاده از «کارت» معمولی غیرکلیککردنی با
Modifier.clickableامکانپذیر نبود زیرا «کارت» در این موارد نشانگر موج را برش نمیدهد.
- «بار اضافی کارت» جدیدی اضافه شد که کلیکها و همچنین دیگر قابلیتهای کلیککردنی را مدیریت میکند: نشانگر، منبع تعامل، فعال/غیرفعال. استفاده از «کارت» معمولی غیرکلیککردنی با
- BEHAVIOUR-BREAKING: اکنون Surface کلیکها را مصرف میکند، و کلیکهایی که ازطریق
Surface(Modifier.clickable)اضافه شدهاند را بدون عملیات میکند. لطفاً از سربار تجربی جدید Surface که onClick را میپذیرد استفاده کنید. (I73e6c، b/183775620)- سربار جدیدی برای Surface اضافه شد که کلیکها و همچنین دیگر عملکردهای کلیککردنی را مدیریت میکند: نشانگر، interactionSource، فعال/غیرفعال. استفاده از «سطح» غیرکلیککردنی معمولی با
Modifier.clickableامکانپذیر نبود زیرا «سطح» در این موارد نشانگر موج را برش نمیدهد.
- سربار جدیدی برای Surface اضافه شد که کلیکها و همچنین دیگر عملکردهای کلیککردنی را مدیریت میکند: نشانگر، interactionSource، فعال/غیرفعال. استفاده از «سطح» غیرکلیککردنی معمولی با
تغییرات میانای برنامهسازی کاربردی
-
FabPositionاز شمارشی به کلاس درونخطی تبدیل شد تا از توسعه احتمالی در آینده پشتیبانی کند (I030fb) - استفادههای شمارشی را به کلاسهای درونخطی تغییر دادیم تا از مشکلات مربوط به دستورات جامع when هنگام اضافه شدن مقادیر شمارشی جدید جلوگیری کنیم. (I2b5eb)
- برای جلوگیری از نمایش موج درحین پیمایش / کشیدن، زمان وقفه برای ضربه به عناصر کلیککردنی / قابلتغییر اضافه میکند (Ia2704، b/168524931)
- خواص معنایی «شرح محتوا» و «نوشتار» دیگر مقادیر واحد نیستند بلکه فهرست هستند. این کار باعث میشود آنها بهجای اینکه بههم متصل شوند، بههم ادغام شوند. همچنین میاناهای برنامهسازی کاربردی آزمایش بهتری برای استفاده از این تغییرات ارائه شده است (Ica6bf، b/184825850)
-
Modifier.focusModifier()منسوخ شده است و باModifier.focusTarget()(I6c860) جایگزین شده است -
FocusStateenum با رابطFocusStateجایگزین شد (Iccc1a، b/187055290) - اکنون که پیادهسازی موجک پشتیبان «نما» پایدار است،
LocalRippleNativeRenderingبرداشته شد (I7fab3، b/188569367)
رفع اشکالها
-
Modifier.onGloballyPositioned()تغییر کرد تا مختصات این اصلاحکننده را در زنجیره اصلاحکننده گزارش کند، نه مختصات چیدمان را پساز اعمال همه اصلاحکنندهها. این یعنی اکنون ترتیب اصلاحکنندهها بر مختصاتی که گزارش میشود تأثیر میگذارد. (Ieb67d، b/177926591) - یک فایل README برای کاتالوگ موجود Compose Material اضافه شد. (If9191)
نسخه 1.0.0-beta07
۱۸ مه ۲۰۲۱
androidx.compose.material:material-*:1.0.0-beta07 منتشر شد. نسخه 1.0.0-beta07 شامل این تعهدها است.
تغییرات میانای برنامهسازی کاربردی
- دیگر نیازی به استفاده از روشهای افزونه برای پشتیبانی از مسیر در «ترکیب پیمایش» ندارید. (I22beb، b/172823546)
نسخه 1.0.0-beta06
۵ مه ۲۰۲۱
androidx.compose.material:material-*:1.0.0-beta06 منتشر شد. نسخه 1.0.0-beta06 شامل این تعهدها است.
تغییرات میانای برنامهسازی کاربردی
- Ripple به استفاده از
RippleDrawableبهصورت داخلی در دستگاههای Android منتقل شده است. این یعنی پویانماییهای موجی در RenderThread اتفاق میافتد و حتی زمانی که رشته واسط کاربر تحت بار است، مثلاً هنگام پیمایش بین صفحهها، روان خواهد بود. این تغییر سطح API موجدار را تغییر نمیدهد، اما ممکن است تغییرات رفتاری در نتیجه این تغییر معرفی شود. برای کمک به انتقال،LocalRippleNativeRenderingاضافه شده است - مقدارfalseرا به این CompositionLocal ارائه دهید تا به پیادهسازی موج قبلی در CompositionLocalProvider برگردد. این API موقتی است و در آینده برداشته خواهد شد، بنابراین اگر با مشکلاتی مواجه شدید که باعث شود از این API استفاده کنید، لطفاً گزارش اشکال ثبت کنید. (I902f8، b/168777351، b/183019123) - میاناهای برنامهسازی کاربردی دسترسپذیری CollectionInfo و CollectionItemInfo اضافه شد که امکان علامتگذاری مجموعه و موارد آن را برای خدمات دسترسپذیری فراهم میکند (Id54ef، b/180479017)
- «میانای برنامهسازی کاربردی» دسترسپذیری
errorاضافه شد که امکان علامتگذاری گره حاوی ورودی نامعتبر را فراهم میکند (I12997، b/180584804، b/182142737)
رفع اشکالها
- پیادهسازی درونیهای کاتالوگ «نوشتن مطلب» بهروزرسانی شد از: https://github.com/google/accompanist/pull/365. (I25dc3)
- فرزندان «ردیف و ستون» با وزن(پر کردن = نادرست) دیگر باعث نمیشوند که والد کل فضای محور اصلی دردسترس را پر کند. (Ied94d، b/186012444، b/184355105)
نسخه 1.0.0-beta05
۲۱ آوریل ۲۰۲۱
androidx.compose.material:material-*:1.0.0-beta05 منتشر شد. نسخه 1.0.0-beta05 حاوی این تعهدها است.
رفع اشکالها
- تصاویر کاشی عنصر، انتخابگر زمینه، و نشانیهای وب منو خاصتر به کاتالوگ «ترکیب مواد» موجود اضافه شد. (I9b58e)
نسخه 1.0.0-beta04
۷ آوریل ۲۰۲۱
androidx.compose.material:material-*:1.0.0-beta04 منتشر شد. نسخه 1.0.0-beta04 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- تغییر میانای برنامهسازی کاربردی: وضعیت
DrawerStateدیگر از SwipeableState آزمایشی گسترش نمییابد.- تغییر در «میانای برنامهسازی کاربردی»:
BottomDrawerStateاکنون بهعنوان «آزمایشی» علامتگذاری شده است تا با عنصر «کشوی پایین» که ازقبل «آزمایشی» بوده است مطابقت داشته باشد (I81114، b/181656094)
- تغییر در «میانای برنامهسازی کاربردی»:
- نام
hideSoftwareKeyboardوshowSoftwareKeyboardدرSoftwareKeyboardControllerرا بهترتیب بهhide()وshow()تغییر دهید.- ارائه میانای کامل CompositionLocal برای LocalSoftwareKeyboardController، که امکان تنظیم آن را فراهم میکند (بهویژه در آزمایشها مفید است) (I579a6)
- «میانای برنامهسازی کاربردی» دسترسپذیری LiveRegion اضافه شد. اگر گره بهعنوان منطقه زنده علامتگذاری شده باشد، خدمات دسترسپذیری بهطور خودکار کاربر را از تغییرات آن مطلع میکند (Idcf6f، b/172590946)
رفع اشکالها
- پیادهسازی کاتالوگ Compose Material به واحد موجود اضافه شد. درحالحاضر موارد زیر وجود ندارد: تصاویر کاشی مؤلفه، انتخابگر زمینه (در تغییرات بعدی اضافه خواهد شد). (Ie7a94)
نسخه 1.0.0-beta03
۲۴ مارس ۲۰۲۱
androidx.compose.material:material-*:1.0.0-beta03 منتشر شد. نسخه 1.0.0-beta03 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
-
DefaultMonotonicFrameClockمنسوخ شده است. فراخوانیwithFrameNanosیاRecomposer.runRecomposeAndApplyChangesبدونMonotonicFrameClockاکنونIllegalStateExceptionرا ایجاد میکند. (I4eb0d) - API جدیدی
LeadingIconTabبرای پشتیبانی از نمایش نماد و نوشتار درونخطی در برگه اضافه شد. (I23267)
همیاری خارجی
- [توسط Jossi Wolf]
BottomDrawerاکنون محتوای جایگاه کشو را میپیچد. وقتی عنصر مادر ارتفاع بینهایت دارد،BottomDrawerIllegalStateExceptionرا پرتاب نمیکند. اگر کشو پایین کوچکتر از ۵۰٪ والد خود باشد، اکنون در حالت ازهم بازشده باز خواهد شد. «سندنگار» در حدودBottomDrawerStateوModalBottomSheetLayoutStateبهروز شده است. BottomDrawerState#isOpenاکنون اگر در وضعیت باز یا ازهم بازشده باشد، درست برمیگرداند. (I87241)
نسخه 1.0.0-beta02
۱۰ مارس ۲۰۲۱
androidx.compose.material:material-*:1.0.0-beta02 منتشر شد. نسخه 1.0.0-beta02 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- «میانای برنامهسازی کاربردی» محلی ترکیب
LocalSoftwareKeyboardControllerجدیدی اضافه شد تا جایگزین رابطSoftwareKeyboardControllerقبلی در «فیلد نوشتاری» شود. (I5951e، b/168778053)
رفع اشکالها
- اعمال محدودیتها بر استفاده عمومی از میاناهای برنامهسازی کاربردی آزمایشی (I6aa29، b/174531520)
- محاذات افقی پیشفرض برای TopAppBar و BottomAppBar به «شروع» تغییر کرد، که با «ردیف» سازگار است (Ib2dc7)
- واحد جدید و واسط کاربر جایبان برای کاتالوگ «ترکیب مواد» اضافه شد که درحالحاضر در نمایشهای آزمایشی ادغام موجود قرار دارد. (Idfcb3)
-
androidx.compose.ui:uiدیگر به AppCompat یا Fragment وابسته نیست. اگر در برنامهتان از ComposeView استفاده میکنید و از Fragment و/یا AppCompat استفاده میکنید، مطمئن شوید که از AppCompat نسخه 1.3+ / Fragment نسخه 1.3+ استفاده میکنید - این نسخهها برای تنظیم صحیح مالکان چرخه حیات و وضعیت ذخیرهشده موردنیاز برای ComposeView لازم است. (I1d6fa، b/161814404)
نسخه 1.0.0-beta01
۲۴ فوریه ۲۰۲۱
androidx.compose.material:material-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 شامل این تعهدات است.
این اولین نسخهٔ پخش Compose 1.0.0 Beta است.
تغییرات میانای برنامهسازی کاربردی
- نام اصلاحگرهای اندازه تغییر کرد. Modifier.width/height/size به requiredWidth/requiredHeight/requiredSize تغییر نام داد. نام Modifier.preferredWidth/preferredHeight/preferredSize به width/height/size تغییر کرد. (I5b414)
- imageResource و vectorResource اکنون توابع افزونهای در همنشینهای ImageBitmap و ImageVector هستند. توابع load{Image,Vector,Font}Resource حذف شدهاند. (I89130)
- اصلاحکنندههای اندازهگیری براساس ویژگیهای ذاتی دیگر آزمایشی نیستند. (I15744)
- ادعاهای dp برداشته شد (I798d2)
- کاربرگ «کنترلکننده صفحهکلید نرمافزاری» از همه فیلدهای نوشتاری برداشته شد تا بهزودی با API جدیدی جایگزین شود. (Iae869، b/168778053)
- لامبداهای کنش «کلید»، «چارگوش انتخاب»، و «دکمه رادیویی» اکنون تهیپذیر هستند. نمونههای «چارگوش انتخاب در ردیف کلیککردنی» بهروزرسانی شد تا از این ویژگی استفاده کند. (If601b، b/171819073)
-
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)
- افزودن میانای AccessibilityMananger و LocalAccessibilityMananger در CompositionLocals (I53520)
- روشهای منسوخشده LayoutCoordinates برداشته شد، بهجای دارایی برای positionInParent و boundsInParent از تابع استفاده کنید (I580ed، b/169874631، b/175142755)
- لغزنده اکنون از وضعیت فعال/غیرفعال پشتیبانی میکند (I6d56b، b/179793072)
- TextInputSession جدیدی برای جلسههای ورودی از عناصر نوشتاری سطح پایین مثل CoreTextField ایجاد شد. (I8817f, b/177662148)
- AnimationEndReason.Interrupted برداشته شد. اگر پویانمایی قطع شود، CancellationException پرتاب خواهد شد. (I2cbbc, b/179695417)
-
@ExperimentalRippleApiبرداشته شد وRippleAlphaبه کلاسی با داراییها بهجای میانای کاربری تغییر کرد. (I6df7c) - واسط TextFieldColors اضافه شد تا رنگهای مختلف استفادهشده در TextField و OutlinedTextField در حالتهای مختلف را نشان دهد. برای پیادهسازی پیشفرض، TextFieldDefaults.textFieldColors و TextFieldDefaults.outlinedTextFieldColors را ببینید.
- پارامتر isErrorValue در TextField و OutlinedTextField به isError تغییر نام داد. (I831f9، b/171305338، b/168004067)
- افزودن اصلاحگر selectionGroup که امکان علامتگذاری مجموعه «برگهها» یا «دکمههای رادیویی» را برای اهداف دسترسپذیری فراهم میکند (Ie5c29)
افزودن LazyListState.animateScrollToItem
این روش به مورد خاصی در فهرست پیمایش روان انجام میدهد. (I4bfd7)
نام
ScrollableState.smoothScrollBy()بهanimateScrollBy()تغییر کرد نامLazyListState.snapToItemIndex()بهscrollToItem()تغییر کرد نامScrollState.smoothScrollTo()بهanimateScrollTo()تغییر کرد (I35ded)اکنون هر عنصر ترکیبی که با
@ReadOnlyComposableعلامتگذاری شده است در زمان ترجمه اعتبارسنجی میشود تا مطمئن شویم که فقط با@ReadOnlyComposablesدیگر تماس میگیرد (I58961)TargetAnimation API برداشته شده است. (If47d1، b/177457083)
موقعیت پیمایش در Modifier.verticalScroll()/horizontalScroll() اکنون با Ints نشان داده میشود (I81298)
بستههای روشهای smoothScrollBy و scrollBy به
androidx.compose.foundation.gestures.*تغییر کرد (I3f7c1، b/175294473)نام FlingConfig به FlingBehavior تغییر کرده است و اکنون بهجای Decays ازپیشتعریفشده، امکان سفارشیسازی پویانمایی تعلیق را فراهم میکند. (I02b86، b/175294473)
نام اصلاحگرهای اندازه تغییر کرد. Modifier.width/height/size به requiredWidth/requiredHeight/requiredSize تغییر نام داد. نام Modifier.preferredWidth/preferredHeight/preferredSize به width/height/size تغییر کرد. (I5b414)
نام defaultMinSizeConstraints به defaultMinSize تغییر کرد. (I4eaae)
جهتیابی به بسته پایه منتقل شده است. VelocirtTracker از ui.gesture به ui.input.pointer منتقل شد. (Iff4a8، b/175294473)
drawerState.open() و drawerState.close() اکنون توابع را معلقه میکنند. از rememberCoroutineScope() برای دریافت حوزه ترکیب برای فراخوانی آنها استفاده کنید (I16f60، b/175294473)
نام Providers به CompositionLocalProvider تغییر کرده است
- سازنده «ترکیب» دیگر پارامتر کلید را نمیپذیرد و منسوخ شده است.
- currentCompositeKeyHash بهجای تابع سطح بالای ترکیبشدنی به دارایی سطح بالای ترکیبشدنی تبدیل شده است.
- CompositionData و CompositionGroup به فضای نام androidx.compose.runtime.tooling منتقل شدهاند
- ComposableLambda بهجای کلاس عینی به یک رابط تبدیل شده است و دیگر پارامترهای نوع ندارد.
- ComposableLambdaN بهجای کلاس عینی به یک میانای تبدیل شده است و دیگر پارامترهای نوع ندارد.
- تابع snapshotFlow به جاینام androidx.compose.runtime منتقل شده است
- روش ادغام SnapshotMutationPolicy دیگر آزمایشی نیست
- تابع
@TestOnlyسطح بالای clearRoots برداشته شده است. دیگر ضروری نیست. - توابع keySourceInfoOf و resetSourceInfo برداشته شدهاند. دیگر ضروری نیستند.
- Composer.collectKeySourceInformation برداشته شده است. دیگر ضروری نیست.
- روشهای isJoinedKey، joinedKeyLeft، و joinedKeyRight برداشته شدهاند. دیگر ضروری نیستند.
- میاناهای برنامهسازی کاربردی سطح بالای مختلفی به فایلهای دیگری منتقل و در آنها سازماندهی مجدد شدهاند. بهدلیل معناشناسی کلاس فایل Kotlin، این کار سازگاری باینری را ازبین میبرد اما سازگاری منبع را ازبین نمیبرد، بنابراین نباید برای اکثر کاربران مشکلی ایجاد کند.
- (I99b7d، b/177245490)
Modifier.scrollable بازطراحی شده است. اکنون بهجای کلاس ScrollableController از رابط Scrollable استفاده میکند (I4f5a5، b/174485541، b/175294473)
Modifier.draggable اکنون بهجای لامبدای ساده، DraggableState را میپذیرد. میتوانید ازطریق
rememberDraggableState { delta -> }وضعیت ایجاد کنید تا همان رفتار قبلی را داشته باشید (Ica70f، b/175294473)ZoomableController.smoothScaleBy و ZoomableController.stopAnimation اکنون توابع تعلیق هستند. (I7f970، b/177457083)
برخیاز میاناهای برنامهسازی کاربردی که قبلاً منسوخ شده بودند حذف شدند (Ice5da، b/178633932)
تغییرات زیر در «میانای برنامهسازی کاربردی Material» ایجاد شد:
- پارامتر contentPadding به Top/BottomAppBar اضافه شد تا امکان سفارشیسازی حاشیه پیشفرض فراهم شود.
- پارامترها در BackdropScaffold دوباره مرتب شدند تا از دستورالعملهای میانای برنامهسازی کاربردی برای پارامترهای الزامی که قبلاز پارامترهای اختیاری قرار میگیرند پیروی شود.
- پارامتر
iconدر BottomNavigationItem به بعدازselectedوonClickمنتقل شد. - نام پارامتر
alwaysShowLabelsدر BottomNavigationItem بهalwaysShowLabelتغییر کرد. - نام
bodyContentپارامتر در چند عنصر بهcontentتغییر کرد. - ترتیب پارامترها در
ButtonDefaults.buttonColors()تغییر کرد. لطفاً توجه داشته باشید که چون نوع پارامترها تغییر نکرده است، این تغییر باعث بروز خطا در کد شما نخواهد شد. لطفاً مطمئن شوید که از پارامترهای نامدار استفاده میکنید یا ترتیب را بهصورت دستی بهروزرسانی میکنید، درغیراینصورت کد شما مثل قبل کار نخواهد کرد. -
secondaryVariantپارامتر بهdarkColors()اضافه شد. این رنگ معمولاً باsecondaryدر زمینه تیره یکسان است، اما برای یکنواختی و سفارشیسازی بیشتر اضافه شده است. - ElevationDefaults و animateElevation() را از سطح API عمومی برداشتیم زیرا معمولاً استفاده نمیشدند / مفید نبودند.
- نام
onValueChangeEndدرSliderبهonValueChangeFinishedتغییر کرد و قابلتهی شد. - نام پارامتر
textدرSnackbarبهcontentتغییر کرد تا یکپارچگی حفظ شود. - پارامتر
contentPaddingبهDropdownMenuItemاضافه شد تا امکان سفارشیسازی حاشیه پیشفرض فراهم شود وcontentبه افزونهای درRowScopeتبدیل شد. - نام
ModalDrawerLayoutبهModalDrawerتغییر کرد. - نام
BottomDrawerLayoutبهBottomDrawerتغییر کرد. - (I1cc66)
BasicTextField اکنون بهجای «رنگ»، «قلممو» را میپذیرد تا سفارشیسازی بهتری داشته باشد (I83a36)
imageResource و vectorResource اکنون توابع افزونهای در همنشینهای ImageBitmap و ImageVector هستند. توابع load{Image,Vector,Font}Resource حذف شدهاند. (I89130)
Indication#createIndication() به Indication#rememberUpdatedIndication(InteractionState) تغییر کرد و پارامتر InteractionState از IndicationInstance#drawIndication() برداشته شد. IndicationInstance فقط باید مسئول رسم جلوههای دیداری باشد و نه راهاندازی پویانماییها / نوشتن وضعیت در پاسخ به تغییرات InteractionState. این پویانماییها و نوشتنهای وضعیت باید در
rememberUpdatedIndication()انجام شود. پارامترindicationدرModifier.indicationنیز به پارامتر الزامی تغییر کرد. (Ic1764، b/152525426)
رفع اشکالها
- ترکیب جدید LocalSoftwareKeyboardController API محلی اضافه شد تا جایگزین رابط قبلی SoftwareKeyboardController در TextField شود. (I658b6، b/168778053)
نسخه 1.0.0-alpha12
۱۰ فوریه ۲۰۲۱
androidx.compose.material:material-*:1.0.0-alpha12 منتشر شد. نسخه 1.0.0-alpha12 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- Modifier.pointerInput اکنون برای نشان دادن اینکه روتین مشترک تشخیص ورودی اشارهگر باید برای وابستگیهای جدید بازراهاندازی شود به کلیدهای یادآوری نیاز دارد. (I849cd)
- BottomDrawerLayout و ListItem بهعنوان @ExperimentalMaterialApi علامتگذاری شدهاند (Id766e)
- PaddingValues.Absolute اضافه شد و میتواند در میاناهای برنامهسازی کاربردی که PaddingValues را میپذیرند استفاده شود. (Ia5f30)
- onImeActionPerformed منسوخ شده است. بهجای آن از KeyboardActions استفاده کنید (If0bbd، b/179071523)
- برای مطابقت بهتر با قراردادهای نامگذاری ImageBitmap و ImageVector، نام ImagePainter به BitmapPainter تغییر کرده است تا با VectorPainter موازی شود. (Iba381, b/174565889)
- Animatable.snapTo و Animatable.stop اکنون توابع تعلیق هستند (If4288)
- ComponentActivity.setContent به androidx.activity.compose.setContent در androidx.activity:activity-compose module منتقل شده است. (Icf416)
- روشهای ساختارشکنی و copy() از چندین کلاس که بهندرت استفاده میشدند برداشته شده است. (I26702, b/178659281)
- ساختن halfExpand() و expand() در ModalBottomSheetState داخلی (Ic914e)
- Indication#createInstance به @Composable تغییر کرد و LocalIndication تغییر کرد تا حاوی Indication باشد، نه () -> Indication. (I5eeea، b/157150564)
- «AlertDialog» و «DropdownMenu» به Android منتقل شد تا فعلاً فقط در آن دردسترس باشد. پارامتر PopupProperties به DropdownMenu اضافه شد تا Popup زیرین بیشتر پیکربندی شود. (I9c443)
- loadFontResource منسوخ شده است. بهجای آن از fontResource استفاده کنید. imageResource، loadImageResource، vectorResource، و loadVectorResource منسوخ شدهاند. درعوض از painterResource استفاده کنید. (I6b809)
- پارامترهای
toggleوtoggleModifierاز «منوِ کرکرهای» برداشته شد وdropdownModifier،dropdownOffset، وdropdownContentبه ترتیب بهmodifier،offset، وcontentتغییر نام دادند. اکنون DropdownMenu بهطور یکنواخت باPopupرفتار میکند، جایی که از چیدمان والد برای موقعیت منو استفاده میشود. در بیشتر موارد میتوانیدtoggleرا به خواهر یا برادرDropdownMenuتبدیل کنید و هر دو را درBoxبپیچید. برای اطلاعات بیشتر درباره استفاده از این «میانای برنامهسازی کاربردی»، نمونه بهروزشده را در مستندات ببینید. (I884fb) - نام toIntPx() به roundToPx() تغییر کرد. (I9b7e4، b/173502290)
- نام IntBounds به IntRect تغییر کرد و «میانای برنامه کاربردی» بهبود یافت. (I1f6ff)
- کنشهای معنایی ازهم بازکردن و جمع کردن اضافه شد. افزودن expand و halfExpand در ModalBottomSheetState (Ib5064)
- Modifier.dragGestureFilter منسوخ شده است. درعوض از
Modifier.pointerInput { detectDragGestures (...)}استفاده کنید. یا از Modifier.draggable برای کشیدن در یک محور استفاده کنید (I0ba93، b/175294473) - نام Ambients تغییر کرد تا با تغییر نام Ambient -> CompositionLocal مطابقت داشته باشد. قبلاً نام «محیطها» AmbientFoo بود، اکنون نام «ترکیبهای محلی» LocalFoo است. (I2d55d)
- مورد انتخابی به پایه منتقل شد. (I7892b)
- همانطور که قبلاً
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) - ProgressBarRangeInfo.Indeterminate برای علامتگذاری نوارهای پیشرفت نامشخص برای دسترسپذیری اضافه شد (I6fe05)
@ComposableContract به نفع سه شرح بیشتر خاص منسوخ شده است.
-
@ComposableContract(restartable = false)به@NonRestartableComposableتبدیل شد -
@ComposableContract(readonly = true)به@ReadOnlyComposableتبدیل شد -
@ComposableContract(preventCapture = true)به@DisallowComposableCallsتبدیل شد -
@ComposableContract(tracked = true)برداشته شده است. - (I60a9d)
-
emptyContent()و(@Composable () -> Unit).orEmpty()ابزار منسوخ شدهاند زیرا دیگر هیچ تأثیر یا ارزش مثبتی بر عملکرد ندارند (I0484d)نام rememberSavedInstanceState() به rememberSaveable() تغییر کرده است و به بسته androidx.compose.runtime.saveable منتقل شده است. (I1366e، b/177338004)
Saver، listSaver()، mapSaver()، autoSaver از androidx.compose.runtime.savedinstancestate به androidx.compose.runtime.saveable منتقل شد (I77fe6)
پارامترهای RounderCornerShape، CutCornerShape، و CornerBasedShape از چپ/راست به شروع/پایان تغییر نام دادند تا از قرینهسازی خودکار شکل در جهت راستبهچپ پشتیبانی کنند. AbsoluteRounderCornerShape و AbsoluteCutCornerShape برای مواردی معرفی شدند که آینهسازی خودکار مطلوب نیست. (I61040، b/152756983)
پارامترهای
textوicon«برگه» و پارامترlabel«مورد پیمایش پایین» را به تهیپذیر تغییر دادیم تا عملکرد عنصر را وقتی این پارامترها ارائه میشوند یا نمیشوند بهتر منتقل کنیم، زیرا این پارامترها بر اندازه و چیدمان عنصر تأثیر میگذارند. اگر درحالحاضر ازemptyContent()برای نشان دادن بدون نوشتار / نماد / برچسب استفاده میکنید، باید بهجای آن ازnullاستفاده کنید. (I57ed4)نام پارامتر color به backgroundColor تغییر کرد (I5bb67)
TabDefaults منسوخ شد و با TabRowDefaults جایگزین شد. (I0f189)
ColorMatrix API معرفیشده برای اصلاح مقادیر rgb محتوای منبع استفاده میشود ColorFilter API بازسازیشده برای تبدیل شدن به یک میانای کاربر و مطابقت با پیادهسازی PathEffect. (Ica1e8)
AnimatedValue/Float اکنون منسوخ شده است. لطفاً بهجای آن از Animatable استفاده کنید. (I71345، b/177457083)
افزودن SemanticsProperties.PaneTitle API. (I20d5a)
پارامترهای فعالشده به Tab و BottomNavigationItem اضافه شد تا از کلیککردنی بودن آنها جلوگیری شود. BottomNavigationItem به RowScope.BottomNavigationItem تغییر کرد تا الزامات چیدمان آن در میانای برنامهسازی کاربردی بهتر بیان شود. (Id683d)
tapGestureFilter، doubleTapGestureFilter، longPressGestureFilter، و pressIndicaitonGestureFilter منسوخ شدهاند. درعوض از Modifier.clickable یا Modifier.pointerInput با تابع detectTapGestures استفاده کنید. (I6baf9، b/175294473)
پارامتر layoutDirection را به createOutline «شکل» اضافه کنید. این امکان را میدهد تا شکلهایی ایجاد کنید که از جهت چیدمان آگاه باشند. (I57c20, b/152756983)
Recomposer.current()حذف شد. [خلاصه]ComposeView اکنون بهطور پیشفرض به Recomposerهای با حوزه پنجره که بهصورت تنبل ایجاد شدهاند و توسط ViewTreeLifecycleOwner برای پنجره هدایت میشوند تبدیل شده است. وقتی «چرخه حیات» میزبان متوقف میشود، بازسازی و تیکهای پویانمایی مبتنی بر withFrameNanos موقتاً متوقف میشود. (I38e11)
رفع اشکالها
- اکنون نماد تا جایی که اندازه آن جا شود بزرگ میشود و اصلاحگرهای اندازه اعمالشده روی آن را رعایت میکند. برای مثال،
Icon(.., modifier = Modifier.size(50.dp)اکنون در فضای ۵۰x۵۰dp طراحی خواهد کرد. (Ib2ba9, b/178796190)
نسخه 1.0.0-alpha11
۲۸ ژانویه ۲۰۲۱
androidx.compose.material:material-*:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- برخیاز «میاناهای برنامهسازی کاربردی Material» را ارتقا میدهد تا دیگر
@Experimentalنباشند (I5d20e) - پارامتر شرح محتوا به «تصویر» و «نماد» اضافه شده است. از آن برای ارائه شرح به خدمات دسترسپذیری (I2ac4c) استفاده میشود
- واسطهای پارامتر حالتدار «مطلب» را تغییر میدهد تا توابع @Composable داشته باشد که
State<T>را برمیگردانند.Animatable.asState()را اضافه میکند تا تبدیل کردن «متحرکشدنی» به «حالت» آسانتر شود. همچنین animateElevation را به یک افزونه تعلیق در Animatable تغییر میدهد. (If613c) - Snackbar، SnackbarHost، SnackbarHostState دیگر
@ExperimentalMaterialAPIنیستند (Id1fb5) - «نوشتارآرایی»، «شکلها»، و «موقعیت برگه» را تغییر میدهد تا دیگر کلاس داده نباشند. عملکرد کپی را برای «نمونهحروف» و «اشکال» اضافه میکند تا جایگزین موارد تولیدشده شود. (I40037)
- برخیاز «میاناهای برنامهسازی کاربردی Material» که قبلاً منسوخ شده بودند حذف شدند (Ifaa25)
رفع اشکالها
- onCommit، onDispose، و onActive بهنفع SideEffect و DisposableEffect APIs منسوخ شدهاند (If760e)
- «گذار» مبتنی بر «تعریف گذار» نامناسب شده است (I0ac57)
- اکنون از «حالت اولیه» در updateTransition پشتیبانی میشود (Ifd51d)
- WithConstraints بهعنوان BoxWithConstraints بازطراحی شد و به foundation.layout منتقل شد. (I9420b، b/173387208)
منسوخ کردن scrollBy غیرتعلیقی، برداشتن scrollTo غیرتعلیقی
اکنون توصیه میکنیم از توابع تعلیق برای کنترل پیمایش و انتظار برای اتمام پیمایش استفاده کنید. بهعنوان بخشی از این انتقال، نسخههای غیرتعلیقی این توابع را منسوخ و/یا حذف میکنیم. (Ie9ced)
منسوخ کردن smoothScrollBy غیرتعلیقی اکنون توصیه میکنیم از توابع تعلیقی برای کنترل پیمایش و انتظار برای اتمام پیمایش استفاده کنید. بهعنوان بخشی از این انتقال، نسخههای غیرتعلیقی این توابع را منسوخ میکنیم. (I12880)
ComposeContentTestRuleمعرفی شد کهComposeTestRuleرا گسترش میدهد وsetContentرا تعریف میکند که ازComposeTestRuleبرداشته شده است. روش کارخانهایcreateEmptyComposeRule()اضافه شد کهComposeTestRuleرا برمیگرداند و «فعالیت» را برای شما راهاندازی نمیکند. وقتی میخواهید «فعالیت» خود را درطول آزمایش راهاندازی کنید از این استفاده کنید، برای مثال، بااستفاده ازActivityScenario.launch(I9d782، b/174472899)دیگر نمیتوانید با ارائه «نشانگر» جدید ازطریق AmbientIndication، موجی را که در «دکمه» و FloatingActionButton استفاده میشود سفارشیسازی کنید - این هرگز قرار نبوده روشی برای سفارشیسازی این عناصر باشد و اکنون این عناصر را با دیگر عناصر Material سازگار میکند. برای سفارشیسازی کردن موجک در سراسر برنامه، به RippleTheme مراجعه کنید. (I546c5)
animateAsState اکنون animateFooAsState است، که در آن Foo نوع متغیر پویانماییشده است. برای نمونه، Float، Dp، Offset، و غیره (Ie7e25)
BasicTextField پارامتر جدیدی بهنام
decorationBoxدریافت کرد. این ویژگی امکان میدهد تزئیناتی مثل نمادها، جایبان، برچسب، و موارد مشابه به فیلد نوشتار اضافه شود و ناحیه هدف ضربه آن افزایش یابد. (I16996)رفع اشکال مربوط به اینکه نمیشد عرض فیلد نوشتاری مواد را کمتر از ۲۸۰.dp تنظیم کرد (I78373)
پارامتر canDrag از Modifier.draggable برداشته شده است (Ic4bec، b/175294473)
displaySize را بردارید زیرا باید از آن اجتناب شود. معمولاً بهتر است از اندازه onRoot() یا حداقل اندازه پنجره استفاده کنید. (I62db4)
اکنون «سطح» میتواند چندین فرزند چیدمان داشته باشد. (I66a92, b/144488459)
invalidate و compositionReference() اکنون بهترتیب بهنفع currentRecomposeScope و rememberCompositionReference منسوخ شدهاند. (I583a8)
PopupPositionProvider را تغییر میدهد تا از مختصات نسبی پنجره استفاده کند، نه مختصات سراسری. parentGlobalBounds را به anchorBounds تغییر نام میدهد و windowGlobalBounds را به
windowSize: IntSize(I2994a) تغییر میدهد«مدت» و «زمان کار» با «میلیثانیه طولانی» جایگزین خواهد شد، و این مرحله وابستگی ورودی اشارهگر به آن کلاسها را برمیدارد. (Ia33b2، b/175142755، b/177420019)
AnimatedFloat.fling که FlingConfig را میپذیرد برداشته شده است. لطفاً درعوض از suspend Animatable.animateDecay استفاده کنید. (I4659b، b/177457083)
اکنون میتوان عناصر کلیککردنی، قابلتغییر، و قابلانتخاب را خارجاز ترکیب ایجاد کرد (I0a130، b/172938345، b/175294473)
«تسهیل» به یک میانای کارکردی (Ib14e5) تغییر کرده است
ScrollableColumn/Row منسوخ شده است. وقتی محتوای پیمایشپذیر زیادی دارید، استفاده از ScrollableColumn در مقایسه با LazyColumn کارایی کمتری دارد زیرا با LazyColumn میتوانیم فقط عناصر نمایان را ترکیب/اندازهگیری/رسم کنیم. برای جلوگیری از اینکه کاربران از روشهای ناکارآمد استفاده کنند، تصمیم گرفتیم ScrollableColumn و ScrollableRow را منسوخ کنیم و بهجای آن استفاده از LazyColumn و LazyRow را ترویج کنیم. کاربران همچنان میتوانند تصمیم بگیرند که به رفتار تنبل نیاز ندارند و از اصلاحکنندهها بهطور مستقیم به این صورت استفاده کنند: Column(Modifier.verticalScroll(rememberScrollState())) (Ib976b، b/170468083)
روش کارخانه جدید
items(count: Int)برای محدوده LazyColumn/LazyRow/LazyVerticalGrid. items(items: List)وitemsIndexed(items: List)اکنون تابعهای افزونه هستند، بنابراین باید آنها را هنگام استفاده بهصورت دستی وارد کنید. سربار جدید افزونه برای «آرایهها»:items(items: Array)وitemsIndexed(Array)(I803fc، b/175562574)روشهای آزمایشی monotonicFrameAnimationClockOf برداشته شد (Ib753f، b/170708374)
روشهای مختصات سراسری منسوخ شد و روشهای مختصات مبتنی بر پنجره جدیدی ایجاد شد. (Iee284)
Modifier.toolingGraphicsLayer اضافه شد که وقتی بازرسی روشن باشد اصلاحگر لایه گرافیکی اضافه میکند. (I315df)
FocusRequester.createRefs اکنون بهعنوان آزمایشی علامتگذاری شده است زیرا ممکن است تغییر کند. (I2d898، b/177000821)
نام SemanticsPropertyReceiver.hidden به invisibleToUser تغییر کرد و با @ExperimentalComposeUiApi علامتگذاری شد. نام AccessibilityRangeInfo به ProgressBarRangeInfo تغییر کرد. نام stateDescriptionRange به progressBarRangeInfo تغییر کرد. نام AccessibilityScrollState به ScrollAxisRange تغییر کرد. نام horizontalAccessibilityScrollState به horizontalScrollAxisRange تغییر کرد. نام verticalAccessibilityScrollState به verticalScrollAxisRange تغییر کرد. (Id3148)
استفاده از TestCoroutineDispatcher در آزمایش (I532b6)
«میانای برنامهسازی کاربردی» گرافیک برداری بهروزرسانی شد تا از تجزیه کردن سایهرنگ اعمالشده به ریشه گرافیک برداری پشتیبانی کند. (Id9d53، b/177210509)
نسخه 1.0.0-alpha10
۱۳ ژانویه ۲۰۲۱
androidx.compose.material:material-*:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- «سرعت» اصلاح شد تا دارای اجزای تشکیلدهنده و عملیات ریاضی باشد. (Ib0447)
- نام
@ExperimentalTestingبه@ExperimentalTestApiتغییر کرد تا با حاشیهنویسیهای مشابه میانای برنامهسازی کاربردی آزمایشی (Ia4502، b/171464963) سازگار باشد - «موقعیت» به «DpOffset» تغییر نام داد و getDistance() برداشته شد (Ib2dfd)
- Color.useOrElse() به Color.takeOrElse() تغییر نام داد (Ifdcf5)
- افزودن «تغییر وضعیت» به foundation Strings.kt (I4a5b7، b/172366489)
- FlowRow و FlowColumn منسوخ شدند. لطفاً بهجای آن از چیدمان سفارشی استفاده کنید. (I09027)
- Modifier.focus() و Modifier.focusRequester() منسوخ شدهاند. درعوض از Modifier.focusModifier() و Modifier.focusReference() استفاده کنید. (I75a48، b/175160751، b/175160532، b/175077829)
- nativeClass به واحد ui منتقل شد و داخلی شد. کاربردهای بهروزشده nativeClass در پیادهسازیهای equals برای استفاده از 'is MyClass' بهجای آن. (I4f734)
رفع اشکالها
- پشتیبانی از فیلدهای نوشتاری غیرفعال و فقطخواندنی اضافه شد (I35279، b/171040474، b/166478534)
-
animate()اکنون باanimateAsState()جایگزین شده است، که بهجایT،State<T>برمیگرداند. این کار عملکرد را بهبود میبخشد، زیرا محدوده نامعتبرسازی میتواند به جایی که مقدار «وضعیت» خوانده میشود محدود شود. (Ib179e) - «میانای برنامهسازی کاربردی نقش معنایی» را اضافه کنید و «نقش» را بهعنوان پارامتر به «اصلاحکننده معنایی» کلیککردنی، انتخابکردنی، و قابلتغییر اضافه کنید. Modifier.progressSemantics تغییر کرد تا «لغزنده» هم بتواند از آن استفاده کند. (I216cd)
نسخه 1.0.0-alpha09
۱۶ دسامبر ۲۰۲۰
androidx.compose.material:material-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- API برای راهاندازی دستی پویانمایی استقرار و کشیدن در Modifier.swipeable اضافه شد (Iaa17a، b/162408885)
- نام اشیای *Constants مثل ButtonConstants به نامهایی که با Defaults تمام میشوند تغییر کرد، مثلاً ButtonDefaults. همچنین پیشوندهای غیرضروری
defaultرا از داراییهای این اشیای جدید برمیدارد. (Ibb915، b/159982740) «ترکیب» از دریافتکنندههای دارایی که میتوانند فراخوانیهای ترکیبی انجام دهند پشتیبانی میکند. پشتیبانی از این قابلیت حذف نخواهد شد، اما دستورگان برای اعلام اینکه یک دریافتکننده دارایی @Composable است تغییر میکند.
نحو منسوخشده برای انجام این کار ازطریق حاشیهنویسی خود دارایی بود:
@Composable val someProperty: Int get() = ...نحو صحیح برای انجام این کار، حاشیهنویسی کردن دریافتکننده دارایی است:
val someProperty: Int @Composable get() = ...هر دو نحو برای مدتی کار خواهند کرد، اما نحو منسوخشده قبلی در نهایت به خطای کامپایل تبدیل خواهد شد. (Id9197)
کتابخانه
androidx.compose.material:material-rippleحاوی «میاناهای برنامهسازی کاربردی» موج اضافه شد تا امکان ساختن عناصر تعاملی بدون نیاز به بقیه کتابخانه Material فراهم شود. rememberRippleIndication منسوخ شده است و با rememberRipple جایگزین شده است. (Ibdf11)
رفع اشکالها
- Lambdas در اصلاحکنندههای افست اکنون بهجای Float، مقدار IntOffset برمیگرداند. (Ic9ee5، b/174137212، b/174146755)
ShaderBrush را بازسازی کرد تا نمونه سایهزن را وقتی اطلاعات اندازه محیط طراحی دردسترس است بهصورت تنبل ایجاد کند. این کار برای تعریف گرادیانهایی که در زمان ترکیب، کل محدوده طراحی یک عنصر ترکیبپذیر را اشغال میکنند مفید است، بدون اینکه نیاز باشد پیادهسازیهای سفارشی DrawModifier را پیادهسازی کنید.
میاناهای برنامهسازی کاربردی سازنده تابع گرادیان منسوخ شدهاند بهنفع روشهای کارخانهای در یک شیء «گرادیان». (I511fc, b/173066799)
Modifier.focusObserver منسوخ شده است. بهجای آن از Modifier.onFocusChanged یا Modifier.onFocusEvent استفاده کنید (I30f17، b/168511863، b/168511484)
LazyColumnFor، LazyRowFor، LazyColumnForIndexed، و LazyRowForIndexed را منسوخ کنید. بهجای آن از LazyColumn و LazyRow استفاده کنید (I5b48c)
Dp.VectorConverter، Position.VectorConverter، و غیره به animation-core منتقل شد و VectorConveters قدیمی (If0c4b) منسوخ شد
«میانای برنامهسازی کاربردی تکمیل خودکار» اکنون میانای برنامهسازی کاربردی آزمایشی است و نیاز به موافقت دارد (I0a1ec)
افزودن بیانیههای ساختارشکنی برای ایجاد نمونههای FocusRequester (I35d84، b/174817008)
نام accessibilityLabel به contentDescription تغییر کرده است. نام accessibilityValue به stateDescription تغییر کرده است. (I250f2)
تابع جدید infiniteRepeatable برای ایجاد InfiniteRepeatableSpec (I668e5)
عملکرد جایگذاری DropdownMenus براساس مشخصات Material کمی تغییر کرد. (I34c72، b/168594123)
پشتیبانی از InteractionState برای TextFields اضافه شده است. (I61d91)
Modifier.clearAndSetSemantics اضافه شد تا معناشناسی فرزندان را پاک کند و معناشناسی جدیدی تنظیم کند. (I277ca)
ContentDrawScope به ui-graphics انتقال یافت تا با DrawScope باشد. (Iee043، b/173832789)
نسخه 1.0.0-alpha08
۲ دسامبر ۲۰۲۰
androidx.compose.material:material:1.0.0-alpha08، androidx.compose.material:material-icons-core:1.0.0-alpha08، و androidx.compose.material:material-icons-extended:1.0.0-alpha08 منتشر شدند. نسخه 1.0.0-alpha08 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- MaterialTheme اکنون رنگهای صحیح را برای دستههای انتخاب و پسزمینه انتخاب تنظیم میکند. برنامههای غیر Material میتوانند بهصورت دستی از AmbientTextSelectionColors برای سفارشیسازی رنگهای استفادهشده برای انتخاب استفاده کنند. (I1e6f4، b/139320372، b/139320907)
- بررسی lint برای نامگذاری و موقعیت پارامتر لامبدای ترکیبشدنی اضافه شد تا با رهنمودهای Compose سازگاری داشته باشد.
همچنین برخیاز APIها را بااستفاده از
childrenبهعنوان نام لامبدای انتهاییشان بهcontentانتقال دادیم، طبق بررسی و راهنمایی lint. (Iec48e) - VectorAsset به ImageVector تغییر نام داد VectorAsset به Builder منتقل و تغییر نام داد تا طبق رهنمودهای شورای API، کلاس درونی ImageVector باشد. نام مستعار نوع VectorAssetBuilder به پیوند به ImageVector.Builder برای سازگاری اضافه شد. (Icfdc8)
- ImageAsset و روشهای مرتبط را به ImageBitmap تغییر نام داد. (Ia2d99)
- خصوصیات معناشناسی بنیاد به ui منتقل شد (I6f05c)
-
fun RippleIndication()منسوخ شده است و برای سازگاری با دیگر میاناهای برنامهسازی کاربردی باrememberRippleIndication()جایگزین شده است. (Id8e2c) - پارامتر singeLine به BasicTextField، TextField، و OutlinedTextField اضافه شد. برای تبدیل فیلد نوشتاری به یک خط افقی قابلپیمایش، این پارامتر را روی true تنظیم کنید. (I57004، b/168187755)
رفع اشکالها
- افزودن کنش معنایی بستن (I2b706)
- «میاناهای برنامهسازی کاربردی DrawModifier» از بسته androidx.compose.ui به بسته androidx.compose.ui.draw منتقل شد. فایل DrawModifierDeprecated.kt را ایجاد کرد تا نامهای مستعار نوع/روشهای کمکی را برای کمک به انتقال از APIهای منسوخشده به APIهای فعلی دربر بگیرد. (Id6044، b/173834241)
- نام Modifier.drawLayer به Modifier.graphicsLayer تغییر کرد همچنین کلاسهای مرتبط طبق بازخورد API به GraphicsLayer بهروزرسانی شد. (I0bd29, b/173834241)
-
<T>از بیانیه SubcomposeLayout برداشته شد. اکنون میتوانید بدون مشخص کردن نوع از آن استفاده کنید. (Ib60c8) - «واسطهای برنامهسازی کاربردی» Modifier.scale/rotate
بهعنوان تسهیلات برای drawLayer اضافه شد.
- نام
Modifier.drawOpacityبهModifier.alphaتغییر کرد - نام
Modifier.drawShadowبهModifier.shadowتغییر کرد (I264ca، b/173208140)
- نام
- پارامتر تراز «چارگوش» به contentAlignment تغییر نام داد. (I2c957)
- نام اصلاحکنندههای offsetPx به offset تغییر کرد. اکنون بهجای State، پارامترهای لامبدا میگیرند. (Ic3021، b/173594846)
- SweepGradientShader و SweepGradientBrush API معرفی شد. (Ia22c1)
- بررسی lint برای پارامترهای «اصلاحگر» در توابع «ترکیبی» اضافه شد. این بررسی lint نامگذاری، نوع برگشتی، مقدار پیشفرض، و ترتیب پارامتر را برای سازگاری با رهنمودهای Compose بررسی میکند. (If493b)
- بهروزرسانی میانای برنامهسازی کاربردی TextFieldValue
- TextFieldValue.composition فقط خواندنی شد
- استثنای برداشتهشده برای محدوده انتخاب نامعتبر (I4a675، b/172239032)
- بار اضافی
Modifier.drawLayer()جدیدی اضافه شد. بلوک لامبدایی را در GraphicsLayerScope جدیدی میگیرد که در آن پارامترهای لایه را بهگونهای تعریف میکنید که وقتی وضعیت تغییر میکند، امکان رد کردن بازآرایی و بازچیدمان وجود داشته باشد. DrawLayerModifier اکنون داخلی است تا برای انتقال منطق آن به روشplaceable.placeWithLayer()در LayoutModifier آماده شود (I15e9f، b/173030831) - «محیطهای» منسوخشدهای که نام آنها با
Ambientبهعنوان پسوند بود، با داراییهای جدیدی که پیشوند آنها «محیط» بود جایگزین شدند و از سایر «محیطها» و دستورالعملهای «میانای برنامهسازی کاربردی Compose» پیروی کردند. (I33440) - بررسی lint اضافه شد تا بررسی کند که کارخانههای «اصلاحگر» بهجای اینکه بهعنوان
@Composableعلامتگذاری شوند، ازandroidx.compose.ui.composed {}در داخل استفاده میکنند. (I3c4bc) - نام آرگومان معنایی mergeAllDescendants به mergeDescendants تغییر کرد. (Ib6250)
- کنترل زمان در آزمایشها (TestAnimationClock و موارد استفاده آن) اکنون آزمایشی است (I6ef86، b/171378521)
- برداشتن واحد ui-test قدیمی و کدهای جایخالی آن (I3a7cb)
- TextUnit.Inherit برای هماهنگی با واحدهای دیگر به TextUnit.Unspecified تغییر نام داده شده است. (Ifce19)
- میانای «تراز» بهروزرسانی و کاربردی شد. (I46a07، b/172311734)
- id به layoutId برای LayoutIdParentData تغییر نام داد. نام Measurable.id به Measurable.layoutId تغییر کرد. (Iadbcb، b/172449643)
نسخه 1.0.0-alpha07
۱۱ نوامبر ۲۰۲۰
androidx.compose.material:material:1.0.0-alpha07، androidx.compose.material:material-icons-core:1.0.0-alpha07، و androidx.compose.material:material-icons-extended:1.0.0-alpha07 منتشر شدند. نسخه 1.0.0-alpha07 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- «تأکید» منسوخ شده است و با AmbientContentAlpha جایگزین شده است. AmbientContentAlpha یک انتزاع سادهتر است که نشاندهنده آلفای محتوای ترجیحی برای بخشی از سلسلهمراتب است، مشابه با نحوه نشان دادن رنگ محتوای ترجیحی توسط AmbientContentColor. اکنون «نوشتار» و «نماد» بهطور پیشفرض مقدار کنونی را از AmbientContentAlpha مصرف میکنند و میتوانید بهصورت دستی
color.copy(alpha = AmbientContentAlpha.current)را انجام دهید تا جلوه یکسانی در عناصرتان داشته باشید. بهجای استفاده از ProvideEmphasis، میتوانید مستقیماً مقداری را ازطریق AmbientContentAlpha ارائه دهید و از سطوح پیشفرض جدید در ContentAlpha برای جایگزینی EmphasisLevels قدیمی استفاده کنید. (Idf03e، b/159017896) - androidx.compose.material.AmbientContentColor را برای جایگزینی androidx.compose.foundation.AmbientContentColor اضافه میکند (I84f7b، b/172067770)
- androidx.compose.material.Text را اضافه میکند تا جایگزین androidx.compose.foundation.Text بهعنوان عنصر نوشتاری سطح بالا و زمینهپذیر شود. برای عنصر نوشتاری پایه که از رنگ / سبک نوشتار زمینه استفاده نمیکند، از BasicText استفاده کنید. (Ie6ae0)
- maxLines به TextFields اضافه شد (Ib2a5b)
- بهروزرسانی TextFields برای پذیرفتن KeyboardOptions (Ida7f3)
- Surface اکنون هنگام محاسبه رونهادهای ارتفاع از ارتفاع مطلق (کل) استفاده میکند، بنابراین Surface توکار در Surface دیگر از ارتفاع ترکیبی برای رسم رونهاد استفاده میکند. (I7bd2b، b/171031040)
رفع اشکالها
-
captureToBitmapبهcaptureToImageمنتقل شد. (I86385) - AmbientTextStyle، ProvideTextStyle، و AmbientContentColor منسوخ شدهاند. بهجای آن از نسخههای جدید موجود در کتابخانه «ماتریال» استفاده کنید. برای برنامههای غیر Material، باید بهجای آن سیستم طراحی خودتان را ایجاد کنید که دارای زمینههای خاصی باشد که بتواند در عناصر خودتان استفاده شود. (I74acc، b/172067770)
- foundation.Text منسوخ شده است و با material.Text جایگزین شده است. برای میانای برنامهسازی کاربردی نوشتاری ساده و بیطرف که مقادیر را از زمینه مصرف نمیکند، androidx.compose.foundation.BasicText را ببینید. (If64cb)
- تغییر نام KeyboardOptions به ImeOptions (I82f36)
- KeyboardType و ImeAction به KeyboardOptions منتقل شد (I910ce)
- BaseTextField منسوخ شده است. درعوض از BasicTextField استفاده کنید. (I896eb)
- گزارمان ExperimentalSubcomposeLayoutApi برداشته شد. اکنون میتوان از SubcomposeLayout بدون افزودن @OptIn استفاده کرد (I708ad)
- FirstBaseline و LastBaseline به بسته androidx.compose.ui.layout منتقل شدند (Ied2e7)
- «میانای برنامهسازی کاربردی نماد» بهروزرسانی شد تا Color.Unspecified را بهعنوان رنگآمیزی احتمالی بپذیرد که دارایی یا نقاش ارائهشده را بدون ColorFilter رسم میکند. قبلاً تلاش برای نادیده گرفتن رنگآمیزی با Color.Unspecified باعث رنگآمیزی با رنگ شفاف میشد و درنهایت چیزی ارائه نمیشد. (I049e2، b/171624632)
- نام relativePaddingFrom به paddingFrom تغییر کرد. اصلاحگر paddingFromBaseline برای راحتی در تعیین فاصلهها از محدودههای چیدمان تا خطوط پایه نوشتار اضافه شده است. (I0440a، b/170633813)
- LaunchedTask برای هماهنگی با میاناهای برنامهسازی کاربردی SideEffect و DisposableEffect به LaunchedEffect تغییر نام داد. LaunchedEffect بدون پارامترهای موضوع برای تشویق به روالهای مطلوب مجاز نیست. (Ifd3d4)
- MeasureResult از MeasureScope خارج شد. (Ibf96d، b/171184002)
- چندین نماد مربوط به چیدمان از androidx.compose.ui به androidx.compose.layout.ui منتقل شدند. (I0fa98، b/170475424)
نسخه 1.0.0-alpha06
۲۸ اکتبر ۲۰۲۰
androidx.compose.material:material:1.0.0-alpha06، androidx.compose.material:material-icons-core:1.0.0-alpha06، و androidx.compose.material:material-icons-extended:1.0.0-alpha06 منتشر شدند. نسخه 1.0.0-alpha06 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- androidx.compose.foundation.Icon به androidx.compose.material.Icon منتقل شده است. اگر نمیخواهید از کتابخانه Material استفاده کنید، میتوانید از عنصر «تصویر» / Modifier.paint() با Painter نیز استفاده کنید. (I9f622)
- FloatingActionButtonElevation را اضافه میکند تا نشان دهد «دکمههای کنش شناور» در حالتهای مختلف از چه ارتفاعی استفاده میکنند. برای پیادهسازی پیشفرض، FloatingActionButtonConstants.defaultElevation() را ببینید (I2d4f5)
- میانای SwitchColors را اضافه میکند تا رنگهای استفادهشده توسط «کلید» را در حالتهای مختلف نشان دهد. برای سفارشیسازی این رنگها، SwitchConstants.defaultColors را ببینید. (I93805)
- واسطهای ButtonElevation و ButtonColors را برای نشان دادن ارتفاع و رنگهای استفادهشده توسط دکمهها در حالتهای مختلف اضافه میکند. برای سفارشیسازی این پارامترها، توابع پیشفرض را در ButtonConstants ببینید. (Ic5b7b)
- واسط RadioButtonColors را اضافه میکند تا رنگهای استفادهشده توسط RadioButton را در حالتهای مختلف نشان دهد. برای سفارشیسازی رنگهای استفادهشده در حالتهای مختلف، به RadioButtonConstants.defaultColors() مراجعه کنید. (I74130)
- واسط CheckboxColors را اضافه میکند تا رنگهای استفادهشده توسط چارگوش انتخاب در حالتهای مختلف را نشان دهد. برای سفارشیسازی رنگهای استفادهشده در حالتهای مختلف، به CheckboxConstants.defaultColors() مراجعه کنید. (I7dbdb)
رفع اشکالها
- عناصر Material دیگر ارتفاع را بهعنوان zIndex تنظیم نمیکنند. این یعنی در یک والد، کودکی که سایه بزرگتری دارد بهطور خودکار روی کودکی که سایه کوچکتری دارد کشیده نمیشود. اگر هنوز به چنین رفتاری نیاز دارید، لطفاً Modifier.zIndex() را بهصورت دستی در جاهایی که لازم است تنظیم کنید (I70417، b/170623932)
- VectorPainter را در مقابل rememberVectorPainter منسوخ کنید تا بهتر نشان دهید که API ترکیبی بهصورت داخلی از «بهخاطرآوری» برای ماندگار کردن دادهها در ترکیبها استفاده میکند. (Ifda43)
- فعال کردن گذارها در ComposeTestRule؛ برداشتن گزینه فعال کردن مکاننمای چشمکزن از ComposeTestRule. (If0de3)
- گزینه صفحهکلید تکخطی به CoreTextField اضافه شد (I72e6d)
- «میانای برنامه کاربردی شعاع» به CornerRadius تغییر نام داد تا بهتر بیان کند چگونه در سراسر Compose استفاده میشود. مستندات بهروزرسانی شد تا نشان دهد شعاعهای گوشه منفی به صفر مقید میشوند. (I130c7، b/168762961)
- DrawScope و
ContentDrawScope را بازسازی کردیم تا بهجای کلاسهای انتزاعی
واسط باشند
- پیادهسازی CanvasDrawScope از DrawScope ایجاد شد
- پیادهسازیهای بازسازیشده DrawScope برای استفاده از CanvasScope
- DrawContext برای بستهبندی وابستگیها برای DrawScope ایجاد شد
- روشهای منسوخشده در DrawScope برداشته شد (I56f5e)
- Box به تابع درونخطی تبدیل شد. (Ibce0c، b/155056091)
نسخه 1.0.0-alpha05
۱۴ اکتبر ۲۰۲۰
androidx.compose.material:material:1.0.0-alpha05، androidx.compose.material:material-icons-core:1.0.0-alpha05، و androidx.compose.material:material-icons-extended:1.0.0-alpha05 منتشر شدند. نسخه 1.0.0-alpha05 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- اکنون پنجرههای بالاپَر و کادرهای گفتگو FLAG_SECURE را از «پنجره» والد بهارث میبرند. همچنین گزینه پیکربندی صریح این مورد اضافه شد (I64966، b/143778148، b/143778149)
- اکنون اصلاحگر.کشیدنی بهطور پیشفرض آستانههای ۵۶dp برای وضعیتها دارد (Iab825، b/168610267)
- همه وضعیتهای داربست بهعنوان @Stable علامتگذاری شد. drawerGesturesEnabled در ScaffoldState به خود Scaffold منتقل شد. (I36645، b/168297016)
- نوع تهیپذیر را از پارامترهای Scaffold lambda برمیدارد، میتوانید از emptyContent() برای نشان دادن اینکه پارامتر معینی محتوا ندارد استفاده کنید. (I2b318، b/157633857، b/158551084)
contentColor() و currentTextStyle() APIs را منسوخ میکند و آنها را بهترتیب با AmbientContentColor و AmbientTextStyle ambients جایگزین میکند. میتوانید بااستفاده از
.currentدر دارایی محیطی، مانند هر محیط دیگری، به مقدار فعلی دسترسی پیدا کنید. این تغییر برای ایجاد یکپارچگی و جلوگیری از وجود چندین روش برای انجام یک کار انجام شده است. علاوهبراین، برخیاز داراییهای محیطی را تغییر نام میدهد تا هدف آنها را بهتر توصیف کند، به این صورت:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
AmbientElevationOverlay اضافه میشود که امکان سفارشیسازی / غیرفعال کردن رونهاد ارتفاع پیشفرض اعمالشده روی «سطوح» در زمینه تیره را فراهم میکند. (I5b74d)
رفع اشکالها
- بهعنوان بخشی از استانداردسازی مقادیر نگهبان برای کلاسهای درونخطی، برای هماهنگی با دیگر کلاسهای درونخطی، نام Color.Unset را به Color.Unspecified تغییر دهید (I97611، b/169797763)
- TextOverflow.None معرفی شده است. وقتی سرریز «هیچ» باشد، «نوشتار» دیگر سرریز را مدیریت نمیکند و اندازه واقعیاش را به «گره چیدمان» گزارش میکند. (I175c9، b/158830170)
- launchInComposition به LaunchedTask تغییر نام داد تا با رهنمودهای Compose API مطابقت داشته باشد (I99a8e)
- OnPositionedModifier به OnGloballyPositionedModifier تغییر نام داده شد و onPositioned() به onGloballyPositioned() تغییر نام داد. (I587e8، b/169083903)
نسخه 1.0.0-alpha04
۱ اکتبر ۲۰۲۰
androidx.compose.material:material:1.0.0-alpha04، androidx.compose.material:material-icons-core:1.0.0-alpha04، و androidx.compose.material:material-icons-extended:1.0.0-alpha04 منتشر شدند. نسخه 1.0.0-alpha04 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- پارامترهای InteractionState را در عناصر Material حالتدار آشکار میکند تا امکان بالا بردن حالت و خواندن / کنترل حالت را فراهم کند. (Iaca5f, b/168025711, b/167164434)
- پارامترهای
*colorرا در RadioButton و TriStateCheckbox تغییر میدهد تا امکان سفارشیسازی کامل رنگهای استفادهشده در هر حالت فراهم شود، و همچنین درصورت تمایل، نحوه پویانمایی رنگها بین حالتها تغییر کند. برای اطلاعات بیشتر، توابع رنگ animateDefault* جدید را در CheckboxConstants و RadioButtonConstants ببینید. (I1c532) - نام rememberBackdropState به rememberBackdropScaffoldState تغییر کرد و پارامتر اضافهای برای ساعت پویانمایی اضافه شد. نام پارامتر backdropScaffoldState از BackdropScaffold به scaffoldState تغییر کرد. نام BackdropConstants به BackdropScaffoldConstants تغییر کرد. (Ib644d)
- عنصر آزمایشی BottomSheetScaffold اضافه شد. (Ie02f0، b/148996320)
- عنصر آزمایشی ModalBottomSheetLayout اضافه شد. (Ic209e، b/148996320)
- نام ButtonConstants/FloatingActionButtonConstants.defaultAnimatedElevation را به defaultElevation تغییر میدهد و اکنون بهجای AnimatedValue مقدار Dp برمیگرداند. (I5f3ed)
رفع اشکالها
- بسیاری از «میاناهای برنامهسازی کاربردی گرافیک» بهروزرسانی شد
- میاناهای برنامهسازی کاربردی تبدیل چرخش و مقیاس بهروزرسانی شد تا از یک پارامتر «آفست» برای نشان دادن مختصات محور بهجای پارامترهای شناور جداگانه برای مختصات 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)
- بسیاری از «میاناهای برنامهسازی کاربردی گرافیک» بهروزرسانی شد
- DrawScope APIs با روشهای تبدیل محدودهدار بهروزرسانی شد تا نشان دهد تبدیل فقط در محدوده تماس برگشتی اعمال میشود و پساز فراخوانی تماس برگشتی برداشته میشود
- مستندات clipPath بهروزرسانی شد تا بهجای مستطیل گرد به «مسیر» اشاره کند
- فاصله ثابت در مستندات برای پارامتر راست در clipPath
- DrawScope.drawCanvas به drawIntoCanvas تغییر نام داد و پارامتر اندازه برداشته شد
- پارامترهای dx/dy در روش درج به افقی و عمودی تغییر نام داد
- سرباری درونی اضافه شد که مقدار درونی یکسانی را برای همه ۴ محدوده ارائه میدهد
- مستندات مربوط به روش درج که نشان میداد درج روی هر ۴ طرف اعمال میشود برداشته شد
- سند بهروزشده برای کلاس Rect
- نظرات پارامترهای «مستطیل» بهروز شد تا با سبک kdoc مطابقت داشته باشد
- Rect.join و Rect.expandToInclude برداشته شد
- بار اضافه برای Rect.translate(offset) ایجاد شد و Rect.shift منسوخ شد
- (If086a، b/167737376)
- از وارد کردن ایستا محتوای محدودههای چیدمان (برای نمونه alignWithSiblings در RowScope) جلوگیری کردیم. درعوض باید از محدوده صریح جایگزین استفاده شود:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be، b/166760797)
نسخه 1.0.0-alpha03
۱۶ سپتامبر ۲۰۲۰
androidx.compose.material:material:1.0.0-alpha03، androidx.compose.material:material-icons-core:1.0.0-alpha03، و androidx.compose.material:material-icons-extended:1.0.0-alpha03 منتشر شدند. نسخه 1.0.0-alpha03 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- نام پارامتر
onSelectدرBottomNavigationItemرا بهonClickتغییر میدهد (I91925، b/161809324) - پارامتر InteractionState را به BottomNavigationItem و Tab اضافه میکند و امکان میدهد این وضعیت را برافرازید و نحوه نمایش مؤلفه در وضعیتهای مختلف را تنظیم کنید. (Ia3e9e، b/168025711)
- پارامترهای
disabledBackgroundColorوdisabledContentColorرا از دکمهها برمیدارد. درعوض باید از توابع رنگ پیشفرض جدید در ButtonConstants استفاده کنید. اگر ازقبل contentColor / backgroundColor را بهطور صریح تنظیم میکنید، بهتر است بهجای آن از این توابع پیشفرض استفاده کنید و برخی یا همه پارامترها را سفارشیسازی کنید تا رنگ برای هر دو حالت فعال / غیرفعال بازنویسی نشود. (If9b52) - رنگ پسزمینه فیلد نوشتاری دیگر بهطور ضمنی شفافیت آلفا را اعمال نمیکند. درعوض، هر رنگی که ازطریق پارامتر backgroundColor ارائه شود مستقیماً اعمال خواهد شد. (Iecee9، b/167951441)
- نام InnerPadding به PaddingValues تغییر کرد. (I195f1، b/167389171)
- پارامترهای
resistanceFactorAtMinوresistanceFactorAtMaxدرModifier.swipeableبا یک پارامتر مقاومت واحد جایگزین شدند. روشdefaultResistanceConfigجدیدی درSwipeableConstantsاضافه شد. (I54238) - پشتیبانی از ارتفاع حالت پویانماییشده برای «دکمه» و «دکمه کنش شناور» را اضافه میکند. اکنون ارتفاع بین وضعیتهای پیشفرض و فشرده پویانمایی میشود. برای سفارشیسازی ارتفاع بین حالتها، لطفاً بهجای تنظیم مقدار Dp ثابت در همه موارد، از
ButtonConstants.defaultAnimatedElevation()وFloatingActionButtonConstants.defaultAnimatedElevation()استفاده کنید. (I37925) - برچسب به پارامتر اختیاری در TextField و OutlinedTextField تبدیل شد (I267f6، b/162234081)
رفع اشکالها
- کارکردهای آزمایش جهانی مثل
onNodeیاwaitForIdleاکنون منسوخ شدهاند، لطفاً به همتایان جدید آنها که در ComposeTestRule تعریف شدهاند (I7f45a) انتقال دهید - DpConstraints و میاناهای برنامهسازی کاربردی که از آن استفاده میکنند منسوخ شدند. (I90cdb، b/167389835)
- پارامترهای minWidth و maxWidth از widthIn به min و max تغییر نام دادند. بههمین ترتیب برای preferredWidthIn، heightIn، preferredHeightIn. (I0e5e1، b/167389544)
- کنشهای معنایی پیمایش بهجلو/بهعقب را بردارید. مراحل اضافه شده در AccessibilityRangeInfo. (Ia47b0)
- کاربردهای گرانش بهطور پیوسته به تراز یا تراز کردن در میاناهای برنامهسازی کاربردی چیدمان تغییر نام داده شد. (I2421a، b/164077038)
- onNode و دیگر روشهای سراسری در ComposeTestRule اضافه شد زیرا روشهای سراسری فعلی منسوخ خواهند شد. (Ieae36)
-
createAndroidComposeRuleوAndroidInputDispatcherازandroidx.ui.test.androidبهandroidx.ui.testمنتقل شد (Idef08، b/164060572)
نسخه 1.0.0-alpha02
۲ سپتامبر ۲۰۲۰
androidx.compose.material:material:1.0.0-alpha02، androidx.compose.material:material-icons-core:1.0.0-alpha02، و androidx.compose.material:material-icons-extended:1.0.0-alpha02 منتشر شدند. نسخه 1.0.0-alpha02 شامل این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- عنصر BackdropScaffold آزمایشی اضافه شد. (Iad908)
رفع اشکالها
- Matrix4 با Matrix جایگزین شد. همه بخشهای دیگر بسته vectormath برداشته شده است. (Ibd665، b/160140398)
نسخه 1.0.0-alpha01
۲۶ اوت ۲۰۲۰
androidx.compose.material:material:1.0.0-alpha01، androidx.compose.material:material-icons-core:1.0.0-alpha01، و androidx.compose.material:material-icons-extended:1.0.0-alpha01 منتشر شدند. نسخه 1.0.0-alpha01 شامل این تعهدات است.
مشکل شناختهشده
= اولین نویسه در یک عنصر TextField را نمیتوان بااستفاده از کلید برگشت (b/165956313) حذف کرد
نسخه 0.1.0-dev
نسخه 0.1.0-dev17
۱۹ اوت ۲۰۲۰
androidx.compose.material:material:0.1.0-dev17، androidx.compose.material:material-icons-core:0.1.0-dev17، و androidx.compose.material:material-icons-extended:0.1.0-dev17 منتشر شدند. نسخه 0.1.0-dev17 حاوی این تعهدات است.
تغییرات میانای برنامهسازی کاربردی
- RadioGroup و RadioGroupItems که قبلاً منسوخ شده بودند برداشته شدهاند. بهجای آن از «ردیف» و «دکمه رادیویی» استفاده کنید (I381b7، b/163806637)
- کاربردهای برگشتی OnFocusChanged را از «فیلد نوشتاری» برداشت. درعوض از Modifier.focusObserver استفاده کنید. (I51089، b/161297615)
- Modifier.drawBorder نامناسب شده است. درعوض از Modifier.border استفاده کنید. کلاس داده «حاشیه» با BorderStroke جایگزین شده است (I4257d، b/158160576)
- برخیاز داراییها در SwipeableState تغییر نام دادند: swipeTarget -> targetValue، swipeProgress -> progress، swipeDirection -> direction. تابع rememberSwipeableState برای ایجاد SwipeableStates اضافه شد. (I2fc9c, b/163129614, b/163132293)
- پشتیبانی از نوار اسنک با جایگاهسازی و صفبندی مناسب اضافه شده است. ازطریق عملکرد تعلیق
SnackbarHostState.showSnackbarبه آن دسترسی پیدا کنید. بهعلاوه:- عناصر SnackbarHost اضافه شده است. این عنصر براساس وضعیت، میزبان «نوار توضیحات» است و مسئول انتقال بین نوارهای توضیحات است.
- SnackbarHostState اضافه شده است تا امکان کنترل نوار تنقلها، میزبانهای نوار تنقلها، و جدا کردن آن از ScaffoldState فراهم شود. ازطریق
scaffoldState.snackbarHostStateنیز میتوانید به این وضعیت دسترسی داشته باشید. - بار اضافی نوار تنقلات اضافه شده است تا از میانای مشترک بین snackbarHostState و خود نوارهای تنقلات پشتیبانی کند. (I79aaa)
- پارامتر فعالشده را به «دکمه نماد» اضافه میکند و پارامترها را در «دکمه نماد دوحالته» بازآرایی میکند (I0a941، b/161809385، b/161807956)
- نسخه «فهرست مورد» با «میانای برنامهسازی کاربردی» مبتنی بر «رشته» برداشته شده است. بهجای آن از نسخه جایگاه استفاده کنید. (Ib8f57، b/161804681)
- عنصر منسوخشده «فیلدتکست پرشده» برداشته شد. لطفاً برای دریافت پیادهسازی «طراحی مواد» فیلد نوشتاری «پرشده»، از TextField استفاده کنید. (I5e889)
- AlertDialog اکنون از FlowRow برای دکمهها استفاده میکند (I00ec1، b/161809319، b/143682374)
- پارامترهایی در Modifier.swipeable برای تغییر میزان مقاومت هنگام کشیدن فراتر از مرزها اضافه شد. پارامترهای [حداقل/حداکثر]مقدار برداشته شد. (I93d98)
- پارامتر backgroundColor به LinearProgressIndicator اضافه شد و بالشتک داخلی از CircularProgressIndicator برداشته شد. ProgressIndicatorConstants.DefaultProgressAnimationSpec جدیدی اضافه شد که میتواند بهعنوان AnimationSpec پیشفرض هنگام پویانمایی پیشرفت بین مقادیر استفاده شود (If38b5، b/161809914، b/161804677)
- پارامتر اختیاری velocityThreshold به Modifier.swipeable اضافه شد. (I698ba)
- bottomBarSize، fabSize، و موارد دیگر دیگر در ScaffoldState دردسترس نیستند. بهجای آن در مؤلفهای که میخواهید اندازه آن را بدانید از Modifier.onPosition استفاده کنید. پارامترهای contentColor و Modifier به Scaffold اضافه شده است (Ic6f7b، b/161811485، b/157174382)
- برخیاز پارامترها را در «برگه» تغییر نام میدهد و ترتیب آنها را تغییر میدهد تا با دیگر «میاناهای برنامهسازی کاربردی» سازگار باشد (Ia2d12، b/161807532)
- TabRow را به TabRow و ScrollableTabRow تقسیم میکند و isScrollable را از TabRow برمیدارد. همچنین edgePadding را در ScrollableTabRow نمایان میکند که امکان کنترل فضای آزاد قبل / بعداز برگهها را فراهم میکند. (I583e8، b/161809544)
- شیء
TabRowبرداشته شده است و با TabConstants جایگزین شده است. TabRow.TabPosition به سطح بالا (TabPosition) منتقل شده است و نام indicatorContainer بهindicatorتغییر کرده است. برای اطلاعات دقیق درباره نحوه استفاده از میانای برنامهسازی کاربردی بهروزشده و پیشفرضها، نمونهها و مستندات را ببینید. (I54d45، b/161809544) - پارامتر آستانهها در Modifier.swipeable اصلاح شد؛ اکنون یک جفت وضعیت (از نوع T) میگیرد و آستانه بین آنها را بهصورت ThresholdConfig برمیگرداند. پارامتر dismissThresholds به SwipeToDismiss اضافه شد که یک لامبدا (DismissDirection) -> ThresholdConfig است. (Ie1080)
- لغزنده رنگهای بیشتری برای سفارشیسازی دقیق دارد (I73e64، b/161810475)
- پارامتر رنگ کارت به backgroundColor تغییر نام داد (I01fc1، b/161809546)
- نوار پیامک اکنون دارای پسزمینه و رنگهای محتوای سفارشیسازیشدنی است (I238f2، b/161804381)
- پارامترهای سفارشیسازی اصلاحگر، backgroundColor، contentColor، و scrimColor به «کشوییها» اضافه شده است (I23655، b/161804378)
-
state { ... }قابل ترکیب اکنون بهنفع فراخوانیهای صریح بهremember { mutableStateOf(...) }برای وضوح منسوخ شده است. این کار سطح کلی میانای برنامهسازی کاربردی و تعداد مفاهیم مدیریت وضعیت را کاهش میدهد و با الگویby mutableStateOf()برای واگذاری دارایی کلاس مطابقت دارد. (Ia5727) - پارامتر حاشیه دکمه به contentPadding تغییر نام داد (Id252e، b/161809394)
- افزودن عنصر تجربی SwipeToDismiss. (I129e5)
رفع اشکالها
-
onChildPositionedوOnChildPositionedModifierبرداشته شد. توسعهدهندگان باید درعوض ازonPositionedوOnPositionedModifierدر چیدمان کودک استفاده کنند. (I4522e، b/162109766) - mergePolicy لامبدا به SemanticsPropertyKey اضافه شد. از این میتوان برای تعریف خطمشی سفارشی برای معناشناسی ادغام کردن mergeAllDescendants استفاده کرد. خطمشی پیشفرض این است که اگر مقدار والد ازقبل وجود داشته باشد از آن استفاده شود، درغیراینصورت از مقدار فرزند استفاده میشود. (Iaf6c4، b/161979921)
- IntSize اکنون کلاس بهخط است (I2bf42)
- نام
PlacementScope.placeAbsolute()بهPlacementScope.place()تغییر کرد و نامPlacementScope.place()قبلی بهPlacementScope.placeRelative()تغییر کرد. درنتیجه، روشPlacementScope.place()دیگر بهطور خودکار موقعیت را در زمینههای راستبهچپ قرینه نخواهد کرد. اگر این تغییر مطلوب است، درعوض ازPlacementScope.placeRelative()استفاده کنید. (I873ac، b/162916675) - PxBounds منسوخشده بهنفع Rect. همه موارد استفاده از PxBounds با rect بهروزرسانی شد و حاشیهنویسیهای مناسب منسوخ کردن/جایگزین کردن برای کمک به انتقال اضافه شد. (I37038، b/162627058)
- نام RRect به RoundRect تغییر کرد تا بهتر با الگوهای نامگذاری Compose مطابقت داشته باشد سازندههای تابع مشابهی برای RRect ایجاد شد و سازندههای تابع RRect منسوخ شد (I5d325)
نسخه 0.1.0-dev16
۵ اوت ۲۰۲۰
androidx.compose.material:material:0.1.0-dev16، androidx.compose.material:material-icons-core:0.1.0-dev16، و androidx.compose.material:material-icons-extended:0.1.0-dev16 منتشر شدند. نسخه 0.1.0-dev16 حاوی این تعهدها است.
تغییرات میانای برنامهسازی کاربردی
- اکنون «رنگها» بهجای واسط، کلاس نهایی است. بهجای گسترش و ارائه پیادهسازی سفارشی، باید محیط جدیدی برای موضوع سفارشی خود ایجاد کنید و ازطریق محیط جدید در عناصر خود به موضوع دسترسی پیدا کنید، مشابه نحوه عملکرد داخلی MaterialTheme. (Ibae84)
- ColorPalette به Colors تغییر نام داد تا بهتر با سیستم رنگ Material مطابقت داشته باشد و سردرگمی درباره اینکه ColorPalette یک شیء زمینهسازی «عمومی» است یا نه برطرف شود، زیرا این شیء یک پیادهسازی خاص از سیستم رنگ Material است. علاوهبراین، lightColorPalette و darkColorPalette را بهترتیب به lightColors و darkColors تغییر نام میدهد. (I9e976، b/161812111)
- پارامتر
textدر BottomNavigationItem را بهlabel،onSelectedرا بهonSelect،activeColorرا بهselectedContentColor،inactiveColorرا بهunselectedContentColorتغییر نام میدهد و ترتیب پارامتر را بهروز میکند تا با دستورالعملها مطابقت داشته باشد. (Icb605, b/161809324) -
Modifier.stateDraggableکاملاً بازسازی و به Modifier.swipeable تغییر نام داده شد. کلاس جدیدی بهنام SwipeableState معرفی شد و DrawerState و BottomDrawerState برای ارثبری از آن بازسازی شدند. [Modal/Bottom]DrawerLayout دیگر پارامتر onStateChange را نمیپذیرد. (I72332، b/148023068) - بسته foundation.shape.corner به foundation.share مسطح شد (I46491، b/161887429)
- گزارمان ExperimentalMaterialApi اضافه شد. RippleTheme بهعنوان «آزمایشی» علامتگذاری شد (Ic5fa0، b/161784800)
- نام Material FilledTextField به TextField تغییر کرد و نام TextField بنیادی به BaseTextField تغییر کرد تا سادهترین API موردنظر بهراحتی قابلکشف و استفاده باشد (Ia6242، b/155482676)
رفع اشکالها
- OnChildPositioned منسوخ شده است. درعوض از OnPositioned در فرزند استفاده کنید. (I87f95, b/162109766)
- رفع اشکالات گسترده در Address API (I077bc)
- برداشتن میانای OffsetBase استفادهنشده
- تراز کردن کلاسهای «آفست» و «آفست داخلی» برای داشتن سطح میانای برنامهسازی کاربردی یکپارچه
- برای هماهنگی با Offset API، IntOffset.Origin را به IntOffset.Zero تغییر نام دهید
- روش nativeCanvas از رابط Canvas منتقل شد تا از مصرفکنندگان برای ایجاد نمونههای Canvas خودشان پشتیبانی شود
- کلاس EmptyCanvas برای بازسازی DrawScope ایجاد شد تا بهجای lateinit پارامتر غیرتهی باشد و غیرتهی بودن فیلد تضمین شود
- نامگذاری مجدد ثابتهای ClipOp به «حروف آغازین کلمات بزرگ»
- نامگذاری مجدد شمارشهای FilterQuality به «حروف آغازین کلمات بزرگ»
- نامگذاری مجدد شمارشهای StrokeJoin به «حروف آغازین کلمات بزرگ»
- نام شمارشهای PointMode به «حروف آغازین کلمات بزرگ» تغییر کرد
- نامگذاری شمارشی PaintingStyle به «حروف آغازین کلمات بزرگ» تغییر کرد
- نامگذاری مجدد شمارشگرهای PathFillType به «حروف آغازین کلمات»
- نامگذاری مجدد شمارشهای StrokeCap به «حروف آغازین بزرگ»
- پیادهسازی DrawCache بهروزرسانی شد تا دیگر از پارامترهای lateinit استفاده نکند
- DrawScope بهروزرسانی شد تا دیگر از واگذاری تنبل برای پارامترهای داخلی fillPaint و strokePaint استفاده نکند
- «تصویر» قابلتألیف بهروزرسانی شد تا از «جعبه» برای سربار کمتر استفاده شود
- بهروزرسانی کلاس «طرح کلی» برای داشتن شرحهای @Immutable
- PathNode بهروز شد تا برای هر دستورالعمل مسیر، حاشیهنویسیهای @Immutable داشته باشد
- زیرترکیب برداری بهروزرسانی شد تا بررسیهای شرطی اضافی برای برابری برداشته شود زیرا ترکیب ازقبل آنها را مدیریت میکند
- روشهای سازنده همراه Rect منسوخ شد و بهجای آن از سازندههای تابع استفاده شد
- سازندگان تابع و کلاسهای «قلممو» با @Immutable و @Stable APIs بهروزرسانی شدند
- بهروزرسانی عدد ثابت VertexMode به PascalCase
- روش selectPaint در DrawScope بهروزرسانی شد تا پارامترهای ضربه را در نقاشی بهصورت شرطی بازنویسی کند، اگر تغییر کرده باشند
- «اندازه» بهروزرسانی شد تا میانای برنامهسازی کاربردی ساختارشکن اضافه شود، UnspecifiedSize به Unspecified تغییر نام داده شد، و روشهای استفادهنشده برداشته شد
- انتقال کادر گفتگو به ui (I47fa6)
-
SemanticsNodeInteraction.performPartialGestureحذف شد. درعوض ازSemanticsNodeInteraction.performGestureاستفاده کنید. (Id9b62) - نام
SemanticsNodeInteraction.getBoundsInRoot()بهSemanticsNodeInteraction.getUnclippedBoundsInRoot()(Icafdf، b/161336532) تغییر کرد - میاناهای برنامهسازی کاربردی برای پشتیبانی از راستبهچپ بهروز شده است. LayoutDirectionAmbient اضافه شده است که میتوان از آن برای خواندن و تغییر دادن جهت چیدمان استفاده کرد. Modifier.rtl و Modifier.ltr برداشته شدهاند. (I080b3)
- نام Modifier.deternimateProgress به Modifier.progressSemantics تغییر کرده است (I9c0b4)
- material-icons-extended را با جدیدترین نمادهای اضافهشده به Material.io/icons بهروزرسانی میکند (I4b1d3)
- برای transitionDefinition، نوع T باید بهطور صریح مشخص شود. (I1aded)
- Modifier.plus منسوخ شده است، درعوض از Modifier.then استفاده کنید. «سپس» نشان قویتری از ترتیب دارد و همچنین از تایپ کردن
Modifier.padding().background() + anotherModifierجلوگیری میکند، که زنجیره را میشکند و خواندن را سختتر میکند (Iedd58، b/161529964) - AndroidComposeTestRule به createAndroidComposeRule تغییر نام داد. (I70aaf)
- isFocused() و isNotFocused() SemanticsMatcher را اضافه کنید. (I0b760)
-
BaseGestureScope.globalBoundsبرداشته شد، که نباید از آزمایشها استفاده شود. بهجای آن، از مختصات محلی گرهی که با آن تعامل دارید استفاده کنید. (Ie9b08) - موقعیت بالاپرهای نمایشگرهای برشدار اصلاح شد. (Idd7dd)
- نام Modifier.drawBackground به Modifier.background تغییر کرده است (I13677)
نسخه 0.1.0-dev15
۲۲ ژوئیه ۲۰۲۰
androidx.compose.material:material:0.1.0-dev15، androidx.compose.material:material-icons-core:0.1.0-dev15، و androidx.compose.material:material-icons-extended:0.1.0-dev15 منتشر شدند. نسخه 0.1.0-dev15 حاوی این تعهدات است.
بهروزرسانی وابستگیها
- برای استفاده از نسخه
0.1.0-dev15«نوشتن»، باید وابستگیهایتان را مطابق با تکهکدهای جدیدی که در بالا در اعلام وابستگیها نشان داده شده است بهروز کنید.
تغییرات میانای برنامهسازی کاربردی
گزارمان
@Modelاکنون منسوخ شده است. از state و mutableStateOf بهعنوان جایگزین استفاده کنید. این تصمیم برای منسوخ کردن پساز بحثهای دقیق و طولانی اتخاذ شد.توجیهات
دلیل شامل موارد زیر است ولی به این موارد محدود نمیشود:
- مساحت سطح API و مفاهیمی را که باید آموزش دهیم کاهش میدهد
- با دیگر مجموعههای ابزار قابلمقایسه (Swift UI، React، Flutter) همراستاتر است
- تصمیم برگشتپذیر است. هرزمان بخواهیم میتوانیم
@Modelرا برگردانیم. - موارد استفاده گوشهای و سؤالات دشوار درباره پیکربندی
@Modelرا بهعنوان مواردی که باید مدیریت کنیم برمیدارد -
@Modelکلاس داده، برابر، کد درهمسازی، و غیره - چگونه برخیاز داراییها را «تحتنظر» داشته باشم و برخی دیگر را نداشته باشم؟
- چگونه برابری ساختاری دربرابر برابری ارجاعی را برای استفاده در مشاهده مشخص کنم؟
- «جادو» را در سیستم کاهش میدهد. احتمال اینکه کسی فکر کند سیستم از آنچه هست هوشمندتر است را کاهش میدهد (یعنی اینکه سیستم میداند چگونه فهرست را متمایز کند)
- جزئیات مشاهده را دیداریتر میکند.
- بهبود قابلیت تغییر از متغیر -> دارایی در کلاس
- بهطور بالقوه امکان انجام بهینهسازیهای دستی مختص هر ایالت را فراهم میکند
- با بقیه اکوسیستم همراستاتر میشود و ابهام درباره تغییرناپذیری یا «پذیرش وضعیت تغییرپذیر» را کاهش میدهد
یادداشتهای انتقال
تقریباً همه موارد استفاده موجود از
@Modelبه یکی از دو روش بهسادگی تبدیل میشوند. مثال زیر یک کلاس@Modelبا دو دارایی فقط برای مثال دارد و از آن در یک عنصر ترکیبی استفاده میکند.@Model class Position( var x: Int, var y: Int ) @Composable fun Example() { var p = remember { Position(0, 0) } PositionChanger( position=p, onXChange={ p.x = it } onYChange={ p.y = it } ) }جایگزین ۱: از
State<OriginalClass>استفاده کنید و کپی ایجاد کنید.این رویکرد با کلاسهای داده Kotlin آسانتر میشود. اساساً، همه داراییهای قبلاً
varرا به داراییهایvalکلاس داده تبدیل کنید، و سپس بهجایrememberازstateاستفاده کنید، و مقدار وضعیت را بااستفاده از روش تسهیلcopy(...)کلاس داده به نسخههای شبیهسازیشده از نسخه اصلی اختصاص دهید.توجه به این نکته مهم است که این رویکرد فقط زمانی کار میکند که تنها جهشهای آن کلاس در همان دامنهای انجام شده باشد که نمونه
Stateدر آن ایجاد شده است. اگر کلاس بهصورت داخلی و خارج از محدوده استفاده تغییر میکند و شما به مشاهده آن تکیه میکنید، رویکرد بعدی همان رویکردی است که میخواهید استفاده کنید.data class Position( val x: Int, val y: Int ) @Composable fun Example() { var p by state { Position(0, 0) } PositionChanger( position=p, onXChange={ p = p.copy(x=it) } onYChange={ p = p.copy(y=it) } ) }جایگزین ۲: استفاده از mutableStateOf و نمایندگان دارایی
این رویکرد با نمایندگان دارایی Kotlin و
mutableStateOfAPI که به شما امکان میدهد نمونههای MutableState را خارج از ترکیب ایجاد کنید، آسانتر میشود. اساساً، همه داراییهایvarکلاس اصلی را با داراییهایvarباmutableStateOfبهعنوان نماینده دارایی آنها جایگزین کنید. این مزیت را دارد که استفاده از کلاس اصلاً تغییر نخواهد کرد، فقط پیادهسازی داخلی آن تغییر خواهد کرد. هرچند این رفتار کاملاً مشابه مثال اصلی نیست، زیرا اکنون هر دارایی بهصورت جداگانه مشاهده/مشترک میشود، بنابراین ترکیبهای مجددی که پساز این بازسازی میبینید ممکن است محدودتر باشد (که خوب است).class Position(x: Int, y: Int) { var x by mutableStateOf(x) var y by mutableStateOf(y) } // source of Example is identical to original @Composable fun Example() { var p = remember { Position(0, 0) } PositionChanger( position=p, onXChange={ p.x = it } onYChange={ p.y = it } ) }(I409e8، b/152050010، b/146362815، b/146342522، b/143413369، b/135715219، b/143263925، b/139653744)
بازخوان onFocusChange در فیلدهای نوشتاری به onFocusChanged تغییر نام داد (Ida4a1)
پارامتر آستانهها در stateDraggable اضافه شد تا آستانهها بین لنگرها مشخص شود. از این برای تنظیم آستانه ۵۶dp در کشوی پایین استفاده شده است. همچنین BottomDrawerLayout اکنون از یک شمارشگر BottomDrawerState جداگانه استفاده میکند. (I533fa)
«اصلاحگر.موج» منسوخشده قبلی را برمیدارد. اکنون «کلیککردنی» از موج بهعنوان نشانه پیشفرض استفاده میکند (اگر در برنامهتان MaterialTheme {} تنظیم کرده باشید)، بنابراین در اکثر موارد میتوانید فقط از «کلیککردنی» استفاده کنید و نشانه موج را بهصورت رایگان دریافت کنید. اگر نیاز دارید رنگ / اندازه / پارامتر محدودشده را برای موج سفارشیسازی کنید، میتوانید بهصورت دستی RippleIndication ایجاد کنید و آن را بهعنوان پارامتر نشانه به عنصر کلیککردنی منتقل کنید. (I663b2, b/155375067)
جایگزینی منسوخشده عنصر ترکیبی FilledTextField (I7f8f8) برداشته شد
تغییر نام دادن شیء «دکمه» (حاوی پیشفرضهای استفادهشده توسط تابع «دکمه») به «ثابتهای دکمه» (I7c5f7، b/159687878)
جایگاه محتوای دکمه اکنون بهعنوان «ردیف» عمل میکند (وقتی نیاز دارید نمادی با نوشتار داشته باشید مفید است، نمونههای مربوط به نحوه نوشتن آن را در «دکمه» ببینید) (I0ff10، b/158677863)
RadioGroup و RadioGroupItem منسوخ شدهاند. از Box با Modifier.selectable، Row، و Column استفاده کنید تا مجموعه مناسبی از انتخابهای دکمه رادیویی را با طراحی خودتان بسازید (I7f5cf، b/149528535)
«فیلد نوشتاری خطدار Material» (I1a518) اضافه شد
androidx.ui.foundation.TextFieldValue و androidx.ui.input.EditorValue منسوخ شده است. ترکیبهای TextField، FilledTextField، و CoreTextField که از این نوع استفاده میکنند نیز منسوخ شدهاند. لطفاً بهجای آن از androidx.ui.input.TextFieldValue استفاده کنید (I4066d، b/155211005)
TabRow.TabPosition موقعیت را در Dp ندارد، در IntPx ندارد (I34a07، b/158577776)
استفاده از IntPx با Int جایگزین شد. IntPxPosition با IntOffset جایگزین شد. IntPxSize با IntSize جایگزین شد. (Ib7b44)
برای ادغام کردن تعداد کلاسهای استفادهشده برای نمایش اطلاعات اندازهبندی، بهجای PxSize، استفاده از کلاس «اندازه» را استاندارد کنید. این کار مزایای کلاس درونخطی را برای استفاده از long بهمنظور بستهبندی ۲ مقدار شناور برای نشان دادن عرض و ارتفاع نشاندادهشده بهصورت شناور فراهم میکند. (Ic0191)
Modifier.ripple را منسوخ میکند. اکنون «کلیککردنی» از موج بهعنوان نشانه پیشفرض استفاده میکند (اگر در برنامهتان MaterialTheme {} تنظیم کرده باشید)، بنابراین در اکثر موارد میتوانید فقط از «کلیککردنی» استفاده کنید و نشانه موج را بهصورت رایگان دریافت کنید. اگر نیاز دارید رنگ / اندازه / پارامتر محدودشده را برای موج سفارشیسازی کنید، میتوانید بهصورت دستی RippleIndication ایجاد کنید و آن را بهعنوان پارامتر نشانه به عنصر کلیککردنی منتقل کنید. (I101cd، b/155375067)
«میانای برنامه کاربردی» داربست بازطراحی شده است: نام چند پارامتر تغییر کرده است، پارامترهای جدیدی برای سفارشیسازی بهتر اضافه شده است. افزودن دریافتکننده به اندازههای پرسمان «دکمه شناور»، «نوار بالا»، و «نوار پایین» (I0e7ce)
عنصر DropdownMenu را در ui-material، پیادهسازی منو «طراحی مواد» اضافه کرد. (I9bb3d)
اجازه میدهد صفحهکلید نرمافزاری بهصورت دستی بااستفاده از SoftwareKeyboardController نشان داده/پنهان شود (Ifb9d6، b/155427736)
Modifier.indication به بسته پایه اضافه شد. از آن برای نمایش فشار/کشیدن/نشانگرهای دیگر در عناصر تعاملی سفارشیتان استفاده کنید (I8425f، b/155287131)
پیادهسازیهای CanvasScope ادغام شد بنابراین اکنون فقط DrawScope و ContentDrawScope وجود دارد نام CanvasScope به DrawScope تغییر کرد. DrawScope بهروزرسانی شد تا واسط Density را پیادهسازی کند و LayoutDirection را ارائه دهد زیرکلاس DrawScope در ContentDrawScope حذف شد Painter و PainterModifier بهروزرسانی شدهاند تا دیگر خودشان ویژگی RTL را حفظ نکنند زیرا DrawScope این ویژگی را ازقبل بدون ارائه دستی آن ارائه میدهد (I1798e)
نام Emphasis.emphasize() به Emphasis.applyEmphasis() تغییر میکند (Iceebe)
دکمههای غیرفعال اکنون ازنظر بصری از مشخصات «طراحی مواد» پیروی میکنند (I47dcb، b/155076924)
FilledTextField از کنش IME، تبدیل دیداری، و پشتیبانی از نوع صفحهکلید برخوردار میشود (I1f9cf، b/155075201)
پارامتر strokeWidth را به CircularProgressIndicator اضافه میکند تا اندازه خط پیرامونی را سفارشیسازی کند. برای تغییر اندازه خط پیرامونی (ارتفاع) یک LinearProgressIndicator، میتوانید از Modifier.preferredHeight() یا اصلاحگر اندازه دیگری استفاده کنید. (Icea16، b/154919081)
پارامتر strokeWidth را به CircularProgressIndicator اضافه میکند تا اندازه خط پیرامونی را سفارشیسازی کند. برای تغییر اندازه خط پیرامونی (ارتفاع) یک LinearProgressIndicator، میتوانید از Modifier.preferredHeight() یا اصلاحگر اندازه دیگری استفاده کنید. (Icea16، b/154919081)
میانای برنامهسازی کاربردی جایگاه برای نمادهای پیشرو و پسرو در FilledTextField و مدیریت وضعیت خطا اضافه شد (Ic12e0)
رنگ پیشفرض «دکمه اقدام شناور» و «دکمه اقدام شناور گسترده» به MaterialTheme.colors.secondary تغییر کرده است. (I3b9b9, b/154118816)
همه موارد استفاده از «رنگ» تهیپذیر در API با غیرتهیپذیر جایگزین شد و بهجای تهی از Color.Unset استفاده شد (Iabaa7)
نام EdgeInsets به InnerPadding تغییر کرد. نام پارامتر innerPadding در «دکمههای Material» به paddding تغییر کرد. (I66165)
اکنون لغزنده بدون وضعیت است. کاربران باید وضعیت را خودشان منتقل و بهروز کنند، درست مثل هر کنترل دیگری. (Ia00aa)
StaticDrawer برداشته شد. اگر به آن نیاز دارید، بهجای آن از Box با پهنای مشخصشده برای مواد استفاده کنید (I244a7)
پیادهسازی «طراحی مواد» برای «فیلد نوشتار پرشده» (Ic75cd) اضافه شد
پارامتر اصلاحگر به «فهرست مورد» اضافه شد و پارامترها برای ارتقای بدنه لامبدای انتهایی تغییر ترتیب داده شد (I66e21)
پارامتر سازنده defaultFontFamily را به «حروفچینی» اضافه میکند و امکان میدهد خانواده قلم پیشفرضی که برای هریک از «سبکهای نوشتاری» ارائهشدهای که خانوادهای برای آنها تنظیم نشده است استفاده شود مشخص شود. (I89d07)
«جدولهای دادههای مادی» بهطور موقت از سطح API برداشته شد. (Iaea61)
پارامترهای تغییرنامدادهشده در عنصر ترکیبی «تقسیمکننده» (Ic4373)
کودکان (Ia6d19)
MaterialTheme.emphasisLevels را برمیدارد، بهجای آن از EmphasisAmbient.current برای بازیابی سطوح تأکید استفاده کنید (Ib5e40)
سیستم زمینهسازی شکل براساس مشخصات طراحی Material بهروزرسانی شده است. اکنون میتوانید شکلهای کوچک، متوسط، و بزرگ ارائه دهید تا اکثر عناصر از آنها استفاده کنند (Ifb4d1)
«میاناهای برنامهسازی کاربردی» MaterialTheme مثل MaterialTheme.colors()، MaterialTheme.typography() را تغییر دادیم تا بهجای تابع، ویژگی باشند. پرانتزها را از تماسهای موجود بردارید، هیچ تغییری در رفتار پیشبینی نمیشود. (I3565a)
میاناهای برنامهسازی کاربردی «دکمه شناور کنش» را بازسازی کردیم تا بهجای عناصر اولیه، لامبداهای ترکیبپذیر را بپذیرد. برای اطلاعات استفاده، نمونههای بهروزشده را ببینید. (I00622)
افزودن پارامتر
enabledبه «چارگوش انتخاب»، «کلید»، و «قابلتغییر» (I41c16)«موج» اکنون یک «اصلاحگر» است. تا زمانی که «کلیککردنی» تبدیل نشده است، استفاده توصیهشده
Clickable(onClick = { ... }, modifier = ripple())است (Ie5200، b/151331852، b/150060763)Surface و Card از androidx.ui.material.surface به androidx.ui.material منتقل شدند (I88a6d، b/150863888)
اکنون دکمه، FloatingActionButton، و Clickable پارامتر
enabledجداگانهای دارند. برخیاز پارامترهای «دکمه» تغییر نام داده یا ترتیب آنها تغییر کرده است. (I54b5a)نام «تصویر» به «دارایی تصویر» تغییر کرد تا تفاوت بین دادههای «تصویر» و عنصر ترکیبی «تصویر» که برای شرکت در چیدمان و رسم محتوا استفاده میشود بهتر مشخص شود. _بدنه:روش افزونهای در android.graphics.Bitmap ایجاد شد، Bitmap.asImageAsset()، برای ایجاد نمونهای از ImageAsset که برای ترکیب توسعه سنتی برنامه Android با چارچوب Compose مفید است (Id5bbd)
میانای برنامهسازی کاربردی Snackbar با پارامترهای «رشته» برداشته شد و بهجای آن از سرباری که لامبداهای ترکیبپذیر را میپذیرد استفاده شد. دیدن نمونههای بهروزشده برای اطلاعات استفاده (I55f80)
کد میاناهای برنامهسازی کاربردی «برگه» را بازسازی کردیم تا
textوiconلامبدا را بپذیرد، (Ia057e)عنصر BottomNavigation اضافه شد، برای اطلاعات استفاده به اسناد و نمونهها مراجعه کنید (I731a0)
Icon، IconButton، و IconToggleButton اضافه شد، AppBarIcon برداشته شد. میتوانید مستقیماً موارد استفاده موجود از AppBarIcon را با IconButton جایگزین کنید، و اکنون هدف لمسی صحیح را خواهند داشت. برای اطلاعات استفاده، نمونهها را ببینید، و برای «نمادهای Material» ارائهشده که میتوانید مستقیماً با این عناصر استفاده کنید، «نمادها» را ببینید. (I96849)
ButtonStyle با توابع متمایز جایگزین شد و بار اضافه نوشتار (رشته) برداشته شد. برای اطلاعات استفاده، نمونههای بهروزشده را ببینید. (If63ab، b/146478620، b/146482131)
تغییر نام اصلاحگر
BorderبهDrawBorder(I8ffcc)LayoutCoordinates دیگر ویژگی موقعیت ندارد. وقتی «LayoutModifiers»، چرخش، یا مقیاسبندی درنظر گرفته میشود، دارایی موقعیت معنایی ندارد. بهجای آن، توسعهدهندگان باید از parentCoordinates و childToLocal() برای محاسبه تبدیل از یک LayoutCoordinate به دیگری استفاده کنند.
LayoutCoordinates بهجای PxSize از IntPxSize برای خصوصیت اندازه استفاده میکند. چیدمانها از اندازههای پیکسل عدد صحیح برای چیدمانها استفاده میکنند، بنابراین همه اندازههای چیدمان باید از اعداد صحیح استفاده کنند و نه مقادیر ممیز شناور. (I9367b)
تغییرات ناگهانی در ambients API. برای جزئیات، گزارش و مستندات
Ambient<T>را ببینید (I4c7ee، b/143769776)عنصر مطلب داربست اضافه شده است. داربست پیادهسازی میکند (I7731b)
DrawBorder با «اصلاحگر حاشیه» (Id335a) جایگزین شد
رفع اشکالها
- FocusModifier بهنفع Modifier.focus، Modifier.focusRequester، Modifier.focusObserver منسوخ شده است. FocusState و FocusDetailedState بهنفع FocusState2 منسوخ شدهاند (I46919، b/160822875، b/160922136)
- VerticalScroller و HoriziontalScroller منسوخ شدهاند. از ScrollableColumn و ScrollableRow برای تجربه داخلی با رفتار و پارامترهای Column/Row، یا Modifier.verticalScroll و Modifier.horizontalScroll در عنصر خودتان استفاده کنید. بههمین ترتیب، ScrollerPosition بهنفع ScrollState منسوخ شده است (I400ce، b/157225838، b/149460415، b/154105299)
- میاناهای برنامهسازی کاربردی Modifier.draggable و Modifier.scrollable بازطراحی شدند. DragDirection بهنفع Orientation برداشته شد. وضعیت موردنیاز برای پیمایش ساده شده است. نام ScrollableState به ScrollableController تغییر کرده است (Iab63c، b/149460415)
- نام
runOnIdleComposeبهrunOnIdleتغییر کرد (I83607) - اکنون داراییهای معنایی تکمقدار از سبک تماس استفاده میکنند. برای مثال، «semantics { hidden = true }» اکنون بهصورت زیر نوشته میشود: «semantics { hidden() }». (Ic1afd، b/145951226، b/145955412)
- چندین API آزمایشی برای شهودیتر شدن تغییر نام دادند. همه میاناهای برنامهسازی کاربردی findXYZ به onNodeXYZ تغییر نام داده شدند. نام همه «میاناهای برنامهسازی کاربردی doXYZ» به performXYZ تغییر کرد. (I7f164)
- «میانای برنامهسازی کاربردی انتقال» تغییر کرده است تا بهجای انتقال «وضعیت انتقال» به فرزندان، «وضعیت انتقال» را برگرداند. این کار باعث میشود این «میانای برنامهسازی کاربردی» با میاناهای برنامهسازی کاربردی animate() سازگارتر شود. (I24e38)
- یک کلاس واحد IntBounds اضافه شده است که نشاندهنده محدودههای پیکسل عدد صحیح از چیدمان است. «میانای برنامه کاربردی» PopupPositionProvider برای استفاده از آن بهروز شده است. (I0d8d0، b/159596546)
- پرچم اختیاری جدیدی بهنام useUnmergedTree برای آزمایش یابندهها اضافه شد. (I2ce48)
- میاناهای برنامهسازی کاربردی منسوخشده آزمایش اندازه برداشته شد. (Iba0a0)
- برداشتن کلاس درونخطی Shader که کلاس انتظار NativeShader را میپیچید نام NativeShader به Shader تغییر یافت. کلاس درونخطی Shader بستهبندیشده چیزی ارزشمند به سطح API اضافه نکرد و کلاس درونخطی بود، بنابراین از کلاس NativeShader مستقیماً استفاده کنید. (I25e4d)
- اکنون «بالاپَرها»، «کادرهای گفتگو»، و «منوها» از MaterialTheme زمینهای ارث میبرند (Ia3665، b/156527485)
- «منو کرکرهای» Material اکنون پیمایشپذیر است. (Ide699)
- پارامتر جهت چیدمان از بلوک اندازهگیری تابع Layout() برداشته شد. بااینحال، جهت چیدمان در داخل بازخوانی ازطریق شیء حوزه اندازهگیری (Ic7d9d) دردسترس است
- از AnimationSpec بهجای AnimationBuilder در APIهای سطح بالا استفاده کنید تا مفهوم مشخصات پویانمایی ایستا را روشن کنید -با برداشتن الزام لامبدا برای ایجاد AnimationSpecهایی مثل tween و spring، DSL انتقال را بهبود دهید. درعوض، آنها مستقیماً پارامترهای سازنده را میگیرند. -بهبود سهولت کلی استفاده از AnimationSpec با باز کردن سازندهها بهجای تکیه بر سازندگان -تغییر مدت و تأخیر برای KeyFrames و Tween به Int. این کار تبدیل نوع غیرضروری و سربار روش را حذف میکند (برای پشتیبانی از هر دو نوع Long و Int). (Ica0b4)
- وقتی
enabledروی false تنظیم شده باشد، «کلید» اکنون در حالت غیرفعال ظاهر میشود (If4624، b/155941869، b/159331694) - Modifier.tag به Modifier.layoutId تغییر نام داد تا با Modifier.testTag اشتباه نشود. (I995f0)
- موقعیتهای خط تراز Int که از Placeable#get(AlignmentLine) برگردانده میشوند اکنون غیرتهی هستند. اگر خط تراز موردپُرسمان وجود نداشته باشد، AlignmentLine.Unspecified برگردانده خواهد شد. (I896c5، b/158134875)
کلاس «شعاع» بازسازی شد تا به کلاس درونخطی تبدیل شود. روشهای ایجاد همراه را بهنفع سازنده تابع با پارامتر پیشفرض برداشتیم تا شعاع در امتداد محور y با شعاع پارامتر محور x اجباری مطابقت داشته باشد.
DrawScope.drawRoundRect بهروزرسانی شد تا بهجای ۲ مقدار شناور جداگانه برای شعاع در امتداد محور x و y، یک پارامتر Radius مصرف کند (I46d1b)
برای ادغام کردن تعداد کلاسهای استفادهشده برای نمایش اطلاعات مکانیابی، بهجای استفاده از PxPosition، از کلاس «آفست» استفاده کنید. این کار مزایای کلاس درونخطی را برای استفاده از عدد صحیح طولانی برای بستهبندی ۲ مقدار ممیز شناور برای نمایش انحرافهای x و y که بهصورت ممیز شناور نمایش داده میشوند فراهم میکند. (I3ad98)
استفاده از کلاس Px در کلاسهای مختلف compose بهعنوان بخشی از تلاش بزرگ بازسازی برای تکیه کردن فقط بر Dp و انواع اولیه برای پارامترهای پیکسل جایگزین شد. کلاس Px بهطور کامل حذف شد (I3ff33)
عنصر قابلتغییر وضعیت منسوخ شده است. بهجای آن از Modifier.toggleable استفاده کنید (I35220، b/157642842)
جایگزین کردن استفاده از کلاس Px در کلاسهای مختلف ترکیب بهعنوان بخشی از تلاش بزرگ بازسازی برای تکیه کردن فقط بر Dp و انواع اولیه برای پارامترهای پیکسل (I086f4)
جایگزین کردن استفاده از کلاس Px در کلاسهای مختلف ترکیب بهعنوان بخشی از تلاش بزرگ بازسازی برای تکیه کردن فقط بر Dp و انواع اولیه برای پارامترهای پیکسل (Id3434)
جایگزین کردن استفاده از کلاس Px در کلاسهای مختلف compose بهعنوان بخشی از تلاش بزرگ بازسازی برای تکیه کردن فقط بر Dp و انواع اولیه برای پارامترهای پیکسل (I97a5a)
رفع مشکل فراخوانی نشدن onClick برای DropdonMenuItems. (I3998b، b/157673259)
MutuallyExclusiveSetItem منسوخ شده است. درعوض از Modifier.selectable استفاده کنید. (I02b47, b/157642842)
TestTag اکنون منسوخ شده است. درعوض از Modifier.testTag استفاده کنید. (If5110، b/157173105)
مکاننمای «فیلد نوشتاری» پویانمایی چشمکزن دارد (Id10a7)
جایگزین کردن استفاده از کلاس Px در کلاسهای مختلف ترکیب بهعنوان بخشی از تلاش بزرگ بازسازی برای تکیه کردن فقط بر Dp و انواع ابتدایی برای پارامترهای پیکسل (I19d02)
VerticalScroller اکنون «ستون» را بهصورت آماده ارائه میدهد. HorizontalScroller اکنون «ردیف» را بهصورت آماده ارائه میدهد. (Ieca5d، b/157020670)
جایگزین کردن استفاده از کلاس Px در کلاسهای مختلف ترکیبی بهعنوان بخشی از تلاش بزرگ بازسازی برای تکیه کردن فقط بر Dp و انواع ابتدایی برای پارامترهای پیکسل (Iede0b)
Modifier.semantics برای اجازه دادن به استفاده از عناصر سطح بالا، از حالت منسوخ خارج شده است. (I4cfdc)
DrawLayer modifiers api تغییر کرده است: outlineShape به shape تغییر نام داده است و مقدار پیشفرض آن RectangleShape است و اکنون غیرقابل تهی است؛ clipToOutline به clip تغییر نام داده است؛ clipToBounds برداشته شده است زیرا با clip == true با RectangleShape یکسان است (I7ef11، b/155075735)
میاناهای برنامهسازی کاربردی سطح بالاتر ترکیب بهروزرسانیشده که «بوم نقاشی» را آشکار میکند بهجای آن «محدوده بوم نقاشی» را آشکار میکند. این کار نیاز مصرفکنندگان به نگهداری اشیاء Paint خود را برطرف میکند. مصرفکنندگانی که هنوز به Canvas نیاز دارند میتوانند از روش افزونه drawCanvas استفاده کنند که برای صدور فرمانهای طراحی با Canvas زیرین بازخوانی ارائه میدهد. (I80afd)
AlignmentLineOffset قابل ترکیب منسوخ شده است، لطفاً درعوض از اصلاحگر relativePaddingFrom() استفاده کنید. ترکیبکننده CenterAlignmentLine برداشته شد. (I60107)
«میانای برنامهسازی کاربردی» لامبدای انتهایی WithConstraints تغییر کرده است. اکنون بهجای دو پارامتر، حوزه گیرندهای دارد که علاوهبر محدودیتها و layoutDirection، ویژگیهای minWidth، maxWidth، minHeight، و maxHeight را در Dp ارائه میدهد (I91b9a، b/149979702)
اصلاحگر چیدمان defaultMinSizeConstraints اضافه شد که محدودیتهای اندازه را فقط زمانی برای چیدمان پیچیده تنظیم میکند که محدودیتهای متناظر ورودی نامشخص باشد (۰ برای محدودیتهای حداقل و بینهایت برای محدودیتهای حداکثر). (I311ea، b/150460257)
FocusManagerAmbient برداشته شد. برای دریافت تمرکز، از FocusModifier.requestFocus استفاده کنید. (Ic4826)
CanvasScope API ایجاد شد که شیء Canvas را میپیچد تا سطح API طراحی بیحالت و بیانی را نمایان کند. تبدیلها در محدوده گیرنده خودشان قرار دارند و اطلاعات اندازه نیز به محدوده درج مربوطه محدود میشود. برای پیکربندی عملیات طراحی، نیازی نیست که مصرفکننده شیء وضعیت Paint خود را حفظ کند.
CanvasScopeSample اضافه شد و همچنین برنامه نمایشی بهروزرسانی شد تا شامل نمایش گرافیک بیانی (Ifd86d) شود
افزودن سفارشیسازی رنگ مکاننما به «فیلد نوشتاری» (I6e33f)
TextFieldValue که با TextField استفاده میشود اکنون میتواند هنگام استفاده به این شکل، از بازآفرینی فعالیت جان سالم بهدر ببرد:
var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() }(I5c3ce، b/155075724)نام LayoutModifier2 به LayoutModifier تغییر کرد. (Id29f3)
واسط LayoutModifier منسوخشده برداشته شد. (I2a9d6)
پارامتر CoreTextField/TextField focusIdentifier با FocusNode جایگزین شد تا با زیرسیستم کانونی کردن یکپارچه شود. (I7ea48)
توابع اندازهگیری ذاتی در Layout و LayoutModifier2 اکنون گیرنده IntrinsicMeasureScope دارند که میانای برنامهسازی کاربردی پُرسمان ذاتی را با جهت چیدمان ضمنی منتشرشده ارائه میدهد. (Id9945)
Modifier.zIndex() جدید برای کنترل ترتیب رسم فرزندان در چیدمان والد یکسان اضافه شده است. دارایی ارتفاع در DrawLayerModifier به shadowElevation تغییر نام داده است و دیگر ترتیب رسم را کنترل نمیکند. ترتیب پارامترهای DrawShadow تغییر کرده است: اکنون ارتفاع اولین پارامتر و شکل دومین پارامتر با پیشفرض RectangleShape است. (I20150, b/152417501)
RectangleShape از androidx.ui.foundation.shape.* به androidx.ui.graphics.* منتقل شد (Ia74d5، b/154507984)
بهروزرسانی «میانای برنامهسازی کاربردی فیلد نوشتاری» - ادغام کردن پاسخبرهای onFocus و onBlur در پاسخبر onFocusChange(Boolean) واحد با پارامتر (I66cd3)
پارامترهای verticalGravity و horizontalGravity را به ترتیب به «ردیف» و «ستون» اضافه کرد. (I7dc5a)
wrapContentWidth و wrapContentHeight بهروزرسانی شدند تا بهجای هر «ترازی»، «تراز» عمودی یا افقی را انتظار داشته باشند. «تعدیلکننده جاذبه» بهروزرسانی شد تا «تراز» عمودی یا افقی را بپذیرد. «ردیف»، «ستون»، و «پشته» بهروزرسانی شدند تا از «ترازهای» پیوسته سفارشی پشتیبانی کنند. (Ib0728)
«میانای برنامهسازی کاربردی PixelMap» برای پشتیبانی از پرسش اطلاعات پیکسل از «دارایی تصویر» ایجاد شد. (I69ad6)
«ارائه رنگ محتوا» را برمیدارد، بهجای آن فقط از «رنگ محیط محتوا» مستقیماً با
Providers(Iee942) استفاده کنیدواحد ui-text-compose به ui-text تغییر نام داد. ui-text اکنون شامل عناصر ترکیبپذیر CoreText و CoreTextField است (Ib7d47)
نام واحد ui-text به ui-text-core تغییر کرد (I57dec)
ترکیبپذیرهای ui-framework/CoreText، CoreTextField به ui-text-compose منتقل شد. بهتر است ui-text-compose را در پروژهتان بگنجانید. (I32042)
بهبود دادن 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)positionInParent و boundsInParent را برای LayoutCoordinates اضافه کرد. (Icacdd، b/152735784)
ColoredRect منسوخ شده است. درعوض از Box(Modifier.preferredSize(width, height).drawBackground(color)) استفاده کنید. (I499fa، b/152753731)
نام LayoutResult به MeasureResult تغییر کرد. (Id8c68)
LayoutModifier2، میانای برنامهسازی کاربردی جدیدی برای تعریف اصلاحکنندههای چیدمان، اضافه شد؛ LayoutModifier (If32ac) منسوخ شد
جایگزین کردن «اصلاحگر بهعلاوه اپراتور» با توابع افزونه کارخانه (I225e4)
«کشیدنی» به اصلاحگر منتقل شده است (Id9b16، b/151959544)
ParentData ترکیبی منسوخ شده است. باید اصلاحگری بسازید که رابط ParentDataModifier را پیادهسازی کند، یا اگر فقط نیاز دارید فرزندان چیدمان را برچسبگذاری کنید تا در بلوک اندازهگیری شناسایی شوند، از اصلاحگر LayoutTag استفاده کنید. (I51368، b/150953183)
ترکیببندی Center منسوخ شده است. باید با اصلاحگر LayoutSize.Fill + LayoutAlign.Center یا با یکی از تابعهای ترکیبپذیر Box یا Stack با اصلاحگرهای مناسب اعمالشده جایگزین شود (Idf5e0)
VectorPainter API اضافه شد تا جایگزین میانای برنامهسازی کاربردی زیرترکیب موجود برای گرافیک برداری شود. نتیجه زیرترکیب یک شیء VectorPainter بهجای DrawModifier است. ترکیبهای قبلی منسوخشده DrawVector بهنفع VectorPainter.
نام «میانای برنامه کاربردی تصویر(نقاش)» به «جعبه رنگ(نقاش)» تغییر کرد عنصر ترکیبی «برداری» ایجاد شد که مانند عنصر ترکیبی «تصویر» عمل میکند، با این تفاوت که بهجای «دارایی تصویر» از «دارایی برداری» استفاده میکند (I9af9a، b/149030271)
نام LayoutFlexible به LayoutWeight تغییر کرد. نام پارامتر «محکم» به «پر کردن» تغییر کرد. (If4738)
RepaintBoundary برداشته شد و DrawLayerModifier جایگزین آن شد (I00aa4)
DrawVector از تابع ترکیبپذیر معمولی به تابع بازگرداننده Modifier drawVector() تغییر کرده است که بردار را بهعنوان پسزمینه طرحبندی رسم میکند. (I7b8e0)
تابع ترکیبپذیر «ماتی» با اصلاحگر drawOpacity جایگزین شده است. (I5fb62)
جایگزین کردن تابع ترکیبشدنی «کلیپ» با اصلاحکننده drawClip(). DrawClipToBounds اصلاحکننده مناسبی است که وقتی فقط نیاز دارید با شکل مستطیل به مرزهای لایه کلیپ کنید استفاده میشود. (If28eb)
تابع ترکیببندی DrawShadow با اصلاحکننده drawShadow() جایگزین شد. اکنون سایهها بهعنوان بخشی از «اصلاحکننده لایه» رسم میشوند. (I0317a)
LayerModifier اضافه شد، اصلاحگری که امکان افزودن RenderNode برای Layout را فراهم میکند. این ویژگی امکان تنظیم برش، کدری، چرخش، مقیاسبندی، و سایهها را فراهم میکند. این مورد جایگزین RepaintBoundary خواهد شد. (I7100d، b/150774014)
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)«ترکیبشدنی تصویر ایجادشده» برای مدیریت اندازهبندی/چیدمان علاوهبر رسم کردن «دارایی تصویر» معین در صفحه. این عنصر ترکیبی همچنین از رسم هر نمونه دلخواه Painter با رعایت اندازه ذاتی آن و همچنین پشتیبانی از اندازه ثابت یا حداقل اندازه معین (Ibcc8f) پشتیبانی میکند
Wrap composable منسوخ شده است. میتوان آن را با اصلاحگر LayoutAlign یا با عنصر ترکیبی Stack (Ib237f) جایگزین کرد
WithConstraints پارامتر LayoutDirection (I6d6f7) را دریافت کرد
جهت چیدمان از گره چیدمان والد به فرزندان منتقل میشود. اصلاحگر جهت چیدمان اضافه شد. (I3d955)
عنصر پشته از جهتگیری راستبهچپ پشتیبانی میکند (Ic9e00)
ترکیبشونده DrawShape برداشته شد. درعوض از اصلاحگر DrawBackground استفاده کنید. (I7ceb2)
پشتیبانی از جهت راستبهچپ در اصلاحگر LayoutPadding (I9e8da)
AdapterList اضافه شد، عنصر فهرست پیمایششدنی که فقط موارد نمایان را میسازد و چیدمان میکند. مشکلات شناختهشده فعلی شامل این است که فقط عمودی است و بهطور کامل از عهده همه موارد تغییر در فرزندانش برنمیآید. (Ib351b)
پرچم
ComposeFlags.COMPOSER_PARAMبهtrueبهروز شد که استراتژی تولید کد را برای افزایه نوشتن تغییر خواهد داد. در سطح بالا، این امر باعث میشود توابع @Composable با یک پارامتر ترکیبی اضافی تولید شوند که به تماسهای @Composable بعدی منتقل میشود تا زمان اجرا بتواند اجرا را بهدرستی مدیریت کند. این یک تغییر باینری مهم است، بااینحال، باید سازگاری سطح منبع را در تمام استفادههای مجاز از compose حفظ کند. (I7971c)عنصر «بوم نقاشی» اضافه شد. این عنصر ترکیبی مقداری فضا (ارائهشده توسط کاربر) را اشغال میکند و به شما امکان میدهد بااستفاده از CanvasScope (I0d622) طراحی کنید
Density و DensityScope در یک میانای واحد ادغام شدند. اکنون بهجای ambientDensity() میتوانید از DensityAmbient.current استفاده کنید. بهجای withDensity(density) فقط with(density) (I11cb1)
LayoutCoordinates تغییر کرد تا providedAlignmentLines بهجای Map به Set تبدیل شود و LayoutCoordinates عملگر get() را برای بازیابی مقدار پیادهسازی کند. این کار باعث میشود اصلاحگرها بتوانند یک یا چند مقدار مجموعه را بدون ایجاد مجموعه جدید برای هر اصلاحگر اصلاح کنند. (I0245a)
پیمایشگرها اکنون رفتار حرکت پرتاب بومی Android را نشان میدهند. (I922af، b/147493715)
بهبودهای سطح API «محدودیتها» (I0fd15)