PracticU

Animation Events

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › Animation Events
מילון מושגים:
אירוע - התרחשות שהמערכת מזהה ויכולה להגיב לה, כמו לחיצת עכבר, הקשה או סיום פעולה.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
תמונה - קובץ גרפי המוצג על המסך. בהקשר של וירטואליזציה או Docker, תבנית מוכנה שממנה יוצרים מכונה או קונטיינר.
XML - שפת סימון לייצוג נתונים מובְנים בעזרת תגיות, המשמשת להחלפת מידע בין מערכות ולקובצי הגדרות.
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
כפתור - רכיב בממשק המשתמש שהמשתמש לוחץ עליו כדי להפעיל פעולה, כמו שליחת טופס או מעבר לדף אחר.

Animation Events
אפשר להאזין לאירועים של אנימציה, גם באובייקט Animation וגם ב-ObjectAnimator, ולדעת מתי היא מתחילה, חוזרת, מסתיימת או מבוטלת.
השלבים העיקריים
1. הדוגמה: שני כפתורים שמפעילים סיבוב של תמונה, אחד עם RotateAnimation ואחד עם ObjectAnimator. שניהם נטענים מקבצי XML, בתיקיות anim ו-animator: סיבוב מ-0 ל-360 לאורך שנייה, עם שתי חזרות, כלומר שלושה סיבובים בסך הכול. ב-TextView מתועדים האירועים. אפשר גם לבנות את האובייקטים בקוד.
2. האזנה ל-Animation: קוראים ל-setAnimationListener עם AnimationListener. יש שלוש פונקציות: onAnimationStart, onAnimationEnd ו-onAnimationRepeat. ב-start משתמשים ב-setText כדי לנקות מה שהיה, ובשאר ב-append, כדי לראות את הסדר.
3. תוצאה: Start, Repeat, Repeat, End. שתי חזרות נותנות שני אירועי repeat.
4. האזנה ל-ObjectAnimator: קוראים ל-addListener עם AnimatorListener. יש בו ארבע פונקציות: start, end, repeat ובנוסף cancel.
5. ביטול: מוסיפים כפתורי Cancel Animation ו-Cancel Animator. כדי להגיע לאובייקטים מכפתור אחר מעבירים אותם לשדות גלובליים, וקוראים ל-cancel() על כל אחד.
6. בדיקה: ביטול באמצע גורם ל-end ב-Animation. ב-ObjectAnimator מתקבל Cancel ואחריו End, ואם מבטלים מיד, Start, Cancel, End.
שימו לב
אירוע cancel קיים רק ב-ObjectAnimator. ב-Animation ביטול מדווח כ-end.
אפשר לבטל אנימציה באמצע ולקבל דיווחים תוך כדי הריצה, בשני הסוגים.

פרקי ההרצאה: Animation Events

  1. 00:00

    האזנה לאירועי אנימציה

  2. 00:40

    קבצי ה-XML של הדוגמה

  3. 01:41

    הפעלת Animation ו-Animator בלחצנים

  4. 02:54

    רישום AnimationListener

  5. 03:32

    הצגת Start, Repeat ו-End

תמלול ההרצאה: Animation Events

