يقدّم Android 8.0 (المستوى 26 من واجهة برمجة التطبيقات) الخطوط بتنسيق XML، وهي ميزة تتيح لك استخدام الخطوط كمصادر. يمكنك إضافة ملف font
في
مجلد res/font/
لتجميع الخطوط كموارد. تتم تجميع هذه الخطوط
في ملف R
وتتوفّر تلقائيًا في IDE
Android Studio. يمكنك الوصول إلى موارد الخطوط باستخدام نوع المورد font
. على سبيل المثال، للوصول إلى مورد خط،
استخدِم @font/myfont
أو R.font.myfont
.
لاستخدام ميزة الخطوط في ملف XML على الأجهزة التي تعمل بالإصدار 4.1 من نظام التشغيل Android (المستوى 16 من واجهة برمجة التطبيقات) والإصدارات الأحدث، يمكنك استخدام الإصدار 26.0 من Support Library. لمزيد من المعلومات حول استخدام "مكتبة الدعم"، يُرجى الرجوع إلى القسم استخدام "مكتبة الدعم".
لإضافة خطوط كموارد، اتّبِع الخطوات التالية في Android Studio:
- انقر بزر الماوس الأيمن على المجلد res وانتقِل إلى جديد > دليل موارد Android. تظهر نافذة دليل الموارد الجديد.
- في قائمة نوع المورد، اختَر الخط، ثم انقر على
حسنًا.
ملاحظة: يجب أن يكون اسم دليل الموارد هو font.
- أضِف ملفات الخطوط في المجلد "
font
".تؤدي بنية المجلد أدناه إلى إنشاء
R.font.dancing_script
وR.font.lobster
وR.font.typo_graphica
. - انقر مرّتين على ملف خط لعرض معاينة لخطوط الملف في المحرِّر.
إنشاء مجموعة خطوط
مجموعة الخطوط عبارة عن مجموعة من ملفات الخطوط إلى جانب تفاصيل النمط والوزن. في Android، يمكنك إنشاء عائلة خطوط جديدة كمورد XML والوصول إليها كوحدة واحدة، بدلاً من الإشارة إلى كل نمط ووزن كموارد منفصلة. وبذلك تسمح للنظام باختيار الخط الصحيح استنادًا إلى نمط النص الذي تستخدمه.
لإنشاء مجموعة خطوط، عليك اتّباع الخطوات التالية في "استوديو Android":
- انقر بزر الماوس الأيمن على المجلد
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" التي تظهر في اللوحة بأقصى اليسار في الشكل 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
هذا الإجراء نيابةً عنك.
Kotlin
val typeface = resources.getFont(R.font.myfont) textView.typeface = typeface
Java
Typeface typeface = getResources().getFont(R.font.myfont); textView.setTypeface(typeface);
استخدام "مكتبة الدعم"
تتوافق مكتبة Support Library 26.0 مع الخطوط بتنسيق XML على الأجهزة التي تعمل بالإصدار 4.1 من نظام التشغيل Android (المستوى 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);