ইমোজি সামঞ্জস্য

EmojiCompat সমর্থন লাইব্রেরির লক্ষ্য হল সর্বশেষ ইমোজির সাথে অ্যান্ড্রয়েড ডিভাইসগুলিকে আপ টু ডেট রাখা। এটি আপনার অ্যাপটিকে ☐ আকারে অনুপস্থিত ইমোজি অক্ষর দেখাতে বাধা দেয়, যা নির্দেশ করে যে আপনার ডিভাইসে পাঠ্য প্রদর্শনের জন্য কোনো ফন্ট নেই। EmojiCompat সমর্থন লাইব্রেরি ব্যবহার করে, আপনার অ্যাপ ব্যবহারকারীদের সর্বশেষ ইমোজি পেতে Android OS আপডেটের জন্য অপেক্ষা করতে হবে না।

ইমোজি দেখানো ডিভাইস
চিত্র 1. ইমোজি তুলনা

নিম্নলিখিত সম্পর্কিত সংস্থান পড়ুন:

ইমোজিকম্প্যাট কিভাবে কাজ করে?

EmojiCompat সাপোর্ট লাইব্রেরি অ্যান্ড্রয়েড 4.4 (API লেভেল 19) এবং উচ্চতর চলমান ডিভাইসগুলিতে পশ্চাদগামী-সামঞ্জস্যপূর্ণ ইমোজি সমর্থন বাস্তবায়নের জন্য ক্লাস প্রদান করে। আপনি বান্ডিল বা ডাউনলোডযোগ্য ফন্টগুলির সাথে EmojiCompat কনফিগার করতে পারেন। কনফিগারেশন সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিত বিভাগগুলি পড়ুন:

EmojiCompat একটি প্রদত্ত CharSequence এর জন্য ইমোজি শনাক্ত করে, প্রয়োজনে EmojiSpans দিয়ে প্রতিস্থাপন করে এবং অবশেষে ইমোজি গ্লিফগুলি রেন্ডার করে। চিত্র 2 প্রক্রিয়াটি প্রদর্শন করে।

ইমোজিকম্প্যাট প্রক্রিয়া
চিত্র 2. ইমোজিকম্প্যাট প্রক্রিয়া

ডাউনলোডযোগ্য ফন্ট কনফিগারেশন

ডাউনলোডযোগ্য ফন্ট কনফিগারেশন একটি ইমোজি ফন্ট ডাউনলোড করতে ডাউনলোডযোগ্য ফন্ট সমর্থন লাইব্রেরি বৈশিষ্ট্য ব্যবহার করে। এটি প্রয়োজনীয় ইমোজি মেটাডেটাও আপডেট করে যা EmojiCompat সমর্থন লাইব্রেরির জন্য ইউনিকোড স্পেসিফিকেশনের সর্বশেষ সংস্করণগুলির সাথে তাল মিলিয়ে চলতে হবে।

সমর্থন লাইব্রেরি নির্ভরতা যোগ করা হচ্ছে

EmojiCompat সমর্থন লাইব্রেরি ব্যবহার করতে, আপনাকে অবশ্যই আপনার ডেভেলপমেন্ট এনভায়রনমেন্টের মধ্যে আপনার অ্যাপ প্রকল্পের ক্লাসপাথ নির্ভরতা পরিবর্তন করতে হবে।

আপনার অ্যাপ্লিকেশন প্রকল্পে একটি সমর্থন লাইব্রেরি যোগ করতে:

  1. আপনার অ্যাপ্লিকেশনের build.gradle ফাইলটি খুলুন।
  2. dependencies বিভাগে সমর্থন লাইব্রেরি যোগ করুন।

গ্রোভি

dependencies {
    ...
    implementation "androidx.emoji:emoji:28.0.0"
}

কোটলিন

dependencies {
    ...
    implementation("androidx.emoji:emoji:28.0.0")
}

ডাউনলোডযোগ্য ফন্ট কনফিগারেশন শুরু করা হচ্ছে

মেটাডেটা এবং টাইপফেস লোড করতে আপনাকে EmojiCompat শুরু করতে হবে। যেহেতু শুরুতে কিছু সময় লাগতে পারে, তাই আরম্ভ করার প্রক্রিয়াটি একটি পটভূমির থ্রেডে চলে।

