ناوبری 3
آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
10 سپتامبر 2025 | - | - | - | 1.0.0-alpha09 |
اعلام وابستگی ها
برای افزودن وابستگی به navigation3، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.0.0-alpha09" implementation "androidx.navigation3:navigation3-ui:1.0.0-alpha09" }
کاتلین
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha09") implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha09") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت نگاه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
هیچ یادداشت انتشار برای این مصنوع وجود ندارد.
نسخه 1.0
نسخه 1.0.0-alpha09
10 سپتامبر 2025
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 بستگی دارد.
نسخه 1.0.0-alpha08
27 آگوست 2025
androidx.navigation3:navigation3-*:1.0.0-alpha08
منتشر شد. نسخه 1.0.0-alpha08 حاوی این تعهدات است.
ویژگی های جدید
- اهداف جدید Kotlin MultiPlatform (KMP) به مصنوعات
Navigation3 Runtime
اضافه شده است.Navigation3 Runtime
اکنون در مجموع از پلتفرمهای زیر پشتیبانی میکند: JVM (اندروید و دسکتاپ)، Native (Linux، iOS، watchOS، macOS، MinGW) و وب (JavaScript، WasmJS). ( I55078 , b/424410398 , b/419294028 , b/419046226 ). توجه: این اهداف KMP را برای مصنوع رابطNavigation3 UI
ارائه نمیکند. در پلتفرم های دیگر، بایدNavDisplay
سفارشی خود را پیاده سازی کنید. اگر مایلید از آن پشتیبانی شود، لطفاً در اینجا به موضوع Jetbrains رأی دهید و پیشرفت را برای پشتیبانی بیشتر در آنجا دنبال کنید. - شی
NavDisplayInfo
اکنون عمومی است و می توان از آن برای بازیابی لیست ورودی های قابل مشاهده ازNavDisplay
استفاده کرد. ( IBC91f )
تغییرات API
- یک
NavBackStackSerializer
جدید اضافه شد تا در ارتباط باrememberNavBackStack
برای انجام بازیابی حالت استفاده شود.rememberNavBackStack()
اکنون یکSavedStateConfiguration
نیز می گیرد که می تواند برای ارائه پیکربندی خود استفاده شود. ( I2f4d2 , I4cd58 , b/420443609 )
رفع اشکال
- مشکلی که در آن پیمایش باعث میشد رویدادهای چرخه زندگی نادرست فعال شوند، برطرف شد. ( I8bf6d , b/425901162 , b/434109022 )
مسائل شناخته شده
- اشکالی توسط I8bf6d معرفی شد که باعث شد چرخههای زندگی به جای ورودیهای فردی بر اساس صحنهها باشد، که چرخه حیات را برای هر مواردی که
key
ارائهشده بهNavEntry
یکString
نیست یاNavEntry
شماcontentKey
لغو نکرده و آن را برابر باkey
قرار نداده است، شکسته میشود (توجه داشته باشید که انجام این کار باعث میشود که کلید B درBundle
ذخیره شود). این برای نسخه بعدی رفع شده است. ( b/440145700 )
نسخه 1.0.0-alpha07
13 آگوست 2025
androidx.navigation3:navigation3-*:1.0.0-alpha07
منتشر شد. نسخه 1.0.0-alpha07 حاوی این commit ها است.
به روز رسانی 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 Event
1.0.0-alpha06
بستگی دارد.
نسخه 1.0.0-alpha06
30 جولای 2025
androidx.navigation3:navigation3-*:1.0.0-alpha06
منتشر شد. نسخه 1.0.0-alpha06 حاوی این تعهدات است.
به روز رسانی وابستگی
- Navigation3 اکنون به Navigation Event
1.0.0-alpha05
بستگی دارد.
نسخه 1.0.0-alpha05
2 ژوئیه 2025
androidx.navigation3:navigation3-*:1.0.0-alpha05
منتشر شد. نسخه 1.0.0-alpha05 حاوی این تعهدات است.
تغییرات رفتار
- وضعیت
NavEntry
اکنون کاملاً بر اساس لیست فعلی تزئینات ارسال شده بهNavDisplay
است. این بدان معنی است که دکوراتورها باید در امتداد پشته های پشتی شما در صورت وجود پشته های پشتی متعدد تعویض شوند تا وضعیت NavEntries در پشته پشتی حفظ شود. در غیر این صورت، حالت ها به گونه ای پاک می شوند که گویی ورودی ها ظاهر شده اند (به جای تعویض). ( I7a759 , b/428033667 )
نسخه 1.0.0-alpha04
18 ژوئن 2025
androidx.navigation3:navigation3-*:1.0.0-alpha04
منتشر شد. نسخه 1.0.0-alpha04 حاوی این تعهدات است.
تغییرات API
-
NavEntry.content
اکنون خصوصی است. برای فراخوانی محتوایNavEntry
، apiNavEntry.Content()
جدید را فراخوانی کنید که دیگر نیازی به پارامترkey
برای فراخوانی ندارد. ( Icd0fd , b/420991203 ) -
NavEntry.key
اکنون یک فیلد خصوصی است.NavEntry
و وضعیتهای مربوط به آن باید با فیلدcontentKey
جدید که از محتوای لامبدای جدیدcontentKeyFactory
ایجاد میشود و بهطور پیشفرض به هش قابل ذخیرهسازی تولید شده ازNavEntry.key
( I81a6c , b/422001357 , b/420991203, b/420991203, b1d7403 , b/420991203, b/2d744) شناسایی شوند. b/422841812 )
تغییرات وابستگی
- Navigation3 اکنون به مصنوع جدید
androidx.navigationevent.compose
بستگی دارد.
نسخه 1.0.0-alpha03
4 ژوئن 2025
androidx.navigation3:navigation3-*:1.0.0-alpha03
منتشر شد. نسخه 1.0.0-alpha03 حاوی این تعهدات است.
رفع اشکال
-
Navigation3
دیگر حالت های دکوراتور را برایbackStacks
که تعویض شده و با نمونهbackStack
دیگری جایگزین شده اند پاک نمی کند. ( I28a42 , b/415076044 )
نسخه 1.0.0-alpha02
23 مه 2025
androidx.navigation3:navigation3-*:1.0.0-alpha02
منتشر شد. نسخه 1.0.0-alpha02 حاوی این تعهدات است.
رفع اشکال
- مشکلی در
SavedStateNavEntryDecorator
که باعث برخورد برای کلاسهای داده مختلف با مقادیر ویژگی یکسان میشد، برطرف شد. ( b/418070648 , If4775 ) - مشکل کلاس از دست رفته را که در هنگام اجرا بدون اعلام وابستگی های صریح باعث خرابی می شد، برطرف شد. ( b/419049149 , I4b4ed )
نسخه 1.0.0-alpha01
20 مه 2025
androidx.navigation3:navigation3-*:1.0.0-alpha01
منتشر شد. نسخه 1.0.0-alpha01 حاوی این تعهدات است.
ویژگی های جدید
Navigation3 یک کتابخانه ناوبری جدید است که به طور خاص برای مدیریت ناوبری درون برنامه ای Jetpack Compose ساخته شده است. مصنوع androidx.navigation3.runtime
بلوک های ساختمان را فراهم می کند، در حالی که مصنوع androidx.navigation3.ui
لایه UI را از طریق NavDisplay
API فراهم می کند. توسعهدهندگان میتوانند وضعیت خود را مستقیماً به تابع composable NavDisplay
ارائه دهند، که محتوا را بر اساس تغییرات در وضعیت توسعهدهنده تغییر میدهد.
@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 */ }
})
برای اطلاعات بیشتر، به راهنمای Navigation3 مراجعه کنید.