راه اندازی پیش بینی بازگشت

برای فعال کردن انیمیشن‌های پیش‌بینی‌کننده پیش‌بینی، باید برای پشتیبانی از حرکت پیش‌بینی‌کننده برگشت شرکت کنید. برای شرکت کردن، android:enableOnBackInvokedCallback="true " را به تگ <application> یا تگ های <activity> فردی در فایل AndroidManifest.xml خود اضافه کنید.

انیمیشن های پیش فرض سیستم را فعال کنید

انیمیشن‌های سیستم بازگشت به خانه، فعالیت متقابل، و متقابل در دستگاه‌های Android 15 و جدیدتر برای برنامه‌هایی که به APIهای پشتیبان پشتیبانی شده منتقل شده‌اند در دسترس هستند.

  • بازگشت به خانه : کاربر را به صفحه اصلی برمی‌گرداند.
  • فعالیت متقابل : انتقال بین فعالیت‌های درون برنامه.
  • وظیفه متقابل : انتقال بین وظایف .

این انیمیشن ها به صورت پیش فرض در اندروید 15 و بالاتر فعال هستند. در دستگاه‌های دارای Android 13 یا 14، کاربران می‌توانند آن‌ها را از طریق گزینه‌های Developer فعال کنند.

برای دریافت انیمیشن های سیستم، وابستگی AndroidX Activity خود را به 1.6.0 یا بالاتر به روز کنید.

بازگشت پیش بینی را با Navigation Compose فعال کنید

برای استفاده از پیش‌بینی‌کننده در Navigation Compose، مطمئن شوید که از کتابخانه navigation-compose 2.8.0 یا بالاتر استفاده می‌کنید.

وقتی کاربر به عقب می‌کشد، «نوشتن پیمایش» به‌طور خودکار بین صفحه‌ها محو می‌شود:

شکل 2. انیمیشن متقابل پیش فرض درون برنامه ای در SociaLite.

هنگام پیمایش، می‌توانید انتقال‌های سفارشی را با popEnterTransition و popExitTransition ایجاد کنید. هنگامی که در NavHost خود اعمال می‌شود، این اصلاح‌کننده‌ها به شما امکان می‌دهند نحوه متحرک شدن صفحه‌های ورود و خروج را مشخص کنید. می توانید از آنها برای ایجاد افکت های مختلف مانند پوسته پوسته شدن، محو شدن یا لغزش استفاده کنید.

در این مثال، scaleOut در popExitTransition برای کاهش مقیاس صفحه خروجی هنگام حرکت کاربر به عقب استفاده می شود. علاوه بر این، پارامتر transformOrigin نقطه ای را که انیمیشن مقیاس بندی در اطراف آن رخ می دهد، تعیین می کند. به طور پیش‌فرض، مرکز صفحه است ( 0.5f, 0.5f ). می‌توانید این مقدار را تنظیم کنید تا مقیاس‌بندی از نقطه‌ای متفاوت سرچشمه بگیرد.

NavHost(
    navController = navController,
    startDestination = Home,
    popExitTransition = {
        scaleOut(
            targetScale = 0.9f,
            transformOrigin = TransformOrigin(pivotFractionX = 0.5f, pivotFractionY = 0.5f)
        )
    },
    popEnterTransition = {
        EnterTransition.None
    },
    modifier = modifier,
)

این کد نتیجه زیر را ایجاد می کند:

شکل 3. یک انیمیشن درون برنامه ای سفارشی در SociaLite.

popEnterTransition و popExitTransition به‌طور خاص انیمیشن‌ها را هنگام بازکردن پشته پشته کنترل می‌کنند، به عنوان مثال، با اشاره به عقب. همچنین می‌توانید از enterTransition و exitTransition برای تعریف انیمیشن‌ها برای ورود و خروج از composable‌ها به طور کلی استفاده کنید، نه تنها برای پیش‌بینی بازگشت. اگر فقط enterTransition و exitTransition را تنظیم کنید، هم برای پیمایش معمولی و هم برای باز کردن پشته پشتی استفاده می شود. با این حال، استفاده از popEnterTransition و popExitTransition به شما امکان می‌دهد انیمیشن‌های متمایز را برای پیمایش به عقب ایجاد کنید.

ادغام با انتقال عناصر مشترک

انتقال عناصر مشترک، یک ارتباط بصری صاف بین اجزای ترکیبی با محتوای مشترک، که اغلب برای پیمایش استفاده می‌شود، فراهم می‌کند.

شکل 4. انتقال عنصر مشترک با پیشگویانه در Navigation Compose.

برای استفاده از عناصر به اشتراک‌گذاشته‌شده با Navigation Compose، به پیش‌بینی‌کننده با عناصر مشترک مراجعه کنید.

پشتیبان پیشگویانه را با اجزای Material Compose پشتیبانی کنید

بسیاری از مؤلفه‌ها در کتابخانه Material Compose به گونه‌ای طراحی شده‌اند که به‌طور یکپارچه با حرکات پیش‌بینی‌کننده پشت کار کنند. برای فعال کردن انیمیشن‌های پیش‌بینی‌کننده در این مؤلفه‌ها، آخرین وابستگی Material3 ( androidx.compose.material3:material3-*:1.3.0 یا بالاتر) را در پروژه خود بگنجانید.

اجزای موادی که از انیمیشن های پیش بینی کننده پشتیبان پشتیبانی می کنند عبارتند از:

SearchBar و ModalBottomSheet به طور خودکار با حرکات پیشگویانه برگشت متحرک می شوند. ModalNavigationDrawer ، ModalDrawerSheet ، DismissibleDrawerSheet ، و DismissibleNavigationDrawer از شما می‌خواهند که drawerState را به محتوای برگه مربوطه ارسال کنید.

انیمیشن ژست‌های برگشتی پیش‌بینی‌کننده را آزمایش کنید

اگر همچنان از اندروید 13 یا اندروید 14 استفاده می کنید، می توانید انیمیشن بازگشت به خانه را تست کنید.

برای تست این انیمیشن مراحل زیر را دنبال کنید:

  1. در دستگاه خود، به تنظیمات > سیستم > گزینه‌های برنامه‌نویس بروید.
  2. انیمیشن‌های برگشتی پیش‌بینی‌کننده را انتخاب کنید.
  3. برنامه به‌روزرسانی‌شده‌تان را راه‌اندازی کنید و از ژست برگشتی برای مشاهده آن در عمل استفاده کنید.

در اندروید 15 به بعد، این ویژگی به طور پیش فرض فعال است.

منابع اضافی