Emoji2

عرض رموز الإيموجي على الأجهزة الحالية والأقدم
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأوّلي
‫23 سبتمبر 2026 1.7.0 - - -

تحديد الاعتماديات

لإضافة اعتمادية على Emoji2، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:

Groovy

dependencies {
    def emoji2_version = "1.7.0"

    implementation "androidx.emoji2:emoji2:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version"
}

Kotlin

dependencies {
    val emoji2_version = "1.7.0"

    implementation("androidx.emoji2:emoji2:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version")
}

لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.

الإصدار 1.7

الإصدار 1.7.0

‫23 سبتمبر 2026

تم طرح androidx.emoji2:emoji2-*:1.7.0. يتضمّن الإصدار 1.7.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.6.0:

  1. يتم إيقافها EmojiCompat تلقائيًا. على أجهزة Android 15 والإصدارات الأحدث، يكون خيار EmojiCompat غير مفعّل تلقائيًا.
  2. تحسينات في الأداء أصبحت عملية فحص النصوص أسرع بمقدار 4 إلى 6 مرات، وانخفضت عمليات تخصيص الذاكرة عند بدء التشغيل بنسبة %99.6.
  3. يبلغ عمر "minSdk" الآن 24 عامًا.

يكون خيار EmojiCompat غير مفعّل تلقائيًا على الإصدار Android 15 والإصدارات الأحدث

في الإصدار 35 من واجهة برمجة التطبيقات والإصدارات الأحدث، يوفّر النظام تغطية شاملة باستخدام ميزة "خطوط النظام القابلة للتحديث"، لذا فإنّ EmojiCompat لا تفعل شيئًا لمعظم التطبيقات.

تتوفّر واجهة برمجة تطبيقات جديدة EmojiCompat.Config.setUseAfterUpdatableSystemFonts(boolean) لضبط هذا السلوك، ويتم ضبطها تلقائيًا على false. عند إيقاف هذا الخيار، يتم إيقاف EmojiCompat على الإصدار 15 من نظام التشغيل Android والإصدارات الأحدث، ويرسم تطبيقك رموز الإيموجي باستخدام خط النظام المثبَّت من خلال "خطوط النظام القابلة للتحديث".

لا تتوفّر واجهة برمجة تطبيقات لرصد حالة إيقاف EmojiCompat، وحتى عندما تكون قيمة setUseAfterUpdatableSystemFonts هي false، ستعرض getLoadState() القيمة LOAD_STATE_SUCCEEDED.

إعادة تفعيل ميزة "التحقّق من التطبيقات" على الإصدار 15 من نظام التشغيل Android والإصدارات الأحدث باستخدام علامة جديدة
EmojiCompat.init(
    FontRequestEmojiCompatConfig(context, fontRequest)
        .setUseAfterUpdatableSystemFonts(true)
)

مسح النص ضوئيًا بشكل أسرع

تحليل النصوص ومخصصات الشركات الناشئة:

p50 1.6.0 1.7.0
pureLatin ‫16.43 ميكروثانية 2.66 ميكرو ثانية
latinWithOneSimpleEmoji ‫12.13 ميكرو ثانية ‫2.43 ميكرو ثانية
latinWithOneComplexEmoji ‫13.42 ميكرو ثانية ‫3.11 ميكرو ثانية

انخفضت مخصصات الشركات الناشئة بنسبة %99.6. انخفض أيضًا إجمالي استخدام الذاكرة.

عندما تكون قيمة setUseAfterUpdatableSystemFonts هي false (القيمة التلقائية) على الإصدار 15 من نظام التشغيل Android أو الإصدارات الأحدث، لا تتسبّب EmojiCompat في أي تكلفة عند استدعاء الطرق الفارغة ولا تحتفظ بأي بيانات وصفية لرموز الإيموجي في الذاكرة.

‫minSdk تساوي 24

‫minSdk أصبح الآن 24.

الإصدار ‎1.7.0-rc01

‫9 سبتمبر 2026

تم طرح androidx.emoji2:emoji2-*:1.7.0-rc01. يتضمّن الإصدار 1.7.0-rc01 هذه التعديلات.

يركّز هذا الإصدار على تحسينات الأداء وننصح به جميع مستخدمي emoji2.

إصلاح الأخطاء

  • تم تعديل compileSdk لمكتبات Compose إلى الإصدار 37.1. سيتطلّب ذلك تعديل compileSdk بشكل متعدٍّ لجميع التطبيقات والمكتبات التي تستخدم Compose. (I05b0f)

الإصدار 1.7.0-alpha01

‫26 أغسطس 2026

تم طرح androidx.emoji2:emoji2-*:1.7.0-alpha01. يتضمّن الإصدار 1.7.0-alpha01 هذه التعديلات.

** إصدار الأداء **

يمثّل هذا الإصدار تحسّنًا كبيرًا في الأداء مقارنةً بالإصدارات السابقة.

• تقليل حجم الذاكرة: تم تقليل استخدام ذاكرة الوصول العشوائي (RAM) في بنية بيانات trie الخاصة بالبيانات الوصفية من حوالي 2.2 ميغابايت إلى حوالي 80 كيلوبايت.
• تقليل النفقات العامة لبدء التشغيل: تم تقليل عمليات تخصيص عناصر بدء التشغيل من 24,178 إلى 82.
• مسح النص ضوئيًا بدون تخصيص: لا يتم تخصيص أي مساحة عند مسح النص اللاتيني العادي ضوئيًا.
• تقليل وقت الاستجابة: تم تقليل متوسط وقت الاستجابة لمسح النصوص اللاتينية بنسبة تصل إلى %83 (من 16.43 ميكرو ثانية إلى 2.66 ميكرو ثانية).
• التجاوز التلقائي على الإصدار 35 من واجهة برمجة التطبيقات والإصدارات الأحدث: يتم تلقائيًا تجاوز معالجة EmojiCompat على الأجهزة التي تتضمّن خطوطًا قابلة للتحديث على مستوى النظام.

التغييرات في واجهة برمجة التطبيقات

  • تمت إضافة setUseAfterUpdatableSystemFonts إلى EmojiCompat.Config لمواصلة استخدام EmojiCompat اختياريًا على Android 15 (المستوى 35 لواجهة برمجة التطبيقات) والإصدارات الأحدث حتى عندما تتوفّر خطوط نظام قابلة للتحديث على جميع الأجهزة. ستؤدي القيمة التلقائية إلى إيقاف EmojiCompat على الإصدار 35 من واجهة برمجة التطبيقات والإصدارات الأحدث، ما يؤدي إلى توفير الذاكرة وتقليل وقت استجابة معالجة النصوص. (I7235e، b/541363642)

