
Orientation אנכי ו-Background אדום, ונותנים לו מזהה linear layout main.onClick. בקוד מגדירים משתנה מסוג LinearLayout, מאתרים אותו עם findViewById וקוראים ל-setBackgroundColor עם צבע קבוע.margin של 30dp. הלחצן צובע רק את ה-layout עצמו, והשוליים מסביבו נשארים בצבע אחר, כלומר יש עוד משהו שעוטף אותו.findViewById עם המזהה השמור android.R.id.content. אלה מזהים קבועים של אנדרואיד, לא כאלה שהמפתח ממציא.view.getClass().toString(), והתברר שהטיפוס הוא ContentFrameLayout.ContentFrameLayout וצובעים אותו בכחול. הלחצן הראשון צובע רק את ה-layout, והשני צובע את העוטף, כולל אזור השוליים.android.R.id.content.הטקסט המלא של הדקות הראשונות בהרצאה «Main Layout» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
כאשר אנחנו עובדים עם Layout אנחנו פשוט שמים כתגית ראשונה בקובץ ה-XML את תגית ה-Layout הדרושה. בתוכה אנחנו יכולים להגדיר רכיבים וגם תגיות Layout שונות.
אבל לתגית הזאת של ה-Layout הראשונה גם לה יש תגית Parent מסוימת שעוטפת אותה שכדאי לנו להכיר וכדאי לנו לדעת לפעמים איך משתמשים איתה.
אז בואו נעשה איזשהו ניסוי קטן. בואו קודם כל נשנה את זה ל-Linear Layout, רק בכדי שיהיה קצת יותר קל לעבוד. ניפטר מכל מה שלא צריך כאן, ונגדיר Orientation Vertical, נגדיר Background אדום, בואו כבר נציג פה את ה-Preview ונראה שיש לנו Background אדום, ונגדיר איזשהו ID, נקרא ל-ID הזה LinearLayoutMain כי זאת בעצם
התגית מיין שלנו, התגית הראשית, ונגדיר איזשהו לחצן כאן בכדי לשנות דינמית את הצבע. בואו ניקח כאן טקסט ChangeLayoutBackground בואו ניקח כאן טקסט AllCapsFalse נגדיר OnClick דאט אנד צ'יינג' לייאאוט בק גראונד אנדרליין און קליק בצורה כזאת ואנחנו רוצים בלחיצה על הלחצן לשנות את צבע
הרקע של הלייאאוט אז בואו נגדיר כאן פרייבט ליניאר לייאאוט זה הלייאאוט שהגדרנו ה-id היה ליניאר לייאאוט מיין בואו נאתר אותו ליניאר לייאאוט מיין נכניס לתוכו find view by id ויש לנו פה את ה-id שנתנו כעת אנחנו רוצים בלחצן פשוט לשנות את הצבע של ה-layout זה יהיה linear layout main set
background color ויש לנו את המחלקה color ואנחנו יכולים פשוט לבחור איזשהו צבע קבוע כזה וזה ישנה את הצבע אז איזשהו ניסוי קטן בואו נראה מה קורה כאשר אנחנו מריצים את התוכן נריץ את זה באמולטור יש לנו פה בצד את הקוד יש לנו פה את האמולטור והנה התוכנית רצה אנחנו לוחצים על הלחצן ושינינו את הצבע אבל בואו נראה משהו מעניין אם אנחנו עכשיו חוזרים בחזרה ללייאוט
ומגדירים כאן עוד תכונה אחת מרג'ין של בוא נניח 30 dp בואו נסתכל רגע על ה-review ונראה שיש פה שוליים כאלה בין ה-Layout לבין כביכול שאר הדברים שמסביבו.
אין מסביב ה-Layout שום דבר ולכן יש לנו פה מרווח עד תחילת המסך. האדום הזה זה ה-Layout ואנחנו רואים את השוליים פה של 30DP. בואו נריץ ונראה מה קורה עכשיו אם אנחנו מבצעים את הצביעה של ה-Layout.
אז קודם כל ברגע שאנחנו מריצים את האפליקציה כבר אנחנו יכולים לראות את השוליים האלה נמצאים גם כאן. הנה אנחנו יכולים לראות את זה ובואו נלחץ על הלחצן ואנחנו רואים שבעצם אנחנו לא באמת משפיעים על מה שמסביב ללייאוט.
אנחנו משפיעים רק על הלייאוט עצמו. זאת אומרת שיש עוד משהו מסביב ללייאוט ואנחנו לדוגמה במקרה הזה ראינו אותו כאשר עשינו איזשהו מרווח מסוים.
אז מה זה הדבר הזה שמקיף את הלייאוט? מה שמקיף את הלייאוט זה התגית שעוטפת את הלייאוט, תגית ה-parent שבתוכה תגית הלייאוט נמצאת, ואנחנו לא רואים את התגית הזאת במסמך ה-XML של הלייאוט.
אבל אנחנו כן יכולים להגיע לתגית הזאת דרך הקוד בג'אווה. אז בואו ניקח עוד לחצן, והלחצן השני יצבע את התגית הזאת, ולא רק את הלייאוט.
בואו נקרא לזה Change Layouts Parent Background בואו נקרא ללחצן ל-on-click שלו Button Change Layouts Parent Background נלחץ Alt-Enter עוד Enter אחד אנחנו נמצאים בקוד ואיך עכשיו אנחנו מגיעים לתגית שעוטפת את ה-Layout שלנו אז מה שקורה ושיש לנו אפשרות לקרוא ל-Find View by ID ולתת
ID's ספציפיים שהם שמורים באנדרואיד. אחד מה-ID's האלה זה android.r.id ויש לנו פה הרבה ID's שמורים של אנדרואיד שעם חלקם נעבוד בהמשך ואנחנו רוצים לעבוד עכשיו עם אחד מהם וה-ID הזה נקרא Content.
זאת אומרת יש לאנדרואיד סדרה של איידיז ספציפיים שהם לשימוש גם שלנו וגם של אנדרואיד אבל הם קיימים במערכת זה לא איידיז שאנחנו ממציאים אותם.
כל האיידיז האלה נמצאים תחת הפקודה android.r.id והנה יש לנו פה את הקונטנט. הקונטנט מביא לנו בעצם את האיידי שעוטפת את המיין לייאוט שלנו.
אם אנחנו מסתכלים אנחנו רואים שזה זה בעצם איזה שהוא view