Lab Lab זה הוא חלק מקורס Android Kotlin Fundamentals. כדי להפיק את המקסימום מהקורס הזה, יש לפעול ברצף לפי קודי שיעור ה-Lab. כל שיעורי Lab של הקורסים מופיעים בדף הנחיתה של Lab Kotlin Fundamentals ל-Android Lab.
דברים שחשוב לדעת
- יצירת אפליקציה בסיסית ל-Android ב-Kotlin.
- הפעלת אפליקציה ל-Android באמולטור או במכשיר.
- העקרונות הבסיסיים של
LinearLayout
. - יצירת אפליקציה פשוטה שמשתמשת ב
LinearLayout
ובTextView
.
מה תלמדו
- איך לעבוד עם
View
ועםViewGroup
. - איך לארגן את הצפיות במסמך
Activity
באמצעותLinearLayout.
- איך להשתמש ב-
ScrollView
להצגת תוכן שניתן לגלילה. - איך משנים את הרשאות הגישה של
View
. - איך ליצור משאבי מחרוזת ומאפיינים ולהשתמש בהם
- איך יוצרים פריסה לינארית באמצעות Android Studio Editor?
הפעולות שתבצעו:
- יוצרים את האפליקציה 'מידע כללי עליי'.
- יש להוסיף
TextView
לפריסה כדי להציג את שמך. - הוספת
ImageView.
- יש להוסיף
ScrollView
כדי להציג טקסט שניתן לגלילה.
באפליקציה 'מידע כללי עליי' אפשר להציג עובדות מעניינות על עצמך או להתאים אישית את האפליקציה לחברים, לבני משפחה או לחיות מחמד. האפליקציה הזו מציגה שם, לחצן סיום, תמונת כוכב וחלק מהטקסט שניתן לגלול.
במשימה הזו תיצרו את הפרויקט aboutMe Android Studio.
- פותחים את Android Studio, אם הוא עדיין לא פתוח.
- אם פרויקט מסוים כבר פתוח ב-Android Studio, בוחרים באפשרות קובץ > חדש > פרויקט חדש.
- אם הפרויקט עדיין לא פתוח, בוחרים באפשרות + התחלת פרויקט חדש ב-Android Studio בתיבת הדו-שיח Welcome to Android Studio.
- בתיבת הדו-שיח Create New Project, בכרטיסייה Phone and Table, בוחרים בתבנית פעילות ריקה. לוחצים על הבא.
- בתיבת הדו-שיח Create New Project, מגדירים את הפרמטרים הבאים ולוחצים על Finish (סיום).
מאפיין | ערך |
שם אפליקציה | מידע כללי |
שם החברה ב-Android |
|
שמירת מיקום | משאירים את מיקום ברירת המחדל או משנים אותו לספרייה המועדפת עליכם. |
שפה | Kotlin |
רמת API מינימלית | API 19: Android 4.4 (KitKat) |
הפרויקט הזה יתמוך באפליקציות ללא התקנה | משאירים את תיבת הסימון הזו ריקה. |
שימוש בחפצים מ-AndroidX | סימון התיבה הזו. |
מערכת Android Studio תקדיש רגע כדי ליצור את קובצי הפרויקט.
- מפעילים את האפליקציה. המחרוזת "שלום לעולם" מופיעה במסך הריק.
התבנית 'פעילות ריקה' יוצרת פעילות ריקה אחת, Mainactivity.kt
. התבנית יוצרת גם קובץ פריסה בשם activity_main.xml
. הקובץ של קובץ הפריסה הוא ConstraintLayout
, כשורשו ViewGroup
, ובתוכן שלו יש TextView
יחיד.
במשימה הזו, משנים את השורש שנוצר ViewGroup
ל-LinearLayout
. אתם גם מארגנים את רכיבי הממשק לאורך.
הצגת קבוצות
ViewGroup
היא תצוגה שיכולה לכלול תצוגות של ילדים, שהן צפיות אחרות וקבוצות של צפיות. תצוגות מפורטות של פריסה מורכבת מהיררכיה של צפיות, כאשר קבוצת צפיות היא הבסיס.
בקבוצת תצוגות LinearLayout
, רכיבי ממשק המשתמש מסודרים לרוחב או לאורך.
אפשר לשנות את הפריסה הבסיסית כך שהיא תשתמש בקבוצת תצוגות של LinearLayout
:
- בחר בחלונית Project > Android. בתיקייה
app/res/layout
, פותחים את הקובץactivity_main.xml
. - בוחרים בכרטיסייה טקסט ומשנים את קבוצת הבסיס של התצוגה המפורטת מ-
ConstraintLayout
ל-LinearLayout
. - יש להסיר את
TextView
. ברכיבLinearLayout
, מוסיפים את המאפייןandroid:orientation
ומגדירים אותו ל-vertical
.
לפני:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
אחרי:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
</LinearLayout>
עורך הפריסה הוא כלי לעיצוב חזותי ב-Android Studio. במקום לכתוב קוד XML באופן ידני כדי לבנות את הפריסה של האפליקציה, תוכלו להשתמש בעורך הפריסה כדי לגרור רכיבי ממשק משתמש לעורך העיצוב.
כדי לראות את עורך הפריסה, לוחצים על הכרטיסייה עיצוב. צילום המסך הבא מציג את החלקים של עורך הפריסה.
עורך עיצוב: מציג ייצוג חזותי של פריסת המסך בתצוגת עיצוב, בתצוגת תבנית או בשניהם. עורך העיצוב הוא החלק העיקרי של עורך הפריסה.
סרגל הכלים: מספק לחצנים להגדרת הפריסה של כלי העיצוב ושינוי של מאפייני פריסה מסוימים. לדוגמה, כדי לשנות את התצוגה של הפריסה בעורך העיצוב, השתמשו בתפריט הנפתח בחירת משטח לעיצוב :
- השתמשו בעיצוב כדי לראות תצוגה מקדימה של הפריסה בפועל.
- השתמשו בכחולה כדי לראות רק קווי מתאר של כל תצוגה מפורטת.
- משתמשים בעיצוב + תבנית כדי לראות את שני המסכים זה לצד זה.
לוח צבעים: מספק רשימה של תצוגות ותצוגות של קבוצות שניתן לגרור אל הפריסה או בחלונית עץ הרכיבים.
מאפיינים: מציג מאפיינים עבור התצוגה המפורטת או קבוצת התצוגה שנבחרו. כדי לעבור בין רשימה מלאה של מאפיינים לבין מאפיינים נפוצים, ניתן להשתמש בסמל בחלק העליון של החלונית.
עץ רכיבים: הצגת היררכיית הפריסה כעץ צפיות. עץ הרכיב שימושי כאשר יש לכם תצוגות קטנות, מוסתרות או חופפות שלא תוכלו לבחור בכלי העריכה.
שלב 1: הוספת תצוגת טקסט
- פותחים את הקובץ
res/layout/activity_main.xml
אם הוא עדיין לא פתוח. - עוברים לכרטיסייה טקסט ובודקים את הקוד. הקוד כולל
LinearLayout
בתור קבוצת הבסיס של התצוגה המפורטת. (קבוצות צפיות הן תצוגות שכוללות תצוגות מפורטות אחרות.)LinearLayout
מכיל את המאפיינים הנדרשיםlayout_height
,layout_width
ו-orientation
, שהםvertical
כברירת מחדל. - יש לעבור לכרטיסייה עיצוב כדי לפתוח את עורך הפריסה.
- גוררים תצוגת טקסט מהחלונית לוח צבעים לעורך העיצוב.
- שימו לב לחלונית עץ הרכיבים. תצוגת הטקסט החדשה ממוקמת כרכיב צאצא של קבוצת תצוגות ההורה, שהיא
LinearLayout
. - פותחים את החלונית Attributes, אם היא עדיין לא פתוחה. (כדי לפתוח את החלונית, לוחצים לחיצה כפולה על
TextView
החדש שנוסף בעורך העיצוב). - מגדירים את המאפיינים הבאים בחלונית מאפיינים:
מאפיין | ערך |
אינדונזיה |
|
text | יש להגדיר אותו לשם שלך. (אחד מהשדות טקסט מציג סמל מפתח ברגים כדי לציין שהוא עבור מרחב השמות |
&looks >textSize |
|
&לרסי טקסט; textcolor |
|
&למראה, יישור טקסט | מרכז |
שלב 2: יוצרים משאב מחרוזת
בעץ הרכיבים, לצד TextView,
יופיע סמל אזהרה . כדי לראות את טקסט האזהרה, לוחצים על הסמל או מצביעים עליו, כפי שמוצג בצילום המסך שבהמשך.
כדי לטפל באזהרה, יש ליצור משאב מחרוזת:
- בחלונית מאפיינים, לוחצים על תפריט שלוש הנקודות לצד מאפיין הטקסט שמגדירים את השם שלכם. עורך המשאבים נפתח.
- בתיבת הדו-שיח Resources, בוחרים באפשרות Add newResource > New מחרוזת Value.
- בתיבת הדו-שיח חדש משאב של ערך מחרוזת, מגדירים את השדה שם המשאב כ-
name
. מזינים שם בשדה ערך המשאב. לוחצים על אישור. חשוב לשים לב שהאזהרה נעלמה. - פותחים את הקובץ
res/values/strings.xml
ומחפשים את משאב המחרוזת החדש שנקראname
.
<string name="name">Aleks Haecky</string>
שלב 3: יצירה של משאב מאפיין
הוספתם משאב באמצעות עורך המשאבים. אפשר גם לחלץ משאבים בעורך קוד ה-XML כדי ליצור משאבים חדשים:
- בקובץ
activity_main.xml
, עוברים לכרטיסייה טקסט. - בשורה
textSize
, לוחצים על המספר (20sp
) ומקלידיםAlt+Enter
(Option+Enter
ב-Mac). בוחרים באפשרות חילוץ משאב מאפיין מהתפריט הקופץ. - בתיבת הדו-שיח חילוץ משאב, מזינים
text_size
בשדה שם המשאב. לוחצים על אישור. - צריך לפתוח את הקובץ
res/values/dimens.xml
כדי לראות את הקוד הבא שנוצר:
<dimen name="text_size">20sp</dimen>
- פותחים את הקובץ
MainActivity.kt
ומחפשים את הקוד הבא בסוף הפונקציהonCreate()
:
setContentView(R.layout.activity_main)
הפונקציה setContentView()
מחברת את קובץ הפריסה למכשיר Activity
. קובץ משאב הפריסה שצוין הוא R.layout.activity_main
:
R
הוא הפניה למשאב. זוהי כיתה שנוצרת באופן אוטומטי עם הגדרות של כל המשאבים באפליקציה שלך.layout.activity_main
מציין שהמשאב הוא פריסה בשםactivity_main
.
- צריך להפעיל את האפליקציה. מוצג
TextView
עם השם שלך.
כשמביטים במסך האפליקציה, השם נדחף כלפי מעלה לחלק העליון של המסך, כך שמוסיפים מרווח פנימי ושוליים.
מרווח פנימי לעומת שוליים
ריפוד הוא השטח בתוך הגבולות של תצוגה מפורטת או רכיב. זהו השטח בין קצות התצוגה לבין תוכן התצוגה, כפי שמוצג באיור למטה.
גודל התצוגה כולל מרווח פנימי. המאפיינים הבאים הם מאפייני מרווח פנימי נפוצים:
android:padding
מציין מרווח פנימי לכל ארבע הקצוות של התצוגה.android:paddingTop
מציין מרווח פנימי לקצה העליון.android:paddingBottom
מציין מרווח פנימי לקצה התחתון.android:paddingStart
מציין מרווח פנימי לקצה &התצוגה המפורטת;" של התצוגה.android:paddingEnd
מציין מרווח פנימי לקצה &התצוגה המפורטת;" של התצוגה.android:paddingLeft
מציין מרווח פנימי לקצה השמאלי.android:paddingRight
מציין מרווח פנימי לקצה השמאלי.
שוליים הוא המרחב שנוסף מחוץ לגבולות התצוגה. זהו השטח שבין התצוגה לבין ההורה שלו, כפי שמוצג באיור שלמעלה. המאפיינים הבאים הם מאפייני שוליים נפוצים:
- הפרמטר
android:layout_margin
מציין שוליים לכל ארבעת צידי התצוגה. - הסמל
android:layout_marginBottom
מציין את החלל שמחוץ לחלק התחתון של התצוגה המפורטת. android:layout_marginStart
מציין רווח מחוץ &לתצוגה.- הפקודה
android:layout_marginEnd
מציינת רווח בצד של התצוגה המפורטת הזו. - הסמל
android:layout_marginLeft
מציין את הרווח בצד ימין של התצוגה המפורטת. - הפקודה
android:layout_marginRight
מציינת רווח בצד שמאל של התצוגה המפורטת הזו.
שלב 1: הוספת מרווח פנימי
כדי להוסיף רווח בין השם שלך לבין הקצה העליון של תצוגת הטקסט name
, צריך להוסיף מרווח פנימי.
- פותחים את הקובץ
activity_main.xml
בכרטיסייה עיצוב. - בעץ הרכיבים או בעורך העיצוב, לוחצים על תצוגת הטקסט כדי לפתוח את החלונית מאפיינים.
- בחלק העליון של החלונית מאפיינים, לוחצים על סמל החץ הכפול כדי לראות את כל המאפיינים הזמינים.
- מחפשים את האפשרות מרווח פנימי, מרחיבים אותה ולוחצים על סמל שלוש הנקודות ... לצד המאפיין top. תיבת הדו-שיח משאבים תופיע.
- בתיבת הדו-שיח Resources, בוחרים באפשרות Add newResource > New Dide Value (הוספת משאב חדש & עמעום חדש).
- בתיבת הדו-שיח חדש משאב של ערך מאפיין, יוצרים משאב חדש בשם
dimen
שנקראsmall_padding
עם ערך של8dp
.
הקיצור של dp פירושו לא תלוי בדחיסות. אם רוצים שרכיב של ממשק המשתמש ייראה באותו גודל במסכים עם דחיסות שונים, אפשר להשתמש ב-dp כמו ביחידת המדידה. עם זאת, כשמציינים את גודל הטקסט, יש להשתמש תמיד ב-sp (פיקסלים שניתן להתאים). - לוחצים על אישור.
שלב 2: הוספת שוליים
כדי להזיז את תצוגת הטקסט name
מהקצה של רכיב ההורה, מוסיפים שוליים מובילים.
- בחלונית מאפיינים, מחפשים את המירכאות Layout_Margin .
- מרחיבים את האפשרות Layout_Margin ולוחצים על סמל שלוש הנקודות ... לצד המאפיין top.
- אפשר ליצור משאב חדש בשם
dimen
בשםlayout_margin
ולהפוך אותו ל-16dp
. לוחצים על אישור.
שלב 3: הוספת גופן
כדי לשפר את תצוגת הטקסט name
, יש להשתמש בגופן Android Roboto. הגופן הזה הוא חלק מספריית התמיכה, ואתם מוסיפים את הגופן כמשאב.
- בחלונית מאפיינים, מחפשים את "fontFamily".
- בשדה fontFamily, לוחצים על החץ לתפריט הנפתח, גוללים לתחתית הרשימה ובוחרים באפשרות Fonts נוספים.
- בתיבת הדו-שיח Resources, מחפשים את
rob
ובוחרים באפשרות Roboto. ברשימה תצוגה מקדימה, בוחרים באפשרות רגיל. - לוחצים על לחצן הבחירה הוספת גופן לפרויקט.
- לוחצים על אישור.
בתיקייה res
יש עכשיו תיקייה font
שמכילה קובץ גופן roboto.ttf
. המאפיין @font/roboto
יתווסף אל TextView
.
שלב 4: חילוץ הסגנון
style הוא אוסף של מאפיינים המציינים את המראה ואת הפורמט של תצוגה מפורטת. סגנון יכול לכלול צבע גופן, גודל גופן, צבע רקע, מרווח פנימי, שוליים ומאפיינים נפוצים אחרים.
אפשר לחלץ את העיצוב של תצוגת הטקסט name
ולהגדיר אותו לסגנון חוזר של כל מספר של צפיות באפליקציה. שימוש חוזר בסגנון נותן לאפליקציה מראה אחיד כשיש לך מספר צפיות. בעזרת הסגנונות תוכלו גם לשמור את המאפיינים הנפוצים האלה במיקום אחד.
- לוחצים לחיצה ימנית על ה-
TextView
ב-עץ הרכיבים ובוחרים באפשרות Refetch > חילוץ סגנון. - בתיבת הדו-שיח חילוץ סגנון Android, מנקים את תיבת הסימון
layout_width
, תיבת הסימוןlayout_height
ותיבת הסימוןtextAlignment
. המאפיינים האלה בדרך כלל שונים בכל תצוגה, כך שאתם לא רוצים שהם יהיו חלק מהסגנון. - בשדה שם הסגנון מזינים
NameStyle
. - לוחצים על אישור.
- גם סגנון הוא משאב, ולכן הסגנון נשמר בתיקייה
res/values/
בקובץstyles.xml
. יש לפתוח אתstyles.xml
ולבדוק את הקוד שנוצר בסגנוןNameStyle
, שנראה דומה לזה:
<style name="NameStyle">
<item name="android:layout_marginTop">@dimen/layout_margin</item>
<item name="android:fontFamily">@font/roboto</item>
<item name="android:paddingTop">@dimen/small_padding</item>
<item name="android:textColor">@android:color/black</item>
<item name="android:textSize">@dimen/text_size</item>
</style>
- פותחים את
activity_main.xml
ועוברים לכרטיסייה טקסט. שימו לב שהסגנון שנוצר נמצא בתצוגת הטקסט בתורstyle="@style/NameStyle"
. - יש להפעיל את האפליקציה ולראות את השינויים בגופן ובמרווח הפנימי שמסביב ל
TextView
.
רוב האפליקציות ל-Android מהעולם האמיתי כוללות שילוב של צפיות כדי להציג תמונות, להציג טקסט ולקבל קלט מהמשתמש בצורה של טקסט או אירועי קליקים. במשימה הזו מוסיפים תצוגה מפורטת כדי להציג תמונה.
התצוגה ImageView
היא תצוגה של משאבי תמונות. לדוגמה, ImageView
יכול להציג משאבים Bitmap
כמו קובצי PNG , JPG , GIF או WebP, או להציג משאב Drawable
כמו ציור וקטור.
משאבי תמונות מגיעים עם Android, כגון סמלים לדוגמה, דמויות ורקעים. עליך להוסיף אחד מהמשאבים האלה לאפליקציה.
- מציגים את קובץ הפריסה בכרטיסייה עיצוב ולאחר מכן גוררים ImageView מהחלונית לוח הצבעים אל
name_text
מתחת לעץ הרכיבים. תיבת הדו-שיח Resources נפתחת. - בחר באפשרות ציור אם הוא עדיין לא נבחר.
- מרחיבים את הקטע android, גוללים ובוחרים באפשרות devguide_star_big_on. זהו הכוכב הצהוב .
- לוחצים על אישור.
תמונת הכוכב תתווסף לפריסה שמתחת לשם שלך. מאחר שיש לךLinearLayout
בפורמט אנכי, מספר הצפיות שהוספת מיישרות לאורך. - עוברים לכרטיסייה טקסט ומעיינים בקוד
ImageView
שנוצר. הרוחב מוגדר ל-match_parent
, כך שהתצוגה תהיה רחבה כמו רכיב ההורה שלה. הגובה מוגדר ל-wrap_content
, כך שהגובה של התצוגה הוא רק התוכן שלו. הImageView
מפנה אל ה-btn_star_big_on
שניתן לשרטוט.
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@android:drawable/btn_star_big_on" />
- כדי לשנות את השם של
id
מתוךImageView
, לוחצים לחיצה ימנית על"@+id/imageView"
ובוחרים באפשרות Reגורמי > שינוי שם. - בתיבת הדו-שיח שינוי השם, מגדירים את
id
בתור@+id/star_image
. לוחצים על מחדש.
- בכרטיסייה עיצוב, בעץ הרכיבים, לוחצים על סמל האזהרה לצד
star_image
. האזהרה מתייחסת לפריטcontentDescription
חסר, שקוראי מסך משתמשים בו כדי לתאר את התמונות למשתמש. - בחלונית מאפיינים, לוחצים על תפריט שלוש הנקודות ... לצד המאפיין
contentDescription
. תיבת הדו-שיח משאבים תיפתח. - בתיבת הדו-שיח Resources, בוחרים באפשרות Add newResource > New מחרוזת Value. מגדירים את השדה שם המשאב כ-
yellow_star
, ומגדירים את השדה ערך המשאב כ-Yellow star
. לוחצים על אישור. - בחלונית מאפיינים אפשר להוסיף מרווח עליון של
16dp
(שהוא@dimen/layout_margin
) ל-yellow_star
, וכדי להפריד בין תמונת הכוכב לשם. - מריצים את האפליקציה. השם ותמונת הכוכב שלך מוצגים בממשק המשתמש של האפליקציה.
ScrollView
היא קבוצת תצוגה שמאפשרת לגלול את היררכיית התצוגה שבתוכה. תצוגת גלילה יכולה לכלול רק תצוגה אחת אחרת, או קבוצת צפייה, כילדים. בדרך כלל תצוגת הצאצא היא LinearLayout
. בתוך LinearLayout
, ניתן להוסיף תצוגות נוספות.
התמונה הבאה מציגה דוגמה של ScrollView
שמכיל LinearLayout
שמכיל כמה תצוגות אחרות.
במשימה הזו צריך להוסיף ScrollView
שמאפשר למשתמש לגלול בתצוגת טקסט שמציגה ביוגרפיה קצרה. אם אתם רוצים לגלול רק תצוגה אחת, אתם יכולים להעביר את התצוגה ישירות ל-ScrollView
, ואז לעשות את זה במשימה הזו.
שלב 1: הוספת ViewView שמכיל טקסטViewView
- פותחים את הקובץ
activity_main.xml
בכרטיסייה עיצוב. - גוררים תצוגת גלילה אל הפריסה באמצעות גרירתה אל עורך העיצוב או אל עץ הרכיבים. מציבים את תצוגת הגלילה מתחת לתמונת הכוכב.
- עוברים לכרטיסייה טקסט כדי לבדוק את הקוד שנוצר.
// Auto generated code
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</ScrollView>
הגובה והרוחב של ScrollView
תואמים לרכיב ההורה. לאחר שתצוגת הטקסט name_text
ותצוגת התמונה star_image
ניצלו מספיק שטח אנכי כדי להציג את התוכן שלהן, מערכת Android תפרו את ה-ScrollView
כדי למלא את שאר השטח הזמין במסך.
- יש להוסיף
id
אלScrollView
ולקרוא לוbio_scroll
. הוספה שלid
ל-ScrollView
נותנת למערכת Android ידית לתצוגה, כך שכאשר המשתמש מסובב את המכשיר, המערכת שומרת על מיקום הגלילה. - בתוך ה
ScrollView
, יש להסיר את הקודLinearLayout
, מפני שבאפליקציה שלך תופיע רק תצוגה אחת שניתן לגלול אותה —TextView
. - גוררים
TextView
מלוח הצבעים אל עץ הרכיבים. יש להציב את ה-TextView
מתחת ל-bio_scroll
כרכיב צאצא שלbio_scroll
. - מגדירים את ה-id [מזהה] של תצוגת הטקסט החדשה לערך
bio_text
. - לאחר מכן מוסיפים סגנון לתצוגת הטקסט החדשה. בחלונית מאפיינים, לוחצים על שלוש הנקודות ... לצד המאפיין style כדי לפתוח את תיבת הדו-שיח Resources.
- בתיבת הדו-שיח Resources, מחפשים את
NameStyle
. בוחרים באפשרותNameStyle
מהרשימה ולוחצים על אישור. תצוגת הטקסט משתמשת עכשיו בסגנוןNameStyle
שיצרת במשימה קודמת.
שלב 2: מוסיפים את הביוגרפיה ל-TextView החדש
- פותחים את
strings.xml
, יוצרים משאב מחרוזת שנקראbio
וכותבים טקסט ארוך על עצמכם, או על כל נושא אחר שרוצים.
הנה ביוגרפיה לדוגמה:
<string name="bio">Hi, my name is Aleks.
\n\nI love fish.
\n\nThe kind that is alive and swims around in an aquarium or river, or a lake, and definitely the ocean.
\nFun fact is that I have several aquariums and also a river.
\n\nI like eating fish, too. Raw fish. Grilled fish. Smoked fish. Poached fish - not so much.
\nAnd sometimes I even go fishing.
\nAnd even less sometimes, I actually catch something.
\n\nOnce, when I was camping in Canada, and very hungry, I even caught a large salmon with my hands.
\n\nI\'ll be happy to teach you how to make your own aquarium.
\nYou should ask someone else about fishing, though.\n\n</string>
- בתצוגת הטקסט
bio_text
, מגדירים את הערך של המאפייןtext
למשאב המחרוזתbio
שמכיל את הביוגרפיה. - כדי שיהיה קל יותר לקרוא את הטקסט
bio_text
, יש להוסיף רווח בין השורות. יש להשתמש במאפייןlineSpacingMultiplier
ולתת לו את הערך1.2
.
לתשומת ליבך: בכלי העיצוב, הטקסטbio
מופיע עד לקצה המסך. כדי לפתור את הבעיה הזו, אפשר להוסיף לשורשLinearLayout
את המאפיינים של מרווח פנימי, שמאל, התחלה וסיום. אין צורך להוסיף מרווח פנימי תחתון, כי הטקסט שעובר עד האותות התחתון בפני המשתמש מאפשר לגלול את הטקסט. - הוספה של מרווח פנימי להתחלה ולסיום של
16dp
לרמה הבסיסית (LinearLayout
). - עוברים לכרטיסייה טקסט, מחלצים את משאב המאפיינים וקוראים לו
layout_padding
.
- מפעילים את האפליקציה וגוללים בטקסט.
מעולה!
יצרת אפליקציה מלאה מאפס, והיא נראית מצוין!
פרויקט Android Studio: מידע כללי עליי
בתוך ה-ScrollView
, יש להוסיף ImageView
מעל TextView
. כאשר אתה מפעיל את האפליקציה, התמונה הזו, בשונה מהכוכב, גוללת מחוץ לתצוגה כאשר הטקסט גולל למעלה.
רמז: לתצוגת הגלילה יכולה להיות תצוגת צאצא אחת בלבד. צריך לכווץ את שתי התצוגות שניתן לגלול בהן, ImageView
וTextView
, אל LinearLayout
.
ViewGroup
היא תצוגה שיכולה להכיל תצוגות אחרות.LinearLayout
ו-ScrollView
הן קבוצות של תצוגות מפורטות.LinearLayout
היא קבוצת תצוגות שמארגנת את הצאצאים שלה לרוחב או לאורך.- יש להשתמש ב-
ScrollView
כשצריך להציג תוכן במסך, כמו טקסט ארוך או אוסף של תמונות. תצוגת גלילה יכולה להכיל תצוגת צאצא אחת בלבד. אם רוצים לגלול יותר מתצוגה אחת, צריך להוסיףViewGroup
כמוLinearLayout
ל-ScrollView
, ולהוסיף את התצוגות כגלילה בתוך ה-ViewGroup
הזה. - עורך הפריסה הוא עורך עיצוב חזותי ב-Android Studio. אפשר להשתמש בעורך הפריסה כדי לבנות את הפריסה של האפליקציה. לשם כך, גוררים רכיבים של ממשק המשתמש אל הפריסה.
- סגנון הוא אוסף של מאפיינים שמציינים את המראה של תצוגה מפורטת. לדוגמה, סגנון יכול לציין צבע גופן, גודל גופן, צבע רקע, מרווח פנימי ושוליים.
- ניתן לחלץ ולאסוף את כל העיצוב של תצוגה מפורטת לסגנון. כדי להעניק לאפליקציה מראה עקבי, יש להשתמש בסגנון החדש בתצוגות נוספות.
קורס אוניברסיטה:
התיעוד של מפתח Android:
בקטע הזה מפורטות מטלות שיעורי בית אפשריות לתלמידים שעובדים עם קוד Lab הזה, במסגרת קורס בהדרכת מורה. למורה יש אפשרות לבצע את הפעולות הבאות:
- אם צריך, מקצים שיעורי בית.
- ספרו לתלמידים איך מגישים מטלות בשיעורי בית.
- לתת ציונים למטלות שיעורי הבית.
המורים יכולים להשתמש בהצעות האלה כמה שפחות, ומומלץ להקצות להן כל שיעורי בית שדעתם מתאימה להם.
אם אתם עובדים בעצמכם על שיעור הקוד הזה, אתם מוזמנים להשתמש במטלות שיעורי הבית האלה כדי לבחון את הידע שלכם.
מענה על השאלות האלה
שאלה 1
איזו מהאפשרויות הבאות היא קבוצת תצוגה?
▬ EditText
▬ LinearLayout
▬ TextView
▬ Button
שאלה 2
אילו מהיררכיות התצוגה המפורטות הבאות אינן חוקיות?
▬ LinearLayout
> TextView
, TextView
, ImageView
▬ ScrollView
> LinearLayout
> TextView
, Button
, Button
, ScrollView
> TextView
▬ TextView
> TextView
, ImageView
, ScrollView
שאלה 3
סגנונות הם משאבים שמוגדרים במדיניות styles.xml
. באמצעות סגנונות, ניתן להגדיר צבעים, גופנים, גודל טקסט ומאפיינים רבים אחרים של תצוגה מפורטת. נכון או לא נכון?
הוספה אמיתי
הוספה שקרי
שאלה 4
ScrollView
היא קבוצת תצוגות שיכולה לכלול כל מספר של צפיות או קבוצות צאצאים. נכון או לא נכון?
הוספה אמיתי
הוספה שקרי
שאלה 5
באיזה רכיב של ממשק המשתמש ניתן להשתמש כדי להציג תמונות באפליקציה?
▬ TextView
▬ ImageView
▬ Button
▬ ScrollView
מעבר לשיעור הבא:
קישורים למעבדות אחרות של הקוד בקורס הזה זמינים בדף הנחיתה של Android Kotlin Fundamentals Codelabs.