הוספת גופן כמשאב XML

ב-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. אולפן:

  1. לוחצים לחיצה ימנית על התיקייה res ועוברים אל חדש > ספריית המשאבים של Android. יופיע החלון החדש ספריית משאבים חדשה.
  2. ברשימה Resource Type, בוחרים באפשרות font ואז לוחצים על אישור.

    הערה: השם של ספריית המשאבים חייב להיות font.

    הוספה של ספריית משאבי הגופנים

    איור 1. מתבצעת הוספה של ספריית משאבי הגופנים.

  3. מוסיפים את קובצי הגופנים בתיקייה font.

    מבנה התיקייה הבא יוצר R.font.dancing_script, R.font.lobster וגם R.font.typo_graphica.

    הוספת קובצי הגופנים לספריית המשאבים

    איור 2. מתבצעת הוספה של קובצי הגופנים בספרייה res/font.

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

    איור 3. תצוגה מקדימה של קובץ הגופנים.

יצירה של משפחת גופנים

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

כדי ליצור משפחת גופנים, מבצעים את השלבים הבאים ב-Android Studio:

  1. לוחצים לחיצה ימנית על התיקייה font ובוחרים חדש > קובץ משאבים בנושא גופנים. החלון קובץ משאב חדש מופיעה.
  2. מזינים את שם הקובץ ולוחצים על אישור. ה-XML החדש של משאב הגופנים תיפתח בכלי העריכה.
  3. יש לתחום כל קובץ גופן, סגנון ומאפייני משקל ברכיב רכיב <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.
    1. בוחרים תצוגה כדי לפתוח את החלון מאפיינים.

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

    2. מרחיבים את המאפיין textמוצא ובוחרים את הגופן מהרשימה fontFamily.
    3. בחירת הגופן ב&#39;מאפיינים&#39;

      איור 4. בחירת הגופן בחלון מאפיינים.

התצוגה המקדימה של הפריסה של Android Studio, שמוצגת בחלונית השמאלית ביותר באיור 5, מאפשרת לראות תצוגה מקדימה של הגופן שהוגדר ב-TextView.

תצוגה מקדימה של הגופנים בתצוגה המקדימה של הפריסה

איור 5. תצוגה מקדימה של הגופנים בתצוגה המקדימה של הפריסה.

הוספת גופנים לסגנון

פותחים את הקובץ 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);