ডাউনলোডযোগ্য ফন্ট কনফিগারেশন সহ EmojiCompat শুরু করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  1. FontRequest ক্লাসের একটি উদাহরণ তৈরি করুন এবং শংসাপত্রের জন্য ফন্ট প্রদানকারী কর্তৃপক্ষ, ফন্ট প্রদানকারী প্যাকেজ, ফন্ট কোয়েরি এবং হ্যাশের সেটের একটি তালিকা প্রদান করুন। FontRequest সম্পর্কে আরও তথ্যের জন্য, ডাউনলোডযোগ্য ফন্ট ডকুমেন্টেশনে প্রোগ্রাম্যাটিকভাবে ডাউনলোডযোগ্য ফন্ট ব্যবহার করা বিভাগটি পড়ুন।
  2. FontRequestEmojiCompatConfig এর একটি উদাহরণ তৈরি করুন এবং Context এবং FontRequest এর উদাহরণ প্রদান করুন।
  3. init() পদ্ধতিতে কল করে EmojiCompat শুরু করুন এবং FontRequestEmojiCompatConfig এর উদাহরণ পাস করুন।
  4. কোটলিন

    class MyApplication : Application() {
    
        override fun onCreate() {
            super.onCreate()
            val fontRequest = FontRequest(
                    "com.example.fontprovider",
                    "com.example",
                    "emoji compat Font Query",
                    CERTIFICATES
            )
            val config = FontRequestEmojiCompatConfig(this, fontRequest)
            EmojiCompat.init(config)
        }
    }

    জাভা

    public class MyApplication extends Application {
      @Override
       public void onCreate() {
         super.onCreate();
         FontRequest fontRequest = new FontRequest(
           "com.example.fontprovider",
           "com.example",
           "emoji compat Font Query",
           CERTIFICATES);
         EmojiCompat.Config config = new FontRequestEmojiCompatConfig(this, fontRequest);
         EmojiCompat.init(config);
       }
    }
  5. লেআউট XML এ EmojiCompat উইজেট ব্যবহার করুন। আপনি যদি AppCompat ব্যবহার করেন, তাহলে AppCompat এর সাথে EmojiCompat উইজেট ব্যবহার করুন বিভাগটি পড়ুন।
  6. <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"/>

ডাউনলোডযোগ্য ফন্ট কনফিগারেশনের সাথে কীভাবে EmojiCompat কনফিগার করবেন সে সম্পর্কে আরও তথ্যের জন্য, ইমোজি সামঞ্জস্যের নমুনা অ্যাপ Java | কোটলিন

গ্রন্থাগারের উপাদান

ইমোজিকম্প্যাট প্রক্রিয়ায় লাইব্রেরি উপাদান
চিত্র 3. ইমোজিকম্প্যাট প্রক্রিয়ায় লাইব্রেরির উপাদান
উইজেট: EmojiEditText , EmojiTextView , EmojiButton
TextView , EditText , এবং Button সহ EmojiCompat ব্যবহার করার জন্য ডিফল্ট উইজেট বাস্তবায়ন।
EmojiCompat
সমর্থন লাইব্রেরির জন্য প্রধান পাবলিক পৃষ্ঠ. এটি সমস্ত বাহ্যিক কলগুলি সম্পাদন করে এবং সিস্টেমের অন্যান্য অংশগুলির সাথে সমন্বয় করে।
EmojiCompat.Config
তৈরি করা সিঙ্গলটন উদাহরণ কনফিগার করে।
EmojiSpan
একটি ReplacementSpan সাবক্লাস যা অক্ষর (ক্রম) প্রতিস্থাপন করে এবং গ্লিফ রেন্ডার করে।
EmojiCompat ফন্ট
EmojiCompat ইমোজি প্রদর্শনের জন্য একটি ফন্ট ব্যবহার করে। এই ফন্টটি অ্যান্ড্রয়েড ইমোজি ফন্টের একটি পরিবর্তিত সংস্করণ। ফন্টটি নিম্নরূপ সংশোধন করা হয়েছে:
  • ইমোজি রেন্ডার করার জন্য পশ্চাদগামী সামঞ্জস্য প্রদান করতে, সমস্ত ইমোজি অক্ষরগুলিকে ইউনিকোডের পরিপূরক ব্যক্তিগত ব্যবহারের এলাকা-এ U+F0001 দিয়ে শুরু করে একটি একক ইউনিকোড কোড পয়েন্ট দিয়ে উপস্থাপন করা হয়।
  • অতিরিক্ত ইমোজি মেটাডেটা ফন্টে একটি বাইনারি বিন্যাসে ঢোকানো হয় এবং EmojiCompat দ্বারা রানটাইমে পার্স করা হয়। প্রাইভেট ট্যাগ Emji সহ ফন্টের meta টেবিলে ডেটা এমবেড করা হয়েছে।

