כברירת מחדל, חיזוי של תנועת החזרה ואנימציות מערכת מופעלים. אם האפליקציה שלכם מיירטת את אירוע החזרה ולא העברתם אותה לשימוש בתכונה 'חזרה עם חיזוי', עליכם לעדכן את האפליקציה כדי להשתמש בממשקי API נתמכים של ניווט אחורה.
הפעלת אנימציות מערכת שמוגדרות כברירת מחדל
אנימציות המערכת של חזרה למסך הבית, מעבר בין פעילויות ומעבר בין משימות זמינות במכשירים עם Android 15 ואילך באפליקציות שעברו ל-APIs הנתמכים לטיפול בתנועת החזרה.
- חזרה למסך הבית: מחזיר את המשתמש למסך הבית.
- פעילות חוצת-מסכים: מעברים בין מסכים באפליקציה.
- בין משימות: מעברים בין משימות.
האנימציות האלה מופעלות כברירת מחדל ב-Android מגרסה 15 ואילך. במכשירים עם Android בגרסה 13 או 14, המשתמשים יכולים להפעיל אותם דרך האפשרויות למפתחים.
כדי לקבל את האנימציות של המערכת, צריך לעדכן את התלות ב-AndroidX Activity
לגרסה 1.6.0 ואילך.
הפעלת חיזוי של תנועת החזרה באמצעות Navigation Compose
כדי להשתמש בתכונה 'חזרה חזויה' ב-Navigation Compose, צריך לוודא שאתם משתמשים בספרייה
navigation-compose
2.8.0
ואילך.
Navigation Compose מבצע באופן אוטומטי מעבר הדרגתי בין מסכים כשהמשתמש מחליק אחורה:
כשמנווטים, אפשר ליצור מעברים בהתאמה אישית באמצעות 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, )
הקוד הזה יוצר את התוצאה הבאה:
popEnterTransition
ו-popExitTransition
שולטים ספציפית באנימציות כשמבצעים פעולות כמו חזרה אחורה באמצעות תנועה. אפשר גם להשתמש ב-enterTransition
וב-exitTransition
כדי להגדיר אנימציות לכניסה וליציאה של רכיבי Composable באופן כללי, ולא רק עבור התכונה 'חזרה עם חיזוי'. אם מגדירים רק את enterTransition
ואת exitTransition
, הם ישמשו גם לניווט רגיל וגם להוצאת פעילויות ממחסנית הפעילויות הקודמות. עם זאת, באמצעות popEnterTransition
ו-popExitTransition
אפשר ליצור אנימציות שונות לניווט אחורה.
שילוב עם מעברים של רכיבים משותפים
מעברים בין רכיבים משותפים מספקים חיבור ויזואלי חלק בין קומפוזיציות עם תוכן משותף, ומשמשים לעיתים קרובות לניווט.
כדי להשתמש ברכיבים משותפים עם Navigation Compose, אפשר לעיין במאמר בנושא חזרה עם רכיבים משותפים.
תמיכה בתצוגה מקדימה של חזרה עם רכיבי Material Compose
רכיבים רבים בספריית Material Compose מתוכננים לפעול בצורה חלקה עם תנועות ניווט חזויות. כדי להפעיל אנימציות של חזרה עם חיזוי ברכיבים האלה, צריך לכלול בפרויקט את התלות העדכנית ב-Material3 (גרסה androidx.compose.material3:material3-*:1.3.0
ואילך).
רכיבי Material שתומכים באנימציות של חיזוי תנועת החזרה כוללים:
SearchBar
ModalBottomSheet
ModalDrawerSheet/DismissibleDrawerSheet
ModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar
ו-ModalBottomSheet
מונפשים אוטומטית באמצעות חיזוי תנועת החזרה. כדי להשתמש ב-ModalNavigationDrawer
, ModalDrawerSheet
, DismissibleDrawerSheet
ו-DismissibleNavigationDrawer
, צריך להעביר את drawerState
לרכיבי ה-Composable של תוכן הגיליון המתאימים.
בדיקת האנימציה של חיזוי תנועת החזרה
אם אתם עדיין משתמשים ב-Android 13 או ב-Android 14, אתם יכולים לבדוק את האנימציה של החזרה למסך הבית.
כדי לבדוק את האנימציה הזו, מבצעים את השלבים הבאים:
- במכשיר, עוברים אל הגדרות > מערכת > אפשרויות למפתחים.
- בוחרים באפשרות חיזוי אנימציה של תנועת החזרה.
- מפעילים את האפליקציה המעודכנת ומשתמשים בתנועת החזרה כדי לראות אותה בפעולה.
ב-Android מגרסה 15 ואילך, התכונה הזו מופעלת כברירת מחדל.