إصلاح الأخطاء

  • أداة اختيار Emoji2: تم تعديل compileSdk في Compose إلى الإصدار 37 من واجهة برمجة التطبيقات. وهذا يعني أنّه يجب استخدام الإصدار 9.2.0 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android" على الأقل عند استخدام Compose. (Id45cd، b/413674743)

الإصدار 1.6

الإصدار 1.6.0

‫10 سبتمبر 2025

تم طرح androidx.emoji2:emoji2-*:1.6.0. يتضمّن الإصدار 1.6.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.5.0:

  • يتوافق مع الإصدار 16.0 من رموز الإيموجي
  • أضِف اللاحقة "إيموجي" إلى وصف المحتوى الخاص برموز الإيموجي.

إصلاح الأخطاء

الإصدار 1.6.0-rc01

‫13 أغسطس 2025

تم طرح androidx.emoji2:emoji2-*:1.6.0-rc01. يتضمّن الإصدار 1.6.0-rc01 هذه التعديلات.

الميزات الجديدة

  • تمت إضافة رموز Emoji 16.0، كما تمت إضافة اللاحقة "إيموجي" إلى وصف المحتوى.

التغييرات في واجهة برمجة التطبيقات

  • إزالة التعليقات التوضيحية القديمة @RequiresApi(21) (Ic4792)
  • إزالة التعليقات التوضيحية القديمة @RequiresApi(21) (I9103b)

الإصدار 1.6.0-beta01

‫2 يوليو 2025

تم طرح androidx.emoji2:emoji2-*:1.6.0-beta01. يتضمّن الإصدار 1.6.0-beta01 هذه التعديلات.

الميزات الجديدة

  • تحديثات رموز الإيموجي في الإصدار 16.0
  • أضِف اللاحقة "إيموجي" إلى وصف المحتوى للتأكّد من أنّنا نقدّم سلوكًا متسقًا بشأن تسهيل الاستخدام في جميع تطبيقات أداة اختيار رموز الإيموجي.

الإصدار ‎1.6.0-alpha01

‫4 يونيو 2025

تم طرح androidx.emoji2:emoji2-*:1.6.0-alpha01. يتضمّن الإصدار 1.6.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • تعديلات على بيانات الإصدار 16.0 من رموز الإيموجي (Ifc878)
  • إضافة اللاحقة "emoji" إلى وصف المحتوى

إصلاح الأخطاء

الإصدار 1.5

الإصدار 1.5.0

‫4 سبتمبر 2024

تم طرح androidx.emoji2:emoji2-*:1.5.0. يتضمّن الإصدار 1.5.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.4.0

  • إتاحة الإصدار 15.1 من رموز الإيموجي وواجهة مستخدم لاختيار رموز الإيموجي ثنائية الاتجاه يسمح النقر البسيط على أداة التبديل الثنائية الاتجاه للمستخدمين بالتبديل بين إصدارات رموز الإيموجي المتّجهة لليمين واليسار.
  • إتاحة أداة اختيار رموز الإيموجي بدرجات لون البشرة المتعددة يؤدي الضغط مع الاستمرار على رموز الإيموجي الخاصة بالأزواج إلى عرض أداة اختيار رموز إيموجي متعددة الأشخاص للحالة الفارغة. عندما ينقر المستخدم على النصف الأيمن من رمز إيموجي، سيتم تعديل معاينة الإيموجي في أسفل يسار الشاشة وفقًا لذلك. عندما يختار المستخدم نصفي رمز إيموجي، ستعرض معاينة الإيموجي في أسفل يسار الشاشة رمز الإيموجي بالكامل، ويمكن للمستخدم بعد ذلك إدخاله.

الإصدار 1.5.0-rc01

‫21 أغسطس 2024

تم طرح androidx.emoji2:emoji2-*:1.5.0-rc01. يتضمّن الإصدار 1.5.0-rc01 هذه التعديلات.

الميزات الجديدة

  • إتاحة الإصدار 15.1 من رموز الإيموجي وواجهة مستخدم لاختيار رموز الإيموجي ثنائية الاتجاه يسمح النقر البسيط على أداة التبديل الثنائية الاتجاه للمستخدمين بالتبديل بين إصدارات رموز الإيموجي المتّجهة لليمين واليسار.
  • إتاحة أداة اختيار رموز الإيموجي بدرجات لون البشرة المتعددة يؤدي الضغط مع الاستمرار على رموز الإيموجي الخاصة بالأزواج إلى عرض أداة اختيار رموز إيموجي متعددة الأشخاص للحالة الفارغة. عندما ينقر المستخدم على النصف الأيسر من رمز إيموجي، سيتم تعديل معاينة الإيموجي في أسفل يسار الشاشة وفقًا لذلك. عندما يختار المستخدم نصفي رمز إيموجي، ستعرض المعاينة رمز الإيموجي بالكامل ويمكن للمستخدم إدخاله بعد ذلك.

إصلاح الأخطاء

  • تمت إزالة التحديد اليدوي للوصول إلى واجهات برمجة التطبيقات الجديدة للمنصة لأنّ ذلك يحدث تلقائيًا من خلال تصميم واجهة برمجة التطبيقات عند استخدام R8 مع الإصدار 7.3 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android (مثل الإصدار 3.3 من R8)، وجميع عمليات الإنشاء عند استخدام الإصدار 8.1 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android (مثل الإصدار 8.1 من D8). ننصح العملاء الذين لا يستخدمون المكوّن الإضافي لنظام Gradle المتوافق مع Android‏ (AGP) بالتحديث إلى الإصدار 8.1 أو الإصدارات الأحدث من D8. يُرجى مراجعة هذه المقالة للاطّلاع على مزيد من التفاصيل. (If6b4c، b/345472586)
  • يتم تعديل اختيار علامة التبويب والمؤشر في EmojiPickerView بعد نقرة واحدة. (146b02، b/288261054)
  • تعطُّل مؤشر وعلامة تبويب EmojiPickerView (5e1f14، b/273883688)

الإصدار ‎1.5.0-beta01

‫10 يوليو 2024

تم طرح androidx.emoji2:emoji2-*:1.5.0-beta01. يتضمّن الإصدار 1.5.0-beta01 هذه التعديلات.

الميزات الجديدة

  • توفير رموز الإيموجي 15.1 وواجهة مستخدم لاختيار رموز الإيموجي ثنائية الاتجاه
  • إعادة تصميم ميزة اختيار درجات ألوان البشرة المتعددة

إصلاح الأخطاء

  • يتم تعديل اختيار علامة التبويب والمؤشر في EmojiPickerView بعد نقرة واحدة. (146b02، b/288261054)
  • تعطُّل مؤشر وعلامة تبويب EmojiPickerView (5e1f14، b/273883688)

الإصدار ‎1.5.0-alpha01

‫13 ديسمبر 2023

تم طرح androidx.emoji2:emoji2-*:1.5.0-alpha01. يتضمّن الإصدار 1.5.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • يتضمّن الإصدار emoji2-bundled خط إيموجي معدَّل يتوافق مع الإصدار 15.1 من رموز الإيموجي.

