ইমোজি পিকার

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

চিত্র 1. ইমোজি পিকার

এই লাইব্রেরির সাহায্যে, বিভিন্ন উৎস থেকে আসা অ্যাপগুলি তাদের ব্যবহারকারীদের একটি অন্তর্ভুক্তিমূলক এবং একীভূত ইমোজি অভিজ্ঞতা প্রদান করতে পারে, বিকাশকারীদের স্ক্র্যাচ থেকে তাদের নিজস্ব ইমোজি বাছাইকারী তৈরি এবং রক্ষণাবেক্ষণ না করে।

বৈশিষ্ট্য

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

সদ্য-প্রকাশিত ইমোজিগুলি বেছে বেছে ইমোজি পিকারে অন্তর্ভুক্ত করা হয়েছে। ইমোজি পিকার লাইব্রেরি একাধিক অ্যান্ড্রয়েড সংস্করণ এবং ডিভাইস জুড়ে সামঞ্জস্যপূর্ণ।

স্টিকি বৈকল্পিক

বিভিন্ন লিঙ্গ বা ত্বকের টোনের মতো বৈকল্পিক মেনু প্রদর্শন করতে একটি ইমোজি দীর্ঘক্ষণ চাপুন৷ আপনার বেছে নেওয়া ভেরিয়েন্টটি ইমোজি পিকারে সংরক্ষিত হয় এবং শেষ নির্বাচিত ভেরিয়েন্টটি প্রধান প্যানেলে ব্যবহার করা হয়।

এই বৈশিষ্ট্যের সাহায্যে, ব্যবহারকারীরা তাদের পছন্দের ইমোজি ভেরিয়েন্ট এক ট্যাপ করে পাঠাতে পারেন।

ইমোজি ভেরিয়েন্ট
চিত্র 2. ইমোজি ভেরিয়েন্ট

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

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

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

  • সমস্ত নির্বাচিত ইমোজি শেয়ার করা পছন্দগুলিতে অ্যাপ প্রতি সংরক্ষিত হয়।
  • বাছাইকারী নির্বাচিত ইমোজিগুলির সর্বাধিক 3টি সারি প্রদর্শন করে, অনুমান করা, বিপরীত কালানুক্রমিক ক্রমে।

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

তবে আপনাকে প্রদানকারীর আচরণ কাস্টমাইজ করতে হতে পারে। এখানে কিছু সাধারণ পরিস্থিতি রয়েছে:

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

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

EmojiCompat সাথে সামঞ্জস্যপূর্ণ

সক্ষম হলে, যতটা সম্ভব ইমোজি রেন্ডার করতে ইমোজি পিকারে একটি EmojiCompat উদাহরণ ব্যবহার করা হয়। যদিও ইমোজি পিকারের EmojiCompat প্রয়োজন নেই।

পূর্বশর্ত

আপনার অ্যাপকে অবশ্যই Android 5.0 (API লেভেল 21) বা উচ্চতর টার্গেট করতে হবে।

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

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

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