Emoji2

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

डिपेंडेंसी का एलान करना

Emoji2 पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट के लिए डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

ग्रूवी

dependencies {
    def emoji2_version = "1.5.0"

    implementation "androidx.emoji2:emoji2:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version"
}

Kotlin

dependencies {
    val emoji2_version = "1.5.0"

    implementation("androidx.emoji2:emoji2:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version")
}

डिपेंडेंसी के बारे में ज़्यादा जानकारी के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव

आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या पर अपना वोट जोड़ा जा सकता है.

नई समस्या बनाना

ज़्यादा जानकारी के लिए, समस्या को ट्रैक करने वाले टूल से जुड़ा दस्तावेज़ देखें.

Emoji2 Emojipicker Version 1.0

वर्शन 1.5.0

4 सितंबर, 2024

androidx.emoji2:emoji2-*:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये कमिट शामिल हैं.

1.4.0 के बाद के अहम बदलाव

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

वर्शन 1.0.0-alpha03

8 मार्च, 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 रिलीज़ हो गया है. 1.0.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • लाइब्रेरी से ग़ैर-ज़रूरी संसाधन हटाए गए. साथ ही, लाइब्रेरी का साइज़ करीब 0.3 एमबी कम किया गया.

वर्शन 1.0.0-alpha02

22 फ़रवरी, 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 रिलीज़ हो गया है. 1.0.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • हाल ही में जोड़े गए इमोजी उपलब्ध कराने के लिए, Java क्लाइंट के लिए नया एपीआई जोड़ा गया है. (I39d10)

गड़बड़ियां ठीक की गईं

  • इमोजी 15.0 (Ib4eb3) के साथ काम करने के लिए, इमोजी के संसाधनों को अपडेट करें
  • पॉप-अप विंडो से कोई इमोजी चुनते समय, एक जैसे सभी इमोजी को चुने गए नए इमोजी में अपडेट करें. हालांकि, हाल ही के इमोजी वाले इमोजी अपडेट न करें. क्लिक करने पर, इमोजी के बारे में भी बताएं. (I892c6)
  • EmojiPickerView दिखाने से पहले, emojicompat के लोड होने का इंतज़ार करें. (I29e03)

वर्शन 1.0.0-alpha01

25 जनवरी, 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

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

एपीआई में हुए बदलाव

  • EmojiPickerView क्लास को जोड़ा गया है. इसमें, वर्टिकल स्क्रोल किए जा सकने वाले व्यू में अप-टू-डेट इमोजी दिखाए जाते हैं. साथ ही, इसमें क्लिक किए जा सकने वाले हॉरिज़ॉन्टल हेडर भी होते हैं.
  • इमोजी पिकर ग्रिड कॉलम, एक्सएमएल एट्रिब्यूट emojiGridColumns या फ़ंक्शन setEmojiGridColumns() की मदद से सेट किए जा सकते हैं.
  • इमोजी पिकर की ग्रिड की पंक्तियों को एक्सएमएल एट्रिब्यूट emojiGridRows या फ़ंक्शन setEmojiGridRows() की मदद से सेट किया जा सकता है.
  • इमोजी के लिए चुने गए स्पीकर को setOnEmojiPickedListener() की मदद से सेट किया जा सकता है. साथ ही, जब भी उपयोगकर्ता किसी इमोजी पर क्लिक करेगा, तब इसे सूचना देने वाले को सूचना दी जाएगी.
  • हाल ही में इमोजी की सेवा देने वाली कंपनी की जानकारी, setRecentEmojiProvider() की मदद से दी जा सकती है. यह सुविधा ज़रूरी नहीं है. अगर हाल ही में इस्तेमाल किए गए इमोजी की सेवा देने वाली कंपनी सेट नहीं की गई है, तो लाइब्रेरी में हाल ही में इस्तेमाल किए गए इमोजी की सेवा देने वाली डिफ़ॉल्ट कंपनी का इस्तेमाल किया जाएगा. डिफ़ॉल्ट सेटिंग इस तरह से तय की गई है: 1) चुने गए सभी इमोजी, शेयर की गई प्राथमिकताओं में हर ऐप्लिकेशन के लेवल के हिसाब से सेव किए जाएंगे. 2) पिकर, चुने गए इमोजी की ज़्यादा से ज़्यादा तीन लाइनों को दिखाएगा. ये इमोजी अलग-अलग क्रम में दिखेंगे.
  • EmojiViewItem क्लास को जोड़ा गया है. इसमें दिखाए गए इमोजी और उसके वैरिएंट होते हैं.
  • RecentEmojiProvider इंटरफ़ेस की शुरुआत की गई. इसे हाल ही के इमोजी की सूची उपलब्ध कराने के लिए इस्तेमाल किया जा सकता है. “हाल ही में इस्तेमाल किए गए” कैटगरी में इमोजी उपलब्ध कराने की ज़िम्मेदारी recentEmojiProvider की है.

संस्‍करण 1.5

वर्शन 1.5.0

4 सितंबर, 2024

androidx.emoji2:emoji2-*:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये कमिट शामिल हैं.

1.4.0 के बाद किए गए ज़रूरी बदलाव

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

वर्शन 1.5.0-rc01

21 अगस्त, 2024

androidx.emoji2:emoji2-*:1.5.0-rc01 रिलीज़ हो गया है. वर्शन 1.5.0-rc01 में ये कमिट शामिल हैं.

नई सुविधाएं

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

गड़बड़ियां ठीक की गईं

  • नए प्लैटफ़ॉर्म एपीआई के ऐक्सेस की मैन्युअल आउटलाइन हटाई गई. ऐसा इसलिए, क्योंकि AGP 7.3 या उसके बाद के वर्शन (जैसे कि R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर और एजीपी 8.1 या उसके बाद के वर्शन (जैसे कि D8 वर्शन 8.1) के साथ, R8 का इस्तेमाल करने पर ऐसा अपने-आप होता है. जो क्लाइंट एजीपी का इस्तेमाल नहीं कर रहे हैं उन्हें D8 के 8.1 या इसके बाद के वर्शन पर अपडेट करने की सलाह दी जाती है. ज़्यादा जानकारी के लिए यह लेख देखें. (If6b4c, b/345472586)
  • EmojiPickerView के टैब के विकल्प और इंडिकेटर एक क्लिक के बाद अपडेट होते हैं. (146b02, b/288261054)
  • EmojiPickerView के टैब सिलेक्शन और इंडिकेटर में गड़बड़ी है. (5e1f14, b/273883688)

वर्शन 1.5.0-beta01

10 जुलाई, 2024

androidx.emoji2:emoji2-*:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • इमोजी 15.1 और दोनों तरफ़ ले जाया जा सकने वाले इमोजी चुनने के यूज़र इंटरफ़ेस (यूआई) के साथ काम करता है.
  • एक से ज़्यादा स्किन टोन चुनने की सुविधा को फिर से डिज़ाइन किया गया है.

गड़बड़ियां ठीक की गईं

  • EmojiPickerView के टैब के विकल्प और इंडिकेटर एक क्लिक के बाद अपडेट होते हैं. (146b02, b/288261054)
  • EmojiPickerView के टैब सिलेक्शन और इंडिकेटर में गड़बड़ी है. (5e1f14, b/273883688)

वर्शन 1.5.0-alpha01

13 दिसंबर, 2023

androidx.emoji2:emoji2-*:1.5.0-alpha01 रिलीज़ हो गया है. 1.5.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • emoji2-bundled में इमोजी 15.1 के साथ काम करने के लिए, अपडेट किया गया इमोजी फ़ॉन्ट शामिल है.

एपीआई में हुए बदलाव

  • InitCallback के लिए कॉलबैक थ्रेड को कंट्रोल करने के लिए, एक्ज़ीक्यूटर जोड़ें. (I32b67)
  • BundledEmojiCompatConfig अब थ्रेड लोड करने की प्रोसेस को कंट्रोल करने के लिए, एक एक्सेक्यूटर का इस्तेमाल करता है. (I00e81)

वर्शन 1.4

वर्शन 1.4.0

9 अगस्त, 2023

androidx.emoji2:emoji2-*:1.4.0 रिलीज़ हो गया है. 1.4.0 वर्शन में ये बदलाव शामिल हैं.

1.3.0 के बाद किए गए अहम बदलाव

वर्शन 1.4.0-rc01

26 जुलाई, 2023

androidx.emoji2:emoji2-*:1.4.0-rc01 रिलीज़ हो गया है. वर्शन 1.4.0-rc01 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • registerSource सूची का परिचय दें (Iae92f)
  • एपीआई काउंसिल का सुझाव: TransitionManager.seekTo() का नाम बदलकर createSeekController() कर दिया गया. कृपया TransitionManager.seekTo() को TransitionManager.createSeekController() में जोड़ने के बारे में पिछली टिप्पणी में बदलाव करें. (Idbeb1)
  • ExerciseRouteResult जोड़ा गया, जो Data, NoData, और ConsentRequiredStates के लिए सुपरक्लास नहीं है. ExerciseRoute को स्टैंडअलोन क्लास के तौर पर जोड़ा गया है. इसमें रास्ते की जगह की जानकारी का डेटा सेव होता है. (I22eed)
  • Pager में मेज़र पास होने के बाद इकट्ठा की गई जानकारी के साथ PagerLayoutInfo को पेश किया गया. साथ ही, PageInfo भी जोड़ी गई है. यह Pager में मेज़र किए गए किसी एक पेज के बारे में जानकारी होती है. (Iad003, b/283098900)

गड़बड़ियां ठीक की गईं

  • हमने Material3 डिज़ाइन के मुताबिक, Button, IconButton, और TextButton के रंग अपडेट कर दिए हैं. Button, IconButton, और TextButton के लिए सिमेंटिक भूमिका को अब Modifier.semantics का इस्तेमाल करके बदला जा सकता है. (Ib2495)
  • EmojiPickerView के टैब के चुने जाने और इंंडिकेटर के अपडेट होने में एक क्लिक का अंतर ठीक किया गया. (I4db04)
  • FileNotFoundException इमोजी पिकर दिखाने पर (I353e4)
  • EmojiPickerView का इस्तेमाल करते समय WindowManager.BadTokenException को कैच करना (I0a144)

वर्शन 1.4.0-beta05

7 जून, 2023

androidx.emoji2:emoji2-*:1.4.0-beta05 रिलीज़ हो गया है. वर्शन 1.4.0-beta05 में ये कमिट हैं.

गड़बड़ियां ठीक की गईं

  • 1.3 में आई एक गड़बड़ी को ठीक किया गया है. इसकी वजह से, RelativeSizeSpan जैसे MetricsAffectingSpans दो बार लागू हो जाते थे. टेक्स्ट लेआउट के दौरान एक बार और फिर EmojiSpan.draw के अंदर. नतीजे का साइज़ गलत था. यह तब दिखता है, जब स्पैन ने टेक्स्ट साइज़ के किसी पैरामीटर में बदलाव किया हो. (b/283208650)

वर्शन 1.4.0-beta04

24 मई, 2023

androidx.emoji2:emoji2-*:1.4.0-beta04 रिलीज़ हो गया है. 1.4.0-beta04 वर्शन में ये बदलाव शामिल हैं.

इस रिलीज़ में, 1.0 से मौजूद एक गड़बड़ी को ठीक किया गया है. इसमें, फ़ॉन्ट लोड होने के बाद इमोजी स्पैन को अपडेट करने की कोशिश करने पर, नॉन-मुख्य हैंडलर वाले व्यू में अपवाद दिखता था. इसका कोई समाधान नहीं है. अगर आप पर इस गड़बड़ी का असर हुआ है, तो कृपया इस वर्शन में या बाद में अपग्रेड करें.

गड़बड़ियां ठीक की गईं

  • EmojiCompat init कॉलबैक, अब हर व्यू से हैंडलर का इस्तेमाल करेंगे. ऐसा उन व्यू के लिए किया जाएगा जो मुख्य थ्रेड में मौजूद नहीं हैं. (Iccbcf)

वर्शन 1.4.0-beta03

10 मई, 2023

androidx.emoji2:emoji2-*:1.4.0-beta03 रिलीज़ हो गया है. 1.4.0-beta03 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इमोजी पिकर के नेस्ट किए गए पॉप-अप व्यू के क्रैश होने की समस्या को ठीक किया गया. (0acc8e)
  • EmojiCompat getEmojiStart/getEmojiEnd में शुरुआती अपवाद डालें. (26177f)

वर्शन 1.4.0-beta02

19 अप्रैल, 2023

androidx.emoji2:emoji2-*:1.4.0-beta02 रिलीज़ हो गया है. वर्शन 1.4.0-beta02 में ये कमिट हैं.

गड़बड़ियां ठीक की गईं

  • लिंट बेसलाइन फ़ाइलों को अपडेट करना (Iaa212)

वर्शन 1.4.0-beta01

5 अप्रैल, 2023

androidx.emoji2:emoji2-*:1.4.0-beta01 रिलीज़ हो गया है. 1.4.0-beta01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

androidx.emoji2:emoji2-emojipicker

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

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

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

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

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

हाल ही के इमोजी

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

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

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

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

अगर ऐप्लिकेशन में EmojiCompat इंस्टेंस है, तो इसका इस्तेमाल इमोजी पिकर में किया जाएगा, ताकि ज़्यादा से ज़्यादा इमोजी रेंडर किए जा सकें. EmojiCompat बंद होने पर भी, इमोजी पिकर ठीक से काम करेगा.

लाइब्रेरी को इस्तेमाल करने का तरीका

लाइब्रेरी का इस्तेमाल करने के लिए, ऐप्लिकेशन डेवलपर को

  1. androidx.emoji2:emojipicker:$version को build.gradle में इंपोर्ट करें.

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. इमोजी पिकर व्यू को बड़ा करें और हर इमोजी सेल के साइज़ के हिसाब से, emojiGridRows और emojiGridColumns को सेट करें

    • आपके पास इनके लिए कोई वैल्यू सेट न करने का विकल्प है. डिफ़ॉल्ट रूप से, इनकी वैल्यू 9 emojiGridColumns होती है. पंक्तियों की गिनती, पैरंट व्यू की ऊंचाई और 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)
  1. अगर आपको चुने गए इमोजी को EditText में जोड़ना है, तो setOnEmojiPickedListener() का इस्तेमाल करें

      emojiPickerView.setOnEmojiPickedListener {
          findViewById<EditText>(R.id.edit_text).append(it.emoji)
      }
    
  2. इसके अलावा, RecentEmojiProvider को सेट करें. लागू करने का उदाहरण देखने के लिए, सैंपल ऐप्लिकेशन देखें.

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

एपीआई में हुए बदलाव

इमोजी पिकर लाइब्रेरी में, इन नए एपीआई का इस्तेमाल किया गया है:

  • EmojiPickerView क्लास, जो वर्टिकल स्क्रोल किए जा सकने वाले व्यू में अप-टू-डेट इमोजी दिखाती है. साथ ही, इसमें क्लिक किए जा सकने वाले हॉरिज़ॉन्टल हेडर भी होते हैं.
  • एक्सएमएल एट्रिब्यूट emojiGridColumns और emojiGridRows या setEmojiGridColumns() और setEmojiGridRows() तरीकों की मदद से, इमोजी पिकर ग्रिड में कॉलम और लाइनों की संख्या सेट करने की सुविधा.
  • setOnEmojiPickedListener() तरीके से, इमोजी का इस्तेमाल करके पॉडकास्ट सुनने वाले व्यक्ति की जानकारी सेट करने की सुविधा. जब भी उपयोगकर्ता किसी इमोजी पर क्लिक करेगा, तो दर्शक को इसकी सूचना दी जाएगी.
  • setRecentEmojiProvider() तरीके से, इमोजी उपलब्ध कराने वाली हाल ही की सेवा देने वाली कंपनी की जानकारी देना. यह सुविधा इस्तेमाल करना ज़रूरी नहीं है. अगर हाल ही में इस्तेमाल किए गए इमोजी की सेवा देने वाली कंपनी सेट नहीं की गई है, तो लाइब्रेरी में हाल ही में इस्तेमाल किए गए इमोजी की सेवा देने वाली डिफ़ॉल्ट कंपनी का इस्तेमाल किया जाएगा. डिफ़ॉल्ट व्यवहार को इस तरह से परिभाषित किया गया है:
    • चुने गए सभी इमोजी, शेयर की गई प्राथमिकताओं में हर ऐप्लिकेशन के लेवल पर सेव किए जाएंगे.
    • पिकर में, चुने गए इमोजी की ज़्यादा से ज़्यादा तीन पंक्तियां दिखेंगी. इनमें डुप्लीकेट इमोजी नहीं दिखेंगे. इन्हें समय के हिसाब से, सबसे हाल के से सबसे पुराने के क्रम में दिखाया जाएगा.
  • EmojiViewItem क्लास, जिसमें दिखाए गए इमोजी और उनके इमोजी के वैरिएंट होते हैं.
  • RecentEmojiProvider इंटरफ़ेस, जिसे हाल ही में इस्तेमाल किए गए इमोजी की सूची दिखाने के लिए लागू किया जा सकता है. “हाल ही में इस्तेमाल किए गए” कैटगरी में इमोजी उपलब्ध कराने की ज़िम्मेदारी recentEmojiProvider की है.
  • RecentEmojiAsyncProvider इंटरफ़ेस, जिसे हाल ही में इस्तेमाल किए गए इमोजी की सूची दिखाने के लिए लागू किया जा सकता है. “हाल ही में इस्तेमाल किए गए” कैटगरी में इमोजी उपलब्ध कराने की ज़िम्मेदारी RecentEmojiAsyncProvider की है. यह इंटरफ़ेस RecentEmojiProvider जैसा ही है. इससे क्लाइंट, हाल ही में इस्तेमाल किए गए इमोजी दिखाने के लिए, getRecentEmojiListAsync() तरीके को बदल सकते हैं.
  • RecentEmojiProviderAdapter क्लास, जो RecentEmojiAsyncProvider के लिए अडैप्टर है और RecentEmojiProvider को लागू करती है.

वर्शन 1.4.0-alpha01

22 मार्च, 2023

androidx.emoji2:emoji2-*:1.4.0-alpha01 रिलीज़ हो गया है. 1.4.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • टेस्ट ठीक करें, फ़्लेक टेस्ट बंद करें, और क्लीन अप करें.

वर्शन 1.3

वर्शन 1.3.0

22 मार्च, 2023

androidx.emoji2:emoji2-*:1.3.0 रिलीज़ हो गया है. 1.3.0 वर्शन में ये बदलाव शामिल हैं.

01.2.0 के बाद से हुए अहम बदलाव

  • इस रिलीज़ की मदद से, Compose Foundation 1.4.0 और इसके बाद के वर्शन में इमोजी2 इंटिग्रेशन की सुविधा चालू की जा सकती है.
  • इसकी मदद से, EmojiSpans को कस्टम ड्रॉइंग कोड से बदला जा सकता है. साथ ही, Android पर तय किए गए इमोजी को हटाने की सुविधा भी मिलती है.

वर्शन 1.3.0-rc01

8 मार्च, 2023

androidx.emoji2:emoji2-*:1.3.0-rc01 रिलीज़ हो गया है. वर्शन 1.3.0-rc01 में ये कमिट हैं.

नई सुविधाएं

  • यह वर्शन, emoji2 compose इंटिग्रेशन के साथ काम करता है.

एपीआई में हुए बदलाव

  • कस्टम ड्रॉइंग कोड के लिए स्पैन बदलें.
  • सिस्टम से बाहर रखे गए आइटम के बारे में क्वेरी करना.

गड़बड़ियां ठीक की गईं

  • साथ ही, EmojiSopans के पीछे बैकग्राउंड स्पैन ठीक से लागू न होने की गड़बड़ी को ठीक किया गया है.

वर्शन 1.3.0-beta03

23 फ़रवरी, 2023

androidx.emoji2:emoji2-bundled:1.3.0-beta03, androidx.emoji2:emoji2-views:1.3.0-beta03, और androidx.emoji2:emoji2-views-helper:1.3.0-beta03 रिलीज़ हो गए हैं.

22 फ़रवरी, 2023

androidx.emoji2:emoji2:1.3.0-beta03 रिलीज़ हो गया है. वर्शन 1.3.0-beta03 में ये कमिट हैं.

नई सुविधाएं

  • कोई परिवर्तन नहीं. इस रिलीज़ का मकसद, Compose के साथ इंटिग्रेशन की सुविधा को तैयार करना है.

वर्शन 1.3.0-beta02

8 फ़रवरी, 2023

androidx.emoji2:emoji2-*:1.3.0-beta02 रिलीज़ हो गया है. 1.3.0-beta02 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • इस रिलीज़ में, कॉम्पोज़ इंटिग्रेशन के साथ काम करने के लिए, ऐप्लिकेशन को स्थिर किया गया है.

वर्शन 1.3.0-beta01

25 जनवरी, 2023

androidx.emoji2:emoji2-*:1.3.0-beta01 रिलीज़ हो गया है. 1.3.0-beta01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • सिस्टम से बाहर क्वेरी करने के दौरान क्वेरी की जा रही है.
  • कस्टम ड्रॉइंग कोड के लिए, स्पैन बदलना.
  • साथ ही, ऐसी गड़बड़ी को ठीक किया गया है जिसकी वजह से EmojiSopans के पीछे बैकग्राउंड स्पैन को सही तरीके से लागू नहीं किया जा सका था.
  • इस रिलीज़ में, Compose में EmojiCompat के साथ काम करने के लिए ज़रूरी एपीआई जोड़े गए हैं. आने वाले समय में रिलीज़ होने वाले वर्शन में, इमोजी के साथ काम करने वाली 'लिखें' सुविधा उपलब्ध होगी.

वर्शन 1.3.0-alpha01

11 जनवरी, 2023

androidx.emoji2:emoji2-*:1.3.0-alpha01 रिलीज़ हो गया है. वर्शन 1.3.0-alpha01 में ये कमियां हैं.

कम लेवल के इंटरैक्शन के लिए नए एपीआई

  • सिस्टम एक्सक्लूज़न के बारे में क्वेरी करना
  • कस्टम ड्रॉइंग कोड के लिए स्पैन बदलना
  • साथ ही, EmojiSopans के पीछे बैकग्राउंड स्पैन ठीक से लागू न होने की गड़बड़ी को ठीक किया गया है.
  • इस रिलीज़ में, Compose में EmojiCompat के साथ काम करने के लिए ज़रूरी एपीआई जोड़े गए हैं. आने वाले समय में रिलीज़ होने वाले इमोजी कंपैट की सुविधा के लिए, कंपोज़ की सुविधा का इस्तेमाल किया जा सकता है.

एपीआई में हुए बदलाव

  • TypefaceEmojiRasterizer में, सिस्टम एक्सक्लूज़न के बारे में क्वेरी करने की सुविधा जोड़ी गई है. (I5653e)
  • कस्टम ड्रॉइंग और साइज़िंग कोड के साथ डिफ़ॉल्ट EmojiSpan व्यवहार को बदलने के लिए, नया एपीआई EmojiCompat.SpanFactory जोड़ा गया है. (Ib69d9)
  • EmojiCompat को Compose में जोड़ा गया (I96f37, b/139326806)

गड़बड़ियां ठीक की गईं

  • Emoji2 अब BackgroundSpan से बैकग्राउंड को सही तरीके से ड्रॉ करेगा. (Ide6a8, b/230525134)
  • 1.5.0-beta01 (I2a43d, b/236866227) के लिए, AppCompat API को फ़ाइनल करना

वर्शन 1.2

वर्शन 1.2.0

10 अगस्त, 2022

androidx.emoji2:emoji2-*:1.2.0 रिलीज़ हो गया है. 1.2.0 वर्शन में ये बदलाव शामिल हैं.

1.1.0 के बाद किए गए अहम बदलाव

यह गड़बड़ी ठीक करने के लिए रिलीज़ किया गया वर्शन है. 1.1.0 के बाद से कोई नई सुविधा या एपीआई नहीं जोड़ा गया है.

हालांकि, PrecomputedText या TextView.setText(char[]) का इस्तेमाल करने वाले ऐप्लिकेशन को इस वर्शन पर अपग्रेड करना चाहिए.

ये गड़बड़ियां ठीक की गईं:

  • Emoji2, पहले से तय किए गए टेक्स्ट लेआउट को खारिज करके, PrecomputedText में इमोजी जोड़ देगा. (I47d06, b/211231958)
  • Android P से EditText पर, एडिटर के क्रैश होने की समस्या को ठीक करने की सुविधा को बैकपोर्ट किया गया है. यह सुविधा, emoji2 का इस्तेमाल करने के लिए कॉन्फ़िगर की गई है. (Ifd709, b/216891011)
  • emoji2 फ़ॉन्ट लोड करने और TextView.setText(char[]) का इस्तेमाल करने पर क्रैश होने की समस्या ठीक की गई. (Id511e, b/206859724)

वर्शन 1.2.0-rc01

27 जुलाई, 2022

androidx.emoji2:emoji2-*:1.2.0-rc01 रिलीज़ हो गया है. 1.2.0-rc01 वर्शन में ये बदलाव शामिल हैं.

  • पिछले बीटा वर्शन के बाद से कोई बदलाव नहीं हुआ है.

वर्शन 1.2.0-beta01

13 जुलाई, 2022

androidx.emoji2:emoji2-*:1.2.0-beta01 रिलीज़ हो गया है. 1.2.0-beta01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • पिछले वर्शन से कोई बदलाव नहीं हुआ है. यह रिलीज़, AppCompat रिलीज़ के साथ काम करने के लिए है.

वर्शन 1.2.0-alpha04

20 अप्रैल, 2022

androidx.emoji2:emoji2-*:1.2.0-alpha04 रिलीज़ हो गया है. 1.2.0-alpha04 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • इस रिलीज़ में कोई बदलाव नहीं हुआ है.

वर्शन 1.2.0-alpha03

6 अप्रैल, 2022

androidx.emoji2:emoji2-*:1.2.0-alpha03 रिलीज़ हो गया है. वर्शन 1.2.0-alpha03 में ये कमियां हैं.

नई सुविधाएं

  • पिछले वर्शन में कोई बदलाव नहीं किया गया है. यह रिलीज़, appcompat रिलीज़ के साथ काम करती है.

वर्शन 1.2.0-alpha02

23 मार्च, 2022

androidx.emoji2:emoji2-*:1.2.0-alpha02 रिलीज़ हो गया है. 1.2.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Emoji2, पहले से तय किए गए टेक्स्ट लेआउट को हटाकर, PrecomputedText में इमोजी जोड़ देगा. (I47d06, b/211231958)
  • Android P से EditText में, एडिटर क्रैश होने की समस्या को ठीक करने की सुविधा को बैकपोर्ट किया गया है. यह सुविधा, emoji2 का इस्तेमाल करने के लिए कॉन्फ़िगर की गई है. (Ifd709, b/216891011)
  • emoji2 फ़ॉन्ट लोड करने और TextView.setText(char[]) का इस्तेमाल करने पर क्रैश होने की समस्या को ठीक किया गया. (Id511e, b/206859724)

वर्शन 1.2.0-alpha01

23 फ़रवरी, 2022

androidx.emoji2:emoji2-*:1.2.0-alpha01 रिलीज़ हो गया है. 1.2.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

1.1.0 के बाद से कोई बदलाव नहीं हुआ है.

1.1

वर्शन 1.1.0

23 फ़रवरी, 2022

androidx.emoji2:emoji2-*:1.1.0 रिलीज़ हो गया है. वर्शन 1.1.0 में ये कमियां शामिल हैं.

1.0.0 के बाद किए गए अहम बदलाव

  • emoji2-bundled में इमोजी 14 फ़ॉन्ट शामिल है
  • नया getEmojiMatch एपीआई, कीबोर्ड के लिए सटीक जानकारी दिखाता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद emojicompat फ़ॉन्ट की मौजूदगी में, इमोजी कैसे दिखेगा
  • NumberKeyListener के लिए गड़बड़ी ठीक की गई, जिससे अंकों के इनपुट से वर्णों को सही तरीके से फ़िल्टर किया जा सके.

वर्शन 1.1.0-rc01

9 फ़रवरी, 2022

androidx.emoji2:emoji2-*:1.1.0-rc01 रिलीज़ हो गया है. 1.1.0-rc01 वर्शन में ये कमिट शामिल हैं.

नई सुविधाएं

बीटा वर्शन की तुलना में कोई बदलाव नहीं किया गया है.

emoji2 1.0.0 की तुलना में नई सुविधाएं:

  • emoji2-bundled एट्रिब्यूट की वैल्यू के तौर पर दिए गए टेक्स्ट में इमोजी 14 फ़ॉन्ट शामिल है
  • नया getEmojiMatch एपीआई, कीबोर्ड के लिए सटीक जानकारी दिखाता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद emojicompat फ़ॉन्ट की मौजूदगी में, इमोजी कैसे दिखेगा
  • NumberKeyListener में मौजूद गड़बड़ी को ठीक किया गया है. इससे अंकों के इनपुट से, वर्णों को सही तरीके से फ़िल्टर किया जा सकेगा

वर्शन 1.1.0-beta01

26 जनवरी, 2022

androidx.emoji2:emoji2-*:1.1.0-beta01 रिलीज़ हो गया है. 1.1.0-beta01 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • androidx-emoji2 बीटा01 रिलीज़. Alphabet01 (Ic61d9) से कोई बदलाव नहीं हुआ है

वर्शन 1.1.0-alpha01

15 दिसंबर, 2021

androidx.emoji2:emoji2-*:1.1.0-alpha01 रिलीज़ हो गया है. वर्शन 1.1.0-alpha01 में ये कमियां हैं.

नई सुविधाएं

  • emoji2-bundled एट्रिब्यूट की वैल्यू के तौर पर दिए गए टेक्स्ट में इमोजी 14 फ़ॉन्ट शामिल है
  • नया getEmojiMatch एपीआई, कीबोर्ड के लिए सटीक जानकारी दिखाता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद emojicompat फ़ॉन्ट की मौजूदगी में, इमोजी कैसे दिखेगा
  • NumberKeyListener के लिए बग समाधान जो अंक इनपुट को सही तरीके से वर्णों को फ़िल्टर करने देता है

एपीआई में हुए बदलाव

  • emojicompat में, इमोजी मैच करने के व्यवहार को ज़्यादा सटीक तरीके से लुकअप करने के लिए, नया एपीआई getEmojiMatch जोड़ें.
  • hasEmojiGlyph का इस्तेमाल बंद करें, क्योंकि प्लैटफ़ॉर्म के इमोजी फ़ॉन्ट से पुराने फ़ॉन्ट के लिए, इसकी बूलियन रिटर्न वैल्यू गलत होती है. इसे getEmojiMatch से बदलें. (Ie693d)

गड़बड़ियां ठीक की गईं

  • Emoji2, NumberKeyListener के इंस्टेंस को रैप नहीं करेगा. इससे TextView की मदद से, स्थानीय भाषा को कॉन्फ़िगर किया जा सकेगा.
  • Appcompat, setKeyListener को पास किए गए NumberKeyListener के इंस्टेंस को रैप नहीं करेगा. इससे TextView, NumberKeyListeners पर स्थानीय भाषा को सही तरीके से कॉन्फ़िगर कर पाएगा. (Ibf113, b/207119921)

1.0

वर्शन 1.0.1

15 दिसंबर, 2021

androidx.emoji2:emoji2-*:1.0.1 रिलीज़ हो गया है. 1.0.1 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Emoji2, NumberKeyListener के इंस्टेंस को रैप नहीं करेगा. इससे TextView की मदद से, स्थानीय भाषा को कॉन्फ़िगर किया जा सकता है.
  • Appcompat, setKeyListener को पास किए गए NumberKeyListener के इंस्टेंस को रैप नहीं करेगा. इससे TextView, NumberKeyListeners पर स्थानीय भाषा को सही तरीके से कॉन्फ़िगर कर पाएगा. (Ibf113, b/207119921)

वर्शन 1.0.0

17 नवंबर, 2021

androidx.emoji2:emoji2-*:1.0.0 रिलीज़ हो गया है. 1.0.0 वर्शन में ये बदलाव शामिल हैं.

1.0.0 के मुख्य फ़ीचर

androidx.emoji2, androidx.emoji की जगह लेता है और इसमें कुछ और सुविधाएं भी होती हैं:

  • APK के साइज़ में कमी बनाम androidx.emoji
  • अपने-आप होने वाला कॉन्फ़िगरेशन
  • appcompat 1.4 पर डिपेंडेंसी के तौर पर जोड़ा गया

androidx.emoji2 के बारे में ज़्यादा जानकारी के लिए, साथ काम करने वाले मॉडर्न इमोजी देखें और हमारे Android Dev समिट में बातचीत करें. इससे, आपके Android Dev ऐप्लिकेशन में सभी इमोजी दिखाए जा रहे हैं.

वर्शन 1.0.0-rc01

27 अक्टूबर, 2021

androidx.emoji2:emoji2-*:1.0.0-rc01 रिलीज़ हो गया है. 1.0.0-rc01 वर्शन में ये कमिट शामिल हैं.

  • beta02 के बाद से कोई बदलाव नहीं हुआ है.

Emoji2 वर्शन 1.0.0-beta01

15 सितंबर, 2021

androidx.emoji2:emoji2-*:1.0.0-beta01 रिलीज़ हो गया है. 1.0.0-beta01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • setLoadingExecutor को FontRequestEmojiCompatConfig में जोड़ा गया. यह setHandler के पिछले एपीआई की जगह लेता है. यह एपीआई, ऐप्लिकेशन को FontRequestEmojiCompatConfig को कॉन्फ़िगर करने देता है, ताकि वे किसी भी बैकग्राउंड एक्ज़ीक्यूटर का इस्तेमाल कर सकें.

    यह बदलाव, androidx.emoji:emoji से बड़ा बदलाव लाने वाला है. इसलिए, माइग्रेशन में मदद करने के लिए setHandler को, नो-ऑप डेप्रिकेटेड एपीआई के तौर पर सेव रखा जाता है. (I6cd48)

  • इमोजी कंपैट, Android 11 पर EditorInfo.extras को सही तरीके से सेट करता है

    • ऐसे कस्टम विजेट जो EditText की सबक्लास के तौर पर काम न करने वाले IME का इस्तेमाल करते हैं, वे IME को यह बताने के लिए EmojiCompat.updateEditorInfo को कॉल कर सकते हैं कि वे EmojiCompat प्रोसेसिंग के साथ काम करते हैं. (I1ea9b)

गड़बड़ियां ठीक की गईं

  • API 19 और 28 पर इमोजी फ़ॉन्ट प्रोवाइडर को सही तरीके से खोजने के लिए, DefaultEmojiCompatConfig को ठीक करें. इससे इमोजी 2 1.0.0-alpha01 में आई गड़बड़ी ठीक कर दी गई है. (Ib33d8, b/197906329)

वर्शन 1.0.0-alpha03

30 जून, 2021

androidx.emoji2:emoji2-*:1.0.0-alpha03 रिलीज़ हो गया है. 1.0.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

इस रिलीज़ में गड़बड़ियां ठीक की गई हैं और ऐप्लिकेशन को क्रैश या हैंग होने से बचाने वाले सुधार किए गए हैं.

  1. EmojiEditTextHelper अब null को KeyListener के तौर पर पास करने की अनुमति देता है. इससे प्लैटफ़ॉर्म के काम करने के तरीके को, एडिट टेक्स्ट को लागू करने वाले इमोजी पर शून्य लागू करने की अनुमति मिलती है.
  2. EmojiCompatInitializer का इस्तेमाल करने पर, पहली ऐक्टिविटी फिर से शुरू होने के बाद ट्रिगर करने के लिए, शुरुआती स्टार्टअप में लगने वाले समय को बेहतर बनाया गया है. इससे ऐप्लिकेशन को बिना किसी रुकावट के शुरू किया जा सकता है. साथ ही, ऐसे ऐप्लिकेशन के लिए फ़ॉन्ट लोड होने से बचा जा सकता है जो कभी यूज़र इंटरफ़ेस (यूआई) नहीं दिखाते. कुछ देर बाद, EmojiCompat इमोजी फ़ॉन्ट लोड करने के लिए एक थ्रेड बनाएगा.
  • देरी लागू करने के लिए, androidx.emoji2:emoji2 से androidx.lifecycle:lifecycle-process पर एक नई डिपेंडेंसी जोड़ी गई है. इसका असर उन ऐप्लिकेशन के लिए बहुत कम होगा, जिनमें लाइफ़साइकल की सुविधा पहले से मौजूद है (जैसे कि appcompat वाले ऐप्लिकेशन).

एपीआई में हुए बदलाव

  • AppCompatEditText में null KeyListener की अनुमति दें. यह उस गैर-शून्य एनोटेशन को उलट देता है जिसे 1.4.0-alpha01 में AppCompatEditText में जोड़ा गया है और शून्य पास किए जाने पर पिछले व्यवहार को वापस लाया जाता है. (I21482, b/189559345)

गड़बड़ियां ठीक की गईं

  • EmojiCompatInitializer को बदलकर, फ़ॉन्ट लोड होने में लगने वाले समय को पहले Activity.onResume के 500 मिलीसेकंड बाद तक बढ़ाएं. इससे किसी गतिविधि को Application.onCreate और Activity.onCreate को बिना किसी रुकावट के पूरा करने में मदद मिलती है. साथ ही, यह भी पक्का किया जाता है कि ऐप्लिकेशन के शुरू होने के कुछ समय बाद इमोजी फ़ॉन्ट लोड हो जाए. (I4bff7)

वर्शन 1.0.0-alpha02

2 जून, 2021

androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02, और androidx.emoji2:emoji2-views-helper:1.0.0-alpha02 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha02 में ये कमियां हैं.

