ناوبری ۳

‫Navigation 3 کتابخانه پیمایشی است که برای کار با Compose طراحی شده است. با Navigation 3، کنترل کامل پشته قبلی‌ها را دراختیار دارید و با افزودن و برداشتن موارد از فهرست، بین مقصدها پیمایش می‌کنید. این مؤلفه با ارائه موارد زیر، سیستم پیمایش برنامه انعطاف‌پذیری ایجاد می‌کند:

  • قراردادهایی برای مدل‌سازی پشته قبلی‌ها، که در آن هر ورودی در پشته قبلی‌ها نشان‌دهنده محتوایی است که کاربر به آن پیمایش کرده است
  • میانای کاربری‌ای که به‌طور خودکار با تغییرات پشته قبلی‌ها (ازجمله پویانمایی‌ها) به‌روز می‌شود
  • A scope for items in the back stack, allowing state to be retained while an item is in the back stack
  • سیستم چیدمان تطبیقی که امکان نمایش هم‌زمان چند مقصد را فراهم می‌کند و جابه‌جایی یکپارچه بین این چیدمان‌ها را ممکن می‌سازد
  • سازوکاری برای محتوا برای برقراری ارتباط با چیدمان ولی (فراداده)
  • ارتباط بین مقصدها برای برگرداندن نتایج بین صفحه‌ها

در سطح بالا، Navigation 3 را به روش‌های زیر پیاده‌سازی می‌کنید:

  1. محتوایی را که کاربران می‌توانند در برنامه‌تان به آن پیمایش کنند تعریف کنید، هرکدام با یک کلید منحصربه‌فرد، و تابعی اضافه کنید تا آن کلید را به محتوا تبدیل کند. تبدیل کلیدها به محتوا را ببینید.
  2. پشته قبلی‌هایی ایجاد کنید که کلیدها با پیمایش کاربر در برنامه شما به آن اضافه و از آن برداشته شوند. ایجاد پشته قبلی‌ها را ببینید.
  3. از NavDisplay برای نمایش پشته قبلی‌های برنامه‌تان استفاده کنید. هرزمان پشته قبلی‌ها تغییر کند، میانای کاربر را برای نمایش محتوای مربوط به‌روز می‌کند. نمایش پشته قبلی‌ها را ببینید.
  4. استراتژی‌های صحنه NavDisplay را درصورت نیاز اصلاح کنید تا از چیدمان‌های تطبیقی و پلاتفرم‌های مختلف پشتیبانی کند.
  5. از پیوندهای عمیق پشتیبانی کنید تا مستقیماً به مقصدها پیمایش کنید.

می‌توانید کد منبع کامل Navigation 3 را در AOSP ببینید.

بهبودهای Jetpack Navigation

Navigation 3 از روش‌های زیر «میانای برنامه‌سازی کاربردی Jetpack Navigation» اصلی را بهبود می‌بخشد:

  • ادغام ساده‌تری با Compose ارائه می‌دهد
  • کنترل کامل پشته قبلی‌ها را به شما می‌دهد
  • امکان ایجاد چیدمان‌هایی را فراهم می‌کند که می‌توانند به‌طور هم‌زمان بیش‌از یک مقصد را از پشته قبلی‌ها بخوانند و به آن‌ها اجازه می‌دهد با تغییرات در اندازه پنجره و سایر ورودی‌ها سازگار شوند.

درباره اصول Navigation 3 و انتخاب‌های طراحی میانای برنامه‌سازی کاربردی در پست وبلاگ اعلامیه بیشتر بخوانید.

نمونه کدها

مخزن دستورالعمل‌ها حاوی نمونه‌هایی از نحوه استفاده از بلوک‌های ساختمانی Navigation 3 برای حل چالش‌های رایج ناوبری است.