কনফিগারেশন বিকল্প

আপনি EmojiCompat আচরণ পরিবর্তন করতে EmojiCompat উদাহরণ ব্যবহার করতে পারেন। কনফিগারেশন সেট করতে আপনি বেস ক্লাস থেকে নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করতে পারেন:

  • setReplaceAll() : EmojiCompat EmojiSpans সাথে পাওয়া সমস্ত ইমোজি প্রতিস্থাপন করবে কিনা তা নির্ধারণ করে। ডিফল্টরূপে, EmojiCompat সিস্টেমটি একটি ইমোজি রেন্ডার করতে পারে এবং সেই ইমোজিগুলিকে প্রতিস্থাপন করে না কিনা তা বোঝার যথাসাধ্য চেষ্টা করে। true হিসাবে সেট করা হলে, EmojiCompat EmojiSpans সাথে পাওয়া সমস্ত ইমোজি প্রতিস্থাপন করে।
  • setEmojiSpanIndicatorEnabled() : EmojiCompat EmojiSpan সাথে একটি ইমোজি প্রতিস্থাপন করেছে কিনা তা নির্দেশ করে। true হিসাবে সেট করা হলে, EmojiCompat EmojiSpan জন্য একটি পটভূমি আঁকে। এই পদ্ধতিটি প্রধানত ডিবাগিং উদ্দেশ্যে ব্যবহৃত হয়।
  • setEmojiSpanIndicatorColor() : একটি EmojiSpan নির্দেশ করতে রঙ সেট করে। ডিফল্ট মান হল GREEN
  • registerInitCallback : EmojiCompat আরম্ভের অবস্থা সম্পর্কে অ্যাপকে অবহিত করে।

কোটলিন

val config = FontRequestEmojiCompatConfig(...)
        .setReplaceAll(true)
        .setEmojiSpanIndicatorEnabled(true)
        .setEmojiSpanIndicatorColor(Color.GREEN)
        .registerInitCallback(object: EmojiCompat.InitCallback() {
            ...
        })

জাভা

EmojiCompat.Config config = new FontRequestEmojiCompatConfig(...)
       .setReplaceAll(true)
       .setEmojiSpanIndicatorEnabled(true)
       .setEmojiSpanIndicatorColor(Color.GREEN)
       .registerInitCallback(new InitCallback() {...})

প্রারম্ভিক শ্রোতা যোগ করা হচ্ছে

EmojiCompat এবং EmojiCompat ক্লাস একটি ইনিশিয়ালাইজেশন কলব্যাক নিবন্ধন করতে registerInitCallback() এবং unregisterInitCallback() পদ্ধতি প্রদান করে। এই পদ্ধতিগুলি ব্যবহার করতে, EmojiCompat.InitCallback ক্লাসের একটি উদাহরণ তৈরি করুন। এই পদ্ধতিগুলি কল করুন এবং EmojiCompat.InitCallback ক্লাসের উদাহরণটি পাস করুন৷ যখন EmojiCompat সমর্থন লাইব্রেরির আরম্ভ সফল হয়, তখন EmojiCompat ক্লাস onInitialized() পদ্ধতিটিকে কল করে। লাইব্রেরি আরম্ভ করতে ব্যর্থ হলে, EmojiCompat ক্লাস onFailed() পদ্ধতিতে কল করে।

যে কোনো সময়ে প্রারম্ভিক অবস্থা পরীক্ষা করতে, getLoadState() পদ্ধতিতে কল করুন। এটি নিম্নলিখিত মানগুলির মধ্যে একটি প্রদান করে: LOAD_STATE_LOADING , LOAD_STATE_SUCCEEDED , বা LOAD_STATE_FAILED

AppCompat উইজেটগুলির সাথে EmojiCompat ব্যবহার করা

আপনি যদি AppCompat widgets ব্যবহার করেন তবে আপনি EmojiCompat উইজেটগুলি ব্যবহার করতে পারেন যা AppCompat widgets থেকে প্রসারিত হয়৷

  1. নির্ভরতা বিভাগে সমর্থন লাইব্রেরি যোগ করুন।

    গ্রোভি

    dependencies {
        ...
        implementation "androidx.emoji:emoji-bundled:$version"
    }

    কোটলিন

          dependencies {
              implementation("androidx.emoji:emoji-appcompat:$version")
          }
          

    গ্রোভি

          dependencies {
              implementation "androidx.emoji:emoji-appcompat:$version"
          }
          
  2. লেআউট XML-এ EmojiCompat AppCompat Widget উইজেট ব্যবহার করুন।
  3. <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"/>

