PracticU

Shape Drawable

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

Shape Drawable
בתיקיית ה-drawable שבתוך res אפשר להגדיר משאבים גרפיים בקובצי XML. ההרצאה מראה את הסוג הראשון, shape, שמגדיר צורה, צבע וגבול לרכיב ויזואלי, ובסוף גם אפקט לחיצה ושימוש בצורה מהקוד.
השלבים העיקריים
1. יוצרים קובץ: מקש ימני על drawable, New, Drawable resource file. שמות קבצים בתיקיות res מורכבים רק מאותיות קטנות, קו תחתון וספרות. אות גדולה או סימן כמו פלוס גורמים לבעיות באנדרואיד.
2. לחצן עגול: בקובץ shape_circular_button מחליפים את תגית selector בתגית shape, וקובעים צורה oval. הצבע נקבע ב-solid, והקו העוטף ב-stroke עם צבע ועובי (בדוגמה לבן ו-2dp). התוצאה צורה עגולה אדומה עם גבול לבן.
3. שימוש בצורה: בלחצן, בגודל 200dp על 70dp, מציבים ב-background את שם הקובץ בלי הסיומת.
4. לחצן מלבני עם גרדיאנט: בקובץ shape_rectangular_button מגדירים צורה rectangle ו-gradient עם startColor, endColor וזווית. הזווית חייבת להיות כפולה של 45. בדוגמה זווית של 45 ממצב אפור-שחור לכחול. מוסיפים stroke לבן ו-corners עם radius של 20dp לפינות עגולות.
5. אפקט Ripple: כשמחליפים את ברירת המחדל של הלחצן בצורה משלנו, המשתמש כבר לא רואה שהייתה לחיצה. לחצן רגיל מציג גל שמתפשט מנקודת הלחיצה. כדי להשיג זאת בצורה משלנו יוצרים קובץ עם תגית ripple שחובה לתת לה color (בדוגמה אדום), ובתוכה item שמכיל את תגית ה-shape שהוגדרה קודם. אחר כך מציבים אותו כ-background.
6. להציב צורה מהקוד: נותנים ללחצן מזהה (ID), ובאירוע הלחיצה קוראים ל-setBackgroundResource עם R.drawable.<שם הקובץ>. כך אפשר להחליט בזמן ריצה איזו צורה תוצג.
הערות
- בתצוגה המקדימה של Android Studio רואים איך הצורה תיראה.
- בהגדרת הצבע נוח להשתמש בצבע ישירות ב-color, ובהרצאות הבאות רואים עוד סוגי משאבים בתיקיית drawable.
אחרי ההרצאה אפשר ליצור לחצנים עגולים או מלבניים עם גרדיאנט, גבול ופינות עגולות, להוסיף להם אפקט Ripple, ולהחליף את הצורה מהקוד.
השיעור הבא בקורס: State Drawable

פרקי ההרצאה: Shape Drawable

  1. 00:00

    תיקיית Drawable וצורות Shape

  2. 00:43

    יצירת קובץ Shape וכללי שמות

  3. 02:07

    צורה עגולה עם Solid ו-Stroke

  4. 03:23

    החלת הצורה כרקע של לחצן

  5. 04:31

    לחצן מלבני עם Gradient

  6. 06:37

    פינות מעוגלות עם Corners

  7. 07:57

    אפקט Ripple בלחיצה

תמלול ההרצאה: Shape Drawable

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

  1. 00:04

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

  2. 00:20

    ה-resource הראשון שאנחנו הולכים לראות שניתן לשים בתוך drawable זה פשוט מאוד shape. שייפ זה הגדרה של צורה שיש לה צבע ויכול להיות לה גבול מסוים ועוד כל מיני הגדרות שאנחנו יכולים להגדיר ולאחר מכן להשתמש איתה על גבי רכיב ויזואלי.

  3. 00:41

    אז איך עושים את זה? מכה שימני עד תגיעת ה-durable, new, durable resource file. בואו נתחיל קודם כל עם איזשהו קובץ שמאפשר להגדיר צורה עגולה עבור לחצן.

  4. 00:58

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

  5. 01:14

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

  6. 01:38

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

  7. 01:57

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

  8. 02:08

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

  9. 02:34

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

  10. 02:53

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

  11. 03:14

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

  12. 03:41

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

  13. 04:15

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

  14. 04:35

    בואו נבנה קובץ שייפ נוסף, אבל הפעם נראה משהו אחר. הפעם נבנה קובץ שנקרא Shape Rectangular Button. אנחנו רוצים לבנות איזושהי צורה עבור לחצן מלבני רגיל, אבל הפעם נגדיר את הדבר הבא:

  15. 05:01

    יש לנו פה Shape, ניגש ונגדיר שאנחנו רוצים Rectangle, והצבע שאנחנו רוצים הוא Gradient, וזה משהו ממש ממש מגניב שאנחנו יכולים להגדיר.

  16. 05:19

    Gradient זה בעצם דירוג של צבעים. אנחנו יכולים להגדיר מה יהיה ה-start color בואו נגדיר סתם איזה שהוא צבע מסוים סוג של אפור כהה כזה ואנחנו יכולים להגדיר מה יהיה ה-end color בואו כרגע נגדיר שחור וניכנס ונבחר סוג של כחול ואנחנו יכולים להגדיר גם זווית לומר איך בדיוק הדירוג הולך כאשר הקפיצות צריכות להיות ב-45 מעלות אנחנו לא יכולים להגדיר זווית של לדוגמה 50.

  17. 06:02

    זה 45 זה 90 וכדומה והנה יש לנו כאן דירוג אנחנו רואים כאן סוג של שחור כזה שהולך בזווית של 45 מעלות עד סוג של כחול בואו נגדיר גם את הסטרוק שראינו שזה הקו העוטף נגדיר אותו כלבן רוחב שני dp ובואו ניתן עוד הגדרה מעניינת והיא קורנרס קורנרס מאפשר להגדיר הפינות של המלבן זה מתבצע על ידי רדיוס בוא נגדיר שזה 20 dp והנה

  18. 07:01

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

  19. 07:41

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

  20. 08:19

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

  21. 08:46

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

  22. 08:59

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

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

ההרצאה הקודמת: Color Resource

ההרצאה הבאה: State Drawable

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

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