ইমোজি পিকার

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

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

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

বৈশিষ্ট্য

ইমোজি পিকারের নিম্নলিখিত বৈশিষ্ট্য রয়েছে।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

দিকনির্দেশনা নির্বাচক

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

bidirectional left emoji

চিত্র 4. দ্বিমুখী ইমোজি বাম দিকে।

bidirectional right emoji

চিত্র 5. দ্বিমুখী ইমোজি ডান দিকে মুখ করে।

বহু-ব্যক্তি ইমোজি নির্বাচক

বহু-ব্যক্তির ইমোজি নির্বাচন প্রকাশ করতে ব্যবহারকারীরা ইমোজি দম্পতিদের স্পর্শ এবং ধরে রাখতে পারেন।

touch and hold emoji couple

চিত্র 6. বহু-ব্যক্তির ইমোজি নির্বাচনগুলি প্রকাশ করতে একটি ইমোজি দম্পতিকে স্পর্শ করুন এবং ধরে রাখুন৷

tap left emoji person

চিত্র 7. একজন বাম-অর্ধেক ইমোজি ব্যক্তি নির্বাচন করুন।

tap right emoji person

চিত্র 8. ডান-অর্ধেক ইমোজি ব্যক্তি নির্বাচন করুন।

ব্যবহারকারী যখন ইমোজি দম্পতির বাম-বা ডান-অর্ধেক ইমোজি ব্যক্তি নির্বাচন করেন, তখন নির্বাচক নীচে-ডানে একটি পূর্বরূপ প্রদর্শন করে, যেমনটি চিত্র 7 এবং 8-এ দেখানো হয়েছে। ইমোজি দম্পতির উভয় অংশ নির্বাচন করার পরে, ব্যবহারকারীরা নির্বাচন করতে পারেন কাস্টম ইমোজি দম্পতি রচনা করার পূর্বরূপ।

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

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

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

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

বৈশিষ্ট্য

ইমোজি পিকারের নিম্নলিখিত বৈশিষ্ট্য রয়েছে।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

দিকনির্দেশনা নির্বাচক

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

bidirectional left emoji

চিত্র 4. দ্বিমুখী ইমোজি বাম দিকে।

bidirectional right emoji

চিত্র 5. দ্বিমুখী ইমোজি ডান দিকে মুখ করে।

বহু-ব্যক্তি ইমোজি নির্বাচক

বহু-ব্যক্তির ইমোজি নির্বাচন প্রকাশ করতে ব্যবহারকারীরা ইমোজি দম্পতিদের স্পর্শ এবং ধরে রাখতে পারেন।

touch and hold emoji couple

চিত্র 6. বহু-ব্যক্তির ইমোজি নির্বাচনগুলি প্রকাশ করতে একটি ইমোজি দম্পতিকে স্পর্শ করুন এবং ধরে রাখুন৷

tap left emoji person

চিত্র 7. একজন বাম-অর্ধেক ইমোজি ব্যক্তি নির্বাচন করুন।

tap right emoji person

চিত্র 8. ডান-অর্ধেক ইমোজি ব্যক্তি নির্বাচন করুন।

ব্যবহারকারী যখন ইমোজি দম্পতির বাম-বা ডান-অর্ধেক ইমোজি ব্যক্তি নির্বাচন করেন, তখন নির্বাচক নীচে-ডানে একটি পূর্বরূপ প্রদর্শন করে, যেমনটি চিত্র 7 এবং 8-এ দেখানো হয়েছে। ইমোজি দম্পতির উভয় অংশ নির্বাচন করার পরে, ব্যবহারকারীরা নির্বাচন করতে পারেন কাস্টম ইমোজি দম্পতি রচনা করার পূর্বরূপ।

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