বান্ডিল ফন্ট কনফিগারেশন

EmojiCompat সমর্থন লাইব্রেরি একটি বান্ডিল ফন্ট সংস্করণে উপলব্ধ। এই প্যাকেজটিতে এমবেডেড মেটাডেটা সহ ফন্ট অন্তর্ভুক্ত রয়েছে। প্যাকেজটিতে একটি BundledEmojiCompatConfig ও রয়েছে যা মেটাডেটা এবং ফন্ট লোড করতে AssetManager ব্যবহার করে।

দ্রষ্টব্য: ফন্টের আকার একাধিক মেগাবাইটে।

সমর্থন লাইব্রেরি নির্ভরতা যোগ করা হচ্ছে

বান্ডিল ফন্ট কনফিগারেশন সহ EmojiCompat সমর্থন লাইব্রেরি ব্যবহার করতে, আপনাকে অবশ্যই আপনার ডেভেলপমেন্ট এনভায়রনমেন্টের মধ্যে আপনার অ্যাপ প্রকল্পের ক্লাসপাথ নির্ভরতা পরিবর্তন করতে হবে।

আপনার অ্যাপ্লিকেশন প্রকল্পে একটি সমর্থন লাইব্রেরি যোগ করতে:

  1. আপনার অ্যাপ্লিকেশনের build.gradle ফাইলটি খুলুন।
  2. dependencies বিভাগে সমর্থন লাইব্রেরি যোগ করুন।

গ্রোভি

dependencies {
    ...
    implementation "androidx.emoji:emoji:28.0.0"
}

কোটলিন

dependencies {
    ...
    implementation("androidx.emoji:emoji:28.0.0")
}

EmojiCompat কনফিগার করতে বান্ডিল ফন্ট ব্যবহার করে

EmojiCompat কনফিগার করতে বান্ডিল ফন্ট ব্যবহার করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  1. EmojiCompat এর একটি উদাহরণ তৈরি করতে BundledEmojiCompatConfig ব্যবহার করুন এবং Context একটি উদাহরণ প্রদান করুন।
  2. EmojiCompat শুরু করতে init() পদ্ধতিতে কল করুন এবং BundledEmojiCompatConfig এর উদাহরণ পাস করুন।

কোটলিন

class MyApplication : Application() {

    override fun onCreate() {
        super.onCreate()
        val config = BundledEmojiCompatConfig(this)
        EmojiCompat.init(config)
    }
}

জাভা

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        EmojiCompat.Config config = new BundledEmojiCompatConfig(this);
        EmojiCompat.init(config);
        ...
    }
}

উইজেট ছাড়া ইমোজিকম্প্যাট ব্যবহার করা

EmojiCompat সঠিক ছবি রেন্ডার করতে EmojiSpan ব্যবহার করে। তাই, এটিকে যে কোনো প্রদত্ত CharSequence EmojiSpans এর সাথে Spanned ইনস্ট্যান্সে রূপান্তর করতে হবে। EmojiCompat ক্লাস EmojiSpans সাহায্যে CharSequences Spanned ইনস্ট্যান্সে রূপান্তর করার একটি পদ্ধতি প্রদান করে। এই পদ্ধতিটি ব্যবহার করে, আপনি কাঁচা স্ট্রিংয়ের পরিবর্তে প্রক্রিয়াকৃত দৃষ্টান্তগুলিকে প্রক্রিয়া এবং ক্যাশে করতে পারেন, যা আপনার অ্যাপ্লিকেশনের কার্যকারিতা উন্নত করে।

কোটলিন

val processed = EmojiCompat.get().process("neutral face \uD83D\uDE10")

জাভা

CharSequence processed = EmojiCompat.get().process("neutral face \uD83D\uDE10");

IME এর জন্য EmojiCompat ব্যবহার করা

