ناوبری 3

Navigation 3 یک کتابخانه ناوبری جدید است که برای کار با Compose طراحی شده است.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
2 ژوئیه 2025 - - - 1.0.0-alpha05

اعلام وابستگی ها

برای افزودن وابستگی به navigation3، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.navigation3.navigation3-runtime:1.0.0-alpha05"
    implementation "androidx.navigation3.navigation3-ui:1.0.0-alpha05"
}

کاتلین

dependencies {
    implementation("androidx.navigation3.navigation3-runtime:1.0.0-alpha05")
    implementation("androidx.navigation3.navigation3-ui:1.0.0-alpha05")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

هیچ یادداشت انتشار برای این مصنوع وجود ندارد.

نسخه 1.0

نسخه 1.0.0-alpha05

2 ژوئیه 2025

androidx.navigation3:navigation3-*:1.0.0-alpha05 منتشر شد. نسخه 1.0.0-alpha05 حاوی این تعهدات است.

تغییرات رفتار

  • وضعیت NavEntry اکنون کاملاً بر اساس لیست فعلی تزئینات ارسال شده به NavDisplay است. این بدان معناست که دکوراسیون ها باید در مورد پشته های پشتی شما در صورت وجود چندین پشته پشتی به منظور حفظ وضعیت ناوانها در پشته پشتی تعویض شوند. در غیر این صورت، حالت ها به گونه ای پاک می شوند که گویی ورودی ها ظاهر شده اند (به جای تعویض). ( I7a759 , b/428033667 )

نسخه 1.0.0-alpha04

18 ژوئن 2025

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 و حالت های مربوطه باید توسط قسمت New contentKey که از contentKeyFactory Lambda جدید تولید می شود و به طور پیش فرض به یک هش قابل ذخیره تولید شده از NavEntry.key ( I81A6C ، B/422001357 ، B/42091203 I2D7D4 ، B/4209991203 ، تولید می شود. 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 Artifact بلوک های ساختمانی را فراهم می کند ، در حالی که androidx.navigation3.ui Artifact لایه UI را از طریق API NavDisplay فراهم می کند. توسعه دهندگان می توانند وضعیت خود را مستقیماً به عملکرد کامپوزیت 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 مراجعه کنید.