ناوبری3
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۲۹ ژوئیه ۲۰۲۶ | ۱.۱.۵ | - | - | ۱.۲.۰-آلفا۰۷ |
اعلام وابستگیها
برای افزودن وابستگی به navigation3، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.2.0-alpha07" implementation "androidx.navigation3:navigation3-ui:1.2.0-alpha07" }
کاتلین
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.2.0-alpha07") implementation("androidx.navigation3:navigation3-ui:1.2.0-alpha07") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
هیچ یادداشت انتشاری برای این مصنوع وجود ندارد.
ناوبری۳ نسخه ۱.۲
نسخه ۱.۲.۰-آلفا۰۷
۲۹ ژوئیه ۲۰۲۶
androidx.navigation3:navigation3-*:1.2.0-alpha07 منتشر شد. نسخه 1.2.0-alpha07 شامل این کامیتها است.
تغییرات API
- یک کلاس
WrappedMatchResultانتزاعی برای پوشش دادن یکDeepLinkMatcher.MatchResultدیگر اضافه شد. این امکان را فراهم میکند که نتایج تطبیق سفارشی روی نتایج تطبیق دیگری لایهبندی شوند. ( I7d4dc ، b/470282247 ) کلاس جدید
BackStackMatcherاضافه شده است که دو پارامتر میگیرد: یک نمونه تطبیقدهنده و یک لامبدا سازنده که نتیجه تطبیق تطبیقدهنده ورودی را ارائه میدهد و یک پشته پشتی برمیگرداند. پس از یک تطبیق موفق،BackStackMatcherیکBackStackMatchResultبرمیگرداند کهWrappedMatchResultکه شامل نتیجه تطبیق اصلی به همراه پشته پشتی ساخته شده با لامبدا است، بسط میدهد.BackStackMatcherفقط میتواند با تابع افزونه جدیدDeepLinkMatcher.withBackStackایجاد شود. ( Ibf987 ، b/470282247 )یک کلاس انتزاعی
DeepLinkSerializerاضافه شده است کهKSerializerبرای رمزگذاری و رمزگشاییvalue : Tبه عنوان یکStringمیدهد.DeepLinkSerializerمیتواند برای سریالسازی آرگومانهای لینک عمیق غیراولیه استفاده شود. سازگار باrememberSaveableوrememberNavBackStack. ( Id3c9f ، b/470282247 )DeepLinkMatcherیک پارامتر نوع دومout R : DeepLinkMatcher.MatchResult<T>تا توسعهدهندگان بتوانند بدون تبدیل نوع، به ویژگیهایMatchResultزیرکلاسشدهی برگرداندهشده توسطDeepLinkMatcher.match()دسترسی داشته باشند. ( I693d3 , b/470282247 )کران بالای T
DeepLinkMatcher.MatchResult'sازAny?بهAnyتغییر کرده است ( I6bf1a ).فیلد
uriدر سازندهیDeepLinkRequestاکنون به صورت پیشفرض null است.uriStringدر سازندهی ثانویه بهuriتغییر نام داده شده است. ( Ia0f14 , b/522194187 )
رفع اشکالات
-
ResultEffectاکنون ازrememberUpdatedStateبرای ثبت آخرین لامبداonResultاستفاده میکند. ( I7d2a3 ، b/531709234 ) - تطبیق لینک عمیق برای بخشهای خالی مسیر اصلاح شد. اگر نوع آرگومان String باشد، مسیر خالی به عنوان یک مقدار رشتهای خالی در نظر گرفته میشود. در غیر این صورت، مسیر خالی به عنوان بدون مقدار ارائه شده در نظر گرفته میشود و به مقدار پیشفرض برمیگردد. اگر مقدار پیشفرضی وجود نداشته باشد، تطبیق با شکست مواجه میشود. ( I56575 ، b/535298128 )
- پشتیبانی از مقادیر خالی کوئری در
DeepLinkRequest.uriاضافه شد. اگر آرگومان از نوع String باشد، مقدار خالی به عنوان یک رشته خالی تحتاللفظی در نظر گرفته میشود. در غیر این صورت، مقدار خالی به عنوان بدون مقدار ارائه شده در نظر گرفته میشود و تطبیق سعی میکند به مقدار پیشفرض بازگردد. اگر مقدار پیشفرضی وجود نداشته باشد، تطبیق با شکست مواجه میشود. ( I30343 ، b/535127459 ) -
EntryProviderاکنون تطبیق بر اساس نمونههای کلید را بر انواع کلید اولویتبندی میکند. ( Ib5ec9 , b/533331924 ) -
SceneStateاکنون صحنههای قبلی را از بالاترین صحنه غیرپوششی به درستی محاسبه میکند. ( I91915 ، b/513630541 )
نسخه ۱.۲.۰-alpha06
۱۵ ژوئیه ۲۰۲۶
androidx.navigation3:navigation3-*:1.2.0-alpha06 منتشر شد. نسخه 1.2.0-alpha06 شامل این کامیتها است.
رفع اشکالات
- مستندات
UriDeepLinkMatcherدر مورد قطعات uri اصلاح شد تا روشن شود که قطعات دارای کاراکترهای جایگزین (wildcards) با هر ورودی مطابقت دارند اما ورودی به عنوان آرگومان استخراج نمیشود. ( I5ad9b ، b/524677091 ) - رفع مشکل عدم تطابق
UriDeepLinkMatcherبا درخواستی که الگوی uri آن شامل scheme نبود یا با دابل اسلش شروع نمیشد. برای مثال،www.example.com/homeاکنون باhttp://www.example.com/homeمطابقت خواهد داشت. ( Ia6b65 , b/522791926 )
نسخه ۱.۲.۰-آلفا۰۵
۱ ژوئیه ۲۰۲۶
androidx.navigation3:navigation3-*:1.2.0-alpha05 منتشر شد. نسخه 1.2.0-alpha05 شامل این کامیتها است.
رابط برنامهنویسی کاربردی جدید
- یک API
rememberResultEventBusاضافه شده است که یکResultEventBusبرمیگرداند که میتواند بهrememberResultEventBusNavEntryDecoratorارسال شود. این امکان را فراهم میکند که یکResultEventBusخارج ازResultEventBusNavEntryDecoratorقرار گیرد. ( Ia655b , b/516995400 )
درخواست لینک عمیق
- دو سازنده سازگار با KMP اضافه شد - یکی که DeepLinkUri میگیرد و دیگری که یک uri رشتهای خام میگیرد. ( I3c088 ، b/513200887 ، b/522194187 )
- (فقط اندروید) یک سازنده اضافه شده که یک
Intentمیگیرد. ( Ia0498 ، b/513200887 ، b/522194187 ) - همه سازندهها یک فیلد
extrasبرایMap<String, Any>دارند تا اطلاعات درخواست اضافی را پیوست کنند. ( If81d5 , b/513200887 ) - یک
requestExtrasdsl جدید به عنوان روشی ایمن برای ساخت نقشهای از extraها اضافه شده است. dsl یک تابعputبرای ذخیره جفتهایRequestExtrasKeyبهAnyارائه میدهد. تابع افزونهMap<String, Any>.get(key)میتواند برای خواندن از نقشه باRequestExtrasKey( I5091c , b/513200887 ) استفاده شود. - (فقط اندروید) یک تابع
ActionExtrasKeyوactionExtraبرای ایجاد یک نقشه اضافی باActionExtrasKeyاضافه شد. ( Id0c90 , [b/513200887] - یک تابع
MimeTypeExtrasKeyوmimeTypeExtraبرای ایجاد یک نقشه اضافی باMimeTypeExtrasKeyاضافه شد. ( I85131 ، b/513200887 )
دیپلینکماچِر
- توابع
DeepLinkMatcher.mimeTypeFilterوDeepLinkMatcher.actionFilterبرای ایجادDeepLinkMatcher.Filtersاضافه شدهاند کهDeepLinkRequestبر اساسmimeTypeیاactionفیلتر میکنند (فقط اندروید). هر دو فیلتر بر اساس برابری رشتهها مطابقت دارند و به حروف کوچک و بزرگ حساس نیستند. ( Ie7e67 ، b/513191950 )
تغییرات API
درخواست لینک عمیق
- تابع کارخانهای
fromActionحذف کنید. برای ایجاد درخواستی مرتبط با یک Action، از فیلد جدیدDeepLinkRequest.extrasاستفاده کنید.( Id0c90 , b/513200887 ) - از تابع کارخانهای
fromMimeTypeحذف شد. برای ایجاد درخواستی مرتبط با mimeType، از فیلد جدیدDeepLinkRequest.extrasاستفاده کنید. ( I85131 ، b/513200887 ) - (فقط اندروید) از تابع کارخانهای
fromIntentحذف شده است. با یک سازنده جدید جایگزین شده است که یک Intent و map مربوط به extras را میگیرد. ( Ia0498 , b/513200887 , b/522194187 ) - توابع کارخانهای
fromUriوfromUriStringحذف شدند. با سازندههای جدیدی جایگزین شدند که یاDeepLinkUriیا یک uri رشته خام را میگیرند. ( Id5b6f ، b/522194187 ) -
DeepLinkMatcher،DeepLinkMatcher.MatchResultو زیرکلاسهای آنها اکنون یک کوواریانت T (خروجی T) میگیرند تا کلیدهای سلسله مراتبی با استفاده از Matcherها نیازی به تبدیل نوع نداشته باشند. ( I1e453 ، b/525094876 ) - پارامتر سازندهی
UriMatchResultبرای آرگومانهای map اکنون به طور پیشفرض روی یک map خالی تنظیم میشود. ( I3acdd ) - کلاس انتزاعی
DeepLinkMatcher.Filterاکنون یک رابط تابعی است. فیلد سازندهfilterحذف شده و در عوض باید مستقیماً در زیرکلاس ارسال شود. ( I9eb7d , b/522194187 )
رفع اشکالات
- مشکل ناپدید شدن فوری ورودی ظاهر شده هنگام نمایش به ورودی که دارای فراداده تو در تو حاوی مقادیر لامبدا است، برطرف شد ( Idb872 ، b/520494430 ).
- مشکل
UriDeepLinkMatcherبرطرف شد، به طوری که در صورت عدم وجود آرگومانهای مورد نیاز در طول تطبیق، به جای ارسالMissingFieldException، مقدار تهیUriMatchResultبرمیگرداند ( I5322f ، b/524663005 ). - یک
UriDeeplinkMatcherحاوی uri با طرح https فقط میتواند با درخواستهایی که طرح https نیز دارند، مطابقت داده شود. ( Ibfe22 ، b/522304329 ) - رفع مشکل
UriDeepLinkMatcherبرای شناسایی صحیح طرحhttpبه عنوان یک تطابق مثبت باhttpsهنگام تطبیق یکDeepLinkRequestبا یکUriDeepLinkMatcher. ( I3a62b ، b/518804264 ) - مقایسهگر
DeepLinkMatcher.MatchResultاکنون به طور پیشفرض وقتی دو نتیجه برابر باشند، 0 را برمیگرداند. ( I48ddb ، b/518841353 ) -
UriDeepLinkMatcherاکنون به جای ارسال استثنا در صورت عدم موفقیت درخواست تطبیق به دلیل فقدان آرگومانهای مورد نیاز، مقدار تهیUriMatchResultبرمیگرداند. ( I669a7 ، b/470282247 ، b/512923412 )
نسخه ۱.۲.۰-آلفا۰۴
۳ ژوئن ۲۰۲۶
androidx.navigation3:navigation3-*:1.2.0-alpha04 منتشر شد. نسخه 1.2.0-alpha04 شامل این کامیتها است.
رفع اشکالات
- مشکل انیمیشن لایههای تو در تو مانند
ModalBottomSheetکه هنگام باز شدن لایههای بالای آن، به طور غیرمنتظرهای دوباره متحرک میشدند، برطرف شد. ( Ia2b9e ، b/502624496 )
نسخه ۱.۲.۰-آلفا۰۳
۱۹ مه ۲۰۲۶
androidx.navigation3:navigation3-*:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 شامل این کامیتها است.
ویژگیهای جدید
ناوبری ۳ اکنون از لینکهای عمیق با DeepLinkRequest و DeepLinkMatcher پشتیبانی میکند:
DeepLinkRequestیک لینک عمیق درخواستی حاویDeepLinkUriو یک mimeType یا action اختیاری (فقط اندروید) است. همراه با کلاس جدید، توابع همراهی برای ایجاد یک نمونه باuri،mimeTypeیاactionوجود دارد. پلتفرم اندروید همچنین دارای یک helper برای ساخت درخواست از یک Intent است. ( Iaaac9 ، b/470282247 )val uriOnlyRequest = DeepLinkRequest.fromUriString("https://sampledeeplink.com/home") val uriAndMimeRequest = DeepLinkRequest.fromUriString( "https://sampledeeplink.com/user/profile?id=123", "image/png" )DeepLinkMatcherrepresents a deep link that can be matched with aDeepLinkRequest. Each matcher instance is associated with the navigation key that supports this deep link. A navigation key can be associated with multiple matchers. CallingDeepLinkMatcher.matchwill return aMatchResultthat contains the associated navigation key if match succeeds. There are two defaultDeepLinkMatcherimplementations:UriDeepLinkMatcherfor matching deep links based on Uri, andStaticKeyDeepLinkMatcherfor matching deep links with onlyDeepLinkMatcher.Filterthat match by aBoolean. ( I3798e , b/470282247 )UriDeepLinkMatcherیک پیادهسازی خودرأی ازDeepLinkMatcherاست که با تطبیقDeepLinkUriبا یک کلید ناوبری Serializable، لینک عمیق را مدیریت میکند. این برنامه از آرگومانهای لینک عمیق از انواع اولیه یا مجموعهای از مقادیر اولیه مانند لیستها، آرایهها و مجموعهها پشتیبانی میکند. ( I1520b ، b/470282247 )@Serializable data class UserKey(val id: Int): NavKey // declare a deep link supported by UserKey val userMatcher = UriDeepLinkMatcher( uriPattern = "www.sampledeeplink.com/user?userId={id}", serializer = serializer<UserKey>() ) // handle a requested deep link with fallback key val key = userMatcher.match(deepLinkRequest)?.key ?: HomeKeyDeepLinkUriاضافه شد که یک نسخه kotlin-multplatform ازandroid.net.Uriاست ( Id4725 , b/470282247 )
تغییرات API
- برای مطابقت با compileSdk مربوط به Compose، به
compileSdk 37تغییر یافت.
رفع اشکالات
- خطای
IllegalArgumentExceptionمربوط بهAnimatedBottomSheetSampleهنگام نمایش چندین overlay برطرف شد. نمونهیSceneStrategyاکنون آخرین صحنهی غیرOverlaySceneبه درستی محاسبه کرده و آن را در زیر تمام صحنههای overlay نمایش میدهد. ( If2281 , b/506733412 ) - وابستگی
NavigationEventبه نسخه ۱.۱.۱ ارتقا داده شد که در حالت بازرسی، NavigationEventHandler بدون عملیات را حذف میکند تا Predictive Back در پیشنمایشهای اندروید استودیو فعال شود. ( I487fd )
نسخه ۱.۲.۰-آلفا۰۲
۲۲ آوریل ۲۰۲۶
androidx.navigation3:navigation3-*:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 شامل این کامیتها است.
تغییرات API
- نام
onBackبهonBackCompletedتغییر دهید وonBackCancelledبه NavigationBackHandler اضافه کنید تا از مدیریت حرکات برگشت لغو شده پشتیبانی کند. ( I92741 ) - برای سادهسازی مدیریت حرکات برگشت به عقب و حرکات پیشبینیکننده برگشت هنگام استفاده از
SceneStateNavigationBackHandlerرا اضافه کنید. این به توسعهدهندگان اجازه میدهد تا راحتتر اجزای رابط کاربری سفارشی ایجاد کنند که از ناوبری استاندارد برگشت به عقب و حرکات پیشبینیکننده بدون محاسبه دستی دلتاهای پشته برگشت پشتیبانی میکنند. ( I6a055 ) - برای سادهسازی اتصال
SceneStateبا مدیریت بازگشتی پیشبینیکننده،rememberNavigationEventStateرا اضافه کنید. ( Iae49c )
ویژگیهای جدید
- یک API
ResultEventBusاضافه شده است تا امکان انتقال نتایج بین NavEntries باLocalResultEventBusارائه شده توسطResultEventBusNavEntryDecoratorجدید فراهم شود. نتایج ارسالی میتوانند به عنوان یک وضعیت باResultEventBus#conflateAsStateیا به عنوان یک جریان از نتایج باResultEffectارزیابی شوند.
نسخه ۱.۲.۰-آلفا۰۱
۸ آوریل ۲۰۲۶
androidx.navigation3:navigation3-*:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 شامل این کامیتها است.
رفع اشکالات
- دسترسی به
LocalNavAnimatedContentScopeاز یکOverlaySceneباعث خطایIllegalStateExceptionنمیشود، زیراOverlayScenesاکنون با یکLocalAnimatedContentScopeبدون عملیات ارائه میشوند. ( I2f00c ، b/486067688 )
ناوبری۳ نسخه ۱.۱
نسخه ۱.۱.۵
۲۹ ژوئیه ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.5 منتشر شد. نسخه ۱.۱.۵ شامل این کامیتها است.
رفع اشکالات
- DSL
entryProviderاکنونNavEntryساخته شده با یک نمونه کلید، برای مثالentry(key = userKey) { ... }را نسبت بهNavEntryساخته شده با یک کلاس کلید مانندentry<UserKey>{ ... }.( Ib5ec9 , b/533331924 ) در اولویت قرار میدهد.
نسخه ۱.۱.۴
۱ ژوئیه ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.4 منتشر شد. نسخه ۱.۱.۴ شامل این کامیتها است.
رفع اشکالات
- مشکل ناپدید شدن فوری ورودی ظاهر شده هنگام نمایش به ورودی که دارای فراداده تو در تو حاوی مقادیر لامبدا است، برطرف شد ( Idb872 ، b/520494430 ).
نسخه ۱.۱.۳
۱۷ ژوئن ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.3 منتشر شد. نسخه ۱.۱.۳ شامل این کامیتها است.
رفع اشکالات
مشکل انیمیشن لایههای تو در تو مانند
ModalBottomSheetکه هنگام باز شدن لایههای بالای آن، به طور غیرمنتظرهای دوباره متحرک میشدند، برطرف شد. ( Ia2b9e ، b/502624496 )وابستگی
NavigationEventبه نسخه ۱.۱.۲ ارتقا یافت که در آنNavigationEventHandlerبدون عملیات در حالت بازرسی حذف شد تا Predictive Back در پیشنمایشهای اندروید استودیو فعال شود.
نسخه ۱.۱.۲
۱۹ مه ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.2 منتشر شد. نسخه ۱.۱.۲ شامل این کامیتها است.
رفع اشکالات
- وابستگی
NavigationEventبه نسخه ۱.۱.۱ ارتقا داده شد که در حالت بازرسی،NavigationEventHandlerبدون عملیات را حذف کرد تا Predictive Back در پیشنمایشهای اندروید استودیو فعال شود.
نسخه ۱.۱.۱
۲۲ آوریل ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.1 منتشر شد. نسخه ۱.۱.۱ شامل این کامیتها است.
رفع اشکالات
- دسترسی به
LocalNavAnimatedContentScopeاز یکOverlaySceneباعث خطایIllegalStateExceptionنمیشود، زیراOverlayScenesاکنون با یکLocalAnimatedContentScopeبدون عملیات ارائه میشوند. ( I2f00c ، b/486067688 )
نسخه ۱.۱.۰
۸ آوریل ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.0 منتشر شد. نسخه ۱.۱.۰ شامل این کامیتها است.
نسخه ۱.۱.۰ اکنون پایدار است!
تغییرات مهم از زمان ۱.۰.۰
عناصر مشترک بین صحنهها - Navigation3 اکنون از پردازش صحنهها به عنوان شیء عنصر مشترک پشتیبانی میکند. این بدان معناست که وقتی صحنهها تغییر میکنند، میتوان از انتقال روان آنها اطمینان حاصل کرد. میتوانید این کار را با ارسال SharedTransitionScope به NavDisplay یا به rememberSceneState فعال کنید.
SceneDecoratorStrategy - معرفی SceneDecoratorStrategy برای پشتیبانی از مواردی مانند تزئین صحنهها با اجزای رابط کاربری مشترک یا اشتراکگذاری حالت در صحنهها.
NavMetadata DSL - Navigation3 اکنون یک DSL متادیتای جدید با قابلیت اطمینان از نوع داده (type-safe) ارائه میدهد. DSL از یک رابط MetadataKey جدید استفاده میکند که امکان تعریف انواع کلید و مقداری را که میخواهند به نقشه متادیتا ارائه دهند، فراهم میکند. این رابط همچنین NavMetadataKeys جدیدی را برای انتقالهای NavDisplay اضافه کرده است تا بتوان از آنها با DSL متادیتای جدید برای افزودن انتقالها به NavDisplay استفاده کرد.
انیمیشنهای OverlayScene - رابط OverlayScene یک فراخوانی برگشتی جدید به onRemoved دارد که به حالت تعلیق درمیآید. این فراخوانی برگشتی پس از حذف کلید مرتبط با صحنه از backstack، اما قبل از ترک ترکیب، فراخوانی میشود. این امر به انیمیشنهای خروجی که درون onRemoved فراخوانی میشوند، اجازه میدهد تا قبل از حذف صحنه overlay از ترکیب، تکمیل شوند.
تغییرات دیگر - NavDisplay و rememberSceneState اکنون به جای پارامتر تکی SceneStrategy قبلی که توسط میانوند then زنجیر شده بود، یک List<SceneStrategy> میگیرند. - اکنون میتوانید به صورت پویا فراداده را با در نظر گرفتن کلید ورودی از طریق EntryProvider DSL اضافه کنید.
نسخه ۱.۱.۰-rc01
۲۵ مارس ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 شامل این کامیتها است.
رفع اشکالات
-
NavDisplayاکنون تضمین میکند که ورودیهایی که در زیر پوششها نمایش داده میشوند،LifecycleبهSTARTEDمحدود شود. این امر تضمین میکند که APIهایی مانندdropUnlessResumedهنگام استفاده از دیالوگها به کار خود ادامه دهند. ( If209f ، b/483966071 ) - Fixed an issue in
NavDisplaywhere navigating back and forth between the same screens and interrupting the animations between the two could cause the z-order of the screens to be incorrect. ( I4d491 , b/459419800 )
نسخه ۱.۱.۰-بتا۰۱
۱۱ مارس ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 شامل این کامیتها است.
نسخه ۱.۱.۰-آلفا۰۵
۲۵ فوریه ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.0-alpha05 منتشر شد. نسخه 1.1.0-alpha05 شامل این کامیتها است.
تغییرات API
-
NavDisplayوrememberSceneStateاکنون به جای پارامتر تکیSceneStrategyقبلی که توسط میانوندthenزنجیر شده بود، یکList<SceneStrategy>میگیرند. این بیشتر باList<SceneDecoratorStrategy<T>>که هر دوی این APIها قبلاً میگیرند، همسو است. APIهای قبلی منسوخ شدهاند. ( I78b2c , b/482108465 ) - یک عملگر #contains برای بررسی اینکه آیا نقشه فراداده شامل
NavMetadataKeyداده شده است یا خیر، اضافه شده است ( Ic30db ، b/485311895 ). -
DialogKeyNavMetadataKeyبرایDialogSceneStrategyاضافه شد تا با Metadata DSL استفاده شود. ( Ic7a26 ، b/483388817 )
نسخه ۱.۱.۰-آلفا۰۴
۱۱ فوریه ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.0-alpha04 منتشر شد. نسخه 1.1.0-alpha04 شامل این کامیتها است.
ویژگیهای جدید
- Navigation3 اکنون یک DSL فرادادهی جدید با قابلیت اطمینان از نوع داده (type-safe) ارائه میدهد. DSL از یک رابط
MetadataKeyجدید استفاده میکند که امکان تعریف انواع کلید و مقداری را که میخواهند به نقشهی فراداده ارائه دهند، فراهم میکند. این رابط همچنینNavMetadataKeyهای جدیدی را برای انتقالهایNavDisplayاضافه کرده است تا بتوان از آنها با DSLmetadataجدید برای افزودن انتقالها بهNavDisplayاستفاده کرد. ( Ic10ef ، Ic049c ، b/476213928 )
تغییرات API
- رابط
OverlaySceneیک فراخوانی برگشتی جدید بهonRemovedدارد که صحنه را به حالت تعلیق در میآورد. این فراخوانی برگشتی پس از حذف کلید مرتبط با صحنه از پشته پشتی، اما قبل از ترک ترکیب، فراخوانی میشود. این امر به انیمیشنهای خروجی که درونonRemovedفراخوانی میشوند، اجازه میدهد تا قبل از حذف صحنه overlay از ترکیب، تکمیل شوند. ( I29a72 , b/440558061 ) -
SceneStrategyتابع تزئین را به یکSceneDecoratorStrategyجدید تفکیک کرده است. این رابط جدید همان چیزی است که باید برای تزئین صحنهها استفاده شود. APIهای جدیدی برایNavDisplayوrememberSceneStateوجود دارد که امکان افزودنSceneDecoratorStrategiesرا فراهم میکند. ( If9385 , b/477669607 , b/477670333 )
رفع اشکالات
- خطایی که باعث میشد ارسال
SharedTransitionLayoutبهNavDisplayیاrememberSceneStateو استفاده از هرگونهOverlaySceneباعث خرابی شود، برطرف شد، زیرا استفاده ازSharedTransitionLayoutفقط باNavEntriesکه به عنوان بخشی ازAnimatedContentرندر میشوند، کار میکند وOverlaySceneبه طور جداگانه در پنجرههای خود رندر میشوند. ( I1bb76 ، b/478664101 )
بهروزرسانی وابستگی
- از
Navigation31.0.1:Navigation3اکنون بهNavigationEvent1.0.2 وابسته است. این مورد، خطایIllegalStateExceptionناشی از استفاده ازNavDisplayدر طول پیشنمایشهایAndroidStudioرا برطرف میکند. ( Id7212 ، b/477149762 )
نسخه ۱.۱.۰-آلفا۰۳
۲۸ ژانویه ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.0-alpha03 منتشر شد. نسخه 1.1.0-alpha03 شامل این کامیتها است.
ویژگیهای جدید
- اکنون میتوانید به صورت پویا فراداده را با در نظر گرفتن کلید ورودی از طریق
EntryProviderDSL اضافه کنید. ( I942fb ، b/474416976 )
نسخه ۱.۱.۰-آلفا۰۲
۱۴ ژانویه ۲۰۲۶
androidx.navigation3:navigation3-*:1.1.0-alpha02 منتشر شد. نسخه 1.1.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
-
SceneStrategyاکنون از طریق تابع جدیدcalculatedScene(Scene)از صحنههای تودرتو پشتیبانی میکند. این بدان معناست کهSceneStrategyها میتوانند سفارشیسازی شوند تا قابلیتهای بیشتری را برای صحنههای دیگر فراهم کنند. ( I5df7c ، b/440333896 )
نسخه ۱.۱.۰-آلفا۰۱
۳ دسامبر ۲۰۲۵
androidx.navigation3:navigation3-*:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 شامل این کامیتها است.
تغییرات API
-
Navigation3اکنون از پردازش صحنهها به عنوان شیء عنصر مشترک پشتیبانی میکند. این بدان معناست که وقتی صحنهها تغییر میکنند، میتوان از انتقال روان آنها اطمینان حاصل کرد. میتوانید این قابلیت را با ارسالSharedTransitionScopeبهNavDisplayیا بهrememberSceneStateفعال کنید. ( I15868 )
نسخه ۱.۰
نسخه ۱.۰.۱
۱۱ فوریه ۲۰۲۶
androidx.navigation3:navigation3-*:1.0.1 منتشر شد. نسخه 1.0.1 شامل این کامیتها است.
بهروزرسانی وابستگی
-
Navigation3اکنون بهNavigationEvent1.0.2 وابسته است. این مورد، خطایIllegalStateExceptionناشی از استفاده ازNavDisplayدر طول پیشنمایشهایAndroidStudioرا برطرف میکند. ( Id7212 ، b/477149762 )
نسخه ۱.۰.۰
۱۹ نوامبر ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0 منتشر شد. نسخه 1.0.0 شامل این کامیتها است.
معرفی Navigation3!
- کتابخانه Navigation3 اکنون پایدار است! Navigation3 اولین رویکرد AndroidX Compose برای ناوبری است.
- برای اطلاعات بیشتر، به پست وبلاگ اطلاعیه ما مراجعه کنید، از منابع بازدید کنید و دستور العمل ها را امتحان کنید.
نسخه ۱.۰.۰-rc01
۵ نوامبر ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 شامل این کامیتها است.
رفع اشکالات
-
NavDisplayاکنون یکLocalLifecycleOwnerدر سطحSceneتنظیم میکند که به نویسندگان صحنه اجازه میدهد با بررسی اینکهLifecycle.StateRESUMEDاست، مشخص کنند که آیا همه انتقالها به پایان رسیدهاند یا خیر. رفتارLocalLifecycleOwnerدر سطحNavEntryبدون تغییر باقی میماند: اگر یک انتقال در حال انجام باشد، همچنان درSTARTEDباقی میماند و اگرNavEntryاز پشته پشتی برداشته شده و در حال انیمیشنسازی باشد، علاوه بر این درCREATEDنیز محدود میشود. ( I03113 ، b/454045829 )
نسخه ۱.۰.۰-بتا۰۱
۲۲ اکتبر ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 شامل این کامیتها است.
تغییرات API
-
SceneStrategyScopeاکنون فقط یک سازنده عمومی بدون آرگومان دارد که برای آزمایشSceneStrategyوSceneبرگشتی به صورت جداگانه مناسب است. برای موارد استفاده پیچیدهتر، لطفاً ازrememberSceneState()استفاده کنید. ( I8440c ، b/451679047 )
رفع اشکالات
- مشکل حلقه بینهایت هنگام زنجیرهسازی
SceneStrategyباthenبرطرف شد. ( Iba3f0 ، b/450323470 ) - لرزش صفحه هنگام تعویض
backStackارسالی بهNavDisplayو استفاده از انیمیشنها برطرف شد. ( Ief7b5 ، b/450967248 )
نسخه ۱.۰.۰-آلفا۱۱
۸ اکتبر ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 شامل این کامیتها است.
تغییرات API
- متد
calculateSceneدرSceneStrategyدیگر@Composableنیست. در عوض، میتوانید این کار را به ساخت متدSceneStrategyخود (یعنی در یک متدrememberMySceneStrategy()) منتقل کنید که به شما امکان میدهد طول عمر هر مقدارrememberSaveableیا دستورات keyrememberرا از مقادیر صحیح تعریف کنید. ( If1733 , b/448709506 ) - پارامتر
onBackبرایSceneStrategy.calculateSceneبه محدوده گیرنده جدیدSceneStrategyScopeمنتقل شده است تا واضحتر شود که این یک پارامتر اختیاری است و یک نقطه گسترش برای ویژگیهای آینده Navigation3 فراهم میکند. ( I3aea3 ، b/448460407 ) - لامبدا
onBackکه بهNavDisplayوSceneStrategyشما ارسال میشود، دیگر پارامترcount: Intرا برای نشان دادن زمان نمایش چندین ورودی ارائه نمیدهد. در عوض، لامبدا() -> Unitاکنون چندین بار پشت سر هم در موارد نادری که Scene شما درخواست نمایش چندین ورودی را میدهد، فراخوانی میشود. ( Idedb5 ، b/446989346 ) - کلاس
NavEntryWrapperحذف کنید و عملکرد آن را با یک کلاسNavEntryنهایی با یک سازنده ثانویه جدید که یکNavEntryبا محتوای جدید میگیرد، جایگزین کنید. این کار امکان پشتیبانی مداوم از بستهبندی یک ورودی با محتوای جدید را فراهم میکند. ( I7da2a , b/444447130 ) - تابع
navEntryDecoratorکه یکNavEntryDecoratorایجاد و برمیگرداند، حذف شده و با کلاسNavEntryDecoratorجایگزین شده است که اکنون عمومی شده و برای زیرکلاسسازی باز است. ( If81f8 , b/444447434 , b/447381176 ) -
SavedStateNavEntryDecoratorبهSaveableStateHolderNavEntryDecoratorتغییر نام داده است، زیرا ورودیها را باSaveableStateHolderتزئین میکند. این دکوراتور همچنین از یک تابع به یک کلاس تغییر یافته است، زیرا از نظر عملکردی یک factory برایNavEntryDecoratorاست. ( Ie6013 ، b/447381176 ) - نمایشگرهای سفارشی که از
SceneStateبه عنوان جایگزینی برای استفاده ازNavDisplayاستفاده میکنند، دیگر نیازی به استفاده از ترکیبLocalEntriesToRenderInCurrentSceneمحلی ندارند، که اکنون داخلی است. ( Ic40ef ، b/414668196 ) -
SceneSetupNavEntryDecoratorوrememberSceneSetupNavEntryDecorator()از سطح API عمومی حذف شدند. این قابلیت اکنون به طور پیشفرض و بدون نیاز به وارد کردن دستی آن توسط شما، در دسترس است. ( Ieae42 , b/444479133 ) -
NavEntry،DialogScene،SinglePaneSceneوSceneStateاکنون همگی equals را پیادهسازی میکنند. ( I96121 ) - رابط صحنه یک فیلد فراداده جدید برای الصاق فرادادههای مختص صحنه به NavDisplay دارد. این به صحنه اجازه میدهد تا فرادادههای موجود در
NavDisplayرا نادیده بگیرد، برای مثال با انتقالها ( I1fd96 ، b/443955625 ). - با حذف پارامتر نوع عمومی زائد، امضای
rememberNavBackStackرا ساده کنید. این تابع اکنونvararg elements: NavKey. ( I03e45 ) - انیمیشنهای پیشفرض برای
NavDisplayاکنون بخشی از API مشترک هستند که به آنها اجازه میدهد از همه پلتفرمها فراخوانی شوند. ( I71af9 , b/447147159 ) - نام
EntryProviderBuilderبهEntryProviderScopeتغییر دهید تا دقیقاً نشان دهد که کلاس یک DSL کاتلین است که محدودهای برای ساختNavEntriesارائه میدهد. ( Ia7465 )
رفع اشکالات
-
rememberNavBackStack()now enforces polymorphic serialization for NavKey and requires a customSavedStateConfigurationthat is configured to ensure correct state restoration. KDoc have been updated to reflect the requirement that all NavKey subtypes must be registered in the provided SerializersModule. ( I6de37 , I782f2 , b/446664383 )
نسخه ۱.۰.۰-آلفا۱۰
۲۴ سپتامبر ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 شامل این کامیتها است.
تغییرات API
- یک سربارگذاری جدید
NavDisplayاضافه کنید که لیستی ازNavEntry<T>که توسطrememberDecoratedNavEntriesتزئین شده است را دریافت کند. ( I4025b , b/441940314 ) -
DialogSceneبه یک بسته جدید منتقل شد. ( Ia5840 ) - API عمومی
DecorateNavEntryحذف کنید. در عوض ازrememberDecoratedNavEntriesبرای قرار دادن یک NavEntry با لیستی از دکوراتورها استفاده کنید. ( Id8c09 ) - رابط کاربری Navigation3 اکنون ویژگیهای پیشفرض جدید
transitionSpecرا ارائه میدهد. ( Ibcabd ) - یک شیء
SceneStateجدید برای کمک به مدیریت صحنهها اضافه شد. این شیء همچنین یک سربارگذاری جدیدNavDisplayارائه میدهد کهSceneStateوNavigationEventStateرا دریافت میکند. ( Idfb46 ، b/444479133 ) -
NavDisplayاکنون به شما امکان میدهد تا با نگاه کردن بهcurrentStateوtargetStateمربوط بهTransition، انتقالها را بر اساسSceneکه به آن میروید و از آن خارج میشوید، سفارشی کنید. ( I906cc ، b/443872322 ) -
NavigationEventInfoاکنون به جای یکinterfaceیکabstract classاست. تمام پیادهسازیهای سفارشی را برای ارثبری از کلاس بهروزرسانی کنید (مثلاًdata class MyInfo : NavigationEventInfo()). ( I1e59c , b/444734264 ) - رابطهای برنامهنویسی (API) مربوط به مدیریتکنندهی
navigationevent-composeبهروزرسانی شدهاند.NavigationEventHandlerوNavigationBackHandler(و انواع دیگر) اکنون از یک overload جدید پشتیبانی میکنند که یکNavigationEventStateرا که به صورت hoist شده است، میپذیرد. overloadهای ساده (با گرفتنcurrentInfo) حفظ شده و اکنون از این مدل state جدید به صورت داخلی استفاده میکنند. ( Ic3251 ، b/444734264 ) - تمام APIهای صحنه از navigation3-ui به navigation3-runtime منتقل شدهاند. این بدان معناست که اکنون آنها در تمام پلتفرمهای پشتیبانی شده توسط navigation3-runtime در دسترس هستند. ( I431d0 ، b/444449993 )
- اضافه بار جدید
rememberDecoratedNavEntriesاضافه شد که لیستی ازNavEntryرا برای تزئین میگیرد. ورودیهای ورودی میتوانند از قبل با سایر دکوراتورهای ورودی تزئین شوند. ( I5a034 ، b/444230270 ) - پارامترهای نوع wildcard مربوط به navigation3 را حذف کنید ( I02540 )
- مدیریت ژنریکها برای
entryProviderDSL بهبود یافته است. اگر قبلاًandroidx.navigation3.runtime.entryرا وارد میکردید، دیگر نیازی به این کار نیست. ( I299fc ) - محدود کردن سربارگذاری
NavBackStackSerializerمبتنی بر بازتاب به اندروید. این کار با اعمال استفاده از سربارگذاری صریحSavedStateConfigurationدر کد چند پلتفرمی، از شکستهای سریالسازی ضمنی زمان اجرا در پلتفرمهای غیر اندروید جلوگیری میکند. ( I73313 ، b/420443609 ) -
swipeEdgeمربوط بهNavigationEventرا به یک@IntDefتبدیل کنید ( Icee54 , b/443950342 ) - سریالسازی
NavBackStackبه اندروید محدود کنید. این کار از خطاهای زمان اجرا در پلتفرمهای غیر اندروید جلوگیری میکند. برای ذخیره وضعیت چند پلتفرمی، از overloadrememberNavBackStackبا یکSavedStateConfigurationصریح استفاده کنید. ( I1e418 , b/420443609 )
رفع اشکالات
- رفع مشکل از کار افتادن برنامه هنگام فراخوانی پیشبینانه، زمانی که
NavDisplayتو در تو دارای یک ورودی فرزند بود. ( I2cdc0 ، b/441933162 )
نسخه ۱.۰.۰-آلفا۰۹
۱۰ سپتامبر ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این کامیتها است.
تغییرات API
-
DecoratedNavEntryProviderباrememberDecoratedNavEntriesجایگزین شده است که NavEntries را ایجاد کرده و با لیستی از دکوراتورهای ارائه شده ( I0fe1c ، b/441328236 ) تزئین میکند. -
NavBackStackاکنون روی نوعNavKeyعمومیت دارد. این به برنامهها و کتابخانهها اجازه میدهد تا انواع کلید سفارشی را برای پشتههای پشتی خود تعریف کنند، نه اینکه محدود بهNavKeyباشند. ( I4d190 ، Iad2f4 ، b/420443609 ) -
NavBackStackاکنون@kotlinx.serialization.Serializable تبدیل شده است که امکان ذخیره و بازیابی وضعیت ناوبری را در طول مرگ فرآیند و تغییرات پیکربندی بدون کدهای تکراری اضافی فراهم میکند. ( I2c3cf ، b/420443609 ) -
RememberNavBackStackبهcommonMainمنتقل شده است تا از ارائه آن در تمام پلتفرمهای هدف اطمینان حاصل شود. ( Id69e7 ، b/420443609 )
رفع اشکالات
-
NavDisplayاکنون به درستی هرNavEntryبهLifecycle.Stateصحیح منتقل میکند. ( I30aac ، b/440145700 ) - مشکلی که باعث میشد
NavDisplayهر تنظیم تودرتویNavigationEventDispatcherOwnerرا که از طریقLocalNavigationEventDispatcherOwnerکتابخانهNavigationEventتنظیم شده بود، نادیده بگیرد، برطرف شد. ( I6224a )
تغییرات وابستگی
- Navigation3 اکنون به NavigationEvent Alpha08 بستگی دارد.
نسخه ۱.۰.۰-آلفا۰۸
۲۷ آگوست ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha08 منتشر شد. نسخه 1.0.0-alpha08 شامل این کامیتها است.
ویژگیهای جدید
- اهداف جدید Kotlin MultiPlatform (KMP) به مصنوعات
Navigation3 Runtimeاضافه شد.Navigation3 Runtimeاکنون در مجموع از پلتفرمهای زیر پشتیبانی میکند: JVM (اندروید و دسکتاپ)، Native (لینوکس، iOS، watchOS، macOS، MinGW) و وب (جاوااسکریپت، WasmJS). ( I55078 ، b/424410398 ، b/419294028 ، b/419046226 ). توجه: این اهداف KMP را برای مصنوعNavigation3 UIارائه نمیدهد. در سایر پلتفرمها، بایدNavDisplayسفارشی خود را پیادهسازی کنید. اگر مایل به پشتیبانی از آن هستید، لطفاً در اینجا به موضوع Jetbrains رأی دهید و پیشرفت پشتیبانی بیشتر را در آنجا پیگیری کنید. - شیء
NavDisplayInfoاکنون عمومی است و میتواند برای بازیابی لیست ورودیهای قابل مشاهده ازNavDisplayاستفاده شود. ( Ibc91f )
تغییرات API
- Added a new
NavBackStackSerializerto be used in conjunction withrememberNavBackStackto perform state restoration.rememberNavBackStack()now also takes aSavedStateConfigurationthat can be used to provide your own configuration. ( I2f4d2 , I4cd58 , b/420443609 )
رفع اشکالات
- مشکلی که باعث میشد پیمایش باعث ایجاد رویدادهای نادرست چرخه عمر شود، برطرف شد. ( I8bf6d ، b/425901162 ، b/434109022 )
مشکلات شناخته شده
- There was a bug introduced by I8bf6d that caused Lifecycles to be based on scenes instead of individual entries, which broke Lifecycle for any cases where the
keyprovided to theNavEntryis not aStringor yourNavEntryhas not overridden thecontentKeyand set it equal to thekey(note that doing this enforces that your key can be saved into aBundle). This has been fixed for the next release. ( b/440145700 )
نسخه ۱.۰.۰-آلفا۰۷
۱۳ آگوست ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha07 منتشر شد. نسخه 1.0.0-alpha07 شامل این کامیتها است.
بهروزرسانی MinSDK
- minSdk پیشفرض برای AndroidX از API 21 به API 23 منتقل شده است ( Ibdfca ، b/380448311 ، b/435705964 ، b/435705223 )
تغییرات API
-
SavedStateNavEntryDecoratorاکنون ازSaveableStateRegistryکه درSaveableStateProviderتعبیه شده است برای ذخیره و بازیابی حالتها استفاده میکند. ( If8d9a ) - ویژگی
predictivePopTransitionSpecاکنون لبهی سوایپ را به عنوان پارامتر ارائه میدهد و به شما امکان میدهد تا انتقال را بر اساس لبهای که کاربر حرکت Predictive Back را از آن شروع کرده است، سفارشی کنید. ( I753a8 )
رفع اشکالات
- مشکلی که باعث میشد صحنههای سفارشی بینهایت بار دوباره محاسبه شوند، برطرف شد، زیرا جدیدترین صحنه به خاطر سپرده نمیشد. ( I7ba84 ، b/418153031 )
بهروزرسانی وابستگی
- Navigation3 اکنون به رویداد Navigation
1.0.0-alpha06بستگی دارد.
نسخه ۱.۰.۰-alpha06
۳۰ ژوئیه ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 شامل این کامیتها است.
بهروزرسانی وابستگی
- Navigation3 اکنون به رویداد Navigation
1.0.0-alpha05بستگی دارد.
نسخه ۱.۰.۰-آلفا۰۵
۲ ژوئیه ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha05 منتشر شد. نسخه 1.0.0-alpha05 شامل این کامیتها است.
تغییرات رفتاری
- وضعیت
NavEntryاکنون کاملاً بر اساس لیست فعلی دکوراتورهای ارسالی بهNavDisplayاست. این بدان معناست که در صورت وجود چندین پشته پشتی، دکوراتورها باید در امتداد پشتههای پشتی شما جابجا شوند تا وضعیت NavEntries در پشته پشتی حفظ شود. در غیر این صورت، وضعیتها طوری پاک میشوند که انگار ورودیها برداشته شدهاند (به جای تعویض). ( I7a759 , b/428033667 )
نسخه ۱.۰.۰-آلفا۰۴
۱۸ ژوئن ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha04 منتشر شد. نسخه 1.0.0-alpha04 شامل این کامیتها است.
تغییرات API
-
NavEntry.contentاکنون خصوصی است. برای فراخوانی محتوایNavEntry، API جدیدNavEntry.Content()را فراخوانی کنید که دیگر نیازی به پارامترkeyبرای فراخوانی ندارد. ( Icd0fd , b/420991203 ) -
NavEntry.keyاکنون یک فیلد خصوصی است.NavEntryو حالتهای مرتبط با آن باید توسط فیلدcontentKeyجدید که از لامبداcontentKeyFactoryجدید تولید میشود، شناسایی شوند و پیشفرض آن یک هش قابل ذخیره تولید شده ازNavEntry.keyاست ( I81a6c ، b/422001357 ، b/420991203 I2d7d4 ، b/420991203 ، b/422841812 ).
تغییرات وابستگی
- Navigation3 اکنون به مصنوع جدید
androidx.navigationevent.composeبستگی دارد.
نسخه ۱.۰.۰-آلفا۰۳
۴ ژوئن ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha03 منتشر شد. نسخه 1.0.0-alpha03 شامل این کامیتها است.
رفع اشکالات
-
Navigation3دیگر حالتهای دکوراتور مربوط بهbackStacksکه حذف شده و با نمونهی دیگریbackStackجایگزین شدهاند را پاک نمیکند. ( I28a42 , b/415076044 )
نسخه ۱.۰.۰-آلفا۰۲
۲۳ مه ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha02 منتشر شد. نسخه 1.0.0-alpha02 شامل این کامیتها است.
رفع اشکالات
- مشکلی در
SavedStateNavEntryDecoratorکه باعث ایجاد تصادم برای کلاسهای داده مختلف با مقادیر ویژگی یکسان میشد، برطرف شد. ( b/418070648 , Iff4775 ) - Fixed a missing class issue that would cause crashes when running without declaring explicit dependencies. ( b/419049149 , I4b4ed )
نسخه ۱.۰.۰-آلفا۰۱
۲۰ مه ۲۰۲۵
androidx.navigation3:navigation3-*:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits .
ویژگیهای جدید
Navigation3 is a new navigation library built specifically to handle Jetpack Compose in-app navigation. The androidx.navigation3.runtime artifact provides the building blocks, while the androidx.navigation3.ui artifact provides the UI layer via the NavDisplay API. Developers can provide their own state directly to the NavDisplay composable function, which changes the content based on changes in the developer state.
@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey
val backStack = rememberNavBackStack(Home)
NavDisplay(backStack, entryProvider = entryProvider {
entry<Home> {
Column {
Text(“Home”)
Button(onClick = { backStack.add(Chat) } ) {
Text(“Go to Chat”)
}
}
}
entry<Chat> { /* My Composable Content */ }
})
For more information, see the Navigation3 guide .