המסגרת של Android לגרירה ולשחרור מאפשרת להוסיף לאפליקציה יכולות אינטראקטיביות של גרירה ושחרור. באמצעות גרירה ושחרור, משתמשים יכולים להעתיק או להעביר טקסט, תמונות, אובייקטים וכל תוכן שאפשר לייצג באמצעות URI, מView
אחד לאחר בתוך אפליקציה, או בין אפליקציות במצב ריבוי חלונות.
![]() |
![]() |
|
|
המסגרת כוללת מחלקה של אירועי גרירה, drag listeners ומחלקות ושיטות עזר. למרות שהמסגרת הזו מיועדת בעיקר להעברת נתונים, אפשר להשתמש בה גם לפעולות אחרות בממשק המשתמש. לדוגמה, אפשר ליצור אפליקציה שמערבבת צבעים כשהמשתמש גורר סמל צבע מעל סמל אחר. עם זאת, בחלקים אחרים של המסמך מתואר מסגרת גרור-ושחרר בהקשר של העברת נתונים.
סקירה כללית
יש כמה רכיבים שמעורבים בתהליך הגרירה.
גרירת מקור: תצוגת נקודת ההתחלה של תהליך הגרירה וההזזה.
יעד השחרור: תצוגה שיכולה לקבל את נתוני הגרירה.
צללית גרירה: צללית גרירה היא ייצוג של הנתונים שנגררים, והיא גלויה למשתמשים.
גרירת אירועים: כשהמשתמש מזיז את הצללית של הגרירה מעל הפריסה של האפליקציה, המערכת שולחת אירועי גרירה למאזיני אירועי הגרירה ולשיטות הקריאה החוזרת שמשויכות לאובייקטים
View
בפריסה.
פעולת גרירה מתחילה כשהמשתמש מבצע תנועת ממשק משתמש שהאפליקציה מזהה כאות להתחלת גרירת נתונים. בתגובה, האפליקציה מודיעה למערכת שתהליך הגרירה וההעברה מתחיל. המערכת מבצעת קריאה חוזרת לאפליקציה כדי לקבל צללית של הגרירה ולהציג אותה למשתמשים במהלך תהליך הגרירה וההעברה.
כשהמשתמש מעביר את הצללית של הפריט הגרור מעל הפריסה של האפליקציה, המערכת שולחת אירועי גרירה אל המאזינים לאירועי גרירה ושיטות הקריאה החוזרת שמשויכים לאובייקטים View
בפריסה. אם המשתמש משחרר את הצללית של הגרירה מעל יעד השחרור, המערכת שולחת אליו את הנתונים. פעולת הגרירה והשחרור מסתיימת כשהמשתמש משחרר את הצללית של הפריט הגרור, בין אם הצללית נמצאת מעל אזור השחרור ובין אם לא.
נושאים
- מושגי מפתח
- הסבר על תהליך הגרירה וההזזה
- DropHelper לגרירה ולשחרור פשוטים יותר
- איך מטמיעים גרירה ושחרור באמצעות
DropHelper
- הטמעה של גרירה ושחרור בתצוגות מפורטות
- אפשרות נוספת היא להטמיע גרירה ושחרור באמצעות תצוגות של Android, כדי לאפשר למפתחים לשלוט יותר בפרטים.
- גרירה ושחרור במצב ריבוי חלונות
- תמיכה בגרירה ושחרור במצב ריבוי חלונות, שמאפשרת להעביר אובייקטים בין אפליקציות שונות.
מקורות מידע נוספים
- Codelab לגרירה ושחרור באמצעות תצוגות
- גרירה ושחרור לריבוי משימות חלק סרטון
- Drag and Drop Samples (דוגמאות לגרירה ושחרור) – מכיל מגוון דרכים להטמעה של גרירה ושחרור, וגם קבלת מדיה עשירה.