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

تجربة طريقة "الكتابة"
‫Jetpack Compose هي مجموعة أدوات واجهة المستخدم المقترَحة لنظام التشغيل Android. تعرَّف على كيفية استخدام النص في Compose.

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

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

لإضافة خطوط كعناصر، اتّبِع الخطوات التالية في "استوديو Android":

  1. انقر بزر الماوس الأيمن على مجلد res وانتقِل إلى New (جديد) > Android resource directory (دليل موارد 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. وسِّع السمة textAppearance، ثم اختَر الخط من قائمة fontFamily.
    3. اختيار الخط من &quot;الخصائص&quot;

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

تتيح لك معاينة التنسيق في &quot;استوديو Android&quot;، كما هو موضّح في الجزء الأيسر في الشكل 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);

    استخدام "مكتبة الدعم"

    تتيح حزمة 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);