PracticU

זיהוי מגע בתוך רכיב

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

זיהוי מגע בתוך רכיב
איך מקבלים אירועי מגע רק כשהמשתמש נוגע ברכיב מסוים, למשל תמונה, ולא בכל המסך של ה-Activity.
השלבים העיקריים
1. הוספת הרכיב: מוסיפים ImageView עם wrap_content, id ו-source של תמונה (בהדגמה תמונת חתול קטן מתיקיית drawable), ומאתרים אותו בקוד עם findViewById.
2. הרשמה על הרכיב: קוראים ל-setOnTouchListener של התמונה ומעבירים אובייקט שמממש את הממשק OnTouchListener. בהדגמה זה ה-Activity עצמה, עם this, ובעזרת Alt+Enter ה-IDE מוסיף את המימוש.
3. העברת הקוד: לממשק יש אירוע אחד, onTouch, והוא זהה בתוכנו ל-onTouchEvent מהסרטון הקודם. גוזרים את הקוד הקודם ומדביקים אותו ב-onTouch, במקום לדרוס את onTouchEvent ברמת ה-Activity.
4. בדיקה: נגיעה ברקע לא מניבה כלום. נגיעה בתמונה מציגה Down, בגרירה Move ובעזיבה Up, גם באמולטור וגם במכשיר האמיתי.
כך אפשר לזהות תזוזה ברמה של רכיב ספציפי, בלי להגיב לנגיעות שמחוץ לו.
השיעור הבא בקורס: זיהוי מחווה - Swipe Gesture

פרקי ההרצאה: זיהוי מגע בתוך רכיב

  1. 00:00

    הוספת ImageView לזיהוי מגע

  2. 01:04

    רישום setOnTouchListener לתמונה

  3. 01:44

    העברת הקוד לאירוע onTouch

תמלול ההרצאה: זיהוי מגע בתוך רכיב

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

  1. 00:02

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

  2. 00:17

    לדוגמה תמונה, אם הוא לא נוגע בתוך התמונה אנחנו לא מעוניינים לזהות את האירועים האלה, רק אם הוא נוגע על התמונה עצמה אנחנו רוצים לזהות את אירועי הטאץ'.

  3. 00:28

    אז בואו ניקח אימג' ויו וניתן לה ראפ קונטנט, ניתן לה ID וניתן לה Source ויש לנו בדוראבל תמונה של חתול קטן Good.

  4. 00:46

    בואו ניקח את ה-Image View שלנו ונשים אותה כאן, Private Image View ונאתר את ה-Image View שלנו על ידי Find View ויש לנו עכשיו את התמונה.

  5. 01:09

    אז מה שאנחנו צריכים לעשות, אם אנחנו רוצים להירשם לאירועי טאץ' רק ברמת התמונה זה לגשת ל-Image View ולהירשם על ידי Set On-Touch Listener.

  6. 01:25

    לתת איזשהו אובייקט שמממש את האינטרפייס On-Touch Listener, בואו ניתן לו את ה-dis, נבצע Alt-Enter, Make Main Activity Implement On-Touch Listener, ויש לנו אירוע אחד ויחיד, הנה אנחנו רואים אותו כאן זה האינטרפייס זה האירוע ולמעשה האירוע הזה הוא זהה לדריסה

  7. 01:54

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

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

ההרצאה הקודמת: זיהוי מגע באנדרואיד

ההרצאה הבאה: זיהוי מחווה - Swipe Gesture

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

  • רכיב ה-TreeView
  • רכיב Lookup ב-SSIS
  • זיהוי חטיפת DLL
  • חיבור של רכיב לטופס עם React Hook

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

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