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:
- يتم إيقافها
EmojiCompatتلقائيًا. على أجهزة Android 15 والإصدارات الأحدث، يكون خيارEmojiCompatغير مفعّل تلقائيًا. - تحسينات في الأداء أصبحت عملية فحص النصوص أسرع بمقدار 4 إلى 6 مرات، وانخفضت عمليات تخصيص الذاكرة عند بدء التشغيل بنسبة %99.6.
- يبلغ عمر "
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 من رموز الإيموجي
- أضِف اللاحقة "إيموجي" إلى وصف المحتوى الخاص برموز الإيموجي.
إصلاح الأخطاء
- نقل القيمة التلقائية
minSdkمن المستوى 21 لواجهة برمجة التطبيقات إلى المستوى 23 (Ibdfca، b/380448311، b/435705964، b/435705223)
الإصدار 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" إلى وصف المحتوى
إصلاح الأخطاء
- تستخدم هذه المكتبة الآن تعليقات توضيحية بشأن القيم الخالية من JSpecify، وهي تعليقات توضيحية خاصة باستخدام النوع. على مطوّري Kotlin استخدام وسيطتَي المترجم البرمجي التاليتَين لفرض الاستخدام الصحيح:
-Xjspecify-annotations=strictو-Xtype-enhancement-improvements-strict-mode(Id07e7 وb/326456246)
الإصدار 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، حيث كانت طرق العرض التي تتضمّن معالجًا غير رئيسي تعرض استثناءً عند محاولة تعديل نطاقات الرموز التعبيرية بعد اكتمال تحميل الخط. لا يتوفّر حل بديل. إذا تأثّرت بهذا الخطأ، يُرجى الترقية إلى هذا الإصدار أو إصدار أحدث.
إصلاح الأخطاء
- ستستخدِم الآن عمليات معاودة الاتصال
EmojiCompatinit المعالج من كل طريقة عرض، مع مراعاة طرق العرض التي لا تكون في سلسلة التعليمات الرئيسية. (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 غير مفعّل، ستظلّ أداة اختيار رموز الإيموجي تعمل بشكلٍ جيد.
كيفية استخدام المكتبة
لاستخدام المكتبة، على مطوّر التطبيق إجراء ما يلي:
استيراد
androidx.emoji2:emojipicker:$versionفيbuild.gradledependencies { implementation "androidx.emoji2:emojipicker:$version" }تضخيم عرض أداة اختيار رموز الإيموجي وضبط
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" />- يمكنك تركها بدون ضبط، والقيمة التلقائية هي 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)
بافتراض أنّك تريد إلحاق الإيموجي المحدّد بعنصر EditText، استخدِم
setOnEmojiPickedListener()emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }يمكنك اختياريًا ضبط
RecentEmojiProvider، راجِع نموذج التطبيق للحصول على مثال على التنفيذ.يمكنك تخصيص الأنماط إذا أردت. أنشئ نمطك الخاص لتجاوز سمات المظهر الشائعة وطبِّق النمط على
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)
- يمكن أن تستدعي التطبيقات المصغّرة المخصّصة التي تستخدم محرر أسلوب الإدخال (IME) ولا تصنّف EditText فرعيًا الدالة
إصلاح الأخطاء
- إصلاح
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 هذه التعديلات.
الميزات الجديدة
هذا الإصدار هو إصدار لإصلاح الأخطاء وتحسين الثبات.
- يتيح EmojiEditTextHelper الآن تمرير
nullكـ KeyListener. يتيح ذلك تطبيق سلوك المنصة الذي يسمح بقيم فارغة على عمليات تنفيذ EditText التي تتوافق مع الرموز التعبيرية. - عند استخدام 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. هذا تغيير قد يؤدي إلى عطل في AppCompat1.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مسؤولية توفير رموز الإيموجي في فئة "المستخدَمة مؤخرًا".