الرمز التعبيري 2
التعديل الأخير | الإصدار المستقر | سحب المرشح | الإصدار التجريبي | إصدار أولي |
---|---|---|---|---|
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. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى إلقاء نظرة على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية عن طريق بالنقر فوق زر النجمة.
يُرجى الاطّلاع على مستندات أداة تتبُّع المشاكل. لمزيد من المعلومات.
الإصدار 1.0 من أداة اختيار رموز الإيموجي Emoji2
الإصدار 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 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة واجهة برمجة تطبيقات جديدة لبرامج جافا لإتاحة الرموز التعبيرية الحديثة. (I39d10)
إصلاح الأخطاء
- تعديل موارد الرموز التعبيرية لإتاحة الإصدار 15.0 من الرموز التعبيرية (Ib4eb3)
- عند اختيار رمز تعبيري من النافذة المنبثقة، يجب تعديل جميع الرموز التعبيرية المتطابقة للحصول على الرمز التعبيري الذي تم اختياره مؤخرًا (باستثناء صف الرموز التعبيرية الأخيرة). استخدام الرمز التعبيري أيضًا عند النقر عليه (I892c6)
- يُرجى الانتظار إلى أن يتم تحميل الرموز التعبيرية قبل عرض
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
بالمعلومات التي تم جمعها بعد اجتياز القياس في جهاز النداء. وقدّمنا أيضًا معلومات PageInfo، وهي معلومات عن صفحة واحدة تم قياسها في جهاز النداء. (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
والإصدارات الأحدث تفعيل دمج الرموز التعبيرية 2. - وتسمح أيضًا بميزات استبدال
EmojiSpans
برمز رسم مخصّص، بالإضافة إلى إتاحة استبعادات الرموز التعبيرية المحدَّدة على Android.
الإصدار 1.3.0-rc01
8 آذار (مارس) 2023
تم طرح androidx.emoji2:emoji2-*:1.3.0-rc01
. يحتوي الإصدار 1.3.0-rc01 على هذه عمليات التنفيذ.
الميزات الجديدة
- يتيح هذا الإصدار دمج ميزة إنشاء الرموز التعبيرية 2.
التغييرات في واجهة برمجة التطبيقات
- يمكنك استبدال المسافات لرمز الرسم المخصّص.
- طلب استبعادات النظام
إصلاح الأخطاء
- وتم إصلاح خطأ عدم تطبيق امتدادات الخلفية بشكل صحيح خلال
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
في 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
إلى Compose (I96f37، وb/139326806).
إصلاح الأخطاء
- سيرسم الآن Emoji2 الخلفيات من
BackgroundSpan
بشكل صحيح. (Ide6a8، b/230525134) - إنهاء واجهات AppCompat API للإصدار 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
والتي تم ضبطها لاستخدام الرموز التعبيرية 2 (Ifd709 وb/216891011) - إصلاح التعطُّل عند تحميل الرموز التعبيرية 2 الخط واستخدام
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 على هذه عمليات التنفيذ.
الميزات الجديدة
- ما مِن تغييرات عن الإصدار الأخير (هذا الإصدار يتوافق مع إصدار التطبيق المتوافق مع الأجهزة الجوّالة).
الإصدار 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 من خلال الإعداد لاستخدام الرموز التعبيرية 2 (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
- مجموعة الرموز التعبيرية 2 تحتوي على رمز تعبيري بحجم 14 خط.
- تعرض واجهة برمجة التطبيقات
getEmojiMatch
الجديدة معلومات دقيقة للوحات المفاتيح لتحديد كيفية عرض الرموز التعبيرية إذا كان خط الرموز التعبيرية خلف خط النظام. - إصلاح خطأ في
NumberKeyListener
إذا كان إدخال الأرقام يعمل على فلترة الأحرف بشكل صحيح.
الإصدار 1.1.0-rc01
9 شباط (فبراير) 2022
تم طرح androidx.emoji2:emoji2-*:1.1.0-rc01
. يحتوي الإصدار 1.1.0-rc01 على هذه عمليات التنفيذ.
الميزات الجديدة
ما مِن تغييرات من الإصدار التجريبي.
الميزات الجديدة مقارنةً بالإصدار 1.0.0 من الرموز التعبيرية:
- خط
emoji2-bundled
يحتوي على الرمز التعبيري 14 - تعرض واجهة برمجة التطبيقات
getEmojiMatch
الجديدة معلومات دقيقة للوحات المفاتيح لتحديد كيفية عرض الرموز التعبيرية إذا كان خط الرموز التعبيرية خلف خط النظام. - إصلاح أخطاء
NumberKeyListener
الذي يجعل إدخال الأرقام يعمل بشكل صحيح مع الأحرف
الإصدار 1.1.0-beta01
26 يناير 2022
تم طرح androidx.emoji2:emoji2-*:1.1.0-beta01
. يحتوي الإصدار 1.1.0-beta01 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- androidx-emoji2beta01. ما مِن تغييرات من alpha01 (Ic61d9)
الإصدار 1.1.0-alpha01
15 كانون الأول (ديسمبر) 2021
تم طرح androidx.emoji2:emoji2-*:1.1.0-alpha01
. يحتوي الإصدار 1.1.0-alpha01 على عمليات التنفيذ هذه.
الميزات الجديدة
- خط
emoji2-bundled
يحتوي على الرمز التعبيري 14 - تعرض واجهة برمجة التطبيقات
getEmojiMatch
الجديدة معلومات دقيقة للوحات المفاتيح لتحديد كيفية عرض الرموز التعبيرية إذا كان خط الرموز التعبيرية خلف خط النظام. - إصلاح أخطاء
NumberKeyListener
الذي يجعل إدخال الأرقام يعمل بشكل صحيح مع الأحرف
التغييرات في واجهة برمجة التطبيقات
- يمكنك إضافة واجهة برمجة تطبيقات
getEmojiMatch
جديدة للسماح للوحات المفاتيح بالبحث عن سلوك مطابقة الرموز التعبيرية بدقة أكبر في الرموز التعبيرية المتوافقة. - تم إيقاف
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 حول عرض جميع الرموز التعبيرية في تطبيقك على Android Dev.
الإصدار 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. يعمل هذا على إصلاح الخطأ الذي تم تقديمه في الرموز التعبيرية 2. 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 للتطبيقات التي تتضمّن مراحل نشاط (مثل التطبيقات التي تستخدم 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. بالنسخة الجديدة لـmoji2. (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 على عمليات التنفيذ هذه.
الميزات في هذا الإصدار الأولي
يُنصَح بدمج الرموز التعبيرية في جميع التطبيقات لإتاحة الرموز التعبيرية الحديثة من واجهة برمجة التطبيقات 19. يتضمّن كل المحتوى من إنشاء المستخدمين في تطبيقك 🎉.
تم نقل EmojiCompat من عناصر androidx.emoji
إلى العنصر androidx.emoji2
الجديد، وهو الآن في الإصدار alpha01. تحل العناصر الجديدة محل النسخة السابقة.
تتم إضافة emoji2
كعنصر تبعية إلى AppCompat بدءًا من AppCompat 1.4.0-alpha01
ويتم تفعيله تلقائيًا لملفات AppCompat الشخصية.
يقدِّم عنصر emoji2
إعدادًا تلقائيًا جديدًا باستخدام مكتبة androidx.startup
. لم تعُد بحاجة إلى كتابة أيّ رمز 👨🏽 😅 لعرضه 🐻 ☀️.
تغييرات في الرمز التعبيري 2 من الرموز التعبيرية
- تمت إضافة الإعدادات التلقائية الجديدة
EmojiCompatInitializer
باستخدامandroidx.startup
. - تمت إضافة إعدادات تلقائية جديدة تستخدم الموقع الجغرافي للخدمة للعثور على مقدّم خطوط قابل للتنزيل في
DefaultEmojiCompatConfiguration
. - تم نقل الصفوف من حزمة واحدة (
androidx.emoji
) إلىandroidx.emoji2
. - تقسيم
EmojiTextView
والعروض ذات الصلة على عنصر منفصلemoji2-views
يجب استخدام هذا الخيار فقط إذا كان تطبيقك لا يستخدم appcompat. - تم استخراج عناصر مساعدة لدمج الرموز التعبيرية في طرق عرض مخصّصة في عنصر
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
.