Emoji2
التعديل الأخير | الإصدار الثابت | سحب المرشح | الإصدار التجريبي | الإصدار التجريبي الأول |
---|---|---|---|---|
4 سبتمبر 2024 | 1.5.0 | - | - | - |
الإعلان عن التبعيات
لإضافة رمز تعبيري على Emoji2، يجب إضافة مستودع Google Maven إلى مشروعك. يمكنك الاطّلاع على مستودع Maven من Google للحصول على مزيد من المعلومات.
أضِف التبعيات للعناصر التي تحتاج إليها في ملف build.gradle
ل
تطبيقك أو وحدتك:
Groovy
dependencies { def emoji2_version = "1.5.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.5.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإصدار.
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. أخبرنا إذا اكتشفت مشكلات جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية عن طريق النقر على زر النجمة.
اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.
Emoji2 Emojipicker Version 1.0
الإصدار 1.5.0
4 أيلول (سبتمبر) 2024
تم إصدار androidx.emoji2:emoji2-*:1.5.0
. يتضمّن الإصدار 1.5.0 عمليات الربط هذه.
التغييرات المهمة منذ الإصدار 1.4.0
- إتاحة الإصدار 15.1 من الرموز التعبيرية وواجهة مستخدم أداة اختيار رموز الإيموجي الثنائية الاتجاه من خلال نقرة بسيطة على مفتاح التبديل ثنائي الاتجاه، يمكن للمستخدمين التبديل بين رموز الإيموجي الموجّهة لليسار واليمين.
- إتاحة أداة اختيار الرموز التعبيرية المتعدّدة الألوان يؤدي الضغط مع الاستمرار على رموز الإيموجي الخاصة بالزوجين إلى إظهار أداة اختيار رموز تعبيرية لعدة أشخاص في الحالة صفر. عندما ينقر المستخدم على النصف الأيمن من الرمز التعبيري، سيتم تعديل معاينة الرموز التعبيرية في أسفل يسار الرمز وفقًا لذلك. عندما يختار المستخدم نصفَي رمز تعبيري، ستعرض معاينة الرمز التعبيري في أسفل يسار الشاشة الرمز التعبيري بالكامل، ويمكن للمستخدم إدخاله بعد ذلك.
الإصدار 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. ويوفّر أحدث ميزات التوافق مع رموز الإيموجي وواجهة مستخدم أداة اختيار الرموز التعبيرية، بما في ذلك خيارات درجات لون البشرة ودعم التوافق مع رموز الإيموجي.
تغييرات واجهة برمجة التطبيقات
- تمّت إضافة فئة
EmojiPickerView
التي تقدّم رموزًا تعبيرية محدّثة في عرض عمودي قابل للتمرير مع عنوان أفقي قابل للنقر. - يمكن ضبط أعمدة شبكة أداة اختيار الرموز التعبيرية من خلال سمة XML
emojiGridColumns
أو الدالةsetEmojiGridColumns()
. - يمكن ضبط صفوف شبكة أداة اختيار الرموز التعبيرية من خلال سمة XML
emojiGridRows
أو الدالةsetEmojiGridRows()
. - يمكن ضبط المستمع الذي تم اختياره من الرموز التعبيرية من خلال
setOnEmojiPickedListener()
، وسيتم إعلام المستمع عندما ينقر المستخدم على أي رمز تعبيري. - يمكن تزويد موفّر الرموز التعبيرية الأخيرة بـ
setRecentEmojiProvider()
. هذه دالة اختيارية. في حال عدم ضبط مقدّم الرموز التعبيرية الأخيرة، ستستخدم المكتبة مقدّم رموز تعبيرية تلقائيًا. يتم تحديد السلوك التلقائي على النحو التالي: 1) سيتم حفظ جميع الرموز التعبيرية المحدّدة على مستوى كل تطبيق في الإعدادات المفضّلة المشتركة. 2) ستعرض أداة الاختيار 3 صفوف بحد أقصى من الرموز التعبيرية المحدّدة، بعد إزالة تكرارها، بالترتيب الزمني العكسي. - تمّت إضافة فئة
EmojiViewItem
التي تحتوي على الرمز التعبيري المعروض ونُسخه. - تمّ تقديم واجهة
RecentEmojiProvider
التي يمكن تنفيذها لتوفير قائمة بالرموز التعبيرية الأخيرة. تتحمّلrecentEmojiProvider
مسؤولية توفير رموز الإيموجي في فئة "المستخدمة مؤخرًا".
الإصدار 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 مع AGP 7.3 أو إصدار أحدث (مثل R8 الإصدار 3.3) وكذلك لجميع الإصدارات عند استخدام AGP 8.1 أو الإصدارات الأحدث (مثل D8 الإصدار 8.1). ننصح العملاء الذين لا يستخدمون 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) - ملاحظات مجلس واجهة برمجة التطبيقات: تمت إعادة تسمية
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
الآن المعالِج من كل ملف شخصي، مع مراعاة عدد المشاهدات التي ليست في سلسلة المحادثات الرئيسية. (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.gradle
.dependencies { 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
. - يتم إلغاء موفِّر الرموز التعبيرية الأخيرة لترتيبها حسب تكرارها.
- تخصيص الأنماط
التغييرات في واجهة برمجة التطبيقات
تم تعديل مكتبة "أداة اختيار رموز الإيموجي" باستخدام واجهات برمجة التطبيقات الجديدة التالية:
- فئة
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 compose.
تغييرات واجهة برمجة التطبيقات
- استبدِل النطاقات برمز الرسم المخصّص.
- طلب استثناءات النظام
إصلاح الأخطاء
- تم أيضًا إصلاح خطأ في عدم تطبيق مساحات الخلفية بشكل صحيح خلف
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 على هذه المراجعات.
الميزات الجديدة
- لا تغييرات. يهدف هذا الإصدار إلى الاستعداد لدمج ميزة "الإنشاء".
الإصدار 1.3.0-beta02
8 شباط (فبراير) 2023
تم إصدار androidx.emoji2:emoji2-*:1.3.0-beta02
. يحتوي الإصدار 1.3.0-beta02 على هذه المراجعات.
الميزات الجديدة
- هذا الإصدار مستقر ويسمح بدمج ميزة "الإنشاء".
الإصدار 1.3.0-beta01
25 كانون الثاني (يناير) 2023
تم إصدار androidx.emoji2:emoji2-*:1.3.0-beta01
. يحتوي الإصدار 1.3.0-beta01 على هذه المراجعات.
الميزات الجديدة
- طلب استبعادات النظام
- استبدال النطاقات برمز الرسم المخصّص
- تم أيضًا إصلاح خطأ في عدم تطبيق مساحات الخلفية بشكل صحيح خلف
EmojiSopans
. - يضيف هذا الإصدار واجهات برمجة التطبيقات اللازمة لتفعيل
EmojiCompat
في ميزة "الإنشاء". من المتوقّع أن يتوفّر في المستقبل القريب إصدار يتيح استخدام الرموز التعبيرية في ميزة "إنشاء".
الإصدار 1.3.0-alpha01
11 كانون الثاني (يناير) 2023
تم طرح androidx.emoji2:emoji2-*:1.3.0-alpha01
. يحتوي الإصدار 1.3.0-alpha01 على هذه المراجعات.
واجهات برمجة تطبيقات جديدة للتفاعلات المنخفضة المستوى
- طلب استثناءات النظام
- استبدال النطاقات برمز الرسم المخصّص
- تم أيضًا إصلاح خطأ في عدم تطبيق مساحات الخلفية بشكل صحيح خلف
EmojiSopans
. - يضيف هذا الإصدار واجهات برمجة التطبيقات اللازمة لتفعيل
EmojiCompat
في ميزة "الإنشاء". من المتوقّع أن يتوفّر في المستقبل القريب إصدار يتيح استخدام الرموز التعبيرية في ميزة "إنشاء".
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة إمكانية طلب استثناءات النظام إلى
TypefaceEmojiRasterizer
. (I5653e) - تمت إضافة واجهة برمجة تطبيقات جديدة
EmojiCompat.SpanFactory
لاستبدال سلوكEmojiSpan
التلقائي برمز رسم وحجم مخصّصَين. (Ib69d9) - تمت إضافة
EmojiCompat
إلى Compose (I96f37، وb/139326806).
إصلاح الأخطاء
- سيرسم Emoji2 الآن الخلفيات بشكل صحيح من
BackgroundSpan
. (Ide6a8، b/230525134) - وضع اللمسات الأخيرة على واجهات برمجة تطبيقات AppCompat للإصدار 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)
- إصلاح التعطُّل عند تحميل الرموز التعبيرية 2 الخط واستخدام
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 على خط emoji 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
على خط Emoji 14 - تُعرِض واجهة برمجة التطبيقات
getEmojiMatch
الجديدة معلومات دقيقة للوحات المفاتيح لتحديد كيفية عرض الرموز التعبيرية في حال توفّر خط emojicompat خلف خط النظام. - إصلاح خطأ في
NumberKeyListener
يؤدي إلى فلترة الأحرف بشكل صحيح عند إدخال الأرقام
الإصدار 1.1.0-beta01
26 كانون الثاني (يناير) 2022
تم إصدار androidx.emoji2:emoji2-*:1.1.0-beta01
. يحتوي الإصدار 1.1.0-beta01 على هذه المراجعات.
إصلاح الأخطاء
- إصدار androidx-emoji2 beta01 ما مِن تغييرات عن الإصدار alpha01 (Ic61d9).
الإصدار 1.1.0-alpha01
15 كانون الأول (ديسمبر) 2021
تم إصدار androidx.emoji2:emoji2-*:1.1.0-alpha01
. يحتوي الإصدار 1.1.0-alpha01 على هذه المراجعات.
الميزات الجديدة
- يحتوي
emoji2-bundled
على خط Emoji 14 - تُعرِض واجهة برمجة التطبيقات
getEmojiMatch
الجديدة معلومات دقيقة للوحات المفاتيح لتحديد كيفية عرض الرموز التعبيرية في حال توفّر خط emojicompat خلف خط النظام. - إصلاح خطأ في
NumberKeyListener
يؤدي إلى فلترة الأحرف بشكل صحيح عند إدخال الأرقام
تغييرات واجهة برمجة التطبيقات
- إضافة واجهة برمجة تطبيقات جديدة
getEmojiMatch
للسماح للوحات المفاتيح بالبحث عن سلوك مطابقة الرموز التعبيرية بدقة أكبر في emojicompat - إيقاف
hasEmojiGlyph
نهائيًا، لأنّ القيمة المنطقية المعروضة غير دقيقة عند اختبارها باستخدام خط أقدم من خط الرموز التعبيرية للنظام الأساسي استبدِل الرمز بـgetEmojiMatch
. (Ie693d)
إصلاح الأخطاء
- لن يؤدي Emoji2 إلى التفاف مثيلات
NumberKeyListener
، ما يسمح بضبط اللغة من خلالTextView
. - لن يلتف Appcompat مثيلات
NumberKeyListener
التي تم تمريرها إلىsetKeyListener
، ما يسمح لـTextView
بضبط اللغة علىNumberKeyListeners
بشكل صحيح. (Ibf113، b/207119921)
1
الإصدار 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
- الضبط التلقائي
- تمت الإضافة كتبعية إلى appcompat 1.4
لمزيد من المعلومات حول androidx.emoji2، يُرجى الاطّلاع على مقالة إتاحة رموز الإيموجي الحديثة ومحادثة Android Dev Summit عرض كل الرموز التعبيرية في تطبيقك.
الإصدار 1.0.0-rc01
27 تشرين الأول (أكتوبر) 2021
تم إصدار androidx.emoji2:emoji2-*:1.0.0-rc01
. يحتوي الإصدار 1.0.0-rc01 على هذه عمليات التنفيذ.
- ما مِن تغييرات منذ الإصدار التجريبي 02.
الإصدار 1.0.0-beta01 من Emoji2
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
لإعلام IME بأنّها تتيح معالجة EmojiCompat. (I1ea9b)
- بالنسبة إلى التطبيقات المصغّرة المخصّصة التي تستخدم أداة IME والتي لا تصنّف EditText ضمن فئات فرعية، قد تطلب
إصلاح الأخطاء
- إصلاح
DefaultEmojiCompatConfig
للبحث بشكل صحيح عن موفّر خط رموز الإيموجي في واجهتَي برمجة التطبيقات 19 و28 يعالج هذا الخلل الذي حدث في emoji2 1.0.0-alpha01. (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 للتطبيقات التي تتضمّن واجهة برمجة التطبيقات lifecycle (مثل التطبيقات التي تتضمّن حزمة appcompat).
تغييرات واجهة برمجة التطبيقات
- السماح بقيمة null لمستمع المفاتيح في 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
الجديدة، وهي الآن في الإصدار التجريبي 01. تحل العناصر الجديدة محل النسخة السابقة.
تتم إضافة 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
.