Android 8.0 (سطح میانای برنامهسازی کاربردی ۲۶) قلمها را در XML معرفی میکند، ویژگیای که
به شما امکان میدهد از قلمها بهعنوان منابع استفاده کنید. میتوانید فایل font را در
پوشه res/font/ اضافه کنید تا قلمها را بهعنوان منابع دستهبندی کنید. این قلمها
در فایل R شما گردآوری میشوند و بهطور خودکار در
«استودیو Android» دردسترس قرار میگیرند. بااستفاده از نوع منبع font میتوانید به منابع قلم دسترسی پیدا کنید. برای
مثال، برای دسترسی به منبع قلم،
از @font/myfont یا R.font.myfont استفاده کنید.
برای استفاده از ویژگی قلمهای XML در دستگاههای دارای Android 4.1 (میانای برنامه کاربردی سطح ۱۶) و بالاتر، از «کتابخانه پشتیبانی ۲۶.۰» استفاده کنید. برای اطلاعات بیشتر درباره استفاده از «کتابخانه پشتیبانی»، به بخش استفاده از «کتابخانه پشتیبانی» مراجعه کنید.
برای افزودن قلم بهعنوان منبع، مراحل زیر را در Android Studio انجام دهید:
- روی پوشه res کلیک راست کنید و به جدید > دایرکتوری منبع Android بروید. پنجره دایرکتوری منابع جدید ظاهر میشود.
- در فهرست نوع منبع، قلم را انتخاب کنید، سپس روی
بسیارخوب کلیک کنید.
توجه: نام دایرکتوری منبع باید font باشد.
شکل ۱. درحال افزودن دایرکتوری منبع قلم.
- فایلهای قلم را در پوشه
fontاضافه کنید.ساختار پوشه زیر
R.font.dancing_script،R.font.lobster، وR.font.typo_graphicaرا تولید میکند.
شکل ۲. درحال افزودن فایلهای قلم در دایرکتوری
res/font. - روی فایل قلم دوکلیک کنید تا قلمهای فایل را در ویرایشگر پیشدید کنید.
شکل ۳. درحال پیشنمایش فایل قلم.
ایجاد خانواده قلم
خانواده قلم مجموعهای از فایلهای قلم بههمراه جزئیات سبک و وزن است. در 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، پنجره خصوصیات را باز کنید.- نمایی را برای باز کردن پنجره ویژگیها انتخاب کنید.
توجه: پنجره داراییها فقط زمانی دردسترس است که ویرایشگر طراحی باز باشد. زبانه طراحی را در پایین پنجره انتخاب کنید.
- دارایی textAppearance را ازهم باز کنید، و سپس قلم را از فهرست fontFamily انتخاب کنید.
-
شکل ۴. انتخاب قلم از پنجره 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);