EmojiCompat সমর্থন লাইব্রেরি ব্যবহার করে, কীবোর্ডগুলি তারা যে অ্যাপ্লিকেশনটির সাথে ইন্টারঅ্যাক্ট করছে তার দ্বারা সমর্থিত ইমোজি রেন্ডার করতে পারে। IMEs hasEmojiGlyph() পদ্ধতি ব্যবহার করে EmojiCompat ইমোজি রেন্ডার করতে সক্ষম কিনা তা পরীক্ষা করতে পারে। এই পদ্ধতিটি একটি ইমোজির একটি CharSequence নেয় এবং যদি EmojiCompat ইমোজি সনাক্ত করতে এবং রেন্ডার করতে পারে তবে তা true হয়৷

প্যালেটে কোন ইমোজি রেন্ডার করতে হবে তা নির্ধারণ করতে কীবোর্ডটি EmojiCompat সমর্থন লাইব্রেরির সংস্করণও পরীক্ষা করতে পারে যা অ্যাপটি সমর্থন করে। সংস্করণটি পরীক্ষা করার জন্য, উপলব্ধ থাকলে, কীবোর্ডকে EditorInfo.extras বান্ডেলে নিম্নলিখিত কীগুলি বিদ্যমান কিনা তা পরীক্ষা করতে হবে:

  • EDITOR_INFO_METAVERSION_KEY
  • বান্ডেলে কীটি বিদ্যমান থাকলে, মানটি অ্যাপটি ব্যবহার করে এমন ইমোজি মেটাডেটার সংস্করণ উপস্থাপন করে। এই কীটি বিদ্যমান না থাকলে, অ্যাপটি EmojiCompat ব্যবহার করছে না।

  • EDITOR_INFO_REPLACE_ALL_KEY
  • যদি কীটি বিদ্যমান থাকে এবং true সেট করা থাকে, তাহলে এটি নির্দেশ করে যে অ্যাপটি SetReplaceAll() পদ্ধতিতে কল করেছে। EmojiCompat কনফিগারেশন সম্পর্কে আরও তথ্যের জন্য, কনফিগারেশন বিকল্প বিভাগটি পড়ুন।

EditorInfo.extras বান্ডেলে কীগুলি পাওয়ার পরে, কীবোর্ড hasEmojiGlyph() পদ্ধতি ব্যবহার করতে পারে, যেখানে metadataVersion হল EDITOR_INFO_METAVERSION_KEY এর মান, অ্যাপটি একটি নির্দিষ্ট ইমোজি রেন্ডার করতে পারে কিনা তা পরীক্ষা করতে।

কাস্টম উইজেটগুলির সাথে ইমোজিকম্প্যাট ব্যবহার করা

আপনি সর্বদা আপনার অ্যাপে CharSequence প্রিপ্রসেস করার জন্য process() পদ্ধতি ব্যবহার করতে পারেন এবং এটিকে যেকোন উইজেটে যোগ করতে পারেন যা Spanned ইনস্ট্যান্স রেন্ডার করতে পারে; উদাহরণস্বরূপ, TextView । এছাড়াও, EmojiCompat আপনাকে ন্যূনতম প্রচেষ্টার সাথে ইমোজি সমর্থন সহ আপনার কাস্টম উইজেটগুলিকে সমৃদ্ধ করতে নিম্নলিখিত উইজেট সহায়ক ক্লাসগুলি সরবরাহ করে।

নমুনা টেক্সটভিউ

কোটলিন

class MyTextView(context: Context) : AppCompatTextView(context) {

    private val emojiTextViewHelper: EmojiTextViewHelper by lazy(LazyThreadSafetyMode.NONE) {
        EmojiTextViewHelper(this).apply {
            updateTransformationMethod()
        }
    }

    override fun setFilters(filters: Array<InputFilter>) {
        super.setFilters(emojiTextViewHelper.getFilters(filters))
    }

    override fun setAllCaps(allCaps: Boolean) {
        super.setAllCaps(allCaps)
        emojiTextViewHelper.setAllCaps(allCaps)
    }
}

জাভা

public class MyTextView extends AppCompatTextView {
   ...
   public MyTextView(Context context) {
       super(context);
       init();
   }
   ...
   private void init() {
       getEmojiTextViewHelper().updateTransformationMethod();
   }

   @Override
   public void setFilters(InputFilter[] filters) {
       super.setFilters(getEmojiTextViewHelper().getFilters(filters));
   }

   @Override
   public void setAllCaps(boolean allCaps) {
       super.setAllCaps(allCaps);
       getEmojiTextViewHelper().setAllCaps(allCaps);
   }

   private EmojiTextViewHelper getEmojiTextViewHelper() {
       ...
   }
}
নমুনা সম্পাদনা পাঠ্য

কোটলিন