التغييرات في واجهة برمجة التطبيقات

  • أضِف منفّذين للتحكّم في سلسلة استدعاء الدوال البرمجية لـ InitCallback. (I32b67)
  • تتطلّب السمة BundledEmojiCompatConfig الآن استخدام أداة تنفيذ للتحكّم في سلاسل تحميل البيانات. (I00e81)

الإصدار 1.4

الإصدار 1.4.0

‫9 أغسطس 2023

تم طرح androidx.emoji2:emoji2-*:1.4.0. يتضمّن الإصدار 1.4.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.3.0

  • تم تقديم مكتبة أداة اختيار رموز الإيموجي. لمزيد من التفاصيل، يُرجى الاطّلاع على مستند المطوّرين.

الإصدار 1.4.0-rc01

‏26 تموز (يوليو) 2023

تم طرح androidx.emoji2:emoji2-*:1.4.0-rc01. يتضمّن الإصدار 1.4.0-rc01 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • تقديم قائمة registerSource (Iae92f)
  • ملاحظات مجلس API: تمت إعادة تسمية TransitionManager.seekTo() إلى createSeekController(). يُرجى تعديل التعليق السابق بشأن إضافة TransitionManager.seekTo() إلى TransitionManager.createSeekController(). (Idbeb1)
  • تمت إضافة ExerciseRouteResult، وهو ليس الفئة الرئيسية لـ Data وNoData وConsentRequiredStates. تمت إضافة ExerciseRoute كفئة مستقلة تحتوي على بيانات الموقع الجغرافي للمسار. (I22eed)
  • تم طرح PagerLayoutInfo مع معلومات تم جمعها بعد اجتياز اختبار في Pager. تم أيضًا طرح PageInfo، وهي المعلومات المتعلّقة بصفحة واحدة تم قياسها في Pager. (Iad003، b/283098900)

إصلاح الأخطاء

  • عدّلنا ألوان Button وIconButton وTextButton بما يتوافق مع تصميم Material3. يمكن الآن تجاهل الدور الدلالي لكل من Button وIconButton وTextButton باستخدام Modifier.semantics. (Ib2495)
  • تم إصلاح مشكلة تأخُّر تحديثات مؤشرات علامات التبويب في EmojiPickerView بمقدار نقرة واحدة. (I4db04)
  • FileNotFoundException عند عرض أداة اختيار رموز الإيموجي (I353e4)
  • التقاط WindowManager.BadTokenException عند استخدام EmojiPickerView (I0a144)

الإصدار ‎1.4.0-beta05

‫7 يونيو 2023

تم طرح androidx.emoji2:emoji2-*:1.4.0-beta05. يتضمّن الإصدار 1.4.0-beta05 هذه التعديلات.

إصلاح الأخطاء

  • تم إصلاح خطأ تم تقديمه في الإصدار 1.3 وكان يتسبّب في تطبيق MetricsAffectingSpans مثل RelativeSizeSpan مرتين. مرة واحدة أثناء تخطيط النص، ومرة أخرى داخل EmojiSpan.draw كانت نتيجة الرسم ذات حجم غير صحيح، وتظهر إذا تم تغيير أي من مَعلمات حجم النص بواسطة النطاق. (b/283208650)

الإصدار ‎1.4.0-beta04

‫24 مايو 2023

تم طرح androidx.emoji2:emoji2-*:1.4.0-beta04. يتضمّن الإصدار 1.4.0-beta04 هذه التعديلات.

يحلّ هذا الإصدار خطأً كان موجودًا منذ الإصدار 1.0، حيث كانت طرق العرض التي تتضمّن معالجًا غير رئيسي تعرض استثناءً عند محاولة تعديل نطاقات الرموز التعبيرية بعد اكتمال تحميل الخط. لا يتوفّر حل بديل. إذا تأثّرت بهذا الخطأ، يُرجى الترقية إلى هذا الإصدار أو إصدار أحدث.

إصلاح الأخطاء

  • ستستخدِم الآن عمليات معاودة الاتصال EmojiCompat init المعالج من كل طريقة عرض، مع مراعاة طرق العرض التي لا تكون في سلسلة التعليمات الرئيسية. (Iccbcf)

الإصدار 1.4.0-beta03

‫10 مايو 2023

تم طرح androidx.emoji2:emoji2-*:1.4.0-beta03. يتضمّن الإصدار 1.4.0-beta03 هذه التعديلات.

إصلاح الأخطاء

  • إصلاح عُطل في عرض النافذة المنبثقة المتداخلة لأداة اختيار رموز الإيموجي (0acc8e)
  • طرح استثناءات مبكرة في EmojiCompat getEmojiStart/getEmojiEnd (26177f)

الإصدار 1.4.0-beta02

‫19 أبريل 2023

تم طرح androidx.emoji2:emoji2-*:1.4.0-beta02. يتضمّن الإصدار 1.4.0-beta02 هذه التعديلات.

إصلاح الأخطاء

  • تعديل ملفات خط الأساس الخاصة بأداة Lint (Iaa212)

الإصدار 1.4.0-beta01

‫5 أبريل 2023

تم طرح androidx.emoji2:emoji2-*:1.4.0-beta01. يتضمّن الإصدار 1.4.0-beta01 هذه التعديلات.

الميزات الجديدة

androidx.emoji2:emoji2-emojipicker

أداة اختيار الإيموجي هي حلّ لواجهة المستخدم يوفّر مظهرًا عصريًا، ورموز إيموجي محدّثة، وسهولة الاستخدام. يمكن للمستخدمين تصفّح رموز الإيموجي واختيارها واختيار أشكالها المختلفة، أو الاختيار من بين رموز الإيموجي التي تم استخدامها مؤخرًا. باستخدام هذه المكتبة، يمكن للتطبيقات على مختلف المصنّعين الأصليين للأجهزة توفير تجربة شاملة وموحّدة لرموز الإيموجي للمستخدمين بدون أن يضطر المطوّرون إلى إنشاء أداة اختيار رموز الإيموجي الخاصة بهم وصيانتها من البداية.

رموز إيموجي حديثة

يتم إصدار رموز إيموجي جديدة كل عام، وسنضيفها بشكل انتقائي إلى "أداة اختيار رموز الإيموجي". لضمان التوافق مع الأنظمة القديمة، نُجري داخليًا عملية تحقّق دقيقة من إمكانية عرض الرموز التعبيرية لإزالة التوفو. سيضمن ذلك توافق المكتبة مع إصدارات وأجهزة Android متعددة.

الخيارات الثابتة

