WindowManager
آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
16 اکتبر 2024 | 1.3.0 | - | - | 1.4.0-alpha05 |
اعلام وابستگی ها
برای افزودن وابستگی به WindowManager، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { implementation "androidx.window:window:1.3.0" // For Java-friendly APIs to register and unregister callbacks implementation "androidx.window:window-java:1.3.0" // For RxJava2 integration implementation "androidx.window:window-rxjava2:1.3.0" // For RxJava3 integration implementation "androidx.window:window-rxjava3:1.3.0" // For testing implementation "androidx.window:window-testing:1.3.0" }
کاتلین
dependencies { implementation("androidx.window:window:1.3.0") // For Java-friendly APIs to register and unregister callbacks implementation("androidx.window:window-java:1.3.0") // For RxJava2 integration implementation("androidx.window:window-rxjava2:1.3.0") // For RxJava3 integration implementation("androidx.window:window-rxjava3:1.3.0") // For testing implementation("androidx.window:window-testing:1.3.0") }
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.4
نسخه 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
-
برای تنظیم راه اندازی
ActivityStack
API ها را اضافه کنید-
ActivityEmbeddingOptions#setLaunchingActivityStack
-
APIهای زیر پایدار هستند و دیگر آزمایشی نیستند:
-
ActivityEmbeddingController#invalidateVisibleActivityStacks
(از SplitController#invalidateTopVisibleSplitAttributes منتقل شد) -
ActivityEmbeddingController#getActivityStack
-
SplitController#updateSplitAttributes
-
افزودن API برای 1.4. ( I56774 )
رفع اشکال
- رفع اشکال در برخی از دستگاهها که در آنها وقتی جلسه فعال است، به جای ACTIVE، UNAVILABLE برگردانده میشود.
- به دلیل پشتیبانی ناپایدار API، پشتیبانی از
transferActivityToWindowArea
در دستگاههای دارایvendorApiLevel
2 حذف میکند. - 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 ) - معرفی آداپتور برگشت به تماس برای
embeddedActivityWindowInfo
flow 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 )
- - افزودن پین/بازکردن پین بالا
ActivityStack
androidx.Window
API- در حال بهروزرسانی برنامه آزمایشی برای اجازه دادن به پین یا برداشتن پین بالای
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
-
WindowArea
API را بهعنوان آزمایشی علامتگذاری میکند تا اجازه دهد تغییرات 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 ) - برای نمایش بهتر مقدار
DEFAULT
SplitAttributes.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()
جایگزین کرد تا اطلاعات مربوط به تقسیم اضافی را ارائه دهد.
WindowLayout
- پشتیبانی از زمینه رابط کاربری غیرفعالی به
WindowInfoTracker
اضافه شد. - زمینه رابط کاربری غیرفعالی به
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
دارد. سایر ویژگی ها به تنظیم کننده ها منتقل می شوند. برای جزئیات بیشتر به "SPLITPAIRULE.Builder Migrations" مراجعه کنید. -
setFinishPrimaryWithPlaceholder
ثابت های مانندFinishBehavior
Enum را می گیرد. برای جزئیات بیشتر به "مهاجرت های اسپلیترول" مراجعه کنید. -
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
WindowLayoutInfo
API را به عنوان آزمایشی قرار دهید. ( 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 )
- سازنده
- اکنون
SplitRule
maxAspectRatioInPortrait/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
SplitRule
Builder برای گرفتن ابعاد حداقل به عنوان اختیاری. ( 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
isEmpty
Public را برای جایگزینی سرگرم کنندهisEmpty
قرار دهید. - تغییر نام فعالیت های پارامتر
ActivityStack
بهactivitiesInProcess
. ( IA5055 ) -
ActivityFilter#matchesClassName
وActivityFilter#matchesClassNameOrWildCard
را حذف کنید زیرا آنها گیج کننده هستند. - افزودن
ActivityFilter#componentName
ABDActivityFilter#intentAction
برای تماس گیرنده اجازه می دهد فیلترهای مختلف را تشخیص دهد ( I41F22 ) - API های
@Deprecated
را از API آزمایشی حذف کنید ( I216B3 ) - حذف
@ExperimentalWindowApi
برای فعالیت تعبیه شده API ( i69ebe ) - سازنده
ActivityRule
را پنهان کنید ، به جای آن از سازنده استفاده کنید. ( if4eb6 ) - API ها را اضافه کنید تا بررسی کنید که آیا یک فعالیت بخشی از
ActivityFilter
است یا خیر. ( IA43CF ) - فایلهای API را به روز کنید تا تغییرات در کلاسهای
WindowMetrics
وWindowMetricsCalculatorCompat
را منعکس کنید ( I667FE ) - به روزرسانی املاک
ActivityEmbedding
Javadoc و نام کلاس ( 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 )
-
DisplayFeature
Builder حذف شده است. ( 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
و غیره)