class MyEditText(context: Context) : AppCompatEditText(context) {

    private val emojiEditTextHelper: EmojiEditTextHelper by lazy(LazyThreadSafetyMode.NONE) {
        EmojiEditTextHelper(this).also {
            super.setKeyListener(it.getKeyListener(keyListener))
        }
    }

    override fun setKeyListener(input: KeyListener?) {
        input?.also {
            super.setKeyListener(emojiEditTextHelper.getKeyListener(it))
        }
    }

    override fun onCreateInputConnection(outAttrs: EditorInfo): InputConnection {
        val inputConnection: InputConnection = super.onCreateInputConnection(outAttrs)
        return emojiEditTextHelper.onCreateInputConnection(
                inputConnection,
                outAttrs
        ) as InputConnection
    }
}

জাভা

public class MyEditText extends AppCompatEditText {
   ...
   public MyEditText(Context context) {
       super(context);
       init();
   }
   ...
   private void init() {
       super.setKeyListener(getEmojiEditTextHelper().getKeyListener(getKeyListener()));
   }

   @Override
   public void setKeyListener(android.text.method.KeyListener keyListener) {
       super.setKeyListener(getEmojiEditTextHelper().getKeyListener(keyListener));
   }

   @Override
   public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
       InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
       return getEmojiEditTextHelper().onCreateInputConnection(inputConnection, outAttrs);
   }

   private EmojiEditTextHelper getEmojiEditTextHelper() {
       ...
   }
}

প্রায়শই জিজ্ঞাসিত প্রশ্ন

  • আমি কিভাবে ফন্ট ডাউনলোড শুরু করব?
  • ইমোজি ফন্টগুলি প্রথম অনুরোধে ডাউনলোড করা হয়, যদি সেগুলি ডিভাইসে বিদ্যমান না থাকে। ডাউনলোডের সময়সূচী অ্যাপটিতে স্বচ্ছ।

  • আরম্ভ করতে কত সময় লাগে?
  • ফন্টটি ডাউনলোড হওয়ার পরে, EmojiCompat শুরু করতে প্রায় 150 মিলিসেকেন্ড সময় লাগে।

  • EmojiCompat সমর্থন লাইব্রেরি কত মেমরি ব্যবহার করে?
  • বর্তমানে, ইমোজি খুঁজে পাওয়ার জন্য ডেটা স্ট্রাকচার অ্যাপের মেমরিতে লোড করা হয়েছে এবং প্রায় 200KB ব্যবহার করে।

  • আমি একটি কাস্টম TextView জন্য EmojiCompat ব্যবহার করতে পারি?
  • হ্যাঁ। EmojiCompat কাস্টম উইজেটগুলির জন্য সহায়ক ক্লাস প্রদান করে। একটি প্রদত্ত স্ট্রিং প্রিপ্রসেস করা এবং এটিকে Spanned এ রূপান্তর করাও সম্ভব। উইজেট হেল্পার ক্লাস সম্পর্কে আরও তথ্যের জন্য, কাস্টম উইজেটগুলির সাথে ইমোজিকম্প্যাট ব্যবহার করা বিভাগটি পড়ুন।

  • অ্যান্ড্রয়েড 4.4 (API লেভেল 19) বা তার নিচের ডিভাইসগুলিতে আমি লেআউট XML-এ উইজেট যোগ করলে কী হবে?
  • আপনি Android 4.4 (API লেভেল 19) বা তার কম চলমান ডিভাইসগুলিকে সমর্থন করে এমন আপনার অ্যাপ্লিকেশনগুলিতে EmojiCompat সমর্থন লাইব্রেরি বা এর উইজেটগুলি অন্তর্ভুক্ত করতে পারেন৷ যাইহোক, যদি কোনো ডিভাইস এপিআই লেভেল 19-এর আগে অ্যান্ড্রয়েড সংস্করণে চলে, তাহলে EmojiCompat এবং এর উইজেটগুলি "নো অপারেশন" অবস্থায় থাকে। এর মানে হল EmojiTextView একটি নিয়মিত TextView এর মত আচরণ করে। EmojiCompat উদাহরণ; আপনি init() পদ্ধতিতে কল করলে এটি অবিলম্বে একটি LOAD_STATE_SUCCEEDED অবস্থায় চলে যায়।

অতিরিক্ত সম্পদ

EmojiCompat লাইব্রেরি ব্যবহার করার বিষয়ে অতিরিক্ত তথ্যের জন্য, EmojiCompat দেখুন।