"أداة اختيار رموز الإيموجي" هي حل لواجهة المستخدم يوفّر مظهرًا وطابعًا حديثَين والرموز التعبيرية وسهولة الاستخدام. يمكن للمستخدمين تصفُّح واختيار الرموز التعبيرية وخياراتها المختلفة. أو الاختيار من الرموز التعبيرية المستخدمة مؤخرًا
ومن خلال هذه المكتبة، يمكن للتطبيقات من مصادر متنوعة توفير تجربة توفير تجربة رموز تعبيرية موحَّدة للمستخدمين بدون الحاجة إلى إنشاء واحتفظوا بأداة اختيار الرموز التعبيرية من البداية.
الميزات
الرموز التعبيرية المحدَّثة
يتم تضمين الرموز التعبيرية الصادرة حديثًا بشكل انتقائي في "أداة اختيار الرموز التعبيرية". تشير رسالة الأشكال البيانية تتوافق مكتبة "أداة اختيار الرموز التعبيرية" مع العديد من إصدارات Android الأجهزة.
خيارات المنتجات الثابتة
يمكنك الضغط مع الاستمرار على رمز تعبيري لعرض قائمة بخيارات متنوعة، مثل الجنس أو درجات لون البشرة. سيتم حفظ الصيغة التي تختارها في "أداة اختيار الرموز التعبيرية" ويتم استخدام آخر صيغة محددة في اللوحة الرئيسية.
باستخدام هذه الميزة، يمكن للمستخدمين إرسال خياراتهم المفضّلة من الرموز التعبيرية باستخدام إحدى هذه الخيارات. النقر.
الرموز التعبيرية المستخدَمة حديثًا
تقع على عاتق "RecentEmojiProvider
" مسؤولية توفير الرموز التعبيرية في
فئة العناصر المستخدمة مؤخرًا. تحتوي المكتبة على موفّر تلقائي للرموز التعبيرية الحديثة.
تستوفي حالة الاستخدام الأكثر شيوعًا:
- تم حفظ جميع الرموز التعبيرية المحددة لكل تطبيق في الإعدادات المفضّلة المشتركة.
- تعرض أداة الاختيار ما لا يزيد عن 3 صفوف من الرموز التعبيرية المحددة، تمت إزالة تكرارها، بشكل عكسي. ترتيبًا زمنيًا.
إذا كان هذا السلوك التلقائي كافيًا، لن تحتاج إلى استخدام
setRecentEmojiProvider()
ومع ذلك، قد تحتاج إلى تخصيص سلوك مقدّم الخدمة. إليك بعض الأمثلة السيناريوهات الشائعة:
- في حال أردت تخزين رموز تعبيرية محدَّدة مختلفة لكل حساب مستخدم
- تريد استخدام مخزن البيانات بخلاف الإعدادات المفضّلة المشتركة.
- تريد عرض الرموز التعبيرية الأخيرة مرتّبة حسب التكرار.
يمكنك بعد ذلك تنفيذ واجهة RecentEmojiProvider
وإعدادها باستخدام
setRecentEmojiProvider()
التوافق مع EmojiCompat
في حال التفعيل، يتم استخدام مثيل EmojiCompat
في "أداة اختيار الرموز التعبيرية".
لعرض أكبر عدد ممكن من الرموز التعبيرية. ما مِن حاجة إلى استخدام "أداة اختيار الرموز التعبيرية"
ولكن EmojiCompat
.
المتطلّبات الأساسية
يجب أن يستهدف تطبيقك الإصدار Android 5.0 (المستوى 21 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.
استخدام المكتبة
استيراد
androidx.emoji2:emojipicker:$version
ضمنbuild.gradle
لتطبيقك الملف.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
تضخيم عرض "أداة اختيار الرموز التعبيرية"، وضبط
emojiGridRows
وemojiGridColumns
- العدد التلقائي لـ
emojiGridColumns
هو 9. - ويتم حساب عدد الصفوف استنادًا إلى ارتفاع العرض الرئيسي وقيمة
emojiGridColumns
- استخدِم قيمة عائمة للسمة
emojiGridRows
للإشارة إلى أنّ المستخدم يمكنه انتقِل للأسفل لعرض المزيد من الرموز التعبيرية.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />
val emojiPickerView = EmojiPickerView(context).apply { emojiGridColumns = 15 layoutParams = ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT ) } findViewById<ViewGroup>(R.id.emoji_picker_layout).addView(emojiPickerView)
- العدد التلقائي لـ
يمكنك استخدام
setOnEmojiPickedListener()
لإلحاق الرموز التعبيرية المحددة بطريقة عرض. على سبيل المثال، للإلحاق بـEditText
، يمكنك اتّباع الخطوات التالية: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
. - تم تجاهل مقدِّم رموز تعبيرية حديث يتم الترتيب حسب معدّل التكرار.
- تخصيص إضافي للنمط.