इमोजी पिकर

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

पहली इमेज. इमोजी पिकर

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

सुविधाएं

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

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

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

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

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

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

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

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

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

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

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

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

हालांकि, आपको सेवा देने वाली कंपनी के व्यवहार को अपनी ज़रूरत के हिसाब से बदलना पड़ सकता है. यहां कुछ सामान्य स्थितियां दी गई हैं:

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

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

दिशा चुनने वाला बटन

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

दोनों तरफ़ ले जाया जा सकने वाले बाईं ओर के इमोजी

चौथी इमेज. बाईं ओर मुँह किए हुए दो दिशाओं वाला इमोजी.

दोनों तरफ़ ले जाया जा सकने वाला राइट इमोजी

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

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

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

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

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

बाईं ओर मौजूद इमोजी पर टैप करें

सातवीं इमेज. बाईं ओर मुड़े हुए व्यक्ति का इमोजी चुनें.

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

आठवीं इमेज. इमोजी के तौर पर, किसी व्यक्ति की आधी इमेज चुनें.

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

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 को रीसेट करने पर, लेआउट की फिर से गिनती की जाती है.
  • हाल ही में इस्तेमाल किए गए इमोजी की सूची को फ़्रीक्वेंसी के हिसाब से क्रम में लगाने की सुविधा देने वाला, बदला गया इमोजी प्रोवाइडर.
  • स्टाइल को पसंद के मुताबिक बनाने के ज़्यादा विकल्प.