سيؤدي الضغط مع الاستمرار على رمز إيموجي إلى عرض قائمة بالخيارات، مثل الجنس أو لون البشرة المختلفَين. سيتم حفظ الشكل الذي تختاره في أداة اختيار رموز الإيموجي، وسيتم استخدام الشكل الأخير الذي تم اختياره في اللوحة الرئيسية. باستخدام هذه الميزة، يمكن للمستخدمين إرسال أشكال الإيموجي المفضّلة لديهم بنقرة واحدة فقط.

الإيموجي المُستخدَم مؤخرًا

تتولّى حزمة RecentEmojiProvider مسؤولية توفير رموز الإيموجي في فئة "المستخدَمة مؤخرًا". تحتوي المكتبة على موفّر رموز إيموجي تلقائي مستخدَمة مؤخرًا يستوفي حالة الاستخدام الأكثر شيوعًا:

  • يتم حفظ جميع رموز الإيموجي المحدّدة على مستوى كل تطبيق في الإعدادات المفضّلة المشترَكة.
  • تعرض أداة الاختيار 3 صفوف على الأكثر من رموز الإيموجي المحدّدة، مع إزالة التكرار، بالترتيب الزمني العكسي.

إذا كان هذا السلوك التلقائي كافيًا، لن تحتاج إلى ضبط طريقة setRecentEmojiProvider().

العمل باستخدام EmojiCompat

إذا كان التطبيق يتضمّن مثيلاً من EmojiCompat، سيتم استخدامه في أداة اختيار رموز الإيموجي لعرض أكبر عدد ممكن من رموز الإيموجي. إذا كان EmojiCompat غير مفعّل، ستظلّ أداة اختيار رموز الإيموجي تعمل بشكلٍ جيد.

كيفية استخدام المكتبة

لاستخدام المكتبة، على مطوّر التطبيق إجراء ما يلي:

  1. استيراد androidx.emoji2:emojipicker:$version في build.gradle

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. تضخيم عرض أداة اختيار رموز الإيموجي وضبط emojiGridRows وemojiGridColumns اختياريًا استنادًا إلى الحجم المطلوب لكل خلية إيموجي

    • يمكنك تركها بدون ضبط، والقيمة التلقائية هي 9 emojiGridColumns، وسيتم احتساب الصفوف استنادًا إلى ارتفاع العرض المخصَّص للوالدَين وemojiGridColumns
    • يمكنك ضبط emojiGridRows كقيمة عائمة للإشارة إلى توفّر المزيد من رموز الإيموجي عند الانتقال إلى أسفل الصفحة في ملف XML
     <androidx.emoji2.emojipicker.EmojiPickerView
      android:id="@+id/emoji_picker"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:emojiGridColumns="9" />
    

في الرمز

    val emojiPickerView = EmojiPickerView(context).apply {
        emojiGridColumns = 15
        layoutParams = ViewGroup.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.MATCH_PARENT
        )
    }
    findViewById<ViewGroup>(R.id.emoji_picker_layout).addView(emojiPickerView)
  1. بافتراض أنّك تريد إلحاق الإيموجي المحدّد بعنصر EditText، استخدِم setOnEmojiPickedListener()

      emojiPickerView.setOnEmojiPickedListener {
          findViewById<EditText>(R.id.edit_text).append(it.emoji)
      }
    
  2. يمكنك اختياريًا ضبط RecentEmojiProvider، راجِع نموذج التطبيق للحصول على مثال على التنفيذ.

  3. يمكنك تخصيص الأنماط إذا أردت. أنشئ نمطك الخاص لتجاوز سمات المظهر الشائعة وطبِّق النمط على EmojiPickerView. على سبيل المثال، سيؤدي إلغاء colorControlNormal إلى تغيير لون رمز الفئة.

      <style name="CustomStyle" >
          <item name="colorControlNormal">#FFC0CB</item>
      </style>
      <androidx.emoji2.emojipicker.EmojiPickerView
          android:id="@+id/emoji_picker"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:theme="@style/CustomStyle"
          app:emojiGridColumns="9" />
    

يمكنك الاطّلاع على نموذج التطبيق للحصول على مثال على التنفيذ.

يمكنك الاطّلاع على واجهة برمجة التطبيقات الكاملة هنا.

تطبيق نموذجي

يوضّح هذا التطبيق النموذجي حالات الاستخدام الأساسية بالإضافة إلى السيناريوهات الإضافية التالية:

  • تمت إعادة تخطيط العرض لأنّه تمت إعادة ضبط emojiGridRows وemojiGridColumns.
  • يتم تجاهل مقدّم الإيموجي الحديث لترتيب الإيموجي حسب عدد مرات استخدامه.
  • تخصيص الأسلوب

التغييرات في واجهة برمجة التطبيقات

تم تعديل مكتبة Emoji Picker لتشمل واجهات برمجة التطبيقات الجديدة التالية:

  • فئة EmojiPickerView التي توفّر رموز إيموجي حديثة في عرض عمودي قابل للتمرير مع عنوان أفقي قابل للنقر
  • إمكانية ضبط عدد الأعمدة والصفوف في شبكة أداة اختيار رموز الإيموجي من خلال سمات XML emojiGridColumns وemojiGridRows أو الطريقتَين setEmojiGridColumns() وsetEmojiGridRows()
  • إمكانية ضبط مستمع الإيموجي المحدّد من خلال الطريقة setOnEmojiPickedListener() سيتم إرسال إشعار إلى المستمع كلّما نقر المستخدم على أي رمز إيموجي.
  • إمكانية توفير موفّر إيموجي حديث من خلال الطريقة setRecentEmojiProvider() هذه وظيفة اختيارية. في حال عدم ضبط مقدّم الرموز التعبيرية المستخدَمة مؤخرًا، ستستخدم المكتبة مقدّم رموز تعبيرية تلقائيًا. يتم تحديد السلوك التلقائي على النحو التالي:
    • سيتم حفظ جميع رموز الإيموجي المحدّدة على مستوى كل تطبيق في الإعدادات المفضّلة المشترَكة.
    • ستعرض أداة الاختيار 3 صفوف على الأكثر من رموز الإيموجي المحدّدة، مع إزالة التكرار، بالترتيب الزمني العكسي.
  • فئة EmojiViewItem التي تحتوي على الإيموجي المعروض وصيغه المختلفة
  • واجهة RecentEmojiProvider، التي يمكن تنفيذها لتوفير قائمة برموز إيموجي مستخدَمة مؤخرًا recentEmojiProvider هو المسؤول عن توفير رموز الإيموجي في فئة "المستخدَمة مؤخرًا".
  • واجهة RecentEmojiAsyncProvider، التي يمكن تنفيذها لتوفير قائمة برموز إيموجي مستخدَمة مؤخرًا تتولّى حزمة RecentEmojiAsyncProvider مسؤولية توفير رموز الإيموجي في فئة "المستخدَمة مؤخرًا". هذه الواجهة مكافئة للواجهة RecentEmojiProvider التي تتيح للعملاء تجاهل الطريقة getRecentEmojiListAsync() لتقديم رموز إيموجي حديثة.
  • فئة RecentEmojiProviderAdapter، وهي أداة ربط لـ RecentEmojiAsyncProvider وتنفّذ RecentEmojiProvider

