إضافة خط كمورد XML

يقدّم الإصدار 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":

  1. انقر بزر الماوس الأيمن على المجلد res وانتقِل إلى New (جديد) > دليل موارد Android. تظهر نافذة دليل الموارد الجديد.
  2. في قائمة نوع المورد، اختَر الخط، ثم انقر على حسنًا.

    ملاحظة: يجب أن يكون اسم دليل الموارد font.

    إضافة دليل موارد الخطوط

    الشكل 1. جارٍ إضافة دليل موارد الخطوط

  3. أضِف ملفات الخطوط في مجلد font.

    تُنشئ بنية المجلد أدناه R.font.dancing_script وR.font.lobster وR.font.typo_graphica.

    إضافة ملفات الخطوط في دليل الموارد

    الشكل 2. جارٍ إضافة ملفات الخطوط في دليل res/font.

  4. انقر مرّتين على ملف خط لمعاينة خطوط الملف في المحرِّر. معاينة ملف الخط

    الشكل 3. جارٍ معاينة ملف الخط.

إنشاء مجموعة خطوط

مجموعة الخطوط عبارة عن مجموعة من ملفات الخطوط إلى جانب تفاصيل النمط والوزن. في نظام التشغيل Android، يمكنك إنشاء مجموعة خطوط جديدة كمورد XML والوصول إليها كوحدة واحدة، بدلاً من الإشارة إلى كل نمط ووزن كموارد منفصلة. يتيح ذلك للنظام تحديد الخط المناسب استنادًا إلى نمط النص الذي تستخدمه.

لإنشاء مجموعة خطوط، اتّبِع الخطوات التالية في "استوديو Android":

  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. وسِّع سمة textالمظهر، ثم اختَر الخط من قائمة fontFamily.
    3. تحديد الخط من &quot;الخصائص&quot;

      الشكل 4. اختيار الخط من نافذة الخصائص

تتيح لك معاينة تنسيق استوديو Android، التي تظهر في الجزء العلوي الأيسر في الشكل 5، معاينة مجموعة الخطوط في TextView.

معاينة الخطوط في معاينة التنسيق

الشكل 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);