يقدّم الإصدار Android 8.0 (المستوى 26 من واجهة برمجة التطبيقات) الخطوط في XML، وهي ميزة تتيح لك استخدام الخطوط كموارد. يمكنك إضافة الملف font
في المجلد res/font/
لتجميع الخطوط كموارد. يتم تجميع هذه الخطوط في ملف R
وتكون متاحة تلقائيًا في "استوديو Android". يمكنك الوصول إلى موارد الخطوط باستخدام نوع المورد font
. على سبيل المثال، للوصول إلى مورد خط، استخدِم @font/myfont
أو R.font.myfont
.
لاستخدام الخطوط في XML على الأجهزة التي تعمل بنظام التشغيل Android 4.1 (المستوى 16 لواجهة برمجة التطبيقات) والإصدارات الأحدث، استخدِم الإصدار 26.0 من Support Library. لمزيد من المعلومات حول استخدام "مكتبة الدعم"، يمكنك الاطّلاع على القسم استخدام مكتبة الدعم.
لإضافة خطوط كموارد، اتّبِع الخطوات التالية في "استوديو Android":
- انقر بزر الماوس الأيمن على المجلد res وانتقِل إلى New (جديد) > دليل موارد Android. تظهر نافذة دليل الموارد الجديد.
- في قائمة نوع المورد، اختَر الخط، ثم انقر على حسنًا.
ملاحظة: يجب أن يكون اسم دليل الموارد font.
الشكل 1. جارٍ إضافة دليل موارد الخطوط
- أضِف ملفات الخطوط في مجلد
font
.تُنشئ بنية المجلد أدناه
R.font.dancing_script
وR.font.lobster
وR.font.typo_graphica
.الشكل 2. جارٍ إضافة ملفات الخطوط في دليل
res/font
. - انقر مرّتين على ملف خط لمعاينة خطوط الملف في المحرِّر.
الشكل 3. جارٍ معاينة ملف الخط.
إنشاء مجموعة خطوط
مجموعة الخطوط عبارة عن مجموعة من ملفات الخطوط إلى جانب تفاصيل النمط والوزن. في نظام التشغيل 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.
-
الشكل 4. اختيار الخط من نافذة الخصائص
- اختَر ملفًا شخصيًا لفتح نافذة الخصائص.
تتيح لك معاينة تنسيق استوديو Android، التي تظهر في الجزء العلوي الأيسر في الشكل 5، معاينة مجموعة الخطوط في TextView
.
![معاينة الخطوط في معاينة التنسيق](https://developer.android.com/static/guide/topics/ui/images/look-and-feel/fonts-in-xml/xml-font-preview.png?authuser=6&hl=ar)
الشكل 5. جارٍ معاينة الخطوط في معاينة التنسيق.
إضافة خطوط إلى نمط
افتح ملف 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);
استخدام مكتبة الدعم
يتوافق الإصدار 26.0 من Support Library مع الخطوط بتنسيق XML على الأجهزة التي تعمل بالإصدار 4.1 من نظام التشغيل Android (المستوى 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
ومعرّف المورد.
Kotlin
val typeface = ResourcesCompat.getFont(context, R.font.myfont)
Java
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);