الإصدار 1.4.0-alpha01

‫22 مارس 2023

تم طرح androidx.emoji2:emoji2-*:1.4.0-alpha01. يتضمّن الإصدار 1.4.0-alpha01 هذه التعديلات.

إصلاح الأخطاء

  • إصلاح الاختبارات وإيقاف الاختبارات غير المستقرة وعمليات التنظيف

الإصدار 1.3

الإصدار 1.3.0

‫22 مارس 2023

تم طرح androidx.emoji2:emoji2-*:1.3.0. يتضمّن الإصدار 1.3.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.2.0

  • يتيح هذا الإصدار استخدام Compose Foundation 1.4.0 أو إصدار أحدث لإتاحة دمج emoji2.
  • تتيح هذه السمة أيضًا ميزات لاستبدال EmojiSpans برمز رسم مخصّص، بالإضافة إلى إمكانية استبعاد رموز الإيموجي المحدّدة على Android.

الإصدار 1.3.0-rc01

‫8 مارس 2023

تم طرح androidx.emoji2:emoji2-*:1.3.0-rc01. يتضمّن الإصدار 1.3.0-rc01 هذه التعديلات.

الميزات الجديدة

  • هذا الإصدار مخصّص لتوفير إمكانية دمج إنشاء رموز emoji2.

التغييرات في واجهة برمجة التطبيقات

  • استبدِل النطاقات برمز الرسم المخصّص.
  • طلب استبعاد النظام

إصلاح الأخطاء

  • تم أيضًا إصلاح الخطأ الذي لم يتم فيه تطبيق النطاقات الخلفية بشكل صحيح خلف EmojiSopans.

الإصدار 1.3.0-beta03

‫23 فبراير 2023

تم طرح ميزات androidx.emoji2:emoji2-bundled:1.3.0-beta03 وandroidx.emoji2:emoji2-views:1.3.0-beta03 وandroidx.emoji2:emoji2-views-helper:1.3.0-beta03.

‫22 فبراير 2023

تم طرح androidx.emoji2:emoji2:1.3.0-beta03. يتضمّن الإصدار 1.3.0-beta03 هذه التعديلات.

الميزات الجديدة

  • لا توجد تغييرات. تم إصدار هذا التحديث للتحضير لعملية دمج Compose.

الإصدار ‎1.3.0-beta02

‫8 فبراير 2023

تم طرح androidx.emoji2:emoji2-*:1.3.0-beta02. يتضمّن الإصدار 1.3.0-beta02 هذه التعديلات.

الميزات الجديدة

  • هذا الإصدار هو إصدار تجريبي ثابت يتيح دمج Compose.

الإصدار 1.3.0-beta01

‫25 يناير 2023

تم طرح androidx.emoji2:emoji2-*:1.3.0-beta01. يتضمّن الإصدار 1.3.0-beta01 هذه التعديلات.

الميزات الجديدة

  • طلب استبعاد النظام
  • استبدال النطاقات برمز رسم مخصّص
  • تم إصلاح خطأ عدم تطبيق النطاقات الخلفية بشكل صحيح خلف EmojiSopans.
  • يضيف هذا الإصدار واجهات برمجة التطبيقات اللازمة لتوفير إمكانية استخدام EmojiCompat في Compose. نتوقّع أن يتوفّر دعم إنشاء إيموجي متوافق في إصدار قريب.

الإصدار 1.3.0-alpha01

‫11 يناير 2023

تم طرح androidx.emoji2:emoji2-*:1.3.0-alpha01. يتضمّن الإصدار 1.3.0-alpha01 هذه التعديلات.

واجهات برمجة تطبيقات جديدة للتفاعلات على مستوى منخفض

  • طلب البحث عن استبعادات العبارات
  • استبدال النطاقات برمز الرسم المخصّص
  • تم أيضًا إصلاح الخطأ الذي لم يتم فيه تطبيق النطاقات الخلفية بشكل صحيح خلف EmojiSopans.
  • يضيف هذا الإصدار واجهات برمجة التطبيقات اللازمة لتوفير EmojiCompat في Compose. نتوقّع أن يتوفّر دعم إنشاء إيموجي متوافق في إصدار قريب.

التغييرات في واجهة برمجة التطبيقات

  • تمت إضافة إمكانية طلب استثناءات النظام إلى TypefaceEmojiRasterizer. (I5653e)
  • تمت إضافة واجهة برمجة تطبيقات جديدة EmojiCompat.SpanFactory لاستبدال السلوك التلقائي EmojiSpan برمز مخصّص للرسم وتحديد الحجم. (Ib69d9)
  • تمت إضافة EmojiCompat إلى "إنشاء" (I96f37، b/139326806)

إصلاح الأخطاء

  • سيرسم Emoji2 الآن الخلفيات بشكل صحيح من BackgroundSpan. (Ide6a8، b/230525134)
  • وضع اللمسات الأخيرة على واجهات برمجة التطبيقات المتوافقة مع الإصدار 1.5.0-beta01 (I2a43d، b/236866227)

الإصدار 1.2

الإصدار 1.2.0

‫10 أغسطس 2022

تم طرح androidx.emoji2:emoji2-*:1.2.0. يتضمّن الإصدار 1.2.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.1.0

هذا إصدار يتضمّن إصلاحات للأخطاء. لم تتم إضافة أي ميزات أو واجهات برمجة تطبيقات جديدة منذ الإصدار 1.1.0.

ومع ذلك، يجب أن تعطي التطبيقات التي تستخدم الإصدار PrecomputedText أو TextView.setText(char[]) الأولوية للترقية إلى هذا الإصدار.

تم إصلاح الأخطاء التالية:

  • ستضيف Emoji2 رموز إيموجي إلى PrecomputedText من خلال تجاهل تخطيط النص الذي تم حسابه مسبقًا. (I47d06، b/211231958)
  • إصلاح عطل محرر الإصدار القديم من Android P إلى EditText الذي تم ضبطه لاستخدام emoji2 (Ifd709، b/216891011)
  • تم إصلاح مشكلة تعذُّر تحميل الخط عند تحميل emoji2 واستخدام TextView.setText(char[]). (Id511e، b/206859724)

الإصدار 1.2.0-rc01

‫27 يوليو 2022

تم طرح androidx.emoji2:emoji2-*:1.2.0-rc01. يتضمّن الإصدار 1.2.0-rc01 هذه التعديلات.

  • لم يتم إجراء أي تغييرات منذ آخر إصدار تجريبي.

الإصدار 1.2.0-beta01

‫13 يوليو 2022

