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

يقدم Android 8.0 (المستوى 26 من واجهة برمجة التطبيقات) الخطوط بتنسيق XML، وهي ميزة تتيح لك استخدام الخطوط كموارد. يمكنك إضافة ملف font في المجلد res/font/ لتجميع الخطوط كموارد. هذه الخطوط يتم تجميعها في ملف R وتكون متاحة تلقائيًا في "استوديو Android". يمكنك الوصول إلى موارد الخط باستخدام نوع المورد font. بالنسبة مثل، الوصول إلى مورد الخط، استخدِم @font/myfont أو R.font.myfont.

لاستخدام ميزة الخطوط في ملف XML على الأجهزة التي تعمل بالإصدار 4.1 من نظام التشغيل Android (المستوى 16 من واجهة برمجة التطبيقات) والإصدارات الأحدث، استخدِم الإصدار 26.0 من Support Library. لمزيد من المعلومات حول استخدام مكتبة الدعم، فراجع استخدام قسم "مكتبة الدعم"

لإضافة خطوط كموارد، عليك اتّباع الخطوات التالية في نظام Android. استوديو:

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

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

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

    الشكل 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"/>
    
  • افتح نافذة Properties (الخصائص) لضبط خط TextView
    1. اختَر طريقة عرض لفتح نافذة الخصائص.

      ملاحظة: نافذة الخصائص متاحة فقط عندما يكون محرر التصميم مفتوحًا. حدد علامة التبويب التصميم في أسفل النافذة.

    2. وسِّع السمة text للدفع، ثم اختَر الخط. من قائمة fontFamily.
    3. تحديد الخط من الخصائص

      الشكل 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 استخدام الخطوط بتنسيق XML على الأجهزة التي تعمل بنظام التشغيل Android 4.1 (المستوى 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);