इमोजी पिकर

इमोजी पिकर, यूज़र इंटरफ़ेस (यूआई) का एक ऐसा समाधान है जो मॉडर्न लुक और फ़ील के साथ-साथ अप-टू-डेट इमोजी उपलब्ध कराता है. साथ ही, इसे इस्तेमाल करना भी आसान है. उपयोगकर्ता, इमोजी और उनके वैरिएंट को ब्राउज़ और चुन सकते हैं या हाल ही में इस्तेमाल किए गए इमोजी में से कोई इमोजी चुन सकते हैं.

पहला डायग्राम. इमोजी पिकर

इस लाइब्रेरी की मदद से, अलग-अलग सोर्स के ऐप्लिकेशन अपने उपयोगकर्ताओं को एक जैसा और बेहतर इमोजी अनुभव दे सकते हैं. इसके लिए, डेवलपर को अपने इमोजी पिकर को शुरू से बनाने और उसे मैनेज करने की ज़रूरत नहीं पड़ती.

सुविधाएं

इमोजी पिकर में ये सुविधाएं मौजूद हैं.

अप-टू-डेट इमोजी

हाल ही में रिलीज़ किए गए इमोजी, इमोजी पिकर में चुनिंदा तौर पर शामिल किए जाते हैं. इमोजी चुनने की लाइब्रेरी, Android के कई वर्शन और डिवाइसों के साथ काम करती है.

स्टिक वैरिएंट

अलग-अलग लिंग या स्किन टोन जैसे अलग-अलग मेन्यू का मेन्यू दिखाने के लिए, किसी इमोजी को दबाकर रखें. आपका चुना गया वैरिएंट, इमोजी पिकर में सेव हो जाता है. साथ ही, आखिरी बार चुने गए वैरिएंट का इस्तेमाल मुख्य पैनल में किया जाता है.

इस सुविधा से, उपयोगकर्ता सिर्फ़ एक टैप करके अपने पसंदीदा इमोजी वैरिएंट भेज सकते हैं.

इमोजी के वैरिएंट
दूसरी इमेज. इमोजी के वैरिएंट.

हाल ही में इस्तेमाल किए गए इमोजी

हाल ही में इस्तेमाल किए गए इमोजी
तीसरा डायग्राम. हाल ही में इस्तेमाल किए गए इमोजी.

RecentEmojiProvider, हाल ही में इस्तेमाल किए गए कैटगरी में इमोजी उपलब्ध कराने के लिए ज़िम्मेदार है. लाइब्रेरी में, हाल ही में इस्तेमाल किए गए इमोजी की जानकारी देने वाली डिफ़ॉल्ट सेवा होती है. यह सेवा, इमोजी के इस्तेमाल के सबसे सामान्य उदाहरणों के लिए काम करती है:

  • चुने गए सभी इमोजी, शेयर की गई प्राथमिकताओं में हर ऐप्लिकेशन के लिए सेव किए जाते हैं.
  • पिकर, चुने गए इमोजी की ज़्यादा से ज़्यादा तीन पंक्तियां दिखाता है. ये इमोजी पहले से क्रम में नहीं होते हैं.

अगर यह डिफ़ॉल्ट तरीका आपके लिए सही है, तो आपको setRecentEmojiProvider() का इस्तेमाल करने की ज़रूरत नहीं है.

हालांकि, आपको सेवा देने वाली कंपनी के व्यवहार को पसंद के मुताबिक बनाना पड़ सकता है. यहां कुछ सामान्य उदाहरण दिए गए हैं:

  • आपको हर उपयोगकर्ता खाते के लिए, चुने गए अलग-अलग इमोजी सेव करने हैं.
  • आपको शेयर की गई सेटिंग के अलावा, किसी दूसरे डेटा स्टोरेज का इस्तेमाल करना है.
  • आपको हाल ही में इस्तेमाल किए गए इमोजी को, इस्तेमाल की फ़्रीक्वेंसी के हिसाब से क्रम में लगाकर दिखाना है.

इसके बाद, RecentEmojiProvider इंटरफ़ेस को लागू किया जा सकता है और उसे setRecentEmojiProvider() का इस्तेमाल करके सेट किया जा सकता है.

निर्देश चुनने वाला टूल

Emoji 15.1 से, इमोजी पिकर में दोनों दिशाओं में काम करने वाले इमोजी का इस्तेमाल किया जा सकता है. उपयोगकर्ता इमोजी के बाएं और दाएं वर्शन के बीच टॉगल करने के लिए, दोनों तरफ़ ले जा सकने वाले स्विचर पर टैप कर सकते हैं.

बाईं ओर जाने वाला इमोजी

चौथी इमेज. दोनों तरफ़ ले जाया जा सकने वाला इमोजी बाईं ओर है.

बाईडायरेक्शनल राइट इमोजी

पांचवीं इमेज. दाईं ओर देखने वाला, दोनों तरफ़ ले जाया जा सकने वाला इमोजी.

एक से ज़्यादा व्यक्ति वाले इमोजी चुनने का टूल

उपयोगकर्ता, इमोजी जोड़े को दबाकर रख सकते हैं. इससे एक से ज़्यादा लोगों के लिए चुने गए इमोजी के बारे में पता चलता है.

इमोजी कपल को दबाकर रखें

छठी इमेज. कई लोगों वाले इमोजी चुनने के बारे में जानने के लिए, इमोजी के किसी जोड़े को दबाकर रखें.

बाईं ओर मौजूद इमोजी वाले व्यक्ति पर टैप करें

सातवीं इमेज. बाईं ओर का आधा हिस्सा दिखाने वाला इमोजी चुनें.

दाईं ओर मौजूद, लोगों वाले इमोजी पर टैप करें

आठवीं इमेज. आधे चेहरे वाला इमोजी चुनें.

जब कोई उपयोगकर्ता, इमोजी कपल के बाईं या दाईं ओर मौजूद इमोजी को चुनता है, तो सिलेक्टर सबसे नीचे दाईं ओर झलक दिखाता है, जैसा कि सातवीं और आठवीं इमेज में दिखाया गया है. इमोजी कपल के दोनों हिस्सों को चुनने के बाद, उपयोगकर्ता अपनी पसंद के मुताबिक इमोजी कपल बनाने के लिए झलक चुन सकते हैं.

EmojiCompat के साथ काम करना

यह नीति चालू होने पर, इमोजी पिकर में EmojiCompat इंस्टेंस का इस्तेमाल किया जाता है, ताकि ज़्यादा से ज़्यादा इमोजी को रेंडर किया जा सके. हालांकि, इमोजी पिकर के लिए EmojiCompat की ज़रूरत नहीं होती है.

ज़रूरी शर्तें

आपके ऐप्लिकेशन को Android 5.0 (एपीआई लेवल 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" />
    

Sample App

इमोजी पिकर सैंपल ऐप्लिकेशन में, इस्तेमाल के बुनियादी उदाहरणों के साथ-साथ, इन अतिरिक्त स्थितियों के बारे में बताया गया है:

  • emojiGridRows या emojiGridColumns रीसेट होने पर, लेआउट का फिर से हिसाब लगाना.
  • हाल ही में इस्तेमाल किए गए इमोजी की सेवा देने वाली कंपनी, जिसे इस्तेमाल की फ़्रीक्वेंसी के हिसाब से क्रम में लगाया गया है.
  • स्टाइल को पसंद के मुताबिक बनाने के अन्य विकल्प.