تم طرح androidx.emoji2:emoji2-*:1.2.0-beta01. يتضمّن الإصدار 1.2.0-beta01 هذه التعديلات.

الميزات الجديدة

  • لم يتم إجراء أي تغييرات منذ الإصدار الأخير (هذا الإصدار مخصّص لتوفير توافق مع إصدار AppCompat).

الإصدار ‎1.2.0-alpha04

‫20 أبريل 2022

تم طرح androidx.emoji2:emoji2-*:1.2.0-alpha04. يتضمّن الإصدار 1.2.0-alpha04 هذه التعديلات.

الميزات الجديدة

  • لم يتم إجراء أي تغييرات في هذا الإصدار.

الإصدار ‎1.2.0-alpha03

‫6 أبريل 2022

تم طرح androidx.emoji2:emoji2-*:1.2.0-alpha03. يتضمّن الإصدار 1.2.0-alpha03 هذه التعديلات.

الميزات الجديدة

  • لم يتم إجراء أي تغييرات على الإصدار الأخير (هذا الإصدار مخصّص لدعم إصدار appcompat).

الإصدار 1.2.0-alpha02

‫23 مارس 2022

تم طرح androidx.emoji2:emoji2-*:1.2.0-alpha02. يتضمّن الإصدار 1.2.0-alpha02 هذه التعديلات.

إصلاح الأخطاء

  • ستضيف Emoji2 رموز إيموجي إلى PrecomputedText من خلال تجاهل تخطيط النص الذي تم حسابه مسبقًا. (I47d06، b/211231958)
  • إصلاح خطأ تعطل المحرّر في الإصدار Android P ونقله إلى EditText الذي تم إعداده لاستخدام emoji2 (Ifd709، b/216891011)
  • تم إصلاح مشكلة تعذُّر التشغيل عند تحميل الخط emoji2 واستخدام TextView.setText(char[]). (Id511e، b/206859724)

الإصدار 1.2.0-alpha01

‫23 فبراير 2022

تم طرح androidx.emoji2:emoji2-*:1.2.0-alpha01. يتضمّن الإصدار 1.2.0-alpha01 هذه التعديلات.

لم يتم إجراء أي تغييرات منذ الإصدار 1.1.0.

1.1

الإصدار 1.1.0

‫23 فبراير 2022

تم طرح androidx.emoji2:emoji2-*:1.1.0. يتضمّن الإصدار 1.1.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.0.0

  • تحتوي حزمة emoji2 على خط إيموجي 14
  • تعرض واجهة برمجة التطبيقات الجديدة getEmojiMatch معلومات دقيقة للوحات المفاتيح لتحديد كيفية عرض الإيموجي في حال توفّر خط emojicompat خلف خط النظام
  • إصلاح الخطأ NumberKeyListener الذي يجعل إدخال الأرقام يفلتر الأحرف بشكل صحيح.

الإصدار 1.1.0-rc01

‫9 فبراير 2022

تم طرح androidx.emoji2:emoji2-*:1.1.0-rc01. يتضمّن الإصدار 1.1.0-rc01 هذه التعديلات.

الميزات الجديدة

لم يتم إجراء أي تغييرات منذ الإصدار التجريبي.

الميزات الجديدة مقارنةً بإصدار emoji2 1.0.0:

  • تحتوي السمة emoji2-bundled على خط إيموجي 14
  • تعرض واجهة برمجة التطبيقات الجديدة getEmojiMatch معلومات دقيقة للوحات المفاتيح لتحديد كيفية عرض الإيموجي في حال توفّر خط emojicompat خلف خط النظام
  • إصلاح الخطأ NumberKeyListener الذي يجعل إدخال الأرقام يفلتر الأحرف بشكل صحيح

الإصدار 1.1.0-beta01

‫26 يناير 2022

تم طرح androidx.emoji2:emoji2-*:1.1.0-beta01. يتضمّن الإصدار 1.1.0-beta01 هذه التعديلات.

إصلاح الأخطاء

  • تم إصدار الإصدار التجريبي 01 من androidx-emoji2. ما مِن تغييرات عن الإصدار الأوّلي alpha01 (Ic61d9)

الإصدار ‎1.1.0-alpha01

15 كانون الأول (ديسمبر) 2021

تم طرح androidx.emoji2:emoji2-*:1.1.0-alpha01. يتضمّن الإصدار 1.1.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • يحتوي emoji2-bundled على خط إيموجي 14
  • تعرض واجهة برمجة التطبيقات الجديدة getEmojiMatch معلومات دقيقة للوحات المفاتيح لتحديد كيفية عرض الإيموجي في حال توفّر خط emojicompat خلف خط النظام
  • إصلاح الخطأ NumberKeyListener الذي يتيح فلترة الأحرف بشكل صحيح عند إدخال الأرقام

التغييرات في واجهة برمجة التطبيقات

  • إضافة واجهة برمجة تطبيقات جديدة getEmojiMatch للسماح للوحات المفاتيح بالبحث بدقة أكبر عن سلوك مطابقة الإيموجي في emojicompat
  • إيقاف hasEmojiGlyph نهائيًا، لأنّ القيمة المنطقية التي يتم إرجاعها غير دقيقة عند الاختبار باستخدام خط أقدم من خط رموز الإيموجي على النظام الأساسي استبدِلها بـ "getEmojiMatch". (Ie693d)

إصلاح الأخطاء

  • لن يلتف Emoji2 حول مثيلات NumberKeyListener، ما يسمح لـ TextView بضبط اللغة.
  • لن يلتفّ Appcompat حول مثيلات NumberKeyListener التي تم تمريرها إلى setKeyListener، ما يسمح لـ TextView بضبط اللغة بشكل صحيح على NumberKeyListeners. (Ibf113، b/207119921)

1.0

الإصدار 1.0.1

15 كانون الأول (ديسمبر) 2021

تم طرح androidx.emoji2:emoji2-*:1.0.1. يتضمّن الإصدار 1.0.1 هذه التعديلات.

إصلاح الأخطاء

  • لن يلتف Emoji2 حول مثيلات NumberKeyListener، ما يسمح لـ TextView بضبط اللغة.
  • لن يلتفّ Appcompat حول مثيلات NumberKeyListener التي تم تمريرها إلى setKeyListener، ما يسمح لـ TextView بضبط اللغة بشكل صحيح على NumberKeyListeners. (Ibf113، b/207119921)

الإصدار 1.0.0

17 تشرين الثاني (نوفمبر) 2021

تم طرح androidx.emoji2:emoji2-*:1.0.0. يتضمّن الإصدار 1.0.0 هذه التعديلات.

الميزات الرئيسية في الإصدار 1.0.0

يحلّ androidx.emoji2 محلّ androidx.emoji مع إمكانات إضافية:

  • تقليل حجم حِزم APK مقارنةً بحزمة androidx.emoji
  • الإعداد التلقائي
  • تمت إضافته كعنصر تابع إلى الإصدار 1.4 من AppCompat

