WindowManager
| آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
|---|---|---|---|---|
| 24 سپتامبر 2025 | 1.5.0 | - | - | - |
اعلام وابستگی ها
برای افزودن وابستگی به WindowManager، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { implementation "androidx.window:window:1.5.0" // For Java-friendly APIs to register and unregister callbacks implementation "androidx.window:window-java:1.5.0" // For RxJava2 integration implementation "androidx.window:window-rxjava2:1.5.0" // For RxJava3 integration implementation "androidx.window:window-rxjava3:1.5.0" // For testing implementation "androidx.window:window-testing:1.5.0" }
کاتلین
dependencies { implementation("androidx.window:window:1.5.0") // For Java-friendly APIs to register and unregister callbacks implementation("androidx.window:window-java:1.5.0") // For RxJava2 integration implementation("androidx.window:window-rxjava2:1.5.0") // For RxJava3 integration implementation("androidx.window:window-rxjava3:1.5.0") // For testing implementation("androidx.window:window-testing:1.5.0") }
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.5
نسخه 1.5.0
24 سپتامبر 2025
androidx.window:window-*:1.5.0 منتشر شد. نسخه 1.5.0 شامل این commit ها است.
تغییرات مهم از 1.4.0:
- نقاط شکست
WindowSizeClassرا برای Large و XLarge اضافه کنید. ( I40d85 ) - محاسبه
WindowMetricsرا به زمینه برنامه گسترش دهید. ( I8eeeb , b/360934048 ) - ارائه دهنده یک Getter برای فعال کردن دسترسی مستقیم به
WindowLayoutInfo( Ie9513 ) - API را برای ذخیره خودکار حالت جاسازی و برای بازیابی خودکار حالت جاسازی با شروع مجدد فرآیند برنامه معرفی کنید. ( Ie0295 )
- API آزمایشی
WindowInsetsحذف کنید. ( I68a71 )
رفع اشکال
- در برخی موارد
EmbeddingRuleرفع می کند کهhashCodeمختلف را برمی گرداند. ( I748cc ) - جاهایی که ممکن است
NullPointerExceptionبه دلیل خطاهایی در اجرای دستگاه رخ دهد، رفع کنید. - بررسیهای ایمنی
ActivityEmbeddingما به دلیل جلوگیری از حذف کلاسهای استفادهنشده را برطرف کنید.
مشارکت خارجی
- همه پلتفرم های KMP را به
window-coreاضافه کنید ( If3d7c )
نسخه 1.5.0-rc01
27 آگوست 2025
androidx.window:window-*:1.5.0-rc01 منتشر شد. نسخه 1.5.0-rc01 حاوی این commit ها است.
رفع اشکال
- جاهایی که ممکن است
NullPointerExceptionبه دلیل خطاهایی در اجرای دستگاه رخ دهد، رفع کنید. - بررسیهای ایمنی
ActivityEmbeddingما به دلیل جلوگیری از حذف کلاسهای استفادهنشده را برطرف کنید.
نسخه 1.5.0-beta02
13 آگوست 2025
androidx.window:window-*:1.5.0-beta02 منتشر شد. نسخه 1.5.0-beta02 حاوی این تعهدات است.
ویژگی های جدید
- رفع اشکال جزئی
مشارکت خارجی
- همه پلتفرم های KMP را به
window-coreاضافه کنید ( If3d7c )
نسخه 1.5.0-beta01
2 ژوئیه 2025
androidx.window:window-*:1.5.0-beta01 منتشر شد. نسخه 1.5.0-beta01 حاوی این تعهدات است.
نسخه 1.5.0-alpha02
7 مه 2025
androidx.window:window-*:1.5.0-alpha02 منتشر شد. نسخه 1.5.0-alpha02 حاوی این تعهدات است.
تغییرات API
- نقاط شکست
WindowSizeClassرا برای Large و XLarge اضافه کنید. ( I40d85 ) - محاسبه
WindowMetricsرا به زمینه برنامه گسترش دهید. ( I8eeeb , b/360934048 ) - ارائه دهنده یک Getter برای فعال کردن دسترسی مستقیم به
WindowLayoutInfo( Ie9513 ) - API را برای ذخیره خودکار حالت جاسازی و برای بازیابی خودکار حالت جاسازی با شروع مجدد فرآیند برنامه معرفی کنید. ( Ie0295 )
- API آزمایشی
WindowInsetsحذف کنید. ( I68a71 ) - مخفی کردن چند سازنده ( I87b8d )
رفع اشکال
- در برخی موارد
EmbeddingRuleرفع می کند کهhashCodeمختلف را برمی گرداند. ( I748cc )
نسخه 1.5.0-alpha01
12 مارس 2025
androidx.window:window-*:1.5.0-alpha01 منتشر شد. نسخه 1.5.0-alpha01 حاوی این تعهدات است.
ویژگی های جدید
- انتشار اولیه بعدی 1.5.0.
نسخه 1.4
نسخه 1.4.0
20 مه 2025
androidx.window:window-*:1.4.0 منتشر شد. نسخه 1.4.0 حاوی این تعهدات است.
تغییرات مهم از 1.3.0
- تعبیه فعالیت
- API برای سفارشی کردن انیمیشن های راه اندازی
- تقسیم کننده تعاملی
- پین کردن
ActivityStack - کاهش نور دیالوگ تمام صفحه
- پاسخ به تماس اطلاعات پنجره فعالیت جاسازی شده
- بهبود مدیریت
ActivityStack - Activity را در یک
ActivityStackمشخص راه اندازی کنید
-
WindowMetricsCalculator- پشتیبانی تست پذیری را بهبود بخشید
-
WindowMetrics- روش های آسان برای محاسبه
withDpوheightDp - بهروزرسانی کرانهها را به
isAtLeastعلامت بزنید و از کرانهای پایینتر برای پشتیبانی از افزودن مقادیر جدید استفاده کنید
- روش های آسان برای محاسبه
-
WindowSizeClass- روشی برای محاسبه از
WindowMetricsاضافه کنید
- روشی برای محاسبه از
-
WindowInfoTracker- API را برای تشخیص وضعیت های پشتیبانی شده در دستگاه اضافه کنید
نسخه 1.4.0-rc02
23 آوریل 2025
androidx.window:window-*:1.4.0-rc02 منتشر شد. نسخه 1.4.0-rc02 حاوی این commit ها است.
رفع اشکال
- خرابی proguard برای
ActivityEmbeddingرا برطرف کنید.
نسخه 1.4.0-rc01
12 مارس 2025
androidx.window:window-*:1.4.0-rc01 منتشر شد. نسخه 1.4.0-rc01 حاوی این commit ها است.
ویژگی های جدید
- بهروزرسانیهای
WindowSizeClassAPI. - بهروزرسانیهای Activity Embedding API.
نسخه 1.4.0-beta02
12 فوریه 2025
androidx.window:window-*:1.4.0-beta02 منتشر شد. نسخه 1.4.0-beta02 حاوی این تعهدات است.
ویژگی های جدید
- حاشیه نویسی را که فقط در ویژگی وجود داشت، اما نه دریافت کننده، رفع کنید.
نسخه 1.4.0-beta01
15 ژانویه 2025
androidx.window:window-*:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
- API را اضافه کنید تا امکان سفارشی کردن انیمیشنهای
ActivityEmbeddingفراهم کنید. - APIهای تست
WindowMetricsCalculatorرا گسترش دهید تا امکان جعل معیارهای پنجره فراهم شود.
تغییرات API
- مخفی کردن چند سازنده ( I87b8d )
- به برنامهها اجازه دهید انیمیشنهای
ActivityEmbeddingسفارشی کنند ( If31a8 ) - پشتیبانی از
watchosDeviceArm64KMP target و target kotlin 1.9 ( Icf15d , b/364652024 ) را اضافه می کند. - APIهای
WindowMetricsCalculatorدر معرض دید قرار دهید. ( I1cebf )
رفع اشکال
- این کتابخانه اکنون از حاشیهنویسیهای پوچ JSpecify استفاده میکند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود). ( Ie69ac , b/326456246 )
نسخه 1.4.0-alpha05
16 اکتبر 2024
androidx.window:window-*:1.4.0-alpha05 منتشر شد. نسخه 1.4.0-alpha05 حاوی این تعهدات است.
ویژگی های جدید
- برای دریافت
widthDpوheightDpازWindowMetricsتوابع راحتی اضافه کنید.
تغییرات API
-
widthDpوheightDpبهWindowMetricsاضافه کنید. ( Ide026 ) - API آزمایشی
WindowInsetsحذف کنید. ( I68a71 ) - بهروزرسانی نامهای روش بررسی مرزها به
isAtLeast( Ib0ab7 )
نسخه 1.4.0-alpha04
2 اکتبر 2024
androidx.window:window-*:1.4.0-alpha04 منتشر شد. نسخه 1.4.0-alpha04 حاوی این commit ها است.
تغییرات API
- روشی برای محاسبه
WindowSizeClassازWindowMetricsاضافه کرد. ( 874dba ) - برای وضوح، متدهای
WindowSizeClassرا بهcontainsWidthDp،containsHeightDp، وcontainsWindowSizeDpتغییر دهید. ( fa760d ) -
WindowAreaControllerبه کلاس پایه انتزاعی تبدیل کنید. ( I90893 )
رفع اشکال
- هنگام ایجاد یک
FoldingFeatureآزمایشی، پشتیبانی از مرزهای نسبی را اضافه کنید. ( 2e6b3e ) - رفع اشکال عمومی هنگام انتخاب
WindowSizeClass.
نسخه 1.4.0-alpha03
18 سپتامبر 2024
androidx.window:window-*:1.4.0-alpha03 منتشر شد. نسخه 1.4.0-alpha03 حاوی این commit ها است.
ویژگی های جدید
- یک روش کاربردی برای دریافت یک
WindowSizeClassازWindowMetricsاضافه کنید. ( I83f1f ) - نام
isAtLeastبهcontainsBreakpointتغییر دهید. ( I85b47 ) - اضافه بار به
computeWindowSizeClassبا استفاده از شناورها. ( I3dcb2 , b/364677934 , b/364677802 , b/364680886 )
رفع اشکال
- نقاط شکست از دست رفته را به مجموعه نقطه شکست پیش فرض
WindowSizeClassاضافه کنید. - رفع اشکالی که در آن ابعاد فشرده در برخی موارد به درستی انتخاب نشده بودند.
نسخه 1.4.0-alpha02
4 سپتامبر 2024
androidx.window:window-*:1.4.0-alpha02 منتشر شد. نسخه 1.4.0-alpha02 حاوی این تعهدات است.
ویژگی های جدید
پشتیبانی برای WindowSizeClass سفارشی اضافه کنید.
- سازنده را برای
WindowSizeClassباز کنید تا توسعه دهندگان بتوانند از خود استفاده کنند. - متدهای ابزار
isAtLeastاضافه کنید تا توسعه دهندگان بتوانند محدوده ای از مقادیرWindowSizeClassپردازش کنند. - یک تابع افزونه در
Set<WindowSizeClass>اضافه کنید تا بهترین تطابق را از Set محاسبه کنید. - برای نقاط شکست توصیه شده اندروید، ثابت اضافه کنید.
- مجموعه نقطه شکست مربوط به نقاط شکست توصیه شده اندروید را اضافه کنید.
تغییرات API
- نام روش کرانه ها را برای
WindowSizeClassبه روز کنید. ( If89a6 ) - API
WindowSizeClassرا برای پشتیبانی از افزودن مقادیر جدید نقطه شکست در آینده بهروزرسانی کنید. به جای داشتن کرانه های مطلق، از کران های پایین استفاده می کنیم و به توسعه دهندگان توصیه می کنیم هنگام پردازش یکWindowSizeClassاز بررسی های کران پایین تر استفاده کنند.WindowWidthSizeClassوWindowHeightSizeClassموجود منسوخ خواهند شد زیرا بیشتر توسعه نخواهند یافت. ( I014ce )
نسخه 1.4.0-alpha01
7 آگوست 2024
androidx.window:window-*:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 حاوی این تعهدات است.
ویژگی های جدید
- ActivityStack Pinning به برنامهها اجازه میدهد محتوا را در یک ظرف پین کنند و مسیریابی آن را از ظرف دیگر جدا کنند.
- Interactive Divider به برنامهها اجازه میدهد تا یک تقسیمکننده ثابت یا قابل کشیدن بین دو فعالیت را در یک ارائه تقسیمبندی نشان دهند.
- Dialog Dimming به برنامهها اجازه میدهد تا ناحیه محاورهای را مشخص کنند، یا کل پنجره کار را کمنور کنند یا فقط محفظهای را که دیالوگ را نشان میدهد کم نور کنند.
- پاسخ به تماس اطلاعات پنجره فعالیت جاسازی شده به برنامه ها امکان می دهد به طور مداوم به روز رسانی های پنجره فعالیت جاسازی شده را دریافت کنند.
- Embedding Animation Background به برنامهها اجازه میدهد پسزمینه انیمیشن را مشخص کنند و کیفیت انیمیشن انتقال را در هنگام استفاده از
ActivityEmbeddingبهبود بخشند. - مدیریت بهبود یافته ActivityStack به برنامهها اجازه میدهد هنگام استفاده از
ActivityEmbeddingکنترل بیشتری رویActivityStacksداشته باشند، از جمله: - راه اندازی یک فعالیت در یک
ActivityStackمشخص - اتمام یک
ActivityStack
تغییرات API
یک API جدید
WindowInfoTracker#supportedPostures:- یک API برای تعیین اینکه آیا دستگاه از حالت TableTop برای تاشوها پشتیبانی می کند یا خیر. WindowAreaSessionPresenter#getWindow را اضافه می کند
افزودن API برای پشتیبانی از پین کردن
ActivityStack:- کلاس
SplitPinRule -
SplitController#pinTopActivityStack -
SplitController#unpinTopActivityStack
- کلاس
API ها را برای فعال کردن و پیکربندی تقسیم کننده تعاملی اضافه کنید
- کلاس
DividerAttributes -
SplitAttributes.Builder#setDividerAttributes
- کلاس
افزودن API برای تنظیم
EmbeddingConfigurationوDimAreaBehaviorبرای گفتگوها- کلاس
EmbeddingConfiguration - کلاس
DimAreaBehavior -
ActivityEmbeddingController#setEmbeddingConfiguration
- کلاس
برای دریافت بهروزرسانیهای اطلاعات پنجره فعالیت تعبیهشده، APIها را اضافه کنید
- کلاس
EmbeddedActivityWindowInfo -
ActivityEmbeddingController#embeddedActivityWindowInfo
- کلاس
APIها را برای تنظیم پسزمینه انیمیشن درج شده اضافه کنید
-
EmbeddingAnimationBackground -
SplitAttributes.Builder#setAnimationBackground
-
API ها را برای تکمیل
ActivityStacksاضافه کنید-
ActivityEmbeddingController#finishActivityStacks
-
برای تنظیم راه اندازی
ActivityStackAPI ها را اضافه کنید-
ActivityEmbeddingOptions#setLaunchingActivityStack
-
APIهای زیر پایدار هستند و دیگر آزمایشی نیستند:
-
ActivityEmbeddingController#invalidateVisibleActivityStacks(از SplitController#invalidateTopVisibleSplitAttributes منتقل شد) -
ActivityEmbeddingController#getActivityStack -
SplitController#updateSplitAttributes
-
افزودن API برای 1.4. ( I56774 )
رفع اشکال
- رفع اشکال در برخی از دستگاهها که در آنها وقتی جلسه فعال است، به جای ACTIVE، UNAVILABLE برگردانده میشود.
- به دلیل پشتیبانی ناپایدار API، پشتیبانی از
transferActivityToWindowAreaدر دستگاههای دارایvendorApiLevel2 حذف میکند. - API را برای فعال کردن کشیدن به تمام صفحه برای تقسیم کننده قابل کشیدن Activity Embedding معرفی کنید. ( I645c9 )
- به برنامهها اجازه دهید انیمیشنهای
ActivityEmbeddingرا از طریق پارامترهای انیمیشن برایSplitAttributesغیرفعال کنند. ( IDc01a ) - طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساختها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق میافتد. به مشتریانی که از AGP استفاده نمیکنند، توصیه میشود به نسخه 8.1 یا بالاتر D8 بهروزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 , b/345472586 )
- به برنامههای افزودنی اجازه دهید پارامترهای انیمیشن را برای
SplitAttributesبگیرند تا دستگاه بتواند از آن برای انتقال انیمیشن استفاده کند. ( Iede00 ) - پنهان کردن APIهای همپوشانی ( IC4251 )
- API ها را برای پیکربندی تقسیم کننده ثابت یا قابل کشیدن برای تقسیم معرفی کنید ( Ia7a78 )
- تراکم اضافه شده به
WindowMetrics( Id6723 ) - API را برای دریافت
SupportedPosturesاضافه کنید. ( If557a ) - حذف
setLaunchingActivityStackاز API آزمایشی ( I191cf ) - معرفی
ActivityEmbeddingController#embeddedActivityWindowInfo( I24312 ) -
#getTokenرا منسوخ کنید و#getActivityStackTokenاضافه کنید ( Ie0471 ) - معرفی آداپتور برگشت به تماس برای
embeddedActivityWindowInfoflow API ( Ida77f ) - افزودن آداپتور برگشت به تماس برای overlayInfo flow API ( I7264f )
-
WindowSdkExtensionsRuleبرای نادیده گرفتنextensionsVersionبرای آزمایش معرفی کنید. ( Ifb928 ) - -
#setLaunchingActivityStackبه Bundle منتقل کنید تا با استفادههایActivityOptionsCompatسازگار شود.- کاربران باید
activityOptions.toBundleبه جای خودActvityOptionsارسال کنند. -
#setLaunchingActivityStack(Activity)را حذف کنید. کاربران باید برای دریافتActivityStackبرای استفاده ازActivityEmbeddingController#getActivityStac(Activity)مهاجرت کنند وActivityStackبه#setLaunchingActivityStackمنتقل کنند. ( Ie0ccc )
- کاربران باید
- -
ActivityStack.TokenوSpltInfo.Tokenرا به عنوان یک شناسه برای برقراری ارتباط بین WM Jetpack و برنامه های افزودنی معرفی کنید.- API ها را منسوخ یا جایگزین کنید تا به جای IBinder، Token را بگیرید/برگردانید. ( I12b24 )
- - معرفی
ActivityEmbeddingController#invalidateVisibleActivityStacks-
SplitController#invalidateTopVisibleSplitAttributesحذف کنید زیرا این ویژگی به#invalidateVisibleActivityStacksادغام شده است ( I02ef5 )
-
- - اضافه کردن API برای تنظیم پیکربندی جاسازی. ( I59a4a )
- - افزودن پین/بازکردن پین بالا
ActivityStackandroidx.WindowAPI- در حال بهروزرسانی برنامه آزمایشی برای اجازه دادن به پین یا برداشتن پین بالای
ActivityStack( I24dd3 )
- در حال بهروزرسانی برنامه آزمایشی برای اجازه دادن به پین یا برداشتن پین بالای
- دوباره
#finishActivityStacksوActivityEmbeddingOptionsرا اضافه کنید ( Ic1ab3 ) - API های ناپایدار را حذف کنید. ( Ibc534 , b/302380585 )
نسخه 1.3
نسخه 1.3.0
29 مه 2024
androidx.window:window-*:1.3.0 منتشر شد. نسخه 1.3.0 شامل این commit ها است.
تغییرات مهم از 1.2.0
- پشتیبانی از چند پلتفرم Kotlin برای کلاس های اندازه پنجره.
نسخه 1.3.0-rc01
14 مه 2024
WindowManager Jetpack 1.3 پشتیبانی از Kotlin Multiplatform را برای ویژگیهای WindowSizeClass و همچنین رفع چندین باگ ارائه میکند.
androidx.window:window-*:1.3.0-rc01 منتشر شد. نسخه 1.3.0-rc01 حاوی این commit ها است.
نسخه 1.3.0-beta02
1 مه 2024
androidx.window:window-*:1.3.0-beta02 منتشر شد. نسخه 1.3.0-beta02 حاوی این تعهدات است.
تغییرات API
- پشتیبانی برای ایجاد و استفاده از
WindowSizeClassسفارشی را حذف کنید. ( شناسه 1143 )
رفع اشکال
- رفع خطای
KotlinReflectionInternalErrorناشی از حذف برخی فایلها در برخی از دستگاهها توسط proguard. ( I01b02 )
نسخه 1.3.0-beta01
3 آوریل 2024
androidx.window:window-*:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.
نسخه 1.3.0-alpha03
6 مارس 2024
androidx.window:window-*:1.3.0-alpha03 منتشر شد. نسخه 1.3.0-alpha03 حاوی این تعهدات است.
تغییرات API
-
WindowSizeClassUtilبه متدهای متمرکزتر تقسیم کنید. ( Ie9292 ) - بازیابی
WindowSizeClass#compute( I21355 , b/324293374 )
رفع اشکال
- خرابی را در جایی که زمینه ارائه شده به درستی باز نشده است، برطرف می کند. ( 94d10ce , b/318787482 )
نسخه 1.3.0-alpha02
7 فوریه 2024
androidx.window:window-*:1.3.0-alpha02 منتشر شد. نسخه 1.3.0-alpha02 حاوی این commit ها است.
ویژگی های جدید
- بهروزرسانیهای سطح API APIهای کلاس اندازه پنجره برای بهبود انعطافپذیری برای توسعهدهندگانی که میخواهند از کلاسهای اندازه خودشان استفاده کنند.
تغییرات API
- محدودیت ارتفاع را به انتخابگر عرض اضافه کنید. ( I23393 )
- توابع کاربردی را برای انتخاب یک
WindowSizeClassاز یک مجموعه اضافه کنید. توابع امتیازدهی آزمایشی را اضافه کنید تا توسعه دهندگان بتوانند انتخابگرهای خود را بنویسند. یک تابع پسوند انتخابگر اضافه کنید تا وسیع ترینWindowSizeClassدر یک محدوده مشخص انتخاب کنید. ( I0c944 ) - سازنده
WindowSizeClassرا باز کنید تا نقاط شکست سفارشی اضافه شوند. ( IC1ff3 ) - برای ایجاد کلاس اندازه از عرض، ارتفاع و تراکم، تابع راحتی را اضافه کنید. ( If67f4 )
رفع اشکال
- هنگامی که مقدار شناور به 0 کوتاه شده است، استثنا را برطرف کنید. ( 272ffac )
نسخه 1.3.0-alpha01
15 نوامبر 2023
androidx.window:window-*:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
- APIهای پنجره آزمایشی را برای دسترسی به صفحه پشتی نمایش دهید.
- تست API برای ایجاد
FoldingFeatureاکنون پایدار است. - APIهای آزمایشی برای تنظیم مقادیر جعلی
ActivityEmbeddingاکنون پایدار هستند. -
WindowLayoutInfoPublisherRuleاکنون در هنگام بدست آوردن یک مقدار از یکUiContext، نادیده گرفتن را گزارش می کند. -
WindowInfoTrackerداده های ویژگی تاشو به پارامترهایUiContextرا گزارش می دهد. - نسخه Extensions را روی دستگاه نمایش دهید.
- ثابت های
WindowPropertiesبرای لغو هر برنامه کاربر:-
PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE- به سیستم اطلاع میدهد که برنامه از لغو سازگاری نسبت تصویر با کاربر خارج شده است. -
PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE- به سیستم اطلاع می دهد که برنامه از گزینه تمام صفحه تنظیمات نادیده گرفتن سازگاری نسبت ابعاد کاربر انصراف داده است.
-
نسخه 1.2
نسخه 1.2.0
15 نوامبر 2023
androidx.window:window-*:1.2.0 منتشر شد. نسخه 1.2.0 حاوی این commit ها است.
تغییرات مهم از 1.1.0
- APIهای پنجره آزمایشی را برای دسترسی به صفحه پشتی نمایش دهید.
- تست API برای ایجاد
FoldingFeatureاکنون پایدار است. - APIهای آزمایشی برای تنظیم مقادیر جعلی
ActivityEmbeddingاکنون پایدار هستند. -
WindowLayoutInfoPublisherRuleاکنون در هنگام بدست آوردن یک مقدار از یکUiContext، نادیده گرفتن را گزارش می کند. -
WindowInfoTrackerداده های ویژگی تاشو به پارامترهایUiContextرا گزارش می دهد. - نسخه Extensions را روی دستگاه نمایش دهید.
نسخه 1.2.0-rc01
1 نوامبر 2023
androidx.window:window-*:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.
ویژگی های جدید
- APIهای پنجره آزمایشی را برای دسترسی به صفحه پشتی نمایش دهید.
- تست API برای ایجاد
FoldingFeatureاکنون پایدار است. - APIهای آزمایشی برای تنظیم مقادیر جعلی
ActivityEmbeddingاکنون پایدار هستند. -
WindowLayoutInfoPublisherRuleاکنون در هنگام بدست آوردن یک مقدار از یکUiContext، نادیده گرفتن را گزارش می کند. -
WindowInfoTrackerداده های ویژگی تاشو به پارامترهایUiContextرا گزارش می دهد. - نسخه Extensions را روی دستگاه نمایش دهید.
نسخه 1.2.0-beta04
18 اکتبر 2023
androidx.window:window-*:1.2.0-beta04 منتشر شد. نسخه 1.2.0-beta04 حاوی این تعهدات است.
تغییرات API
- API های ناپایدار را حذف کنید. ( Ibc534 , b/302380585 )
نسخه 1.2.0-beta03
20 سپتامبر 2023
androidx.window:window-*:1.2.0-beta03 منتشر شد. نسخه 1.2.0-beta03 حاوی این تعهدات است.
ویژگی های جدید
- بررسیهای
RequiresApiرا برای APIهایی که برای عملکرد صحیح به نسخه خاصی از برنامههای افزودنی نیاز دارند اضافه کنید. - یک API اضافه کنید تا نسخه برنامههای افزودنی در دستگاه نمایش داده شود.
تغییرات API
- نسخه برنامه افزودنی SDK پنجره مورد نیاز را در APIهای عمومی حاشیه نویسی کنید.
- حذف
isXXXSupportedدر جزء Activity Embedding. ( Ie3dae )
- حذف
-
WindowSdkExtensionsبرای گزارش نسخه افزونه در دستگاه معرفی کنید.-
RequiresWindowSdkExtensionبرای حاشیه نویسی حداقل نسخه برنامه افزودنی مورد نیاز معرفی کنید. ( I05fd4 )
-
-
WindowAreaInfo#getCapabilityغیر قابل تهی می کند. ( I17048 )
نسخه 1.2.0-beta01
26 جولای 2023
androidx.window:window-*:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
- APIهای پنجره آزمایشی را برای دسترسی به صفحه پشتی نمایش دهید.
- تست API برای ایجاد
FoldingFeatureاکنون پایدار است. - APIهای آزمایشی برای تنظیم مقادیر جعلی
ActivityEmbeddingاکنون پایدار هستند. -
WindowLayoutInfoPublisherRuleاکنون در هنگام بدست آوردن یک مقدار از یکUiContext، نادیده گرفتن را گزارش می کند. -
WindowInfoTrackerداده های ویژگی تاشو به پارامترهایUiContextرا گزارش می دهد.
تغییرات API
-
WindowAreaAPI را بهعنوان آزمایشی علامتگذاری میکند تا اجازه دهد تغییرات API برای انتشار پایدار در نسخه 1.3 ( I857f5 ) ادامه یابد. - فایل های API به روز شده برای حاشیه نویسی حذف سازگاری ( I8e87a , b/287516207 )
نسخه 1.2.0-alpha03
21 ژوئن 2023
androidx.window:window-*:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 حاوی این commit ها است.
ویژگی های جدید
- حذف API های منسوخ شده از سطح API.
- API ها را برای پشتیبانی از نمایشگرهای همزمان اضافه کنید.
- یک ویژگی برای انصراف از تغییر اندازه اجباری اضافه کنید.
- برای انصراف از لغو حداقل نسبت تصویر، ویژگی را اضافه کنید.
-
ActivityEmbeddingRuleبرای پشتیبانی از تست واحد در مورد Activity Embedding تثبیت کنید.
تغییرات API
رفع اشکال
- افزودن ویژگی سازگاری انصراف برای تغییر اندازه اجباری ( Ie7ab1 )
-
SESSION_STATE_CONTENT_INVISIBLEاز رابط برنامه های افزودنی حذف می کند. ( I6ed19 ) -
ActivityEmbeddingRuleبرای پشتیبانی از تست واحد در مورد تعبیه فعالیت تثبیت کنید. ( I8d6b6 ) - افزودن ویژگی انصراف compat برای لغو نسبت ابعاد حداقل. ( I66390 )
- API های منسوخ شده WindowArea ( Ieb67c ) را حذف می کند
- تغییر نام ویژگی حلقه درخواست جهت به
PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTED. ( Ie2fbd ) - نامهای ثابت جلسه ناحیه پنجره را بهروزرسانی میکند ( I83675 )
- افزودن ویژگی compat انصراف که حلقه درخواست جهت را در صورت شناسایی نادیده می گیرد ( I0a7a2 )
-
WindowAreaComponent#STATUS_ACTIVEرا اضافه کنید تا مشخص شود که این ویژگی از قبل فعال است. ( I62bc3 ) - افزودن APIهای
RearDisplayPresentationMode( I0401c ) - API رنگ پس زمینه را برای پایداری حذف کنید. ( I34c3e )
- API های ناحیه پنجره را مخفی کنید. ( I39de0 )
- روش هایی را برای لغو
SplitInfoدرSplitControllerاضافه کنید. روشهای آزمایشی را برای ایجاد double برایSplitInfoوActivityStackاضافه کنید. ( Icd69f ) - تگ را برای
ActivityRule.Builderاختیاری کنید. ( Ib0b44 ) -
RatioSplitType،ExpandContainersSplitوHingeSplitTypeرا حذف کنید. آنها اکنونSplitTypeهستند.-
#splitEqually()،#expandContainers()و#splitByHingeرا باSplitType SPLIT_TYPE_EQUAL،SPLIT_TYPE_EXPANDوSPLIT_TYPE_HINGEجایگزین کنید. - برای تنظیم نوع برگشتی نوع تقسیم لولا، عملکرد را حذف کنید. اگر به دلیل وضعیت فعلی دستگاه یا پنجره، نوع تقسیم لولا قابل اعمال نباشد، به طور مساوی محفظه وظیفه اصلی تقسیم می شود. از
SplitController#setSplitAttributesCalculatorبرای سفارشی کردن نوع تقسیم مجدد استفاده کنید. ( Ifcc59 )
-
-
add/removeSplitCallbackمنسوخ کنید-
add/removeSplitCallbackبهSplitControllerCallbackAdapterمنتقل کنید - برای دریافت لیست
SplitInfo، پشتیبانیFlowرا اضافه کنید ( I7f1b6 )
-
- یک قانون آزمایشی برای
ActivityEmbeddingController( I42e9b ) اضافه کنید - تغییر نام
ActivityOptionsCompatبهActivityEmbeddingOptions( I89301 ) -
splitSupportStatusاضافه کنید تا مشخص کنید آیا تعبیه فعالیت در دسترس است یا خیر. ( I10024 ) - برای نمایش بهتر مقدار
DEFAULTSplitAttributes.BackgroundColorرا معرفی کنید. روشن کنید که رنگ پسزمینه پویانمایی غیر شفاف پشتیبانی نمیشود، بنابراین هر رنگ غیر شفاف بهعنوان پیشفرض در نظر گرفته میشود، که به معنای استفاده از رنگ پسزمینه پنجره طرح زمینه فعلی است. ( IC6b95 ) -
alwaysAllow()وalwaysDisallow()را باALWAYS_ALLOWوALWAYS_DISALLOWجایگزین کنید. ( I3057b ) - APIها را برای
SplitRule،SplitAttributes،SplitAttributesCalculatorاضافه کنید. ( I92d23 ) -
TestActivityStackبرای ایجادActivityStackبرای آزمایش اضافه کنید-
TestSplitInfoبرای ایجادSplitInfoبرای آزمایش اضافه کنید. ( I8e779 )
-
- راهی برای ایجاد
SplitAttributesCalculatorParamsجعلی اضافه کنید تا توسعه دهندگان بتوانندSplitAttributesCalculatorسفارشی شده خود را تأیید کنند ( Id4a6e ) -
WindowMetricsCalculator#computeCurrentWindowMetrics(@UiContext context: Context)وWindowMetricsCalculator#computeMaximumWindowMetrics(@UiContext context: Context)( I66c7f ) اضافه کنید
نسخه 1.2.0-alpha02
7 ژوئن 2023
androidx.window:window-*:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 حاوی این commit ها است.
ویژگی های جدید
- API آزمایشی را بهروزرسانی کنید تا برای ویژگیهای تاشو نامشخص ثابت باشد.
- نادیده گرفتن با
WindowLayoutInfoPublishRuleهمه مقادیرwindowLayoutInfo، از جمله API مبتنی بر Context را لغو میکند.
تغییرات API
- اضافه کردن ثابت برای ویژگی تاشو وسط نامشخص. ( I7530c )
رفع اشکال
-
WindowLayoutInfoPublishRuleبرای پشتیبانی از نادیده گرفتنWindowLayoutInfoمبتنی برContextبهروزرسانی کنید. ( I2037a )
نسخه 1.2.0-alpha01
24 مه 2023
androidx.window:window-*:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
APIهای آزمایشی را در مورد Activity Embedding و WindowLayoutInfoTracker تثبیت کنید. ActivityEmbeddingRule به پایدار ارتقا یافته است. WindowMetricsCalculatorRule به پایدار ارتقا یافته است. توابع ابزار برای ایجاد یک FoldingFeature برای آزمایش به پایدار ارتقا یافته است.
تغییرات API
-
ActivityEmbeddingRuleبرای پشتیبانی از تست واحد در مورد تعبیه فعالیت تثبیت کنید. ( I8d6b6 ) -
WindowMetrisCalculatorTestRuleپایدار است و اجازه می دهد معیارهای خرد برای تست های JVM وجود داشته باشد. توصیه می کنیم برای نتایج دقیق از شبیه ساز استفاده کنید. - برای پشتیبانی از تست JVM، API های آزمایشی را برای
WindowLayoutInfoتثبیت کنید. ( Ie036e ) -
IntRangeبرای آزمایش مقادیر ویژگی تاشو اضافه کنید. ( I69f7d )
نسخه 1.1
نسخه 1.1.0
7 ژوئن 2023
androidx.window:window-*:1.1.0 منتشر شد. نسخه 1.1.0 حاوی این commit ها است.
تغییرات مهم از 1.0.0
تعبیه فعالیت
-
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDبهعنوان ویژگی بولی تگ<application>در مانیفست برنامه اضافه شد. -
isSplitSupportedمنسوخ شده و باsplitSupportStatusجایگزین شده است تا اطلاعات دقیق تری در مورد اینکه چرا ویژگی تقسیم در دسترس نیست ارائه شود. - کلاس تودرتو
SplitController.SplitSupportStatusرا برای ارائه ثابت های حالت برای ویژگیsplitSupportStatusاضافه کرد. -
SplitControllerبه چندین ماژول Refactored کرد:- ماژول
ActivityEmbeddingControllerبرای APIهای مربوط بهActivityیاActivityStack. -
isActivityEmbeddedازSplitControllerبهActivityEmbeddingControllerمنتقل شد. - ماژول
RuleControllerبرای عملیات مربوط بهEmbeddingRule: - API های حذف شده
SplitController: -
clearRegisteredRules() -
getSplitRules() -
initialize() -
registerRule() -
unregisterRule() - API های
RuleControllerاضافه شده: -
addRule()- یک قانون اضافه می کند یا قانونی را که دارای همان برچسب است به روز می کند. -
removeRule()- یک قانون را از مجموعه قوانین ثبت شده حذف می کند. -
setRules()- مجموعه ای از قوانین را ایجاد می کند. -
clearRules()- تمام قوانین ثبت شده را حذف می کند. -
parseRules()- قوانین را از تعاریف قوانین XML تجزیه می کند.
- ماژول
- همه ماژول ها به یک زمینه نیاز دارند که با متد
#getInstance()مقداردهی اولیه شود، از جمله:-
ActivityEmbeddingController#getInstance(Context) -
SplitController#getInstance(Context) -
RuleController#getInstance(Context)
-
- کلاس
EmbeddingAspectRatioبرای تعریف ثابت های رفتاری enum مانند مربوط به نسبت ابعاد نمایش اضافه کرد. - کلاس
SplitAttributesرا برای تعریف طرح تقسیم اضافه کرد. - توابع ماشین حساب
SplitAttributesبهSplitControllerبرای سفارشی کردن طرح بندی های تقسیم شده اضافه شده است:-
setSplitAttributesCalculator(Function) -
clearSplitAttributesCalculator() -
isSplitAttributesCalculatorSupported()برای بررسی اینکه آیا APIهایSplitAttributesCalculatorدر دستگاه پشتیبانی می شوند یا خیر
-
- فیلد
EmbeddingRule#tagاضافه شد. - به روز رسانی API در
SplitRule:- افزودن
defaultSplitAttributes- طرح تقسیم پیش فرض یک تقسیم را تعریف می کند. جایگزینsplitRatioوlayoutDirectionمی شود. - ترجمه خواص XML
splitRatioوsplitLayoutDirectionبهdefaultSplitAttributesاضافه شد. - تعاریف حداقل ابعاد را برای استفاده از پیکسلهای مستقل از چگالی (dp) به جای پیکسل تغییر داد.
-
minHeightDpبا مقدار پیش فرض 600dp اضافه شد. -
minWidthبهminWidthDpبا مقدار پیشفرض 600dp تغییر کرد. -
minSmallestWidthبهminSmallestWidthDpبا مقدار پیشفرض 600dp تغییر کرد. -
maxAspectRatioInHorizontalبا مقدار پیشفرضALWAYS_ALLOWاضافه شد. -
maxAspectRatioInPortraitبا مقدار پیش فرض 1.4 اضافه شد. - کلاس تودرتو
FinishBehaviorبرای جایگزینی ثابت های رفتار پایان تعریف شده است. - تغییرات ویژگی را در کلاس تودرتوی Builder
SplitPairRuleوSplitPlaceholderRuleاعمال کرد.
- افزودن
-
SplitInfo#getSplitRatio()را باSplitInfo#getSplitAttributes()جایگزین کرد تا اطلاعات مربوط به تقسیم اضافی را ارائه دهد.
WindowLayout
- پشتیبانی از زمینه رابط کاربری آزمایشی غیرفعالیتی به
WindowInfoTrackerاضافه شد. - زمینه UI آزمایشی غیرفعالی به
WindowMetricsCalculatorاضافه شد.
مراحل مهاجرت
- برای فعال کردن تعبیه فعالیت برای نمایش فعالیتها در تقسیمبندیها، برنامهها باید ویژگی
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDرا به تگ مانیفست<application>اضافه کنند:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />تقسیم رفتارها برای یک برنامه قبل از زمان. - نسبت
SplitInfo- بررسی کنید که آیا تقسیم فعلی روی هم چیده شده است:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType - نسبت فعلی را بررسی کنید:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
- بررسی کنید که آیا تقسیم فعلی روی هم چیده شده است:
- مهاجرت های SplitController:
-
SplitController.getInstance()بهSplitController.getInstance(Context)تغییر می کند. -
SplitController.initialize(Context, @ResId int)بهRuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int))تغییر می کند. -
SplitController.getInstance().isActivityEmbedded(Activity)بهActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity)تغییر می کند. -
SplitController.getInstance().registerRule(rule)بهRuleController.getInstance(Context).addRule(rule)تغییر می کند. -
SplitController.getInstance().unregisterRule(rule)بهRuleController.getInstance(Context).removeRule(rule)تغییر می کند. -
SplitController.getInstance().clearRegisteredRules()بهRuleController.getInstance(Context).clearRules()تغییر می کند. -
SplitController.getInstance().getSplitRules()بهRuleController.getInstance(Context).getRules()تغییر می کند.
-
- مهاجرت ویژگی
SplitRule:-
minWidthوminSmallestWidthاکنون به جای پیکسل از واحدهای dp استفاده می کنند. برنامهها میتوانند از تماس زیر استفاده کنند:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )یا به سادگیminWithبر حسب پیکسل برdisplayMetrics#densityتقسیم کنند.
-
- ثابتهای رفتار Finish باید به ثابتهای کلاس enum مانند
FinishBehaviorمنتقل شوند:-
FINISH_NEVERبهFinishBehavior.NEVERتغییر می کند. -
FINISH_ALWAYSبهFinishBehavior.ALWAYSتغییر می کند. -
FINISH_ADJACENTبهFinishBehavior.ADJACENTتغییر می کند.
-
- جهت چیدمان باید به
SplitAttributes.LayoutDirectionمنتقل شود:-
ltrبهSplitAttributes.LayoutDirection.LEFT_TO_RIGHTتغییر می کند. -
rtlبهSplitAttributes.LayoutDirection.RIGHT_TO_LEFTتغییر می کند. - تغییر
localeبهSplitAttributes.LayoutDirection.LOCALE. -
splitRatioباید بهSplitAttributes.SplitType.ratio(splitRatio)منتقل شود.
-
- مهاجرت های
SplitPairRule.Builder:-
SplitPairRule.Builder(filters, minWidth, minSmallestWidth)بهkotlin SplitPairRule.Builder(filters) .setMinWidthDp(minWidthInDp) // Optional if minWidthInDp is 600. .setMinSmallestWidthDp(minSmallestWidthDp) // Optional if minSmallestWidthInDp is 600. -
setLayoutDirection(layoutDirection)وsetSplitRatio(ratio)بهkotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )تغییر می کند. -
setFinishPrimaryWithSecondaryوsetFinishSecondaryWithPrimaryثابت های enum مانندFinishBehaviorرا می گیرند. برای جزئیات بیشتر به " مهاجرت های SplitRule " مراجعه کنید. - از
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)برای نشان دادن تقسیمها در دستگاههای پرتره استفاده کنید.
-
- مهاجرت های
SplitPlaceholder.Builder:- فقط
filtersو پارامترهایplaceholderIntentدارد. سایر ویژگی ها به تنظیم کننده ها منتقل می شوند. برای جزئیات بیشتر به “SplitPairRule.Builder migrations” مراجعه کنید. -
setFinishPrimaryWithPlaceholderثابت های enum مانندFinishBehaviorرا می گیرد. برای جزئیات بیشتر به " مهاجرت های SplitRule " مراجعه کنید. -
setLayoutDirection(layoutDirection)وsetSplitRatio(ratio)به:kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() ) - از
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)برای نشان دادن تقسیمها در دستگاههای پرتره استفاده کنید.
- فقط
نسخه 1.1.0-rc01
10 مه 2023
androidx.window:window-*:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.
ویژگی های جدید
-
ActivityEmbeddingبه عنوان یک API پایدار منتشر کنید. - رفع اشکال مختلف
نسخه 1.1.0-beta02
5 آوریل 2023
androidx.window:window-*:1.1.0-beta02 منتشر شد. نسخه 1.1.0-beta02 حاوی این تعهدات است.
ویژگی های جدید
- رفع و پاکسازی داخلی
نسخه 1.1.0-beta01
22 مارس 2023
androidx.window:window-*:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 حاوی این تعهدات است.
تعبیه فعالیت
-
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDبهعنوان ویژگی بولی تگ<application>در مانیفست برنامه اضافه شد. -
isSplitSupportedمنسوخ شده و باsplitSupportStatusجایگزین شده است تا اطلاعات دقیق تری در مورد اینکه چرا ویژگی تقسیم در دسترس نیست ارائه شود. - کلاس تودرتو
SplitController.SplitSupportStatusرا برای ارائه ثابت های حالت برای ویژگیsplitSupportStatusاضافه کرد. -
SplitControllerبه چندین ماژول Refactored کرد:- ماژول
ActivityEmbeddingControllerبرای APIهای مربوط بهActivityیاActivityStack. -
isActivityEmbeddedازSplitControllerبهActivityEmbeddingControllerمنتقل شد. - ماژول
RuleControllerبرای عملیات مربوط بهEmbeddingRule: - API های حذف شده
SplitController:-
clearRegisteredRules() -
getSplitRules() -
initialize() -
registerRule() -
unregisterRule()
-
- API های
RuleControllerاضافه شده:-
addRule()- یک قانون اضافه می کند یا قانونی را که دارای همان برچسب است به روز می کند. -
removeRule()- یک قانون را از مجموعه قوانین ثبت شده حذف می کند. -
setRules()- مجموعه ای از قوانین را ایجاد می کند. -
clearRules()- تمام قوانین ثبت شده را حذف می کند. - `parseRules() - قوانین را از تعاریف قوانین XML تجزیه می کند.
-
- ماژول
- همه ماژول ها به یک زمینه نیاز دارند که با متد
#getInstance()مقداردهی اولیه شود، از جمله:-
ActivityEmbeddingController#getInstance(Context) -
SplitController#getInstance(Context) -
RuleController#getInstance(Context)
-
- کلاس
EmbeddingAspectRatioبرای تعریف ثابت های رفتاری enum مانند مربوط به نسبت ابعاد نمایش اضافه کرد. - کلاس
SplitAttributesرا برای تعریف طرح تقسیم اضافه کرد. - توابع ماشین حساب
SplitAttributesبهSplitControllerبرای سفارشی کردن طرح بندی های تقسیم شده اضافه شده است:-
setSplitAttributesCalculator(Function) -
clearSplitAttributesCalculator() -
isSplitAttributesCalculatorSupported()برای بررسی اینکه آیا APIهای SplitAttributesCalculator در دستگاه پشتیبانی می شوند یا خیر
-
- فیلد
EmbeddingRule#tagاضافه شد. - به روز رسانی API در
SplitRule:- افزودن
defaultSplitAttributes- طرح تقسیم پیش فرض یک تقسیم را تعریف می کند. جایگزینsplitRatioوlayoutDirectionمی شود. - ترجمه خواص XML
splitRatioوsplitLayoutDirectionبهdefaultSplitAttributesاضافه شد. - تعاریف حداقل ابعاد را برای استفاده از پیکسلهای مستقل از چگالی (dp) به جای پیکسل تغییر داد.
-
minHeightDpبا مقدار پیش فرض 600dp اضافه شد. -
minWidthبهminWidthDpبا مقدار پیشفرض 600dp تغییر کرد. -
minSmallestWidthبهminSmallestWidthDpبا مقدار پیشفرض 600dp تغییر کرد. -
maxAspectRatioInHorizontalبا مقدار پیش فرضALWAYS_ALLOWاضافه شده است. -
maxAspectRatioInPortraitبا مقدار پیش فرض1.4اضافه شد. - کلاس توخالی
FinishBehaviorتعریف شده برای جایگزینی ثابت های رفتار پایان. - تغییرات ملک را در کلاس
Builderتو در تو ازSplitPairRuleوSplitPlaceholderRuleاعمال کرد.
- افزودن
- جایگزین
SplitInfo#getSplitRatio()باSplitInfo#getSplitAttributes()برای ارائه اطلاعات اضافی مربوط به تقسیم.
پنجره
- پشتیبانی از زمینه UI غیر فعالیت UI به
WindowInfoTrackerاضافه شده است. - زمینه UI غیر فعال به
WindowMetricsCalculatorاضافه شده است.
مراحل مهاجرت
- برای فعال کردن فعالیت تعبیه شده برای نمایش فعالیت ها در شکاف ها ، برنامه ها باید
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDرا به برچسب<application>مانیفست اضافه کنند:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />این اجازه می دهد تا بهینه سازی این امکان را به شما می دهد رفتارهای تقسیم شده برای یک برنامه قبل از زمان. - نسبت
SplitInfo- بررسی کنید که آیا تقسیم فعلی انباشته شده است:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType - نسبت فعلی را بررسی کنید:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
- بررسی کنید که آیا تقسیم فعلی انباشته شده است:
- مهاجرت
SplitController:-
SplitController.getInstance()تغییر درSplitController.getInstance(Context). -
SplitController.initialize(Context, @ResId int)تغییر درRuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int)). -
SplitController.getInstance().isActivityEmbedded(Activity)بهActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity)تغییر می کند. -
SplitController.getInstance().registerRule(rule)بهRuleController.getInstance(Context).addRule(rule). -
SplitController.getInstance().unregisterRule(rule)بهRuleController.getInstance(Context).removeRule(rule). -
SplitController.getInstance().clearRegisteredRules()تغییر درRuleController.getInstance(Context).clearRules(). -
SplitController.getInstance().getSplitRules()تغییر درRuleController.getInstance(Context).getRules().
-
- مهاجرت املاک
SplitRule:-
minWidthوminSmallestWidthاکنون به جای پیکسل از واحدهای DP استفاده می کنند. برنامه ها می توانند از تماس زیر استفاده کنند:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )یا به سادگیminWithدر پیکسل ها باdisplayMetrics#densityتقسیم کنید.
-
- ثابت های رفتار پایان باید به ثابت های کلاس مانند
FinishBehaviorEnum منتقل شوند:-
FINISH_NEVERدرFinishBehavior.NEVERتغییر می کند. - تغییرات
FINISH_ALWAYSبرای پایان دادن بهFinishBehavior.ALWAYS. - تغییرات
FINISH_ADJACENTدرFinishBehavior.ADJACENT.
-
- جهت چیدمان باید به
SplitAttributes.LayoutDirectionمنتقل شود:-
ltrدرSplitAttributes.LayoutDirection.LEFT_TO_RIGHTتغییر می کند. - تغییر
rtlدرSplitAttributes.LayoutDirection.RIGHT_TO_LEFT. - تغییرات
localeبهSplitAttributes.LayoutDirection.LOCALE. -
splitRatioباید بهSplitAttributes.SplitType.ratio(splitRatio)منتقل شود.
-
-
SplitPairRule.Builderمهاجرت:-
SplitPairRule.Builder(filters, minWidth, minSmallestWidth)تغییر درkotlin SplitPairRule.Builder(filters) .setMinWidthDp(minWidthInDp) // Optional if minWidthInDp is 600. .setMinSmallestWidthDp(minSmallestWidthDp) // Optional if minSmallestWidthInDp is 600.اگر minsmallestwidthindp 600 باشد ، اختیاری است. -
setLayoutDirection(layoutDirection)وsetSplitRatio(ratio)بهkotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() ) -
setFinishPrimaryWithSecondaryوsetFinishSecondaryWithPrimaryثابت های مانندFinishBehaviorEnum را بگیرید. برای جزئیات بیشتر به "مهاجرت های اسپلیترول" مراجعه کنید. - برای نشان دادن شکاف در دستگاه های پرتره از
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW).
-
- مهاجرت های
SplitPlaceholder.Builder.- فقط
filtersو پارامترهایplaceholderIntentدارد. سایر خصوصیات به سمت تنظیم کننده ها حرکت می کنند. برای جزئیات بیشتر به "SPLITPAIRULE.Builder Migrations" مراجعه کنید. -
setFinishPrimaryWithPlaceholderثابت های مانندFinishBehaviorEnum را می گیرد. برای جزئیات بیشتر به "مهاجرت های اسپلیترول" مراجعه کنید. -
setLayoutDirection(layoutDirection)وsetSplitRatio(ratio)تغییر به:kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() ) - برای نشان دادن شکاف در دستگاه های پرتره از
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW).
- فقط
نسخه 1.1.0-alpha06
22 فوریه 2023
androidx.window:window-*:1.1.0-alpha06 منتشر می شود. نسخه 1.1.0-alpha06 شامل این تعهدات است.
ویژگی های جدید
- نسخه تجربی دریافت
WindowLayoutInfoاز یک زمینه UI در معرض دید قرار دهید.
تغییرات API
- اضافه کردن
splitSupportStatusبرای نشان دادن اینکه آیا تعبیه فعالیت در دسترس است یا خیر. ( I10024 ) - UI زمینه UI
WindowLayoutInfoAPI را به عنوان آزمایشی قرار دهید. ( i58ee0 ) -
WindowAreaControllerو API را معرفی می کند تا حالتRearDisplayرا فعال کند تا پنجره فعلی را به صفحه نمایش منتقل کند که با دوربین عقب تراز شده است. ( iffcbf ) - رنگ پس زمینه پیش فرض را به روز کنید. ( i1ac1b )
- پارامترهای
SplitAttributesرا اضافه کنید. ( i18bdd ) - API ها را برای
SplitRule،SplitAttributes،SplitAttributesCalculatorاضافه کنید. ( I92D23 ) - API ها را در اطراف
maxAspectRatioبهبود بخشید:-
alwaysAllow()وalwaysDisallow()باALWAYS_ALLOWوALWAYS_DISALLOWجایگزین کنید. - مستندات API SEE را با مستندات مستقل به روز کنید. ( i3057b )
-
- سازندگان زیر از API های عمومی حذف می شوند زیرا قرار نیست توسط برنامه ها فراخوانی شوند.
- سازنده
SplitInfo - سازنده
ActivityStack( IDE534 )
- سازنده
- اکنون
SplitRulemaxAspectRatioInPortrait/Landscapeبه خود می گیرد. این فقط اجازه می دهد تا فعالیتهایی که نسبت ابعاد مرزهای والدین کوچکتر یا برابر باmaxAspectRatioدرخواستی باشد ، تقسیم شود. ( IA5990 ) - تغییر
RuleController#parseRulesاستاتیک ( i785DF ) - API های اطراف فعالیت را بهبود بخشید
- نامگذاری API را تراز کنید - برای موارد مختلف از افزودن/حذف استفاده کنید:
-
registerRuleدرaddRuleتغییر می کند - تغییر
unregisterRuleدرremoveRule -
getSplitRulesباgetRulesجایگزین کنید زیراActivityRuleیک قانون تقسیم نیست - برای تنظیم مجموعه ای از قوانین ،
RuleController#setRulesاضافه کنید - API های مربوط به قانون عصاره از
SplitControllerبه SingletonRuleController. آنها عبارتند از: -
addRule -
removeRule -
getRules -
setRules -
clearRules -
parseRules - عصاره
#isActivityEmbeddedازSplitControllerبه SingletonActivityEmbeddingController. آنها عبارتند از: -
isActivityEmbedded -
SplitController#initializeحذف کنید. برای تنظیم قوانین از پرونده XML ، لطفاًRuleController#parseRulesو#setRulesاستفاده کنید. قبل از این تغییر:SplitController.initialize(context, R.xml.static_rules)پس از این تغییر:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules) - ما دیگر قوانین استاتیک را با قوانین زمان اجرا متمایز نمی کنیم. گفته می شود ، تماس با
#clearRulesبرای پاک کردن کلیه قوانین مهم نیست که آنها در تعاریف قانون XML استاتیک یا در زمان اجرا ثبت شده اند. برای داشتن رفتار میراثSplitController#clearRegisteredRules، لطفاً با شناسه منابع XML باRuleController#parseRulesکنید و باRuleController#setRulesتماس بگیرید تا دوباره قوانین را تنظیم کنید. قبل از این تغییر:SplitController.getInstance(context).clearRegisteredRules()پس از این تغییر:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)( IB3967 ))
- API های Splitrule را بهبود بخشید:
- به جای پیکسل ها برای
SplitRuleابعاد حداقل در DP بگیرید. - Refactor for
SplitRuleBuilder برای گرفتن ابعاد حداقل به عنوان اختیاری. ( i95f17 )
- به جای پیکسل ها برای
- یک زمینه را برای اولیه سازی
SplitController( I42549 ) عبور دهید - تغییر نام نامگذاری
SplitRule#layoutDirبه#layoutDirectionوSplitRule Builder#setLayoutDirبهBuilder#setLayoutDirection. ( i3f6d1 )
نسخه 1.1.0-alpha04
9 نوامبر 2022
androidx.window:window-*:1.1.0-alpha04 منتشر می شود. نسخه 1.1.0-alpha04 شامل این تعهدات است.
ویژگی های جدید
- روشی را برای تعیین اینکه آیا یک
ActivityStackبرایActivityEmbeddingخالی است ، در معرض دید قرار دهید. - برچسب های API تجربی را از API های
ActivityEmbeddingحذف کرد. - مخفی کردن سازنده
ActivityRuleبه عنوانBuilderروش ارجح برای ساخت است. - یک روش آزمایشی اضافه کنید تا
WindowInsetsدرWindowMetricsبدست آورید. - برای جلوگیری از اتمام محل نگهدارنده ، به روزرسانی
SplitPlaceholderFinishBehaviorرا بروزرسانی کنید. اتمام محل نگهدارنده باعث ایجاد رفتار گیج کننده شد.
تغییرات API
- Val
isEmptyPublic را برای جایگزینی سرگرم کنندهisEmptyقرار دهید. - تغییر نام
ActivityStackبهactivitiesInProcess. ( IA5055 ) -
ActivityFilter#matchesClassNameوActivityFilter#matchesClassNameOrWildCardرا حذف کنید زیرا آنها گیج کننده هستند. - افزودن
ActivityFilter#componentNameABDActivityFilter#intentActionبرای تماس گیرنده به متمایز کردن فیلترهای مختلف ( I41F22 ) - API های
@Deprecatedاز API آزمایشی حذف کنید ( I216B3 ) - حذف
@ExperimentalWindowApiبرای فعالیت تعبیه شده API ( i69ebe ) - سازنده
ActivityRuleپنهان کنید ، به جای آن از سازنده استفاده کنید. ( if4eb6 ) - API ها را اضافه کنید تا بررسی کنید که آیا یک فعالیت بخشی از
ActivityFilterاست یا خیر. ( IA43CF ) - فایلهای API را به روز کنید تا تغییرات در کلاسهای
WindowMetricsوWindowMetricsCalculatorCompatرا منعکس کنید ( I667FE ) - به روزرسانی املاک
ActivityEmbeddingJavadoc و نام کلاس ( IA1386 ) - اضافه کردن نام های برچسب
ActivityEmbeddingنام های برچسب در AndroidManifest.xml ( ID1AD4 ) - اضافه شده API تقسیم کننده
SplitPlaceholderFinishBehaviorوSplitPlaceholderRule.finishPrimaryWithPlaceholder، این جایگزینSplitPlaceholderRule.finishPrimaryWithSecondaryموجود است. FinishPrimaryWithSecondary که تعریف می کند که فعالیت های محل زندگی به پایان می رسد ، چگونه فعالیت های مرتبط با فعالیت در تعبیه باید رفتار کنند. ( i64647 )
رفع اشکال
-
WindowAreaControllerو API را معرفی می کند تا حالتRearDisplayرا فعال کند تا پنجره فعلی را به صفحه نمایش منتقل کند که با دوربین عقب تراز شده است. ( i388ab )
نسخه 1.1.0-alpha03
27 جولای 2022
androidx.window:window-*:1.1.0-alpha03 منتشر می شود. نسخه 1.1.0-alpha03 شامل این تعهدات است.
ویژگی های جدید
- مقادیر پیش فرض را برای قوانین جاسازی به روز کنید.
تغییرات API
- مقادیر پیش فرض را برای تعبیه خصوصیات قانون به روز کنید. ( IC4D35 )
نسخه 1.1.0-alpha02
11 مه 2022
androidx.window:window-*:1.1.0-alpha02 منتشر می شود. نسخه 1.1.0-alpha02 شامل این تعهدات است.
ویژگی های جدید
- کتابخانه های آداپتور را برای حمایت از جاوا و Rxjava منتشر کنید.
نسخه 1.1.0-alpha01
11 مه 2022
androidx.window:window-*:1.1.0-alpha01 منتشر می شود. نسخه 1.1.0-alpha01 شامل این تعهدات است.
ویژگی های جدید
- آداپتورها را برای حمایت از جاوا و rxjava رها کنید
نسخه 1.1.0-alpha01
20 آوریل 2022
androidx.window:window:1.1.0-alpha01 منتشر می شود. نسخه 1.1.0-alpha01 شامل این تعهدات است.
ویژگی های جدید
- اشکال را برطرف می کند که در آن پس زمینه یک برنامه از ویژگی های برابر متوقف می شود.
- در API فعالیت آزمایشگاهی گسترش یافته است.
تغییرات API
- یک API عمومی برای بررسی اینکه آیا یک فعالیت تعبیه شده است یا خیر. ( i39eb7 )
رفع اشکال
- API هایی را اضافه کنید که رفتار نهایی را برای ظروف در شکاف های فعالیت سفارشی کنید ( I1A1E4 )
- یک گزینه پیکربندی جدید برای قوانین تقسیم فعالیت اضافه شده است. ( IEC6AF )
نسخه 1.0
نسخه 1.0.0
26 ژانویه 2022
androidx.window:window-*:1.0.0 منتشر می شود. نسخه 1.0.0 شامل این تعهدات است.
ویژگی های اصلی 1.0.0
- پشتیبانی از تلفن های تاشو از طریق
WindowInfoTrackerوFoldingFeature.WindowMetricsCalculatorبرای کمک به محاسبه WindowMetrics فعلی.
نسخه 1.0.0-RC01
15 دسامبر 2021
androidx.window:window-*:1.0.0-rc01 منتشر می شود. نسخه 1.0.0-RC01 شامل این تعهدات است.
ویژگی های جدید
- پشتیبانی از تلفن های تاشو را از طریق
WindowInfoTrackerاضافه کنید. - روش هایی را برای محاسبه جریان و حداکثر
WindowMetricsاضافه کنید. - API های تست پشتیبانی را اضافه کنید.
نسخه 1.0.0-beta04
17 نوامبر 2021
androidx.window:window-*:1.0.0-beta04 منتشر می شود. نسخه 1.0.0-beta04 شامل این تعهدات است.
ویژگی های جدید
- تغییر نام WindowinforePository به Windowinfotracker.
- فعالیت را به یک روش وابسته به روش صریح برای Windowinfotracker تبدیل کنید.
- برای پشتیبانی از توسعه دهندگان با استفاده از Robolectric ، یک تست ساده برای WindowMetricsCalculator اضافه کنید.
تغییرات API
- پسوند عصاره ( I25A5F )
- اضافه کردن isEmpty in ActivityStack ( i5a4e6 )
- تغییر نام WindowinforePository به Windowinfotracker.
- به روزرسانی Java/Rxjava/تست وابستگی ها برای مطابقت. ( i0da63 )
- یک قانون تست را برای یک WindowmetricsCalculator ساده اضافه کنید. ( iBACDB )
نسخه 1.0.0-beta03
27 اکتبر 2021
androidx.window:window-*:1.0.0-beta03 منتشر می شود. نسخه 1.0.0-beta03 شامل این تعهدات است.
ویژگی های جدید
- فعالیت تجربی تعبیه شده API را اضافه کنید. این نسخه اولیه طرح بندی امکان نشان دادن دو فعالیت در کنار هم را فراهم می کند.
تغییرات API
- API فعلی WindowMetrics را حذف کرد زیرا ما نمی توانیم آن را به طور دقیق تهیه کنیم. لطفاً به جای آن از WindowMetricsCalculator استفاده کنید ( ICDA5F )
- API پسوندها را به روز کرد. ( ICA92B )
- یک رابط کاربری برای یک ویژگی جدید که امکان تعبیه فعالیت ها را فراهم می کند و آنها را به صورت جانبی در پنجره وظیفه والدین نشان می دهد ، اضافه شد. ( i5711d )
- سازندگان را برای Windowmetrics و WindowlayOutinfo پنهان کنید ، لطفاً به جای آن از API های تست استفاده کنید. ( i5a1b5 )
- یک API اضافه کنید تا اشیاء جعلی WindowlayOutinfo ایجاد کنید. ( i4a2fd )
رفع اشکال
- نشت حافظه ثابت. ( i3fc79 ، b/202989046 )
نسخه 1.0.0-beta02
1 سپتامبر 2021
androidx.window:window-*:1.0.0-beta02 منتشر می شود. نسخه 1.0.0-beta02 شامل این تعهدات است.
ویژگی های جدید
- برای حاشیه نویسی API های تجربی ، یک حاشیه نویسی تجربی اضافه کنید. ( i9f1b6 )
- یک روش تست اضافه کنید تا یک تست تست تست تست شود که یک رکت را بپذیرد. این امر باعث می شود که هنگام استفاده از Robolectric بر خلاف یک فعالیت واقعی ، آزمایش کنید. ( id1cca )
نسخه 1.0.0-beta01
18 آگوست 2021
androidx.window:window-*:1.0.0-beta01 منتشر می شود. نسخه 1.0.0-beta01 شامل این تعهدات است.
ویژگی های جدید
- ثابت های قدیمی را برداشته و
FoldingFeatureدر یک رابط قرار داد.
تغییرات API
- ثابت های قدیمی را برداشته و FoldFeature را به یک رابط تبدیل کنید. ( i9a2d5 )
رفع اشکال
- كتابخانه هایی كه به كتابخانه
Test Coreوابسته هستند به نسخه1.4.0ارتقا یافته اند و هم اكنون با نسخه Android Platform S. ( I88B72 ، B/189353863 ) كار می كنند.
نسخه 1.0.0-alpha10
4 آگوست 2021
androidx.window:window-*:1.0.0-alpha10 منتشر می شود. نسخه 1.0.0-alpha10 شامل این تعهدات است.
ویژگی های جدید
- Windowinforepo را به WindowinforePository تغییر دهید و کلاس ها / پرونده های مربوطه را تنظیم کنید.
- معیارهای پنجره فعلی را به یک جریان در WindowinforePository تبدیل کنید زیرا مقدار با گذشت زمان تغییر می کند.
- تغییر نام WindowinforePojavaAdapter به WindowinforePocallbackAdapter
- روش یاور را اضافه کنید تا اشیاء تست تست تست ایجاد کنید
- بسته ها را بر اساس ویژگی ای که از آنها پشتیبانی می کنند ، به کلاس های گروهی بروزرسانی کنید.
تغییرات API
- تغییر نام فعالیت به فعالیتهای مربوط به فعالیت از repo به مخزن تغییر می کند. ( i61a16 )
- بسته های کلاس ها را به روز کنید. ( i23ae2 )
- WindowsMetrics را از Windowinforepo حذف کنید ( I24663 )
- WindowManager را حذف کنید و از Windowinforepo استفاده کنید
- Windowbackend داخلی. ( i06d9a )
- معیارهای پنجره را به جریان تبدیل کنید.
- آداپتور جاوا را به WindowinforePocallbackAdapter تغییر دهید
- جریان برگشتی را حذف کنید تا دیگر API های آزمایشی در حال استفاده نباشند. ( IA4D15 )
- برای ایجاد ویژگی های صفحه نمایش تست ، روش یاور را اضافه کنید.
- تغییر از EcclusionMode به EcclusionType ( IF4CFF )
رفع اشکال
- خطای proguard را که در آن کتابخانه اصلی حذف شده است ، رفع کنید.
- خطایی را برطرف کنید که در آن WindowlayOutinfo به مشترکان اضافی تحویل داده نشده است.
- خطایی را برطرف کنید که در آن تغییرات پیکربندی باعث به روزرسانی ویژگی های تاشو نمی شود.
نسخه 1.0.0-alpha09
30 ژوئن 2021
androidx.window:window-*:1.0.0-alpha09 منتشر می شود. نسخه 1.0.0-alpha09 شامل این تعهدات است.
ویژگی های جدید
- تغییر از ثابت عدد صحیح به عناصر بی حد و حصر.
- برای ایجاد ویژگی های تاشو تست ، یک استفاده از تست اضافه کنید.
تغییرات API
- برای ایجاد ویژگی های صفحه نمایش تست ، روش یاور را اضافه کنید. ( i3cf54 )
- تغییر از
occlusionModeبهocclusionType.
- تغییر از
رفع اشکال
- هنگام افزودن چندین مصرف کننده جریان داده ، مقدار اولیه را منتشر کنید.
نسخه 1.0.0-alpha08
16 ژوئن 2021
androidx.window:window-*:1.0.0-alpha08 منتشر می شود. نسخه 1.0.0-alpha08 شامل این تعهدات است.
ویژگی های جدید
- یک مصنوعات آزمایش را منتشر کرد تا هنگام استفاده از WindowsInforePository ، آزمایش را آسان تر کند. برای به دست آوردن اطلاعات در مورد نمایشگر و WindowMetrics از WindowinforePository استفاده کنید. ( I57F66 ، IDA620 )
نسخه 1.0.0-alpha07
2 ژوئن 2021
androidx.window:window-*:1.0.0-alpha07 منتشر می شود. نسخه 1.0.0-alpha07 شامل این تعهدات است.
ویژگی های جدید
- کتابخانه پنجره اصلی را به کوتلین مهاجرت کنید. از Coroutines و توابع تعلیق برای افشای داده های ناهمزمان به جلو استفاده می شود.
- Windowinforepo را به عنوان نقطه اصلی تعامل برای دریافت WindowMetrics و جریان WindowlayoutInfo اضافه کنید.
- آثار باستانی جدید
window-javaبرای افشای API های دوستانه جاوا برای ثبت نام و عدم ثبت نام تماس تلفنی. -
window-rxjava2وwindow-rxjava3آثار باستانی برای افشای API های اقتباس شده Rxjava.
تغییرات API
-
WindowServicesاضافه کنید تا وابستگی ها به طور یکنواخت ارائه شود.- API مبتنی بر Coroutine را برای مصرف اطلاعات طرح پنجره اضافه کنید. ( IAB70F )
- کتابخانه مدیر پنجره اصلی را به کوتلین مهاجرت کنید. ( ICCA34 )
رفع اشکال
- کلاس داده جدید را اضافه کنید تا مرزهای ویژگی را نشان دهد. ( i6dcd1 )
نسخه 1.0.0-alpha06
5 مه 2021
androidx.window:window:1.0.0-alpha06 منتشر می شود. نسخه 1.0.0-alpha06 شامل این تعهدات است.
ویژگی های جدید
- ما مهاجرت خود را به کوتلین شروع کرده ایم و در نسخه بعدی به پایان خواهیم رسید.
- Devicestate از API عمومی حذف شده است ، لطفاً به جای آن از FoldingFeature استفاده کنید.
- ما
STATE_FLIPPEDاز حالت های تاشو حذف کرده ایم زیرا در حال حاضر توسط هیچ موردی پشتیبانی نمی شود. - ما همچنین API های مستهلک شده دیگر را حذف کرده ایم.
تغییرات API
- افزودن کوتلین به عنوان وابستگی.
- کتابخانه اصلی را به کوتلین مهاجرت کنید. ( IDD995 )
-
DisplayFeatureBuilder حذف شده است. ( i61fa4 ) -
DeviceStateاز API عمومی حذف کنید ، به جای آن ازFoldingFeatureاستفاده کنید. ( id6079 ) - پاسخ به تماس حالت دستگاه را از پسوندها حذف کنید. ( i5ea83 )
-
STATE_FLIPPEDاز FoldingFeature حذف کنید. ( i9c4e1 ) - روشهای ثبت نام مستهلک را حذف کنید. ( IB381B )
نسخه 1.0.0-alpha05
24 مارس 2021
androidx.window:window:1.0.0-alpha05 منتشر می شود. نسخه 1.0.0-alpha05 شامل این تعهدات است.
ویژگی های جدید
ما روشهای راحتی را به FoldingFeature اضافه کرده ایم تا برنامه ها بتوانند بگویند که آیا این ویژگی در حال جدا شدن ، انسداد و تعیین جهت یابی لولا است. ما همچنین نوع لولا را مخفی می کنیم تا
ما روشهای خواندن همزمان را از WindowManager حذف می کنیم. روشهای خواندن همزمان مستعد خطا هستند زیرا یک وضعیت مسابقه ضمنی وجود دارد. برای دریافت به روزرسانی در WindowlayOutinfo ، شنوندگان و تماس های تماس را ثبت کنید.
تغییرات API
- روش های راحتی را برای کار با FoldingFeatures اضافه کنید ( IE733F )
- روشهای خواندن همزمان را از WindowManager حذف می کند ( I96FD4 )
نسخه 1.0.0-alpha04
10 مارس 2021
androidx.window:window:1.0.0-alpha04 منتشر می شود. نسخه 1.0.0-alpha04 شامل این تعهدات است.
ویژگی های جدید
- در صورت عدم اجرای OEM ، اشکالی را برطرف می کند که در آن هیچ WindowlayOutinfo منتشر نمی شود. اکنون ما یک WindowlayoutInfo خالی را منتشر می کنیم.
- در صورت تغییر وضعیت لولا در هنگام پس زمینه برنامه ، یک اشکال را برطرف کنید که حالت به درستی به روز نشود. اکنون دولت باید سازگار باشد.
- پرونده های Proguard ما را به روز کنید تا هشدارهای مربوط به وابستگی به زمان اجرا را نادیده بگیرید.
رفع اشکال
- هنگامی که کتابخانه OEM از دست رفته است ، یک مقدار خالی منتشر کنید. ( IDE935 )
نسخه 1.0.0-alpha03
18 فوریه 2021
androidx.window:window:1.0.0-alpha03 منتشر می شود. نسخه 1.0.0-alpha03 شامل این تعهدات است.
ویژگی های جدید
- هنگامی که اجرای OEM خالی است ، یک مقدار خالی برای WindowLayoutInfo منتشر کنید. این امر باید استفاده از کتابخانه در دستگاه های بیشتر را آسان تر کند. از آنجا که API ها ناهمزمان هستند ، هنوز هم توصیه می شود که برنامه ها کد دفاعی بنویسند و بعد از مدت زمان یک مقدار پیش فرض را منتشر کنند. ما هیچ تضمینی در مورد اجرای OEM نداریم و ممکن است مقدار اولیه به تأخیر بیفتد.
رفع اشکال
- هنگامی که کتابخانه OEM از دست رفته است ، یک مقدار خالی منتشر کنید. ( IDE935 )
نسخه 1.0.0-alpha02
27 ژانویه 2021
androidx.window:window:1.0.0-alpha02 منتشر می شود. نسخه 1.0.0-alpha02 شامل این تعهدات است.
ویژگی های جدید
ما برخی از API ها را برای کمک به ساده سازی API و کاهش اشتباهات کاهش داده ایم. برخی از نمونه های قابل توجه حذف عملیات خواندن همزمان از WindowManager و کاهش انحراف است. عملیات خواندن همزمان می تواند به شرایط مسابقه منجر شود و UI نادرست داشته باشد.
ما DisplayFeature را به یک رابط تبدیل کرده ایم که سایر ویژگی ها به جلو حرکت می کنند. اولین ویژگی ما FoldingFeature است که اکنون بازنمایی یک صفحه نمایش یا لولا است. این همچنین حاوی وضعیت لولا جایگزین Devicestate است.
WindowMetrics در Android 11 معرفی شد تا یک روش ساده برای پرس و جو برای معیارهای مربوط به یک پنجره ، به عنوان مثال موقعیت و اندازه آن روی صفحه و هر نوع سیستم ، به توسعه دهندگان ارائه دهد. ما در این نسخه از API استفاده کرده ایم تا توسعه دهندگان بتوانند از WindowMetrics استفاده کنند و به پشتیبانی از نسخه های قدیمی Android ادامه دهند. WindowMetrics را می توان از طریق
WindowManager#getCurrentWindowMetrics()و WindowManager#getMaximumwindowMetrics () دریافت کرد.
تغییرات API
- API های مستهجن که در آلفا بعدی حذف می شوند ( IB7CC4 )
- به روزرسانی
ExtensionInterfaceبرای پذیرش منابع فعالیت صریح. ( i07ded ) - API WindowMetrics را معرفی می کند. ( i3ccee )
- روشهای خواندن همزمان را از WindowManager حذف کنید ( I69983 )
- بسته بندی ExtensionWindowBackend را محافظت کنید. ( IED208 )
رفع اشکال
- API های
ExtensionInterfaceرا به روز کنید تا زمینه های بصری را بپذیرید. ( i8e827 )
سهم خارجی
- Devicestate و WindowLayoutInfo را ادغام کنید ، بنابراین دسترسی به داده ها آسان تر است. ( id34f4 )
نسخه 1.0.0-alpha01
27 فوریه 2020
androidx.window:window:1.0.0-alpha01 و androidx.window:window-extensions:1.0.0-alpha01 منتشر می شود. نسخه 1.0.0-alpha01 شامل این تعهدات است. این اولین نسخه از کتابخانه Window Manager است.
ویژگی های جدید
-
DisplayFeature: این API جدید اختلال در سطوح صفحه نمایش مسطح مداوم مانند لولا یا چین ها را مشخص می کند -
DeviceState: این API جدید وضعیت فعلی تلفن را از لیستی از وضعیتهای تعریف شده فراهم می کند (به عنوان مثال ،CLOSED،OPENED،HALF_OPENEDو غیره)