ב-Android 8.0 (רמת API 26) מוצגים גופנים ב-XML, תכונה
מאפשרת להשתמש בגופנים כמשאבים. אפשר להוסיף את הקובץ font
אל
את התיקייה res/font/
כדי לקבץ גופנים כמשאבים. הגופנים האלה
עוברים הידור בקובץ R
וזמינים באופן אוטומטי
ב-Android Studio. אפשר לגשת למשאבי הגופנים באמצעות סוג המשאב font
. עבור
לדוגמה, כדי לגשת למשאב של גופנים,
משתמשים ב-@font/myfont
או ב-R.font.myfont
.
כדי להשתמש בתכונה 'גופנים ב-XML' במכשירים שפועלת בהם מערכת Android 4.1 (רמת API 16) ומעלה, צריך להשתמש ב-Support Library 26.0. אפשר לקבל מידע נוסף על השימוש בספריית התמיכה, שימוש בקטע 'ספריית תמיכה'.
כדי להוסיף גופנים כמשאבים, מבצעים את השלבים הבאים ב-Android. אולפן:
- לוחצים לחיצה ימנית על התיקייה res ועוברים אל חדש > ספריית המשאבים של Android. יופיע החלון החדש ספריית משאבים חדשה.
- ברשימה Resource Type, בוחרים באפשרות font ואז לוחצים על
אישור.
הערה: השם של ספריית המשאבים חייב להיות font.
- מוסיפים את קובצי הגופנים בתיקייה
font
.מבנה התיקייה הבא יוצר
R.font.dancing_script
,R.font.lobster
וגםR.font.typo_graphica
. - לוחצים לחיצה כפולה על קובץ גופן כדי לראות תצוגה מקדימה של הגופנים של הקובץ בעורך.
יצירה של משפחת גופנים
משפחת גופנים היא קבוצה של קובצי גופנים יחד עם פרטי סגנון ומשקל. ב-Android, אפשר ליצור משפחת גופנים חדשה בתור משאב XML וגישה אותו כיחידה אחת, במקום להתייחס לכל סגנון ומשקל במשאבים נפרדים. הפעולה הזו תאפשר למערכת לבחור את הגופן הנכון. בהתאם לסגנון הטקסט שבחרתם.
כדי ליצור משפחת גופנים, מבצעים את השלבים הבאים ב-Android Studio:
- לוחצים לחיצה ימנית על התיקייה
font
ובוחרים חדש > קובץ משאבים בנושא גופנים. החלון קובץ משאב חדש מופיעה. - מזינים את שם הקובץ ולוחצים על אישור. ה-XML החדש של משאב הגופנים תיפתח בכלי העריכה.
- יש לתחום כל קובץ גופן, סגנון ומאפייני משקל ברכיב
רכיב
<font>
. קוד ה-XML הבא מדגים הוספה מאפיינים שקשורים לגופנים ב-XML של משאב הגופן:<?xml version="1.0" encoding="utf-8"?> <font-family xmlns:android="http://schemas.android.com/apk/res/android"> <font android:fontStyle="normal" android:fontWeight="400" android:font="@font/lobster_regular" /> <font android:fontStyle="italic" android:fontWeight="400" android:font="@font/lobster_italic" /> </font-family>
שימוש בגופנים בפריסות XML
להשתמש בגופנים שלכם, בקובץ גופן יחיד או בגופן מתוך
משפחת הגופנים, ב-TextView
או בסגנונות באמצעות
fontFamily
.
הערה: כשמשתמשים במשפחת גופנים,
TextView
עובר לבד, לפי הצורך, כדי להשתמש
של משפחת גופנים מאותה משפחה.
הוספת גופנים ל-TextView
כדי להגדיר גופן לTextView
, יש לבצע אחת מהפעולות הבאות
הבאים:
- בקובץ ה-XML של הפריסה, מגדירים את המאפיין
fontFamily
לערך קובץ הגופן שאליו רוצים לגשת.<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/lobster"/>
- פותחים את החלון מאפיינים כדי להגדיר את הגופן של
TextView
.- בוחרים תצוגה כדי לפתוח את החלון מאפיינים.
הערה: החלון מאפיינים זמין רק כשעורך העיצוב פתוח. בוחרים בכרטיסייה עיצוב ב בחלק התחתון של החלון.
- מרחיבים את המאפיין textמוצא ובוחרים את הגופן מהרשימה fontFamily.
- בוחרים תצוגה כדי לפתוח את החלון מאפיינים.
התצוגה המקדימה של הפריסה של Android Studio, שמוצגת בחלונית השמאלית ביותר באיור 5,
מאפשרת לראות תצוגה מקדימה של הגופן שהוגדר ב-TextView
.
הוספת גופנים לסגנון
פותחים את הקובץ styles.xml
ומגדירים את fontFamily
לקובץ הגופן שאליו רוצים לגשת.
<style name="customfontstyle" parent="@android:style/TextAppearance.Small"> <item name="android:fontFamily">@font/lobster</item> </style>
שימוש בגופנים באופן פרוגרמטי
כדי לאחזר גופנים באופן פרוגרמטי, קוראים לפונקציה
getFont(int)
ומספקים את קובץ ה-method
מזהה המשאב של הגופן שרוצים לאחזר. השיטה הזו מחזירה
אובייקט Typeface
. למרות שהמערכת בוחרת
להתאים לכם את הסגנון אפשר להשתמש
setTypeface(android.graphics.Typeface, int)
כדי להגדיר סגנונות ספציפיים לגופנים.
הערה: TextView
עשינו את זה בשבילכם.
Kotlin
val typeface = resources.getFont(R.font.myfont) textView.typeface = typeface
Java
Typeface typeface = getResources().getFont(R.font.myfont); textView.setTypeface(typeface);
שימוש בספריית התמיכה
ספריית התמיכה בגרסה 26.0 תומכת בגופנים ב-XML במכשירים עם Android בגרסה 4.1 (רמת API 16) ומעלה.
הערה: כשמצהירים על משפחות גופנים בפריסת XML דרך ספריית התמיכה, להשתמש במרחב השמות של app כדי לוודא שהגופנים נטענים.
<?xml version="1.0" encoding="utf-8"?> <font-family xmlns:app="http://schemas.android.com/apk/res-auto"> <font app:fontStyle="normal" app:fontWeight="400" app:font="@font/myfont-Regular"/> <font app:fontStyle="italic" app:fontWeight="400" app:font="@font/myfont-Italic" /> </font-family>
כדי לאחזר גופנים באופן פרוגרמטי, קוראים לפונקציה
ResourceCompat.getFont(Context, int)
ולספק
במופע של Context
ובמזהה המשאב.
Kotlin
val typeface = ResourcesCompat.getFont(context, R.font.myfont)
Java
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);