اجعل تطبيقك في حالة تحديث مستمر للـEmoji

مكتبة اندرويد جديدة تجعل التطبيق في حالة تحديث مستمر عند اضافة رموز تعبيرية جديدة. تقوم المكتبة على تحميل وتحديث الخط المستخدم لاظهار الرموز التعبيرية بشكل صحيح دون عرض المربع الاسود المشهور ☐ .
بطبيعة الحال المكتبة ايضاً تقوم بالتحديث في حال قاموا باضافة Emoji جديدة وجعل تطبيقك يواكب التطور ?? .

شكل emoji في الاجهزة القديمة وماذا تعمل المكتبة
تقوم مكتبة EmojiCompat على استخدام CharSequence وتقوم باستبدال النص الموجود وتحويله اذا رمز اذا كان غير مدعوم على الجهاز

  • نحتاج الى اضافة المكتبة : 
    لايخفى عليك طريقة اضافة dependancies في الاندرويد ستديو افتح ملف build.gradle وقم باضافة السطر 

    dependencies {
        ...
        compile "com.android.support:support-emoji:26.1.0"
    }
    
  • تهيئة وضبط الخطوط :
    نحتاج الى تهيئة  EmojiCompat  للتعامل مع الخط المحدث سنقوم بالقيام ببعض الخطوات :
    سننشئ FontRequest للتعامل مع الخط المستخدم للـEmoji :

    final FontRequest fontRequest = new FontRequest(
                        "com.google.android.gms.fonts",
                        "com.google.android.gms",
                        "Noto Color Emoji Compat",
                        R.array.com_google_android_gms_fonts_certs);

    الان انشئنا FontRequest للتعامل مع Emojiهنا ” طبعاً هذا محدث بآخر اصدارات الرموز التعبيرية .
    الان اخر خطوة تهيئة FontCompat وجعله قابل للاستخدام .

    EmojiCompat.init(new FontRequestEmojiCompatConfig(getApplicationContext(), fontRequest)
                        .setReplaceAll(true)
                        .registerInitCallback(new EmojiCompat.InitCallback() {
                            @Override
                            public void onInitialized() {
                                Log.i(TAG, "EmojiCompat initialized");
                            }
    
                            @Override
                            public void onFailed(@Nullable Throwable throwable) {
                                Log.e(TAG, "EmojiCompat initialization failed", throwable);
                            }
                        });)

    الان يتبقى عليك فقط استخدام widgets الخاصة بFontCompat .

    <android.support.text.emoji.widget.EmojiTextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>
    
    <android.support.text.emoji.widget.EmojiEditText
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>
    
    <android.support.text.emoji.widget.EmojiButton
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>

    ماذا لو اردنا استخدامها AppCompat مباشرة دون الحاجة للخطوات السابقة !

  • نحتاج الى اضافة المكتبة : 
    لايخفى عليك طريقة اضافة dependancies في الاندرويد ستديو افتح ملف build.gradle وقم باضافة السطر 

    dependencies {
          compile "com.android.support:support-emoji-appcompat:$version"
    }
  • استخدام widgets مباشرة :
    <android.support.text.emoji.widget.EmojiAppCompatTextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>
    
    <android.support.text.emoji.widget.EmojiAppCompatEditText
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>
    
    <android.support.text.emoji.widget.EmojiAppCompatButton
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>
    

    طبعاً هناك طرق لاستخدامها مع Custom Views ولكن قمت بطرح السابق بايجاز اتمنى اني وفقت في ذلك .

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

3 أفكار عن “اجعل تطبيقك في حالة تحديث مستمر للـEmoji”

  1. عبدالله العنزي

    أخوي أحمد مسّاك الله بالخير…

    عندي إستفسار بخصوص الإيموجي الخاص بالسامسنوج أول فيه طريقة لتغييره عن طريق برنامج خطوط الموجود في البلاي ستور مع تحديث نوجا لا أستطيع تغييره للعلم جهازي s8……

    أرجوا الحل وشكراً………