PracticU

Main Layout

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

Main Layout
מעל תגית ה-layout הראשית בקובץ ה-XML של אנדרואיד יש תגית parent שלא רואים במסמך, אבל אפשר להגיע אליה מהקוד. ההרצאה מראה איך, ולמה זה שימושי.
הניסוי
1. הכנת מסך הניסוי: משנים את ה-layout הראשי ל-Linear Layout עם Orientation אנכי ו-Background אדום, ונותנים לו מזהה linear layout main.
2. לחצן ראשון: מוסיפים לחצן Change Layout Background עם onClick. בקוד מגדירים משתנה מסוג LinearLayout, מאתרים אותו עם findViewById וקוראים ל-setBackgroundColor עם צבע קבוע.
3. מרווח חושף את ה-parent: מגדירים margin של 30dp. הלחצן צובע רק את ה-layout עצמו, והשוליים מסביבו נשארים בצבע אחר, כלומר יש עוד משהו שעוטף אותו.
4. גישה אל העוטף: מוסיפים לחצן שני, Change Layout Parent Background. הוא קורא ל-findViewById עם המזהה השמור android.R.id.content. אלה מזהים קבועים של אנדרואיד, לא כאלה שהמפתח ממציא.
5. איזה טיפוס חוזר: כדי לברר זאת הציג המרצה זמנית על הלחצן את view.getClass().toString(), והתברר שהטיפוס הוא ContentFrameLayout.
6. שימוש בטיפוס הנכון: מגדירים משתנה מסוג ContentFrameLayout וצובעים אותו בכחול. הלחצן הראשון צובע רק את ה-layout, והשני צובע את העוטף, כולל אזור השוליים.
מתי זה שימושי
- כשיש מרווחים ורוצים להציג משהו ברקע, למשל צבע או תמונה, אפשר להגיע לתגית שעוטפת את ה-layout.
- כשרוצים לצבוע הכול, כולל ה-layout, בלי לתת ל-layout מזהה משלו, אפשר להשתמש ב-android.R.id.content.
אחרי ההרצאה אפשר להגיע מהקוד ל-parent של ה-layout הראשי ולשלוט במראה שלו.
השיעור הבא בקורס: View Group

פרקי ההרצאה: Main Layout

  1. 00:00

    תגית ה-parent של ה-Layout

  2. 00:41

    הגדרת Linear Layout עם רקע אדום

  3. 01:26

    לחצן לשינוי צבע הרקע דינמית

  4. 02:07

    קוד לשינוי צבע ה-Layout

  5. 03:15

    הרצה וניסוי עם margin

  6. 04:35

    מה עוטף את ה-Layout

  7. 06:18

    שימוש ב-android.R.id.content

תמלול ההרצאה: Main Layout

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

  1. 00:03

    כאשר אנחנו עובדים עם Layout אנחנו פשוט שמים כתגית ראשונה בקובץ ה-XML את תגית ה-Layout הדרושה. בתוכה אנחנו יכולים להגדיר רכיבים וגם תגיות Layout שונות.

  2. 00:19

    אבל לתגית הזאת של ה-Layout הראשונה גם לה יש תגית Parent מסוימת שעוטפת אותה שכדאי לנו להכיר וכדאי לנו לדעת לפעמים איך משתמשים איתה.

  3. 00:34

    אז בואו נעשה איזשהו ניסוי קטן. בואו קודם כל נשנה את זה ל-Linear Layout, רק בכדי שיהיה קצת יותר קל לעבוד. ניפטר מכל מה שלא צריך כאן, ונגדיר Orientation Vertical, נגדיר Background אדום, בואו כבר נציג פה את ה-Preview ונראה שיש לנו Background אדום, ונגדיר איזשהו ID, נקרא ל-ID הזה LinearLayoutMain כי זאת בעצם

  4. 01:19

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

  5. 02:10

    הרקע של הלייאאוט אז בואו נגדיר כאן פרייבט ליניאר לייאאוט זה הלייאאוט שהגדרנו ה-id היה ליניאר לייאאוט מיין בואו נאתר אותו ליניאר לייאאוט מיין נכניס לתוכו find view by id ויש לנו פה את ה-id שנתנו כעת אנחנו רוצים בלחצן פשוט לשנות את הצבע של ה-layout זה יהיה linear layout main set

  6. 02:50

    background color ויש לנו את המחלקה color ואנחנו יכולים פשוט לבחור איזשהו צבע קבוע כזה וזה ישנה את הצבע אז איזשהו ניסוי קטן בואו נראה מה קורה כאשר אנחנו מריצים את התוכן נריץ את זה באמולטור יש לנו פה בצד את הקוד יש לנו פה את האמולטור והנה התוכנית רצה אנחנו לוחצים על הלחצן ושינינו את הצבע אבל בואו נראה משהו מעניין אם אנחנו עכשיו חוזרים בחזרה ללייאוט

  7. 03:31

    ומגדירים כאן עוד תכונה אחת מרג'ין של בוא נניח 30 dp בואו נסתכל רגע על ה-review ונראה שיש פה שוליים כאלה בין ה-Layout לבין כביכול שאר הדברים שמסביבו.

  8. 03:51

    אין מסביב ה-Layout שום דבר ולכן יש לנו פה מרווח עד תחילת המסך. האדום הזה זה ה-Layout ואנחנו רואים את השוליים פה של 30DP. בואו נריץ ונראה מה קורה עכשיו אם אנחנו מבצעים את הצביעה של ה-Layout.

  9. 04:08

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

  10. 04:31

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

  11. 04:44

    אז מה זה הדבר הזה שמקיף את הלייאוט? מה שמקיף את הלייאוט זה התגית שעוטפת את הלייאוט, תגית ה-parent שבתוכה תגית הלייאוט נמצאת, ואנחנו לא רואים את התגית הזאת במסמך ה-XML של הלייאוט.

  12. 05:01

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

  13. 05:18

    בואו נקרא לזה Change Layouts Parent Background בואו נקרא ללחצן ל-on-click שלו Button Change Layouts Parent Background נלחץ Alt-Enter עוד Enter אחד אנחנו נמצאים בקוד ואיך עכשיו אנחנו מגיעים לתגית שעוטפת את ה-Layout שלנו אז מה שקורה ושיש לנו אפשרות לקרוא ל-Find View by ID ולתת

  14. 05:56

    ID's ספציפיים שהם שמורים באנדרואיד. אחד מה-ID's האלה זה android.r.id ויש לנו פה הרבה ID's שמורים של אנדרואיד שעם חלקם נעבוד בהמשך ואנחנו רוצים לעבוד עכשיו עם אחד מהם וה-ID הזה נקרא Content.

  15. 06:23

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

  16. 06:36

    כל האיידיז האלה נמצאים תחת הפקודה android.r.id והנה יש לנו פה את הקונטנט. הקונטנט מביא לנו בעצם את האיידי שעוטפת את המיין לייאוט שלנו.

  17. 06:51

    אם אנחנו מסתכלים אנחנו רואים שזה זה בעצם איזה שהוא view

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

ההרצאה הקודמת: Absolute Layout

ההרצאה הבאה: View Group

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

  • The main Arguments
  • פרמטרים לפונקציה Main
  • יצירת Layout
  • יצירת קומפוננטה של Layout ב-React

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

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