لمزيد من المعلومات حول androidx.emoji2، يُرجى الاطّلاع على استخدام رموز الإيموجي الحديثة ومشاهدة محادثتنا في مؤتمر Android Dev Summit بعنوان عرض جميع رموز الإيموجي في تطبيقك.

الإصدار ‎1.0.0-rc01

‫27 أكتوبر 2021

تم طرح androidx.emoji2:emoji2-*:1.0.0-rc01. يتضمّن الإصدار 1.0.0-rc01 هذه التعديلات.

  • لم يتم إجراء أي تغييرات منذ الإصدار التجريبي 02.

‫Emoji2 الإصدار ‎1.0.0-beta01

‫15 سبتمبر 2021

تم طرح androidx.emoji2:emoji2-*:1.0.0-beta01. يتضمّن الإصدار 1.0.0-beta01 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • تمت إضافة setLoadingExecutor إلى FontRequestEmojiCompatConfig، التي تحلّ محل واجهة برمجة التطبيقات السابقة setHandler. تسمح واجهة برمجة التطبيقات هذه للتطبيقات بضبط FontRequestEmojiCompatConfig لاستخدام أي أداة تنفيذ في الخلفية.

    هذا التغيير هو تغيير غير متوافق مع androidx.emoji:emoji، لذا سيتم الاحتفاظ بـ setHandler كواجهة برمجة تطبيقات متوقفة نهائيًا بدون تنفيذ أي عملية للمساعدة في عملية نقل البيانات. (I6cd48)

  • تضبط EmojiCompat قيمة EditorInfo.extras بشكل صحيح على Android 11

    • يمكن أن تستدعي التطبيقات المصغّرة المخصّصة التي تستخدم محرر أسلوب الإدخال (IME) ولا تصنّف EditText فرعيًا الدالة EmojiCompat.updateEditorInfo لإعلام محرر أسلوب الإدخال بأنّها تتوافق مع معالجة EmojiCompat. (I1ea9b)

إصلاح الأخطاء

  • إصلاح DefaultEmojiCompatConfig للبحث بشكل صحيح عن موفّر خطوط الإيموجي على الإصدارَين 19 و28 من واجهة برمجة التطبيقات يؤدي ذلك إلى إصلاح خطأ تم تقديمه في الإصدار 1.0.0‎-alpha01 من emoji2. (Ib33d8، b/197906329)

الإصدار ‎1.0.0-alpha03

‫30 حزيران (يونيو) 2021

تم طرح androidx.emoji2:emoji2-*:1.0.0-alpha03. يتضمّن الإصدار 1.0.0-alpha03 هذه التعديلات.

الميزات الجديدة

هذا الإصدار هو إصدار لإصلاح الأخطاء وتحسين الثبات.

  1. يتيح EmojiEditTextHelper الآن تمرير null كـ KeyListener. يتيح ذلك تطبيق سلوك المنصة الذي يسمح بقيم فارغة على عمليات تنفيذ EditText التي تتوافق مع الرموز التعبيرية.
  2. عند استخدام EmojiCompatInitializer، يتم تحسين تأخير بدء التشغيل الأولي ليتم تشغيله بعد استئناف النشاط الأول. يتيح ذلك بدء تشغيل التطبيق بدون أي عوائق، ويتجنّب تحميل الخط عند بدء تشغيل التطبيقات التي لا تعرض واجهة مستخدم. بعد تأخير قصير، ستنشئ مكتبة EmojiCompat سلسلة محادثات لتحميل خط الإيموجي.
  • تتم إضافة تبعية جديدة على androidx.lifecycle:lifecycle-process من androidx.emoji2:emoji2 لتنفيذ التأخير. سيكون لهذا الإجراء تأثير ضئيل على حجم حِزم APK للتطبيقات التي تتضمّن دورة الحياة (مثل التطبيقات التي تستخدم appcompat).

التغييرات في واجهة برمجة التطبيقات

  • السماح باستخدام KeyListener بقيمة فارغة في AppCompatEditText يؤدي ذلك إلى إلغاء التعليق التوضيحي غير الفارغ الذي تمت إضافته إلى AppCompatEditText في الإصدار 1.4.0-alpha01، واستعادة السلوك السابق عند تمرير قيمة فارغة. (I21482، b/189559345)

إصلاح الأخطاء

  • تغيير EmojiCompatInitializer لتأخير تحميل الخط حتى 500 ملي ثانية بعد أول Activity.onResume يتيح ذلك تنفيذ النشاط Application.onCreate وActivity.onCreate بدون أي منافسة، مع ضمان تحميل خط الرموز التعبيرية بعد وقت قصير من بدء تشغيل التطبيق. (I4bff7)

الإصدار ‎1.0.0-alpha02

‫2 يونيو 2021

تم طرح ميزات androidx.emoji2:emoji2:1.0.0-alpha02 وandroidx.emoji2:emoji2-views:1.0.0-alpha02 وandroidx.emoji2:emoji2-views-helper:1.0.0-alpha02. يتضمّن الإصدار 1.0.0-alpha02 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • تمت إعادة تسمية الحزمة في emoji2-views-helper إلى androidx.emoji2.viewsintegration. هذا تغيير قد يؤدي إلى عطل في AppCompat 1.4.0-alpha01، ويجب أن تتأكّد التطبيقات من تعديل الاعتمادية على AppCompat لاستخدام الإصدار الجديد من emoji2. (Ie8397)

الإصدار ‎1.0.0-alpha01

‫18 أيار (مايو) 2021

تم طرح ميزات androidx.emoji2:emoji2:1.0.0-alpha01 وandroidx.emoji2:emoji2-views:1.0.0-alpha01 وandroidx.emoji2:emoji2-views-helper:1.0.0-alpha01. يتضمّن الإصدار 1.0.0-alpha01 هذه التعديلات.

الميزات في هذا الإصدار الأوّلي

ننصح بدمج مكتبة emojicompat في جميع التطبيقات لتوفير رموز إيموجي حديثة بدءًا من المستوى 19 لواجهة برمجة التطبيقات. يتضمّن كل المحتوى من إنشاء المستخدمين في تطبيقك الرمز 🎉.

تم نقل EmojiCompat من عناصر androidx.emoji إلى androidx.emoji2 الجديدة، وهي متاحة الآن في الإصدار alpha01. تحلّ العناصر الجديدة محلّ الإصدار السابق.

تتم إضافة emoji2 كاعتمادية إلى AppCompat بدءًا من AppCompat 1.4.0-alpha01 ويتم تفعيله تلقائيًا لعناصر AppCompat.

تقدّم حزمة emoji2 البرمجية إعدادًا تلقائيًا جديدًا باستخدام مكتبة androidx.startup. لم يعُد عليك كتابة أي رمز 👨🏽‍💻 لعرض 🐻‍❄️.

