افزودن قلم به‌عنوان منبع XML

امتحان کردن روش «نوشتن»
‫Jetpack Compose جعبه‌ابزار واسط کاربر توصیه‌شده برای Android است. با نحوه استفاده از نوشتار در «نوشتن» آشنا شوید.

‫Android 8.0 (سطح میانای برنامه‌سازی کاربردی ۲۶) قلم‌ها را در XML معرفی می‌کند، ویژگی‌ای که به شما امکان می‌دهد از قلم‌ها به‌عنوان منابع استفاده کنید. می‌توانید فایل font را در پوشه res/font/ اضافه کنید تا قلم‌ها را به‌عنوان منابع دسته‌بندی کنید. این قلم‌ها در فایل R شما گردآوری می‌شوند و به‌طور خودکار در «استودیو Android» دردسترس قرار می‌گیرند. بااستفاده از نوع منبع font می‌توانید به منابع قلم دسترسی پیدا کنید. برای مثال، برای دسترسی به منبع قلم، از @font/myfont یا R.font.myfont استفاده کنید.

برای استفاده از ویژگی قلم‌های XML در دستگاه‌های دارای Android 4.1 (میانای برنامه کاربردی سطح ۱۶) و بالاتر، از «کتابخانه پشتیبانی ۲۶.۰» استفاده کنید. برای اطلاعات بیشتر درباره استفاده از «کتابخانه پشتیبانی»، به بخش استفاده از «کتابخانه پشتیبانی» مراجعه کنید.

برای افزودن قلم به‌عنوان منبع، مراحل زیر را در Android Studio انجام دهید:

  1. روی پوشه res کلیک راست کنید و به جدید > دایرکتوری منبع Android بروید. پنجره دایرکتوری منابع جدید ظاهر می‌شود.
  2. در فهرست نوع منبع، قلم را انتخاب کنید، سپس روی بسیارخوب کلیک کنید.

    توجه: نام دایرکتوری منبع باید font باشد.

    درحال افزودن پوشه منبع قلم

    شکل ۱. درحال افزودن دایرکتوری منبع قلم.

  3. فایل‌های قلم را در پوشه font اضافه کنید.

    ساختار پوشه زیر R.font.dancing_script، R.font.lobster، و R.font.typo_graphica را تولید می‌کند.

    افزودن فایل‌های قلم در دایرکتوری منبع

    شکل ۲. درحال افزودن فایل‌های قلم در دایرکتوری res/font.

  4. روی فایل قلم دوکلیک کنید تا قلم‌های فایل را در ویرایشگر پیش‌دید کنید. درحال پیش‌دید کردن فایل قلم

    شکل ۳. درحال پیش‌نمایش فایل قلم.

ایجاد خانواده قلم

خانواده قلم مجموعه‌ای از فایل‌های قلم به‌همراه جزئیات سبک و وزن است. در 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. دارایی textAppearance را ازهم باز کنید، و سپس قلم را از فهرست fontFamily انتخاب کنید.
    3. انتخاب قلم از «مشخصات»

      شکل ۴. انتخاب قلم از پنجره Properties (مشخصات).

پیش‌نمایش چیدمان Android Studio که در قاب سمت چپ در «شکل ۵» نشان داده شده است، به شما امکان می‌دهد مجموعه قلم تنظیم‌شده در TextView را پیش‌نمایش کنید.

درحال پیش‌دید کردن قلم‌ها در پیش‌نمای چیدمان

شکل ۵. درحال پیش‌دید کردن قلم‌ها در پیش‌نمایش چیدمان.

افزودن قلم به سبک

فایل styles.xml را باز کنید و ویژگی fontFamily را روی فایل قلمی که می‌خواهید به آن دسترسی داشته باشید تنظیم کنید.

  • <style name="customfontstyle" parent="@android:style/TextAppearance.Small">
        <item name="android:fontFamily">@font/lobster</item>
    </style>
  • استفاده از قلم‌ها به‌صورت برنامه‌ریزی‌شده

    برای بازیابی قلم‌ها به‌صورت برنامه‌نویسی، متد getFont(int) را فراخوانی کنید و شناسه منبع قلمی را که می‌خواهید بازیابی کنید ارائه دهید. این روش یک شیء Typeface برمی‌گرداند. اگرچه سیستم بهترین سبک را از اطلاعات قلم‌ها برای شما انتخاب می‌کند، می‌توانید از روش setTypeface(android.graphics.Typeface, int) برای تنظیم طرح‌حروف با سبک‌های خاص استفاده کنید.

    توجه: TextView این کار را برای شما انجام می‌دهد.

    کاتلین

    val typeface = resources.getFont(R.font.myfont)
    textView.typeface = typeface

    جاوا

    Typeface typeface = getResources().getFont(R.font.myfont);
    textView.setTypeface(typeface);

    استفاده از «کتابخانه پشتیبانی»

    «کتابخانه پشتیبانی» نسخه ۲۶.۰ از قلم‌ها در XML در دستگاه‌های دارای Android 4.1 (سطح API 16) و بالاتر پشتیبانی می‌کند.

    توجه: وقتی خانواده‌های قلم را در چیدمان XML ازطریق «کتابخانه پشتیبانی» اعلام می‌کنید، از فضای نام برنامه استفاده کنید تا مطمئن شوید قلم‌هایتان بار می‌شود.

    <?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 و شناسه منبع را ارائه دهید.

    کاتلین

    val typeface = ResourcesCompat.getFont(context, R.font.myfont)

    جاوا

    Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);