Emoji2
नया अपडेट | रिलीज़ किया गया जांचा और परखा हुआ वर्शन | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
4 जून, 2025 | 1.5.0 | - | - | 1.6.0-alpha01 |
डिपेंडेंसी का एलान करना
Emoji2 पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
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 वर्शन 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.6
वर्शन 1.6.0-alpha01
4 जून, 2025
androidx.emoji2:emoji2-*:1.6.0-alpha01
रिलीज़ हो गया है. वर्शन 1.6.0-alpha01 में ये कमिट शामिल हैं.
नई सुविधाएं
- इमोजी 16.0 का डेटा अपडेट (Ifc878)
- कॉन्टेंट के ब्यौरे में “emoji” सफ़िक्स जोड़ना
गड़बड़ियां ठीक की गईं
- यह लाइब्रेरी अब JSpecify nullness एनोटेशन का इस्तेमाल करती है, जो टाइप-इस्तेमाल के लिए हैं. Kotlin डेवलपर को सही तरीके से इस्तेमाल करने के लिए, कंपाइलर के इन आर्ग्युमेंट का इस्तेमाल करना चाहिए:
-Xjspecify-annotations=strict
,-Xtype-enhancement-improvements-strict-mode
(Id07e7, b/326456246)
संस्करण 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 का इस्तेमाल करने पर, एपीआई मॉडलिंग की मदद से यह अपने-आप हो जाता है. साथ ही, AGP 8.1 या इसके बाद के वर्शन (उदाहरण के लिए, D8 वर्शन 8.1) का इस्तेमाल करने पर, सभी बिल्ड के लिए यह अपने-आप हो जाता है. जिन क्लाइंट ने AGP का इस्तेमाल नहीं किया है उन्हें 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
बंद होने पर भी, इमोजी पिकर ठीक से काम करेगा.
लाइब्रेरी को इस्तेमाल करने का तरीका
लाइब्रेरी का इस्तेमाल करने के लिए, ऐप्लिकेशन डेवलपर को
androidx.emoji2:emojipicker:$version
कोbuild.gradle
में इंपोर्ट करें.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
इमोजी पिकर व्यू को बड़ा करें और हर इमोजी सेल के साइज़ के हिसाब से,
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" />
- आपके पास इनके लिए कोई वैल्यू सेट न करने का विकल्प है. डिफ़ॉल्ट रूप से, इनकी वैल्यू 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)
अगर आपको चुने गए इमोजी को EditText में जोड़ना है, तो
setOnEmojiPickedListener()
का इस्तेमाल करेंemojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
इसके अलावा,
RecentEmojiProvider
को सेट करें. लागू करने के उदाहरण के लिए, सैंपल ऐप्लिकेशन देखें.स्टाइल को पसंद के मुताबिक बनाएं. हालांकि, यह ज़रूरी नहीं है. सामान्य थीम एट्रिब्यूट को बदलने के लिए, अपनी पसंद का स्टाइल बनाएं और उसे
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 वर्शन में ये बदलाव शामिल हैं.
1.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
जोड़ा गया (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
API, कीबोर्ड के लिए सटीक जानकारी दिखाता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद 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
API, कीबोर्ड के लिए सटीक जानकारी दिखाता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद emojicompat फ़ॉन्ट की मौजूदगी में, इमोजी कैसे दिखेगा NumberKeyListener
में मौजूद गड़बड़ी को ठीक किया गया है. इससे अंकों के इनपुट से, वर्णों को सही तरीके से फ़िल्टर किया जा सकेगा
वर्शन 1.1.0-beta01
26 जनवरी, 2022
androidx.emoji2:emoji2-*:1.1.0-beta01
रिलीज़ हो गया है. 1.1.0-beta01 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- androidx-emoji2 beta01 रिलीज़. alpha01 (Ic61d9) से कोई बदलाव नहीं
वर्शन 1.1.0-alpha01
15 दिसंबर, 2021
androidx.emoji2:emoji2-*:1.1.0-alpha01
रिलीज़ हो गया है. 1.1.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
emoji2-bundled
एट्रिब्यूट की वैल्यू के तौर पर दिए गए टेक्स्ट में इमोजी 14 फ़ॉन्ट शामिल है- नया
getEmojiMatch
API, कीबोर्ड के लिए सटीक जानकारी दिखाता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद 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 डेवलपर समिट में दी गई हमारी बातचीत अपने ऐप्लिकेशन में सभी इमोजी दिखाना Android डेवलपर देखें.
वर्शन 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
को काम न करने वाले पुराने API के तौर पर बनाए रखा गया है. (I6cd48)EmojiCompat, Android 11 पर
EditorInfo.extras
को सही तरीके से सेट करता है- ऐसे कस्टम विजेट जो EditText की सबक्लास के तौर पर काम न करने वाले IME का इस्तेमाल करते हैं, वे IME को यह बताने के लिए
EmojiCompat.updateEditorInfo
को कॉल कर सकते हैं कि वे EmojiCompat प्रोसेसिंग के साथ काम करते हैं. (I1ea9b)
- ऐसे कस्टम विजेट जो EditText की सबक्लास के तौर पर काम न करने वाले IME का इस्तेमाल करते हैं, वे IME को यह बताने के लिए
गड़बड़ियां ठीक की गईं
- एपीआई 19 और 28 पर इमोजी फ़ॉन्ट की सेवा देने वाली कंपनी को सही तरीके से खोजने के लिए,
DefaultEmojiCompatConfig
को ठीक करें. इससे emoji2 1.0.0-alpha01 में आई एक गड़बड़ी ठीक हो जाती है. (Ib33d8, b/197906329)
वर्शन 1.0.0-alpha03
30 जून, 2021
androidx.emoji2:emoji2-*:1.0.0-alpha03
रिलीज़ हो गया है. 1.0.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
इस रिलीज़ में गड़बड़ियां ठीक की गई हैं और ऐप्लिकेशन की स्थिरता को बेहतर बनाया गया है.
- EmojiEditTextHelper अब
null
को KeyListener के तौर पर पास करने की अनुमति देता है. इससे, प्लैटफ़ॉर्म को इमोजी के साथ काम करने वाले EditText लागू करने के लिए, शून्य वैल्यू लागू करने की अनुमति मिलती है. - EmojiCompatInitializer का इस्तेमाल करने पर, पहली ऐक्टिविटी फिर से शुरू होने के बाद ट्रिगर करने के लिए, शुरुआती स्टार्टअप में लगने वाले समय को बेहतर बनाया गया है. इससे ऐप्लिकेशन को बिना किसी रुकावट के शुरू किया जा सकता है. साथ ही, ऐसे ऐप्लिकेशन के लिए फ़ॉन्ट लोड होने से बचा जा सकता है जो कभी यूज़र इंटरफ़ेस (यूआई) नहीं दिखाते. कुछ देर बाद, EmojiCompat इमोजी फ़ॉन्ट लोड करने के लिए एक थ्रेड बनाएगा.
- देरी लागू करने के लिए,
androidx.emoji2:emoji2
सेandroidx.lifecycle:lifecycle-process
पर एक नई डिपेंडेंसी जोड़ी गई है. जिन ऐप्लिकेशन में पहले से लाइफ़साइकल शामिल है उन पर APK के साइज़ पर इसका बहुत कम असर पड़ेगा. जैसे, 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
किया गया. यह बदलाव, AppCompat1.4.0-alpha01
के लिए एक बड़ा बदलाव है. साथ ही, ऐप्लिकेशन को यह पक्का करना होगा कि emoji2 के नए वर्शन का इस्तेमाल करने के लिए, 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 से नए इमोजी के साथ काम कर सकें. आपके ऐप्लिकेशन में मौजूद सभी यूज़र जनरेटेड कॉन्टेंट में 🎉 शामिल है.
EmojiCompat को androidx.emoji
आर्टफ़ैक्ट से हटाकर, नए androidx.emoji2
में ले जाया गया है. यह अब alpha01 में है. नए आर्टफ़ैक्ट, पुराने वर्शन की जगह ले लेते हैं.
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
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)
से वापस पाया जा सकता है.