הטקסט המלא של הדקות הראשונות בהרצאה «Animation Events» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    אשר אנחנו עובדים עם אנימציה, אנחנו יכולים להזין לסדרה של אירועים של אובייקטי האנימציה. את זה אנחנו יכולים לעשות גם אם אנחנו עובדים עם אובייקט אנימשן וגם אם אנחנו עובדים עם אובייקט אנימטור.

  2. 00:17

    אז בואו נראה בדוגמה הזאת איך אנחנו יכולים להזין לאירועים בתהליך האנימציה. יש לנו כאן איבא שהיא דוגמה שבה יש לנו לחצן שבו אנחנו רוצים להפעיל אנימשן ולחצן אחר שבו אנחנו רוצים להפיל את אובייקט האנימטור אנחנו רוצים להפיל את זה על האובייקט תמונה ולגרום לה להסתובב מבחינת Rotate יש לנו כאן את התמונה וכאן למטה יש לנו איזשהו TextView

  3. 00:45

    בכדי לרשום את האירועים כאשר הם מתרחשים עכשיו האנימציות כבר מוכנות בתרגיל הזה והן בנויות על ידי קלוצי XML יש לנו כאן את תקיית האנים שראינו ותקיית האנימטור שראינו בתקיית האנים אנחנו רואים Rotate וגם בתקיית האנימטור אנחנו רואים Rotate הרוטייט של האנים יש לנו כאן 0 עד 360, 50% relative to self

  4. 01:15

    במשך שנייה אבל עם שתי חזרות זאת אומרת שכשאנחנו נופיל את האנימציה הזאת אנחנו הולכים לראות שלושה סיבובים המקורי ועוד שתי חזרות גם אובייקט הרוטייט של האנימטור יש לו את אותו הדבר מתלבשים על property rotation מ0 עד 360 במשך שנייה עם שתי חזרות אוקיי אז מה קורה בבחינת המיין?

  5. 01:45

    מבחינת המיין אקטיביטי יש לנו כאן את אובייקט התמונה יש לנו את אובייקט הטקסט דוו בכדי לרשום את האירועים איתרנו אותם, ואז בלחצנים אנחנו פשוט מפעילים את האנימציה בשתי הדרכים השונות Rotate Animation, יוצרים אובייקט וטוענים את הקובץ XML ואגב אנחנו לא חייבים לטעון את הקובץ XML, יכננו גם לבנות אובייקט בקוד

  6. 02:09

    וגם האובג'קט אנימטור, אותו הדבר, יכננו לבנות אובייקט בקוד אבל בדוגמה הזאת השתמשנו עם קובץ XML כאן אנחנו טוענים את הקבצים, אפשר לראות את זה כאן שיש פה Rotate שנמצא באנים וRotate שנמצא באנימטור ואז אנחנו כאן פשוט מפעילים את האנימציה לתמונה וגם כאן מגדירים Target ומפעילים את האנימציה

  7. 02:31

    אם אנחנו מריצים את זה אז אנחנו יכולים לראות שכשאנחנו לוחצים על Start Animation יש לנו סיבוב 2, 3, Start Animator, סיבוב 2, 3 ובינתיים הכל עובד כמו שצריך אנחנו רוצים עכשיו להאזין לאירועים.

  8. 02:52

    אז איך מבצעים את זה? מה שאנחנו צריכים לעשות זה פשוט להגיע לאובייקט של האנימיישן, לא משנה איזה, ולהירשם לאירועים. אז בואו ניגש לRotateAnimation.

  9. 03:07

    ואנחנו רוצים להירשם לסטAnimationListener. נגדיר כאן אובייקט מסוג new, ויש לנו AnimationListener בצורה כזאת ועכשיו אנחנו רואים שיש לנו פה שלוש פונקציות שמתרחשות כתגובה לאירועים השונים בואו נראה אלו האירועים אלה יש לנו ב-OnAnimationStart אנחנו רואים שהפונקציה הזאת יתבצע OnAnimationEnd ו-OnAnimationRepeat מה שאנחנו רוצים לעשות זה פשוט

  10. 03:44

    להציג את השם של האיבנט בתוך הטקסט ויו הוא נקרא טקסט ויו איבנט ויש לנו סט טקסט כאשר האנימיישן מתחילה להתבצע בואו נרשום סטארט עם ירידת שורה כאשר האנימיישן מסתיימת וגם כאשר האנימיישן מקבלת ריפית בואו בעצם את הריפית נשים רק מבחינת הסדר הטוב לפני אז אנחנו לא רוצים לבצע set text אלא append ככה שנראה את כל האירועים לפי הסדר

  11. 04:21

    אז כאן אנחנו רוצים לרשום repeat ובסוף אנחנו רוצים גם כן לרשום end כאשר רק בהתחלה אנחנו רוצים לרשום start בשביל שהוא ימחוק את כל מה שהיה לפני זה בואו נריץ, נלחץ על Start Animation ואנחנו רואים Start, Repeat ו-Repeat ו-End למה Repeat ו-Repeat?

  12. 04:51

    כי היינו פעמיים repeat עוד פעם Start, Repeat ראשון, Repeat שני, End אנחנו יכולים לקבל אירועים במהלך פעילות האנימציה

לקורס המלא: קורס פיתוח אפליקציות לאנדרואיד

ההרצאה הקודמת: XML Animators

ההרצאה הבאה: הצורך ב-Async Task

הרצאות קשורות מקורסים אחרים

  • Device Events
  • אירועים - Events - חלק 1
  • אירועים EVENTS ב-NodeJS
  • אירועים בריאקט - Events

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון