इमोजी पिकर

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

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

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

सुविधाएं

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

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

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