एपीआई में हुए बदलाव

  • emoji2-views-helper में पैकेज का नाम बदलकर androidx.emoji2.viewsintegration किया गया. यह बदलाव, AppCompat 1.4.0-alpha01 के लिए एक बड़ा बदलाव है. साथ ही, ऐप्लिकेशन को यह पक्का करना होगा कि इमोजी के नए वर्शन का इस्तेमाल करने के लिए, AppCompat की डिपेंडेंसी अपडेट हो. (Ie8397)

वर्शन 1.0.0-alpha01

18 मई, 2021

androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01, और androidx.emoji2:emoji2-views-helper:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये कमिट शामिल हैं.

इस शुरुआती रिलीज़ में उपलब्ध सुविधाएं

हमारा सुझाव है कि सभी ऐप्लिकेशन में emojicompat को इंटिग्रेट करें, ताकि वे एपीआई लेवल 19 से नए इमोजी के साथ काम कर सकें. आपके ऐप्लिकेशन में मौजूद सभी यूज़र जनरेटेड कॉन्टेंट में 🎉 शामिल है.

इमोजीकॉम्पैट को androidx.emoji आर्टफ़ैक्ट से नए androidx.emoji2 में ले जाया गया है. यह अब ऐल्फ़ा01 वर्शन में उपलब्ध है. पुराने वर्शन की जगह, नए आर्टफ़ैक्ट का इस्तेमाल किया गया है.

emoji2 को AppCompat 1.4.0-alpha01 से शुरू होने वाले AppCompat में डिपेंडेंसी के तौर पर जोड़ा गया है. साथ ही, यह AppCompat व्यू के लिए डिफ़ॉल्ट रूप से चालू रहता है.

emoji2 आर्टफ़ैक्ट में, androidx.startup लाइब्रेरी का इस्तेमाल करके, अपने-आप कॉन्फ़िगर होने की नई सुविधा जोड़ी गई है. अब आपको दिखाने के लिए कोई 👨🏽 सुनने के लिए कोड लिखने की ज़रूरत नहीं है वर्ली 🌴️.

emoji से emoji2 में हुए बदलाव

  • androidx.startup का इस्तेमाल करके, अपने-आप कॉन्फ़िगर होने वाला नया EmojiCompatInitializer जोड़ा गया.
  • नया डिफ़ॉल्ट कॉन्फ़िगरेशन जोड़ा गया है. यह DefaultEmojiCompatConfiguration में, डाउनलोड किए जा सकने वाले फ़ॉन्ट की सेवा देने वाली कंपनी ढूंढने के लिए, सेवा की जगह की जानकारी का इस्तेमाल करता है.
  • क्लास को androidx.emoji पैकेज से androidx.emoji2 में ले जाया गया.
  • EmojiTextView और उससे जुड़े व्यू को अलग आर्टफ़ैक्ट emoji2-views में बांटें. इसका इस्तेमाल सिर्फ़ तब किया जाना चाहिए, जब आपका ऐप्लिकेशन appcompat का इस्तेमाल न करता हो.
  • emojicompat को कस्टम व्यू में इंटिग्रेट करने के लिए, अलग-अलग आर्टफ़ैक्ट emoji2-views-helper में हेल्पर निकाले गए.
  • वैल्यू न होने की जानकारी देने वाले एनोटेशन जोड़े गए.
  • emoji2-views-helper में मौजूद हेल्पर का इस्तेमाल, अब EmojiCompat के शुरू न होने पर भी किया जा सकता है. पहले, ऐसा करने पर अपवाद दिखता था.

आपको कौनसी डिपेंडेंसी जोड़नी चाहिए?

  • AppCompat की सुविधा वाले ऐप्लिकेशन को, appcompat वर्शन AppCompat 1.4.0-alpha01 या इसके बाद वाले वर्शन पर अपग्रेड करना होगा.
  • जिन ऐप्लिकेशन में AppCompat नहीं है और जो प्लैटफ़ॉर्म से TextView/EditText का इस्तेमाल करते हैं उन्हें emoji2-views से EmojiTextView और उससे जुड़ी क्लास का इस्तेमाल करना चाहिए.

कस्टम व्यू में सपोर्ट कैसे करें

  • AppCompat वाले ऐप्लिकेशन को प्लैटफ़ॉर्म TextView वगैरह के बजाय, AppCompatTextView, AppCompatButton वगैरह को एक्सटेंड करना चाहिए.
  • जिन ऐप्लिकेशन में AppCompat नहीं है उन्हें androidx.emoji2:emoji2-views-helper डिपेंडेंसी जोड़नी चाहिए. साथ ही, कस्टम TextView या EditText सबक्लास के साथ इंटिग्रेट करने के लिए, हेल्पर का इस्तेमाल करना चाहिए.

अपने-आप शुरू होने की सुविधा को कॉन्फ़िगर करना

  • ऐप्लिकेशन, मेनिफ़ेस्ट में यह जोड़कर अपने-आप शुरू होने की सुविधा बंद कर सकते हैं:

     <provider
         android:name="androidx.startup.InitializationProvider"
         android:authorities="${applicationId}.androidx-startup"
         android:exported="false"
         tools:node="merge">
         <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
                   tools:node="remove" />
     </provider>
    
  • इससे अपने-आप कॉन्फ़िगर होने की सुविधा बंद हो जाती है. इसके बाद, EmojiCompat.init को कस्टम कॉन्फ़िगरेशन पास किया जा सकता है. EmojiCompat.init पर भेजने से पहले, सिस्टम के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन को DefaultEmojiCompatConfig.create(context) से वापस पाया जा सकता है.