ইমোজি চয়নকারী

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

ছবি ১. ইমোজি চয়নকারি

এই লাইব্রেরির সাহায্যে, বিভিন্ন সোর্স থেকে পাওয়া অ্যাপগুলি তাদের ব্যবহারকারীদের একটি অন্তর্ভুক্তিমূলক এবং একীভূত ইমোজি অভিজ্ঞতা প্রদান করতে পারে, যার জন্য ডেভেলপারদের স্ক্র্যাচ থেকে তাদের নিজস্ব ইমোজি চয়নকারি তৈরি এবং বজায় রাখতে হয় না।

ফিচার

ইমোজি পিকারে নিম্নলিখিত ফিচার আছে।

আপ-টু-ডেট ইমোজি

নতুন রিলিজ হওয়া ইমোজি বেছে নিয়ে ইমোজি পিকারে যোগ করা হয়। ইমোজি পিকার লাইব্রেরি একাধিক Android ভার্সন ও ডিভাইসে কাজ করে।

স্টিকি ভেরিয়েন্ট

বিভিন্ন লিঙ্গ বা ত্বকের রঙের মতো ইমোজির বিভিন্ন প্রকারের মেনু দেখতে, ইমোজিতে বেশিক্ষণ প্রেস করে রাখুন। আপনার বেছে নেওয়া ভ্যারিয়েন্ট ইমোজি পিকারে সেভ করা হয় এবং শেষবার বেছে নেওয়া ভ্যারিয়েন্ট মূল প্যানেলে ব্যবহার করা হয়।

এই ফিচারের মাধ্যমে, ব্যবহারকারীরা একবার ট্যাপ করেই তাদের পছন্দের ইমোজি ভ্যারিয়েন্ট পাঠাতে পারবেন।

ইমোজি ভেরিয়েন্ট
ছবি ২. ইমোজির ভ্যারিয়েন্ট।

সাম্প্রতিক ইমোজি

সাম্প্রতিক ইমোজি
ছবি ৩. সাম্প্রতিক ইমোজি।

RecentEmojiProvider-এর দায়িত্ব হল সম্প্রতি ব্যবহার করা বিভাগে ইমোজি প্রদান করা। লাইব্রেরিতে একটি ডিফল্ট সাম্প্রতিক ইমোজি প্রদানকারী আছে যা সবচেয়ে সাধারণ ব্যবহারের ক্ষেত্রে সন্তুষ্ট করে:

  • বেছে নেওয়া সব ইমোজি শেয়ার করা পছন্দ অনুযায়ী অ্যাপ-প্রতি সেভ করা হয়।
  • পিকার, বেছে নেওয়া ইমোজির সর্বাধিক তিনটি সারি, ডুপ্লিকেট সরিয়ে, বিপরীত কালানুক্রমিক ক্রমে দেখায়।

এই ডিফল্ট অ্যাকশন যথেষ্ট হলে, আপনাকে setRecentEmojiProvider() ব্যবহার করতে হবে না।

তবে, আপনাকে প্রোভাইডারের আচরণ কাস্টমাইজ করতে হতে পারে। কিছু সাধারণ পরিস্থিতি এখানে উল্লেখ করা হল:

  • আপনি প্রতিটি ব্যবহারকারীর অ্যাকাউন্টে আলাদা আলাদা বেছে নেওয়া ইমোজি স্টোর করতে চান।
  • আপনি শেয়ার করা পছন্দ ছাড়া অন্য ডেটা স্টোরেজ ব্যবহার করতে চান।
  • আপনি সাম্প্রতিক ইমোজি ফ্রিকোয়েন্সি অনুযায়ী সাজিয়ে দেখতে চান।

তারপর আপনি RecentEmojiProvider ইন্টারফেস প্রয়োগ করতে এবং setRecentEmojiProvider() ব্যবহার করে এটি সেট করতে পারবেন।

দিকনির্দেশ বাছাইকারী

Emoji 15.1 থেকে শুরু করে, Emoji Picker-এ দ্বিমুখী ইমোজি কাজ করে। ব্যবহারকারীরা দ্বিমুখী সুইচারে ট্যাপ করে বাঁদিকে ও ডানদিকে মুখ করা ইমোজির ভার্সনের মধ্যে টগল করতে পারবেন।

দ্বিমুখী বাঁদিকের ইমোজি

ছবি ৪. বাঁদিকে মুখ করা দ্বিমুখী ইমোজি।

দ্বিমুখী ডান ইমোজি

ছবি ৫. দ্বিমুখী ইমোজি ডানদিকে মুখ করে আছে।

একাধিক ব্যক্তির ইমোজি বাছাইকারী

ব্যবহারকারীরা ইমোজি কাপল টাচ করে ধরে রেখে একাধিক ব্যক্তির ইমোজি বেছে নিতে পারবেন।

ইমোজি কাপল টাচ করে ধরে থাকুন

ছবি ৬. একাধিক ব্যক্তির ইমোজি বেছে নেওয়ার বিকল্প দেখতে ইমোজি কাপল টাচ করে ধরে থাকুন।

বাঁদিকের ইমোজি ব্যক্তির উপর ট্যাপ করুন

ছবি ৭. বাঁদিকের অর্ধেক ইমোজি ব্যক্তি বেছে নিন।

ডানদিকের ইমোজি ব্যক্তির উপর ট্যাপ করুন

ছবি ৮. ডানদিকের অর্ধেক ইমোজি ব্যক্তি বেছে নিন।

ব্যবহারকারী যখন কোনও ইমোজি কাপলের বাঁদিকের বা ডানদিকের ইমোজি ব্যক্তিকে বেছে নেন, তখন নির্বাচক নিচের ডানদিকে একটি প্রিভিউ দেখায়, যেমনটি চিত্র ৭ এবং ৮-এ দেখানো হয়েছে। ইমোজি কাপলের দুটি অংশ বেছে নেওয়ার পরে, ব্যবহারকারী কাস্টম ইমোজি কাপল তৈরি করতে প্রিভিউ বেছে নিতে পারবেন।

EmojiCompat-এর সাথে মানানসই

চালু করা থাকলে, ইমোজি পিকারে EmojiCompat ইনস্ট্যান্স ব্যবহার করা হয় যাতে যত বেশি সম্ভব ইমোজি দেখানো যায়। তবে, ইমোজি চয়নকারির জন্য EmojiCompat প্রয়োজন হয় না।

পূর্বশর্ত

আপনার অ্যাপকে Android 5.0 (API লেভেল ২১) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করতে হবে।

লাইব্রেরি ব্যবহার করুন

  1. আপনার অ্যাপের build.gradle ফাইলে androidx.emoji2:emojipicker:$version ইমপোর্ট করুন।

    dependencies {
        implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. ইমোজি পিকার ভিউ ইনফ্লেট করুন এবং বিকল্প হিসেবে emojiGridRows ও emojiGridColumns সেট করুন।

    • emojiGridColumns-এর ডিফল্ট সংখ্যা হল ৯।
    • প্যারেন্ট ভিউয়ের উচ্চতা এবং 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 রিসেট করা হলে লেআউট আবার গণনা করা হয়।
  • একটি ওভাররাইড করা সাম্প্রতিক ইমোজি প্রদানকারী যা ফ্রিকোয়েন্সি অনুসারে সাজায়।
  • অতিরিক্ত স্টাইল কাস্টমাইজেশন।