اندروید ۸.۰ (سطح API ۲۶) فونتها را در XML معرفی میکند، قابلیتی که به شما امکان میدهد از فونتها به عنوان منبع استفاده کنید. میتوانید فایل font را در پوشه res/font/ اضافه کنید تا فونتها را به عنوان منبع دستهبندی کنید. این فونتها در فایل R شما کامپایل میشوند و به طور خودکار در اندروید استودیو در دسترس هستند. میتوانید با استفاده از نوع منبع فونت به منابع font دسترسی پیدا کنید. به عنوان مثال، برای دسترسی به یک منبع فونت، @font/myfont یا R.font.myfont استفاده کنید.
برای استفاده از ویژگی فونتها در XML در دستگاههایی که اندروید ۴.۱ (سطح API ۱۶) و بالاتر دارند، از کتابخانه پشتیبانی ۲۶.۰ استفاده کنید. برای اطلاعات بیشتر در مورد استفاده از کتابخانه پشتیبانی، به بخش «استفاده از کتابخانه پشتیبانی» مراجعه کنید.
برای افزودن فونتها به عنوان منابع، مراحل زیر را در اندروید استودیو انجام دهید:
- روی پوشه res کلیک راست کرده و به New > Android resource directory بروید. پنجره New Resource Directory ظاهر میشود.
- در لیست نوع منبع ، فونت را انتخاب کنید، سپس روی تأیید کلیک کنید.
نکته : نام دایرکتوری منبع باید font باشد.

شکل ۱. افزودن دایرکتوری منبع فونت.
- فایلهای فونت خود را در پوشه
fontاضافه کنید.ساختار پوشه زیر فایلهای
R.font.dancing_script،R.font.lobsterوR.font.typo_graphicaرا تولید میکند.
شکل ۲. اضافه کردن فایلهای فونت در پوشه
res/font - برای پیشنمایش فونتهای فایل در ویرایشگر، روی یک فایل فونت دوبار کلیک کنید.

شکل ۳. پیشنمایش فایل فونت.
ایجاد یک خانواده فونت
یک خانواده فونت مجموعهای از فایلهای فونت به همراه جزئیات سبک و وزن فونت است. در اندروید، میتوانید یک خانواده فونت جدید را به عنوان یک منبع XML ایجاد کنید و به جای ارجاع به هر سبک و وزن به عنوان منابع جداگانه، به عنوان یک واحد واحد به آن دسترسی داشته باشید. با انجام این کار، به سیستم اجازه میدهید فونت صحیح را بر اساس سبک متنی که استفاده میکنید انتخاب کند.
برای ایجاد یک خانواده فونت، مراحل زیر را در اندروید استودیو انجام دهید:
- روی پوشه
fontکلیک راست کرده و New > Font resource file را انتخاب کنید. پنجره New Resource File ظاهر میشود. - نام فایل را وارد کنید، سپس روی تأیید کلیک کنید. منبع فونت جدید XML در ویرایشگر باز میشود.
- هر فایل فونت، ویژگی style و وزن را در عنصر
<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
با استفاده از ویژگی fontFamily ، از فونتهای خود، چه یک فایل فونت واحد و چه یک فونت از یک خانواده فونت، در اشیاء TextView یا در استایلها استفاده کنید.
نکته: وقتی از یک خانواده فونت استفاده میکنید، TextView در صورت نیاز، خودش تغییر حالت میدهد تا از فایلهای فونت آن خانواده استفاده کند.
اضافه کردن فونت به TextView
برای تنظیم فونت برای TextView ، یکی از مراحل زیر را انجام دهید:
- در فایل XML مربوط به layout، ویژگی
fontFamilyرا به فایل فونتی که میخواهید به آن دسترسی داشته باشید، تنظیم کنید.<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/lobster"/>
- پنجره Properties را باز کنید تا فونت
TextViewرا تنظیم کنید.- برای باز کردن پنجره Properties ، یک نما (view) را انتخاب کنید.
نکته: پنجره Properties فقط زمانی که ویرایشگر طراحی باز است، در دسترس است. تب Design را در پایین پنجره انتخاب کنید.
- ویژگی textAppearance را باز کنید و سپس فونت مورد نظر را از لیست fontFamily انتخاب کنید.

شکل ۴. انتخاب فونت از پنجرهی Properties .
- برای باز کردن پنجره Properties ، یک نما (view) را انتخاب کنید.
پیشنمایش طرحبندی اندروید استودیو، که در سمت راستترین پنل در شکل 5 نشان داده شده است، به شما امکان میدهد پیشنمایشی از مجموعه فونت در 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 در دستگاههایی که اندروید ۴.۱ (سطح API ۱۶) و بالاتر دارند، پشتیبانی میکند.
نکته : وقتی خانوادههای فونت را در طرحبندی 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);