التغييرات في emoji2 مقارنةً بـ emoji

  • تمت إضافة إعدادات تلقائية جديدة EmojiCompatInitializer باستخدام androidx.startup.
  • تمت إضافة إعداد تلقائي جديد يستخدم موقع الخدمة للعثور على مقدّم خطوط قابلة للتنزيل في DefaultEmojiCompatConfiguration.
  • تم نقل الفئات من حزمة androidx.emoji إلى androidx.emoji2.
  • قسِّم العرض EmojiTextView والعروض ذات الصلة إلى عنصر منفصل emoji2-views. يجب استخدام هذا الخيار فقط إذا كان تطبيقك لا يستخدم appcompat.
  • تم استخراج أدوات مساعدة لدمج emojicompat في طرق العرض المخصّصة في عنصر منفصل emoji2-views-helper.
  • تمت إضافة تعليقات توضيحية بشأن إمكانية قبول القيمة الخالية.
  • يمكن الآن استخدام أدوات المساعدة في emoji2-views-helper حتى عندما لا يتم تهيئة EmojiCompat (كانت هذه الأدوات تعرض استثناءً في السابق).

ما هي التبعية التي يجب إضافتها؟

  • يجب ترقية التطبيقات التي تستخدم AppCompat إلى الإصدار AppCompat 1.4.0-alpha01 أو إصدار أحدث.
  • يجب أن تستخدم التطبيقات التي لا تستخدم AppCompat TextView/EditText من النظام الأساسي EmojiTextView والفئات ذات الصلة من emoji2-views.

كيفية إتاحة طرق العرض المخصّصة

  • يجب أن تستخدم التطبيقات التي تتضمّن AppCompat الإصدارات AppCompatTextView وAppCompatButton وما إلى ذلك بدلاً من الإصدارات TextView وما إلى ذلك من النظام الأساسي.
  • يجب أن تضيف التطبيقات التي لا تستخدم AppCompat التبعية androidx.emoji2:emoji2-views-helper وأن تستخدم أدوات مساعدة للتكامل مع الفئات الفرعية المخصّصة TextView أو EditText.

ضبط الإعدادات التلقائية

  • يمكن للتطبيقات إيقاف عملية التهيئة التلقائية من خلال إضافة ما يلي إلى البيان:

     <provider
         android:name="androidx.startup.InitializationProvider"
         android:authorities="${applicationId}.androidx-startup"
         android:exported="false"
         tools:node="merge">
         <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
                   tools:node="remove" />
     </provider>
    
  • يؤدي ذلك إلى إيقاف الإعداد التلقائي، ويمكنك بعد ذلك تمرير إعداد مخصّص إلى EmojiCompat.init. يمكن استرداد الإعداد التلقائي للنظام DefaultEmojiCompatConfig.create(context) لإجراء المزيد من الإعدادات قبل الانتقال إلى EmojiCompat.init.

Emoji2 Emojipicker الإصدار 1.0

الإصدار ‎1.0.0-alpha03

‫8 مارس 2023

تم طرح androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03. يتضمّن الإصدار 1.0.0-alpha03 هذه التعديلات.

إصلاح الأخطاء

  • تمت إزالة الموارد غير الضرورية وتقليل حجم المكتبة بمقدار 0.3 مليون تقريبًا.

الإصدار ‎1.0.0-alpha02

‫22 فبراير 2023

تم طرح androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02. يتضمّن الإصدار 1.0.0-alpha02 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • تمت إضافة واجهة برمجة تطبيقات جديدة لعملاء Java ليتمكّنوا من تقديم رموز إيموجي حديثة. (I39d10)

إصلاح الأخطاء

  • تعديل موارد الإيموجي لتتوافق مع الإصدار 15.0 من الإيموجي (Ib4eb3)
  • عند اختيار إيموجي من النافذة المنبثقة، يتم تعديل جميع رموز الإيموجي المتطابقة إلى الإيموجي الذي تم اختياره حديثًا (باستثناء صف الإيموجي الحديث). الإعلان أيضًا عن رمز الإيموجي عند النقر عليه (I892c6)
  • انتظِر إلى أن يتم تحميل emojicompat قبل عرض EmojiPickerView. (I29e03)

الإصدار ‎1.0.0-alpha01

‫25 يناير 2023

تم طرح androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01. يتضمّن الإصدار 1.0.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • تم طرح أداة اختيار رموز الإيموجي التي توفّر تجربة مستخدم متّسقة مع أحدث رموز الإيموجي على جميع أجهزة وتطبيقات نظام التشغيل Android OEM. توفّر هذه المكتبة أحدث رموز الإيموجي وواجهة مستخدم أداة اختيار رموز الإيموجي، بما في ذلك ألوان البشرة المختلفة وإمكانية استخدام رموز الإيموجي المتوافقة.

التغييرات في واجهة برمجة التطبيقات

  • تم تقديم فئة EmojiPickerView توفّر رموز إيموجي حديثة في عرض عمودي قابل للتمرير مع عنوان أفقي قابل للنقر.
  • يمكن ضبط أعمدة شبكة أداة اختيار رموز الإيموجي من خلال سمة تنسيق XML emojiGridColumns أو الدالة setEmojiGridColumns().
  • يمكن ضبط صفوف شبكة أداة اختيار رموز الإيموجي من خلال سمة تنسيق XML emojiGridRows أو الدالة setEmojiGridRows().
  • يمكن ضبط أداة معالجة الإيموجي المحدّد من خلال setOnEmojiPickedListener() وسيتم إرسال إشعار إلى أداة المعالجة عندما ينقر المستخدم على أي إيموجي.
  • يمكن تقديم موفّر رموز الإيموجي الحديثة باستخدام setRecentEmojiProvider(). هذه وظيفة اختيارية. إذا لم يتم ضبط مقدّم الرموز التعبيرية المستخدَمة مؤخرًا، ستستخدم المكتبة مقدّم رموز تعبيرية تلقائيًا. يتم تحديد السلوك التلقائي على النحو التالي: 1) سيتم حفظ جميع رموز الإيموجي المحدّدة على مستوى كل تطبيق في الإعدادات المفضّلة المشترَكة. ‫2) ستعرض أداة الاختيار 3 صفوف على الأكثر من رموز الإيموجي المحدّدة، مع إزالة التكرار، بالترتيب الزمني العكسي.
  • تم تقديم الفئة EmojiViewItem التي تحتوي على الإيموجي المعروض وصيغه.
  • تم تقديم واجهة RecentEmojiProvider يمكن تنفيذها لتوفير قائمة إيموجي حديثة. تتولّى حزمة recentEmojiProvider مسؤولية توفير رموز الإيموجي في فئة "المستخدَمة مؤخرًا".