أداة اختيار الرموز التعبيرية

"أداة اختيار رموز الإيموجي" هي حل لواجهة المستخدم يوفّر مظهرًا وطابعًا حديثَين والرموز التعبيرية وسهولة الاستخدام. يمكن للمستخدمين تصفُّح واختيار الرموز التعبيرية وخياراتها المختلفة. أو الاختيار من الرموز التعبيرية المستخدمة مؤخرًا

الشكل 1. أداة اختيار الرموز التعبيرية

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

الميزات

الرموز التعبيرية المحدَّثة

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

خيارات المنتجات الثابتة

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

باستخدام هذه الميزة، يمكن للمستخدمين إرسال خياراتهم المفضّلة من الرموز التعبيرية باستخدام إحدى هذه الخيارات. النقر.

خيارات الرموز التعبيرية
الشكل 2. خيارات الرموز التعبيرية

الرموز التعبيرية المستخدَمة حديثًا

رمز تعبيري حديث
الشكل 3. الرموز التعبيرية الأخيرة

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

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

إذا كان هذا السلوك التلقائي كافيًا، لن تحتاج إلى استخدام setRecentEmojiProvider()

ومع ذلك، قد تحتاج إلى تخصيص سلوك مقدّم الخدمة. إليك بعض الأمثلة السيناريوهات الشائعة:

  • في حال أردت تخزين رموز تعبيرية محدَّدة مختلفة لكل حساب مستخدم
  • تريد استخدام مخزن البيانات بخلاف الإعدادات المفضّلة المشتركة.
  • تريد عرض الرموز التعبيرية الأخيرة مرتّبة حسب التكرار.

يمكنك بعد ذلك تنفيذ واجهة RecentEmojiProvider وإعدادها باستخدام setRecentEmojiProvider()

التوافق مع EmojiCompat

في حال التفعيل، يتم استخدام مثيل EmojiCompat في "أداة اختيار الرموز التعبيرية". لعرض أكبر عدد ممكن من الرموز التعبيرية. ما مِن حاجة إلى استخدام "أداة اختيار الرموز التعبيرية" ولكن EmojiCompat.

المتطلّبات الأساسية

يجب أن يستهدف تطبيقك الإصدار Android 5.0 (المستوى 21 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

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

  1. استيراد androidx.emoji2:emojipicker:$version ضمن build.gradle لتطبيقك الملف.

    dependencies {
        implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. تضخيم عرض "أداة اختيار الرموز التعبيرية"، وضبط 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)
    
  3. يمكنك استخدام setOnEmojiPickedListener() لإلحاق الرموز التعبيرية المحددة بطريقة عرض. على سبيل المثال، للإلحاق بـ EditText، يمكنك اتّباع الخطوات التالية:

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

  5. يمكنك تخصيص الأنماط اختياريًا. إنشاء نمطك الخاص لإلغاء المظهر الشائع وتطبيق النمط على 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.
  • تم تجاهل مقدِّم رموز تعبيرية حديث يتم الترتيب حسب معدّل التكرار.
  • تخصيص إضافي للنمط.