
LinearLayout, אם משלבים LinearLayout אנכי ו-LinearLayout אופקי בתוכו. כך בונים אותו.RelativeLayout ב-LinearLayout, מגדירים padding של 16dp ו-orientation בערך vertical, כי כל הרכיבים אחד מתחת לשני.TextView עם wrap_content וטקסט login, textSize של 30sp, מודגש, layout_gravity בערך center_horizontal ו-margin של 20dp. אין צורך ב-ID, כי לא מתייחסים אליו ואנחנו לא ב-RelativeLayout.TextView עם הטקסט username ו-25sp, ומתחתיו EditText עם match_parent ברוחב ו-wrap_content בגובה, 25sp, מרווח של 10dp ורקע אפור.password במקום username.LinearLayout נוסף בתוך הראשון, ובתוכו שני לחצנים עם wrap_content ו-25sp. זה חוקי לגמרי להכניס Layout בתוך Layout.LinearLayout היא אופקית, ולכן אין צורך ב-orientation על ה-Layout הפנימי.match_parent, מוסיפים לו gravity ימינה. אם משנים אותו ל-wrap_content, gravity כבר לא עוזר כי התוכן נמצא בימין. במקרה כזה משתמשים ב-layout_gravity בערך right, שמזיז את ה-Layout עצמו.LinearLayout הפנימי ב-match_parent תופס את כל הרוחב, גם אם הוא שקוף, ויכול להסתיר משהו. אפשר לצמצם אותו ל-wrap_content.LinearLayout: אנכי לסידור אחד מתחת לשני, ואופקי לסידור אחד ליד השני.הטקסט המלא של הדקות הראשונות בהרצאה «Linear Layout» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו מגיעים לעבודה עם ליניאר לייארט. קודם כל, לאן אנחנו בדיוק רוצים להגיע? אז יש לנו פה מעין סכמה כזאת שבה אנחנו רואים דף לוג-אין פשוט, יש לנו פה טקסט-ויו שכתוב עליו לוג-אין, הוא נמצא באמצע, יש לנו יוזרניים טקסט-ויו יוזרניים מתחת אדיק טקסט,
מתחת פסוורד, מתחת עוד אדיק טקסט ושני לחצנים פה אחד ליד השני, ואנחנו רוצים לבנות את כל אלה רק על ידי ליניאר לייאאוט.
אז בואו נראה איך אנחנו יכולים לעשות את זה. ניגש ל-XML, במקום RelativeLayout נשנה ל-LinearLayout, ניפטר מכל מה שלא צריך, נגדיר שיש לנו פה פשוט אותו האדינג, המרווח בין הגבולות של המסך לבין הרכיבים עצמם זה 16DP, זה הסטנדרט, נגדיר שהליניאר לאאוט שלנו האוריינטיישן הוא ורטיקל כי אנחנו רוצים את כולם אחד מתחת
לשני חוץ משני הלחצנים שהם אחד ליד השני אבל תכף נראה איך אנחנו מתמודדים עם זה אז יש לנו קודם כל את הפרריוויו עצמו והדבר הראשון שאנחנו רוצים להגדיר זה טקסט ויו פשוט נגדיר אותו כראפ קונטנט שהוא יעטוף את עצמו אין צורך ב-ID כי אנחנו לא מתייחסים לרכיב הזה בקוד ואנחנו גם לא נמצאים ב-relative layout שמישהו אחר
צריך להתייחס יחסית אליו. אם אין לנו שימוש ב-ID אז אנחנו לא צריכים לתת ID לרכיב. הטקסט שאנחנו רוצים יהיה לוג-אין, כבר אנחנו רואים שזה פה בצד, בואו נגדיל אותו עם טקסט סייז 30 SP, נגדיר אותו כטקסט סטייל בולד שהוא יהיה קצת מודגש כזה ונגדיר אותו כלאוט גרוויטי סנטר הוריזונטל מה שזורק אותו מיידית לאמצע לאחר
מכן נגדיר אותו כמרג'ין 20 dp ואז יש מסביבו מרווח כזה והוא פשוט נמצא קצת מרוחק לכל היתר וגם לגבולות של המסך. הדבר הבא שאנחנו רוצים זה טקסט view נוסף, ניקח גם כן רק content שיעטוף לנו בדיוק את התוכן שלו.
הטקסט שאנחנו רוצים יהיה username, בואו ניתן לו טקסט size של 25 dp, סליחה, sp, זה הדבר שאנחנו רוצים להגדיר לטקסט סייז, וגם מסביבו נעשה איזשהו ריווח על ידי מרג'ין, נותן לו הפעם 10 dp. מתחתיו אנחנו רוצים edit text אנחנו רוצים match parent ו-wrap content כך אנחנו בעצם נגיע למצב שה-edit text נמצא ממש תופס לנו את הכל.
דבר נוסף שאנחנו רוצים אנחנו רוצים margin של 10 dp אנחנו רוצים טקסט סייז זהה 25 SP כדי שהטקסטים ייראו אותו הדבר לכולם ולבסוף איזשהו background ניתן לו איזשהו background אפור כזה כעת אנחנו יכולים להשתמש במנגנון הקופי פייסט לקחת את שני החבריה האלה ctrl c ctrl v ולשנות מה שצריך במקום Username אנחנו מוצאים Password ולמעשה
היתר זה אותו הדבר. אחרת נשארו לנו שני הלחצנים. אם אנחנו פשוט לוקחים פה לחצן Button, נגדיר אותו כ-Rap Content בכדי שהוא יעטוף את התוכן שלו, נגדיר לו Text OK ונגדיר לו Text Size 25 SP. ואם אנחנו ניקח עוד לחצן כזה ופשוט סתם נזרוק אותם אחד אחרי השני אנחנו לא נקבל את אותו אפקט שראינו
בסכמה או באפיון הקודם בואו נקרא לזה אקזיט אנחנו רוצים שהם יהיו אחד ליד השני לצורך כך אנחנו צריכים להשתמש פה בעוד ליניאר