מיומנויות ב-Android
הצגת הקוד ב-GitHubJetpack Navigation 3
android skills add navigation-3Navigation 3 היא ספריית ניווט שמיועדת לעבודה עם Compose. ב-Navigation 3 יש לכם שליטה מלאה על מקבץ הפעילויות הקודמות, ואתם מנווטים בין היעדים על ידי הוספה והסרה של פריטים מהרשימה. היא יוצרת מערכת ניווט גמישה באפליקציה באמצעות:
- מוסכמות ליצירת מודל של מקבץ פעילויות קודמות (back stack), שבו כל רשומה במקבץ מייצגת תוכן שהמשתמש ניווט אליו
- ממשק משתמש שמתעדכן אוטומטית עם שינויים במקבץ הפעילויות הקודמות (כולל אנימציות)
- היקף לפריטים במקבץ הפעילויות הקודמות (back stack), שמאפשר לשמור את המצב בזמן שפריט נמצא במקבץ הפעילויות הקודמות (back stack)
- מערכת פריסה דינמית שמאפשרת להציג כמה יעדים בו-זמנית, ולעבור בצורה חלקה בין הפריסות האלה
- מנגנון שמאפשר לתוכן לתקשר עם פריסת האם שלו (מטא-נתונים)
- תקשורת בין יעדים כדי להחזיר תוצאות בין מסכים
ככלל, אתם יכולים להטמיע את Navigation 3 בדרכים הבאות:
- מגדירים את התוכן שהמשתמשים יכולים לנווט אליו באפליקציה, כל אחד עם מפתח ייחודי, ומוסיפים פונקציה כדי לפתור את המפתח הזה לתוכן. איך פותרים בעיות שקשורות למפתחות תוכן
- יוצרים מקבץ פעילויות קודמות (back stack) שבו מפתחות נדחפים ומוסרים כשהמשתמשים מנווטים באפליקציה. מידע נוסף זמין במאמר יצירת מקבץ פעילויות קודמות (back stack).
- משתמשים ב-
NavDisplayכדי להציג את מקבץ הפעילויות הקודמות (back stack) של האפליקציה. בכל פעם שמקבץ הפעילויות הקודמות משתנה, ממשק המשתמש מתעדכן כדי להציג תוכן רלוונטי. הצגת מקבץ הפעילויות הקודמות - משנים את אסטרטגיות הסצנה של
NavDisplayלפי הצורך כדי לתמוך בפריסות אדפטיביות ובפלטפורמות שונות. - תמיכה בקישורי עומק כדי לנווט ישירות ליעדים.
קוד המקור המלא של Navigation 3 זמין ב-AOSP.
שיפורים ב-Jetpack Navigation
Navigation 3 משפר את Jetpack Navigation API המקורי בדרכים הבאות:
- שילוב פשוט יותר עם Compose
- שליטה מלאה במקבץ הפעילויות הקודמות (back stack)
- מאפשר ליצור פריסות שיכולות לקרוא יותר מיעד אחד ממקבץ הפעילויות הקודמות (back stack) בו-זמנית, כך שהן יכולות להתאים את עצמן לשינויים בגודל החלון ובקלט אחר.
בפוסט בבלוג אפשר לקרוא מידע נוסף על העקרונות של Navigation 3 ועל אפשרויות העיצוב של ה-API.
דוגמאות קוד
מאגר המתכונים מכיל דוגמאות לשימוש באבני הבניין של Navigation 3 כדי לפתור אתגרים נפוצים בניווט.