ایموجی۲
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۱۰ سپتامبر ۲۰۲۵ | ۱.۶.۰ | - | - | - |
اعلام وابستگیها
برای افزودن وابستگی به Emoji2، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { def emoji2_version = "1.6.0" implementation "androidx.emoji2:emoji2:$emoji2_version" implementation "androidx.emoji2:emoji2-views:$emoji2_version" implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version" }
کاتلین
dependencies { val emoji2_version = "1.6.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
برای اطلاعات بیشتر در مورد وابستگیها، به بخش «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۶
نسخه ۱.۶.۰
۱۰ سپتامبر ۲۰۲۵
androidx.emoji2:emoji2-*:1.6.0 منتشر شد. نسخه 1.6.0 شامل این کامیتها است.
تغییرات مهم از زمان ۱.۵.۰:
- پشتیبانی از ایموجی ۱۶.۰
- پسوند «ایموجی» را به توضیحات محتوای ایموجیها اضافه کنید.
رفع اشکالات
- انتقال
minSdkپیشفرض از API 21 به API 23 ( Ibdfca ، b/380448311 ، b/435705964 ، b/435705223 )
نسخه ۱.۶.۰-rc01
۱۳ آگوست ۲۰۲۵
androidx.emoji2:emoji2-*:1.6.0-rc01 منتشر شد. نسخه 1.6.0-rc01 شامل این کامیتها است.
ویژگیهای جدید
- از ایموجی ۱۶.۰ پشتیبانی شد و پسوند «ایموجی» به توضیحات محتوا اضافه شد.
تغییرات API
- حذف حاشیهنویسیهای منسوخشدهی
@RequiresApi(21)( Ic4792 ) - حذف حاشیهنویسیهای منسوخشدهی
@RequiresApi(21)( I9103b )
نسخه ۱.۶.۰-بتا۰۱
۲ ژوئیه ۲۰۲۵
androidx.emoji2:emoji2-*:1.6.0-beta01 منتشر شد. نسخه 1.6.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
- پشتیبانی از بهروزرسانیهای ایموجی ۱۶.۰
- پسوند «ایموجی» را به توضیحات محتوا اضافه کنید تا مطمئن شوید که در تمام برنامههای انتخاب ایموجی، رفتار دسترسیپذیری ثابتی داریم.
نسخه ۱.۶.۰-آلفا۰۱
۴ ژوئن ۲۰۲۵
androidx.emoji2:emoji2-*:1.6.0-alpha01 منتشر شد. نسخه 1.6.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- بهروزرسانیهای دادههای ایموجی ۱۶.۰ ( Ifc878 )
- افزودن پسوند «ایموجی» به توضیحات محتوا
رفع اشکالات
- این کتابخانه اکنون از حاشیهنویسیهای nullness از نوع JSpecify استفاده میکند که از نوع type-use هستند. توسعهدهندگان Kotlin باید از آرگومانهای کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict,-Xtype-enhancement-improvements-strict-mode( Id07e7 , b/326456246 )
نسخه ۱.۵
نسخه ۱.۵.۰
۴ سپتامبر ۲۰۲۴
androidx.emoji2:emoji2-*:1.5.0 منتشر شد. نسخه ۱.۵.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۴.۰
- پشتیبانی از ایموجی ۱۵.۱ و رابط کاربری انتخابگر ایموجی دو طرفه. با یک کلیک ساده روی سوئیچر دو طرفه، کاربران میتوانند بین نسخههای چپ و راست ایموجیها جابجا شوند.
- پشتیبانی از انتخابگر ایموجی با رنگ پوست چندگانه. لمس طولانی ایموجیهای زوج، انتخابگر ایموجی چند نفره را برای حالت صفر نشان میدهد. وقتی کاربر روی نیمه سمت چپ ایموجی ضربه میزند، پیشنمایش ایموجی در پایین سمت راست به طور متناسب بهروزرسانی میشود. وقتی کاربر هر دو نیمه یک ایموجی را انتخاب میکند، پیشنمایش ایموجی در پایین سمت راست کل ایموجی را نشان میدهد و کاربر میتواند آن را وارد کند.
نسخه ۱.۵.۰-rc01
۲۱ آگوست ۲۰۲۴
androidx.emoji2:emoji2-*:1.5.0-rc01 منتشر شد. نسخه 1.5.0-rc01 شامل این کامیتها است.
ویژگیهای جدید
- پشتیبانی از ایموجی ۱۵.۱ و رابط کاربری انتخابگر ایموجی دو طرفه. با یک کلیک ساده روی سوئیچر دو طرفه، کاربران میتوانند بین نسخههای چپ و راست ایموجیها جابجا شوند.
- پشتیبانی از انتخابگر ایموجی با رنگ پوست چندگانه. لمس طولانی ایموجیهای زوج، انتخابگر ایموجی چند نفره را برای حالت صفر نشان میدهد. وقتی کاربر روی نیمه سمت چپ ایموجی ضربه میزند، پیشنمایش ایموجی در پایین سمت راست به طور متناسب بهروزرسانی میشود. وقتی کاربر هر دو نیمه یک ایموجی را انتخاب میکند، پیشنمایش کل ایموجی را نشان میدهد و کاربر میتواند آن را وارد کند.
رفع اشکالات
- حذف دستورالعمل دسترسی به APIهای پلتفرم جدید، زیرا این امر به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا بالاتر (مثلاً R8 نسخه 3.3) و برای همه نسخهها هنگام استفاده از AGP 8.1 یا بالاتر (مثلاً D8 نسخه 8.1) اتفاق میافتد. به مشتریانی که از AGP استفاده نمیکنند، توصیه میشود به D8 نسخه 8.1 یا بالاتر بهروزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( If6b4c ، b/345472586 )
- انتخاب تب و نشانگر
EmojiPickerViewبا یک کلیک بهروزرسانی میشوند. ( 146b02 ، b/288261054 ) - انتخاب تب و نشانگر
EmojiPickerViewخراب است. ( 5e1f14 ، b/273883688 )
نسخه ۱.۵.۰-بتا۰۱
۱۰ ژوئیه ۲۰۲۴
androidx.emoji2:emoji2-*:1.5.0-beta01 منتشر شد. نسخه 1.5.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
- پشتیبانی از ایموجی ۱۵.۱ و رابط کاربری انتخاب ایموجی دو طرفه.
- پشتیبانی از طراحی مجدد انتخاب چند رنگ پوست.
رفع اشکالات
- انتخاب تب و نشانگر
EmojiPickerViewبا یک کلیک بهروزرسانی میشوند. ( 146b02 ، b/288261054 ) - انتخاب تب و نشانگر
EmojiPickerViewخراب است. ( 5e1f14 ، b/273883688 )
نسخه ۱.۵.۰-آلفا۰۱
۱۳ دسامبر ۲۰۲۳
androidx.emoji2:emoji2-*:1.5.0-alpha01 منتشر شد. نسخه 1.5.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
-
emoji2-bundledشامل یک فونت ایموجی بهروز شده برای پشتیبانی از ایموجی ۱۵.۱ است.
تغییرات API
- برای کنترل نخ فراخوانی
InitCallbackاجراکنندههایی اضافه کنید. ( I32b67 ) -
BundledEmojiCompatConfigاکنون یک اجراکننده برای کنترل بارگذاری نخها میگیرد. ( I00e81 )
نسخه ۱.۴
نسخه ۱.۴.۰
۹ آگوست ۲۰۲۳
androidx.emoji2:emoji2-*:1.4.0 منتشر شد. نسخه ۱.۴.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۳.۰
- کتابخانه انتخابگر ایموجی معرفی شد. برای جزئیات بیشتر، به سند توسعهدهنده مراجعه کنید.
نسخه ۱.۴.۰-rc01
۲۶ ژوئیه ۲۰۲۳
androidx.emoji2:emoji2-*:1.4.0-rc01 منتشر شد. نسخه 1.4.0-rc01 شامل این کامیتها است.
تغییرات API
- معرفی فهرست
registerSource( Iae92f ) - بازخورد شورای API: تغییر نام
TransitionManager.seekTo()بهcreateSeekController(). لطفاً نظر قبلی در مورد افزودنTransitionManager.seekTo()بهTransitionManager.createSeekController(). ( شناسه ۱ ) -
ExerciseRouteResultاضافه شد، که کلاس اصلی برایData،NoDataوConsentRequiredStatesنیست.ExerciseRouteبه عنوان یک کلاس مستقل اضافه شد که دادههای موقعیت مکانی مسیر را در خود نگه میدارد. ( I22eed ) -
PagerLayoutInfoبا اطلاعات جمعآوریشده پس از یک مرحله اندازهگیری در Pager معرفی شد. همچنین PageInfo، اطلاعات مربوط به یک صفحه اندازهگیریشده در Pager، معرفی شد. ( Iad003 ، b/283098900 )
رفع اشکالات
- ما رنگهای
Button،IconButtonوTextButtonمطابق با طراحی Material3 بهروزرسانی کردهایم. اکنون میتوان نقش معناییButton،IconButtonوTextButtonرا با استفاده ازModifier.semantics( Ib2495 ) لغو کرد. - مشکل انتخاب تب و بهروزرسانی نشانگر
EmojiPickerViewبا یک کلیک برطرف شد. ( I4db04 ) -
FileNotFoundExceptionهنگام نمایش انتخابگر ایموجی ( I353e4 ) - هنگام استفاده از
EmojiPickerView( I0a144 ) خطایWindowManager.BadTokenExceptionرا دریافت کنید
نسخه ۱.۴.۰-بتا۰۵
۷ ژوئن ۲۰۲۳
androidx.emoji2:emoji2-*:1.4.0-beta05 منتشر شد. نسخه 1.4.0-beta05 شامل این کامیتها است.
رفع اشکالات
- اشکالی که در نسخه ۱.۳ معرفی شده بود و باعث میشد
MetricsAffectingSpansمانندRelativeSizeSpanدو بار اعمال شوند، برطرف شد. یک بار در طول طرحبندی متن و بار دیگر در داخلEmojiSpan.draw. نتیجه، draw با اندازه نادرست بود که در صورت تغییر هر یک از پارامترهای اندازه متن توسط span قابل مشاهده بود. ( b/283208650 )
نسخه ۱.۴.۰-بتا۰۴
۲۴ مه ۲۰۲۳
androidx.emoji2:emoji2-*:1.4.0-beta04 منتشر شد. نسخه 1.4.0-beta04 شامل این کامیتها است.
این نسخه، اشکالی را که از نسخه ۱.۰ وجود داشت، برطرف میکند. در این اشکال، نماهایی که دارای یک هندلر غیر اصلی بودند، هنگام تلاش برای بهروزرسانی محدودههای ایموجی پس از اتمام بارگذاری فونت، استثنا ایجاد میکردند. هیچ راه حلی وجود ندارد، اگر با این اشکال مواجه هستید، لطفاً به این نسخه یا نسخههای بعدی ارتقا دهید.
رفع اشکالات
- فراخوانیهای اولیه
EmojiCompatاکنون از هندلر هر نما استفاده میکنند، و نماهایی را که در نخ اصلی نیستند، در نظر میگیرند. ( Iccbcf )
نسخه ۱.۴.۰-بتا۰۳
۱۰ مه ۲۰۲۳
androidx.emoji2:emoji2-*:1.4.0-beta03 منتشر شد. نسخه 1.4.0-beta03 شامل این کامیتها است.
رفع اشکالات
- رفع مشکل از کار افتادن پنجره پاپآپ تو در تو در انتخابگر ایموجی ( 0acc8e )
- استثناهای اولیه را در فایل ( 26177f ) در
EmojiCompat getEmojiStart/getEmojiEnd پرتاب کن.
نسخه ۱.۴.۰-بتا۰۲
۱۹ آوریل ۲۰۲۳
androidx.emoji2:emoji2-*:1.4.0-beta02 منتشر شد. نسخه 1.4.0-beta02 شامل این کامیتها است.
رفع اشکالات
- بهروزرسانی فایلهای خط پایه lint ( Iaa212 )
نسخه ۱.۴.۰-بتا۰۱
۵ آوریل ۲۰۲۳
androidx.emoji2:emoji2-*:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
androidx.emoji2:emoji2-emojipicker
انتخابگر ایموجی (Emoji Picker) یک راهکار رابط کاربری است که ظاهری مدرن، ایموجیهای بهروز و سهولت استفاده را ارائه میدهد. کاربران میتوانند ایموجیها و انواع آنها را مرور و انتخاب کنند، یا از بین ایموجیهای اخیراً استفادهشده خود یکی را انتخاب کنند. با این کتابخانه، برنامههای مختلف در OEMهای مختلف میتوانند یک تجربه ایموجی فراگیر و یکپارچه را به کاربران خود ارائه دهند، بدون اینکه توسعهدهندگان مجبور باشند انتخابگر ایموجی خود را از ابتدا بسازند و نگهداری کنند.
ایموجیهای بهروز
هر ساله ایموجیهای جدیدی منتشر میشوند و ما به صورت گزینشی آنها را در انتخابگر ایموجی قرار خواهیم داد. برای اطمینان از سازگاری با نسخههای قبلی، ما یک بررسی دقیق داخلی برای رندرپذیری ایموجی انجام میدهیم تا توفو را حذف کنیم. این کار تضمین میکند که کتابخانه در نسخهها و دستگاههای مختلف اندروید سازگار باشد.
انواع چسبنده
با لمس طولانی یک ایموجی، منویی از انواع مختلف، مانند جنسیتها یا رنگهای مختلف پوست، نمایش داده میشود. نوع ایموجی که انتخاب میکنید در انتخابگر ایموجی ذخیره میشود و آخرین نوع انتخاب شده در پنل اصلی استفاده میشود. با این ویژگی، کاربران میتوانند انواع ایموجیهای مورد نظر خود را تنها با یک ضربه ارسال کنند.
ایموجیهای اخیر
RecentEmojiProvider مسئول ارائه ایموجیها در دسته «اخیراً استفاده شده» است. این کتابخانه یک ارائهدهنده ایموجی اخیر پیشفرض دارد که رایجترین کاربرد را برآورده میکند:
- تمام ایموجیهای انتخابشده به ازای هر سطح برنامه در تنظیمات اشتراکی ذخیره میشوند.
- انتخابگر حداکثر ۳ ردیف از ایموجیهای انتخابشده را به ترتیب زمانی معکوس نمایش میدهد.
اگر این رفتار پیشفرض کافی باشد، نیازی به تنظیم متد setRecentEmojiProvider() ندارید.
کار با EmojiCompat
اگر برنامه یک نمونه EmojiCompat داشته باشد، از آن در انتخابگر ایموجی برای رندر کردن حداکثر ایموجیهای ممکن استفاده خواهد شد. اگر EmojiCompat غیرفعال باشد، انتخابگر ایموجی همچنان به خوبی کار خواهد کرد.
نحوه استفاده از کتابخانه
برای استفاده از کتابخانه، یک توسعهدهنده برنامه باید
androidx.emoji2:emojipicker:$versionدرbuild.gradleوارد کنید.dependencies { implementation "androidx.emoji2:emojipicker:$version" }نمای انتخابگر ایموجی را باز کنید و به صورت اختیاری
emojiGridRowsوemojiGridColumnsرا بر اساس اندازه دلخواه هر سلول ایموجی تنظیم کنید.- میتوانید آنها را بدون تنظیم رها کنید، مقدار پیشفرض ۹ است، ردیفها بر اساس ارتفاع نمای والد و
emojiGridColumnsمحاسبه میشوندemojiGridColumns - میتوانید
emojiGridRowsبه صورت float تنظیم کنید تا نشان دهد که اگر در XML به پایین اسکرول کنید، ایموجیهای بیشتری وجود دارد.
<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)
با فرض اینکه میخواهید ایموجیهای انتخاب شده را به یک 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" />
برای مشاهدهی نمونهی پیادهسازی، به برنامهی نمونه مراجعه کنید.
یک سطح کامل API را میتوانید اینجا پیدا کنید.
نمونه برنامه
این برنامه نمونه موارد استفاده اولیه به علاوه سناریوهای اضافی زیر را نشان میدهد:
- طرحبندی نما (view) تغییر کرد زیرا
emojiGridRowsوemojiGridColumnsبازنشانی شدند. - ارائه دهنده ایموجی اخیر برای مرتب سازی بر اساس فراوانی، لغو شده است.
- سفارشیسازی سبک.
تغییرات API
کتابخانه Emoji Picker با API های جدید زیر به روز شده است:
- کلاس
EmojiPickerViewکه ایموجیهای بهروز را در یک نمای عمودی قابل اسکرول با یک هدر افقی قابل کلیک ارائه میدهد. - امکان تنظیم تعداد ستونها و ردیفها در شبکه انتخابگر ایموجی از طریق ویژگیهای XML
emojiGridColumnsوemojiGridRowsیا متدهایsetEmojiGridColumns()وsetEmojiGridRows(). - امکان تنظیم شنوندهی انتخابشدهی ایموجی از طریق متد
setOnEmojiPickedListener(). هر زمان که کاربر روی هر ایموجی کلیک کند، شنونده مطلع خواهد شد. - امکان ارائه یک ارائهدهنده ایموجی جدید از طریق متد
setRecentEmojiProvider(). این یک تابع اختیاری است. اگر ارائهدهنده ایموجی جدید تنظیم نشده باشد، یک ارائهدهنده ایموجی جدید پیشفرض توسط کتابخانه استفاده خواهد شد. رفتار پیشفرض به شرح زیر تعریف شده است:- تمام ایموجیهای انتخابشده به ازای هر سطح برنامه در تنظیمات اشتراکی ذخیره میشوند.
- انتخابگر حداکثر ۳ ردیف از ایموجیهای انتخابشده را به ترتیب زمانی معکوس نمایش میدهد.
- کلاس
EmojiViewItemکه ایموجی نمایش داده شده و انواع ایموجیهای آن را در خود جای داده است. - رابط
RecentEmojiProviderکه میتواند برای ارائه فهرستی از ایموجیهای اخیر پیادهسازی شود.recentEmojiProviderمسئول ارائه ایموجیها در دسته «اخیراً استفاده شده» است. - رابط
RecentEmojiAsyncProvider، که میتواند برای ارائه لیست ایموجیهای اخیر پیادهسازی شود.RecentEmojiAsyncProviderمسئول ارائه ایموجیها در دسته "اخیراً استفاده شده" است. این رابط معادلRecentEmojiProviderاست که به کلاینتها اجازه میدهد تا متدgetRecentEmojiListAsync()را برای ارائه ایموجیهای اخیر نادیده بگیرند. - کلاس
RecentEmojiProviderAdapterکه یک آداپتور برایRecentEmojiAsyncProviderاست وRecentEmojiProviderپیادهسازی میکند.
نسخه ۱.۴.۰-آلفا۰۱
۲۲ مارس ۲۰۲۳
androidx.emoji2:emoji2-*:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 شامل این کامیتها است.
رفع اشکالات
- تستها را اصلاح کنید، تستهای Flake را غیرفعال کنید و موارد اضافی را پاکسازی کنید.
نسخه ۱.۳
نسخه ۱.۳.۰
۲۲ مارس ۲۰۲۳
androidx.emoji2:emoji2-*:1.3.0 منتشر شد. نسخه ۱.۳.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۲.۰
- این نسخه به Compose Foundation
1.4.0و بالاتر اجازه میدهد تا ادغام emoji2 را فعال کند. - همچنین امکان جایگزینی
EmojiSpansبا کد طراحی سفارشی و همچنین پشتیبانی از استثنائات ایموجی تعریف شده در اندروید را فراهم میکند.
نسخه ۱.۳.۰-rc01
۸ مارس ۲۰۲۳
androidx.emoji2:emoji2-*:1.3.0-rc01 منتشر شد. نسخه 1.3.0-rc01 شامل این کامیتها است.
ویژگیهای جدید
- این نسخه قرار است از ادغام نوشتن با emoji2 پشتیبانی کند.
تغییرات API
- دهانهها را برای کد طراحی سفارشی جایگزین کنید.
- موارد استثنا در سیستم پرسوجو.
رفع اشکالات
- و اشکالی را که در آن محدودههای پسزمینه به درستی پشت
EmojiSopansاعمال نمیشد، برطرف کرد.
نسخه ۱.۳.۰-بتا۰۳
۲۳ فوریه ۲۰۲۳
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 منتشر شدند.
۲۲ فوریه ۲۰۲۳
androidx.emoji2:emoji2:1.3.0-beta03 منتشر شد. نسخه 1.3.0-beta03 شامل این کامیتها است.
ویژگیهای جدید
- بدون تغییر. این نسخه برای آمادهسازی جهت ادغام با Compose منتشر شده است.
نسخه ۱.۳.۰-بتا۰۲
۸ فوریه ۲۰۲۳
androidx.emoji2:emoji2-*:1.3.0-beta02 منتشر شد. نسخه 1.3.0-beta02 شامل این کامیتها است.
ویژگیهای جدید
- این نسخه برای پشتیبانی از ادغام نوشتن، پایدارسازی شده است.
نسخه ۱.۳.۰-بتا۰۱
۲۵ ژانویه ۲۰۲۳
androidx.emoji2:emoji2-*:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
- موارد استثنا در سیستم پرسوجو.
- جایگزینی دهانهها برای کد نقشه سفارشی.
- و اشکالی را که در آن محدودههای پسزمینه به درستی پشت
EmojiSopansاعمال نمیشد، برطرف کرد. - این نسخه APIهای لازم برای پشتیبانی از
EmojiCompatدر Compose را اضافه میکند. انتظار میرود پشتیبانی از Emoji Compat در نسخه آینده نزدیک Compose ارائه شود.
نسخه ۱.۳.۰-آلفا۰۱
۱۱ ژانویه ۲۰۲۳
androidx.emoji2:emoji2-*:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 شامل این کامیتها است.
API های جدید برای تعاملات سطح پایین
- استثنائات سیستم پرس و جو
- جایگزینی دهانهها برای کد نقشه سفارشی
- و اشکالی را که در آن محدودههای پسزمینه به درستی پشت
EmojiSopansاعمال نمیشد، برطرف کرد. - این نسخه APIهای لازم برای پشتیبانی از
EmojiCompatدر Compose را اضافه میکند. انتظار میرود پشتیبانی از Emoji Compat در نسخه آینده نزدیک Compose ارائه شود.
تغییرات API
- قابلیت جستجوی موارد استثنای سیستم به
TypefaceEmojiRasterizerاضافه شد. ( I5653e ) - API جدید
EmojiCompat.SpanFactoryبرای جایگزینی رفتار پیشفرضEmojiSpanبا کد طراحی و اندازهبندی سفارشی اضافه شد. ( Ib69d9 ) -
EmojiCompatبه Compose اضافه شد ( I96f37 ، b/139326806 )
رفع اشکالات
- Emoji2 اکنون به درستی پسزمینهها را از
BackgroundSpanرسم میکند. ( Ide6a8 ، b/230525134 ) - نهاییسازی APIهای AppCompat برای نسخه ۱.۵.۰-بتا۰۱ ( I2a43d ، b/236866227 )
نسخه ۱.۲
نسخه ۱.۲.۰
۱۰ آگوست ۲۰۲۲
androidx.emoji2:emoji2-*:1.2.0 منتشر شد. نسخه ۱.۲.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۱.۰
این یک نسخه رفع اشکال است. از نسخه ۱.۱.۰ هیچ ویژگی یا API جدیدی اضافه نشده است.
با این حال، برنامههایی که از PrecomputedText یا TextView.setText(char[]) استفاده میکنند، باید اولویت خود را به این نسخه بدهند.
اشکالات زیر برطرف شدند:
-
Emoji2با کنار گذاشتن طرحبندی متن از پیش محاسبهشده قبلی، ایموجی را بهPrecomputedTextاضافه میکند. ( I47d06 ، b/211231958 ) - رفع مشکل از کار افتادن ویرایشگر Backport از اندروید P به
EditTextکه برای استفاده از emoji2 پیکربندی شده است. ( Ifd709 ، b/216891011 ) - رفع مشکل کرش کردن برنامه هنگام بارگذاری فونت توسط emoji2 و استفاده از
TextView.setText(char[])( Id511e , b/206859724 )
نسخه ۱.۲.۰-rc01
۲۷ ژوئیه ۲۰۲۲
androidx.emoji2:emoji2-*:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 شامل این کامیتها است.
- از آخرین نسخه بتا هیچ تغییری نکرده.
نسخه ۱.۲.۰-بتا۰۱
۱۳ ژوئیه ۲۰۲۲
androidx.emoji2:emoji2-*:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
- هیچ تغییری نسبت به نسخه قبلی وجود ندارد (این نسخه برای پشتیبانی از نسخه AppCompat است).
نسخه ۱.۲.۰-آلفا۰۴
۲۰ آوریل ۲۰۲۲
androidx.emoji2:emoji2-*:1.2.0-alpha04 منتشر شد. نسخه 1.2.0-alpha04 شامل این کامیتها است.
ویژگیهای جدید
- هیچ تغییری در این نسخه اعمال نشده است.
نسخه ۱.۲.۰-آلفا۰۳
۶ آوریل ۲۰۲۲
androidx.emoji2:emoji2-*:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 شامل این کامیتها است.
ویژگیهای جدید
- هیچ تغییری نسبت به نسخه قبلی وجود ندارد (این نسخه برای پشتیبانی از نسخه appcompat منتشر شده است).
نسخه ۱.۲.۰-آلفا۰۲
۲۳ مارس ۲۰۲۲
androidx.emoji2:emoji2-*:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 شامل این کامیتها است.
رفع اشکالات
- Emoji2 با کنار گذاشتن طرحبندی متن از پیش محاسبهشده قبلی، ایموجی را به
PrecomputedTextاضافه میکند. ( I47d06 ، b/211231958 ) - رفع مشکل از کار افتادن ویرایشگر Backport از اندروید P به EditText که برای استفاده از emoji2 پیکربندی شده است. ( Ifd709 ، b/216891011 )
- رفع مشکل کرش کردن برنامه هنگام بارگذاری فونت توسط emoji2 و استفاده از
TextView.setText(char[])( Id511e , b/206859724 )
نسخه ۱.۲.۰-آلفا۰۱
۲۳ فوریه ۲۰۲۲
androidx.emoji2:emoji2-*:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 شامل این کامیتها است.
از نسخه ۱.۱.۰ به بعد هیچ تغییری نکرده است.
۱.۱
نسخه ۱.۱.۰
۲۳ فوریه ۲۰۲۲
androidx.emoji2:emoji2-*:1.1.0 منتشر شد. نسخه ۱.۱.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۰.۰
- بستهی emoji2 شامل فونت 14 ایموجی است
- API جدید
getEmojiMatchاطلاعات دقیقی را برای کیبوردها برمیگرداند تا تصمیم بگیرند که یک ایموجی در حضور یک فونت سازگار با ایموجی که پشت فونت سیستم قرار دارد، چگونه نمایش داده شود. - رفع اشکال مربوط به
NumberKeyListenerکه باعث میشد ورودی رقم به درستی کاراکترها را فیلتر کند.
نسخه ۱.۱.۰-rc01
۹ فوریه ۲۰۲۲
androidx.emoji2:emoji2-*:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 شامل این کامیتها است.
ویژگیهای جدید
هیچ تغییری نسبت به نسخه بتا وجود ندارد.
ویژگیهای جدید در مقایسه با emoji2 1.0.0:
-
emoji2-bundledشامل فونت 14 ایموجی است - API جدید
getEmojiMatchاطلاعات دقیقی را برای کیبوردها برمیگرداند تا تصمیم بگیرند که یک ایموجی در حضور یک فونت سازگار با ایموجی که پشت فونت سیستم قرار دارد، چگونه نمایش داده شود. - رفع اشکال مربوط به
NumberKeyListenerکه باعث میشد ورودی رقم به درستی کاراکترها را فیلتر کند
نسخه ۱.۱.۰-بتا۰۱
۲۶ ژانویه ۲۰۲۲
androidx.emoji2:emoji2-*:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 شامل این کامیتها است.
رفع اشکالات
- نسخه اندرویدx-emoji2 بتا01 منتشر شد. هیچ تغییری نسبت به آلفا01 ( Ic61d9 ) وجود ندارد
نسخه ۱.۱.۰-آلفا۰۱
۱۵ دسامبر ۲۰۲۱
androidx.emoji2:emoji2-*:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
-
emoji2-bundledشامل فونت 14 ایموجی است - API جدید
getEmojiMatchاطلاعات دقیقی را برای کیبوردها برمیگرداند تا تصمیم بگیرند که یک ایموجی در حضور یک فونت سازگار با ایموجی که پشت فونت سیستم قرار دارد، چگونه نمایش داده شود. - رفع اشکال مربوط به
NumberKeyListenerکه باعث میشد ورودی رقم به درستی کاراکترها را فیلتر کند
تغییرات API
- API جدید
getEmojiMatchرا اضافه کنید تا به صفحهکلید اجازه دهید رفتار تطابق ایموجی را در emojicompat با دقت بیشتری جستجو کند. -
hasEmojiGlyphمنسوخ کنید، زیرا مقدار بازگشتی بولی آن هنگام آزمایش در برابر فونتی که قدیمیتر از فونت ایموجی پلتفرم است، نادرست است. آن را باgetEmojiMatchجایگزین کنید. ( Ie693d )
رفع اشکالات
- Emoji2 نمونههایی از
NumberKeyListenerرا در بر نمیگیرد و بهTextViewاجازه میدهد تا زبان را پیکربندی کند. - Appcompat نمونههای
NumberKeyListenerارسالی بهsetKeyListenerرا در بر نمیگیرد وTextViewاجازه میدهد تا به درستی زبان را رویNumberKeyListenersپیکربندی کند. ( Ibf113 , b/207119921 )
۱.۰
نسخه ۱.۰.۱
۱۵ دسامبر ۲۰۲۱
androidx.emoji2:emoji2-*:1.0.1 منتشر شد. نسخه ۱.۰.۱ شامل این کامیتها است.
رفع اشکالات
-
Emoji2نمونههایی ازNumberKeyListenerرا در بر نمیگیرد و بهTextViewاجازه میدهد تا زبان را پیکربندی کند. - Appcompat نمونههای
NumberKeyListenerارسالی بهsetKeyListenerرا در بر نمیگیرد وTextViewاجازه میدهد تا به درستی زبان را رویNumberKeyListenersپیکربندی کند. ( Ibf113 , b/207119921 )
نسخه ۱.۰.۰
۱۷ نوامبر ۲۰۲۱
androidx.emoji2:emoji2-*:1.0.0 منتشر شد. نسخه ۱.۰.۰ شامل این کامیتها است.
ویژگیهای اصلی نسخه ۱.۰.۰
androidx.emoji2 جایگزین androidx.emoji با قابلیتهای اضافی میشود:
- کاهش حجم APK در مقابل androidx.emoji
- پیکربندی خودکار
- به عنوان یک وابستگی به appcompat 1.4 اضافه شد
برای اطلاعات بیشتر در مورد androidx.emoji2 به بخش «پشتیبانی از ایموجیهای مدرن» و سخنرانی ما در نشست توسعهدهندگان اندروید با عنوان «نمایش تمام ایموجیها در برنامه شما در توسعهدهندگان اندروید» مراجعه کنید.
نسخه ۱.۰.۰-rc01
۲۷ اکتبر ۲۰۲۱
androidx.emoji2:emoji2-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 شامل این کامیتها است.
- از زمان بتا 02 هیچ تغییری نکرده است.
ایموجی۲ نسخه ۱.۰.۰-بتا۰۱
۱۵ سپتامبر ۲۰۲۱
androidx.emoji2:emoji2-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 شامل این کامیتها است.
تغییرات API
setLoadingExecutorبهFontRequestEmojiCompatConfigاضافه شد که جایگزین API قبلیsetHandlerمیشود. این API به برنامهها اجازه میدهد تاFontRequestEmojiCompatConfigطوری پیکربندی کنند که از هر اجراکننده پسزمینهای استفاده کند.این تغییر، یک تغییر اساسی نسبت به
androidx.emoji:emojiاست، بنابراینsetHandlerبه عنوان یک API منسوخشدهی بدون عملیات برای کمک به مهاجرت حفظ میشود. ( I6cd48 )EmojiCompat به درستی
EditorInfo.extrasدر اندروید ۱۱ تنظیم میکند- ویجتهای سفارشی که از IME استفاده میکنند و EditText را زیرکلاس نمیکنند، ممکن است
EmojiCompat.updateEditorInfoرا فراخوانی کنند تا به IME اطلاع دهند که از پردازش EmojiCompat پشتیبانی میکنند. ( I1ea9b )
- ویجتهای سفارشی که از IME استفاده میکنند و EditText را زیرکلاس نمیکنند، ممکن است
رفع اشکالات
- رفع اشکال
DefaultEmojiCompatConfigبرای جستجوی صحیح ارائه دهنده فونت ایموجی در API 19 و 28. این اشکال، اشکالی را که در emoji2 1.0.0-alpha01 معرفی شده بود، برطرف میکند. ( Ib33d8 ، b/197906329 )
نسخه ۱.۰.۰-آلفا۰۳
۳۰ ژوئن ۲۰۲۱
androidx.emoji2:emoji2-*:1.0.0-alpha03 منتشر شد. نسخه 1.0.0-alpha03 شامل این کامیتها است.
ویژگیهای جدید
این نسخه، یک نسخه رفع اشکال و پایدارسازی است.
- EmojiEditTextHelper اکنون اجازه میدهد
nullبه عنوان یک KeyListener ارسال شود. این به رفتار پلتفرم اجازه میدهد تا مقادیر null را به ایموجیهایی که از پیادهسازیهای EditText پشتیبانی میکنند، اعمال کند. - هنگام استفاده از EmojiCompatInitializer، تأخیر راهاندازی اولیه بهبود یافته تا پس از از سرگیری اولین فعالیت، فعال شود. این امر به راهاندازی برنامه اجازه میدهد تا بدون هیچ گونه تداخلی اتفاق بیفتد و از بارگیری فونت برای برنامههایی که هرگز رابط کاربری را نشان نمیدهند، جلوگیری میکند. پس از یک تأخیر کوتاه، EmojiCompat یک رشته برای بارگیری فونت ایموجی ایجاد میکند.
- یک وابستگی جدید به
androidx.lifecycle:lifecycle-processازandroidx.emoji2:emoji2برای پیادهسازی تأخیر اضافه شده است. این امر تأثیر ناچیزی بر حجم APK برای برنامههایی که از قبل شامل lifecycle هستند (مانند برنامههایی با appcompat) خواهد داشت.
تغییرات API
- اجازه دادن به null KeyListener در AppCompatEditText. این کار حاشیهنویسی غیرتهی که در نسخه ۱.۴.۰-alpha01 به AppCompatEditText اضافه شده بود را معکوس میکند و رفتار قبلی هنگام ارسال null را بازیابی میکند. ( I21482 ، b/189559345 )
رفع اشکالات
- EmojiCompatInitializer را طوری تغییر دهید که بارگذاری فونت را تا ۵۰۰ میلیثانیه پس از اولین
Activity.onResumeبه تأخیر بیندازد. این به یک فعالیت اجازه میدهدApplication.onCreateوActivity.onCreateرا بدون نیاز به بررسی اجرا کند، در حالی که همچنان اطمینان حاصل شود که فونت ایموجی کمی پس از راهاندازی برنامه بارگذاری میشود. ( I4bff7 )
نسخه ۱.۰.۰-آلفا۰۲
۲ ژوئن ۲۰۲۱
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 شامل این کامیتها است.
تغییرات API
- نام بسته در
emoji2-views-helperبهandroidx.emoji2.viewsintegrationتغییر یافت. این یک تغییر اساسی برای AppCompat1.4.0-alpha01است و برنامهها باید اطمینان حاصل کنند که وابستگی AppCompat برای استفاده از نسخه جدید emoji2 ( Ie8397 ) بهروزرسانی شده است.
نسخه ۱.۰.۰-آلفا۰۱
۱۸ مه ۲۰۲۱
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 برای همه برنامهها جهت پشتیبانی از ایموجیهای مدرن از API19 توصیه میشود. تمام محتوای تولید شده توسط کاربر در برنامه شما شامل 🎉 است.
EmojiCompat از آثار باستانی androidx.emoji به androidx.emoji2 جدید، که اکنون در alpha01 است، منتقل شده است. آثار باستانی جدید جایگزین نسخه قبلی میشوند.
emoji2 به عنوان یک وابستگی به AppCompat از AppCompat 1.4.0-alpha01 اضافه شده است و به طور پیشفرض برای نماهای AppCompat فعال است.
مصنوع emoji2 با استفاده از کتابخانه androidx.startup یک پیکربندی خودکار جدید را معرفی میکند. دیگر نیازی به نوشتن کد 👨🏽💻 برای نمایش 🐻❄️ ندارید.
تغییرات در emoji2 از emoji
- پیکربندی خودکار جدید
EmojiCompatInitializerبا استفاده ازandroidx.startupاضافه شد. - پیکربندی پیشفرض جدیدی اضافه شد که از موقعیت مکانی سرویس برای یافتن ارائهدهنده فونتهای قابل دانلود در
DefaultEmojiCompatConfigurationاستفاده میکند. - کلاسها از پکیج
androidx.emojiبهandroidx.emoji2منتقل شدند. -
EmojiTextViewو نماهای مرتبط را به یک artifact جداگانهemoji2-viewsتقسیم کنید. این روش فقط در صورتی باید استفاده شود که برنامه شما از appcompat استفاده نکند. - کمککنندهها برای ادغام emojicompat در نماهای سفارشی در یک مصنوع جداگانه
emoji2-views-helperاستخراج شدند. - حاشیهنویسیهای مربوط به قابلیت تهیسازی اضافه شد.
- اکنون میتوان از کمککنندههای موجود در
emoji2-views-helperحتی زمانی کهEmojiCompatمقداردهی اولیه نشده باشد، استفاده کرد (قبلاً آنها یک استثنا ایجاد میکردند).
چه وابستگیای باید اضافه کنید؟
- برنامههایی که از AppCompat استفاده میکنند باید به نسخه AppCompat
1.4.0-alpha01یا بالاتر ارتقا یابند. - برنامههایی که AppCompat ندارند و از
TextView/EditTextاز platform استفاده میکنند، بایدEmojiTextViewو کلاسهای مرتبط ازemoji2-viewsاستفاده کنند.
نحوه پشتیبانی در نماهای سفارشی
- برنامههایی که از AppCompat استفاده میکنند، باید به جای platform
TextViewو غیره، ازAppCompatTextView،AppCompatButtonو غیره ارثبری کنند. - برنامههای بدون AppCompat باید وابستگی
androidx.emoji2:emoji2-views-helperرا اضافه کنند و از 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.initDefaultEmojiCompatConfig.create(context)بازیابی کرد.
انتخابگر ایموجی Emoji2 نسخه ۱.۰
نسخه ۱.۰.۰-آلفا۰۳
۸ مارس ۲۰۲۳
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 منتشر شد. نسخه 1.0.0-alpha03 شامل این کامیتها است.
رفع اشکالات
- منابع غیرضروری حذف شده و حجم کتابخانه حدود ۰.۳ مگابایت کاهش یافته است.
نسخه ۱.۰.۰-آلفا۰۲
۲۲ فوریه ۲۰۲۳
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 منتشر شد. نسخه 1.0.0-alpha02 شامل این کامیتها است.
تغییرات API
- API جدیدی برای کلاینتهای جاوا اضافه شد تا بتوانند ایموجیهای جدید را ارائه دهند. ( I39d10 )
رفع اشکالات
- بهروزرسانی منابع ایموجی برای پشتیبانی از ایموجی ۱۵.۰ ( Ib4eb3 )
- هنگام انتخاب یک ایموجی از پنجره بازشو، تمام ایموجیهای مشابه را با ایموجی جدید انتخاب شده بهروزرسانی کنید (به جز ردیف ایموجیهای اخیر). همچنین هنگام کلیک کردن، ایموجی را اعلام کنید. ( I892c6 )
- قبل از نمایش
EmojiPickerView، منتظر بمانید تا emojicompat بارگذاری شود. ( I29e03 )
نسخه ۱.۰.۰-آلفا۰۱
۲۵ ژانویه ۲۰۲۳
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 منتشر شد. نسخه 1.0.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- یک انتخابگر ایموجی معرفی شد که تجربه کاربری ثابتی را با جدیدترین ایموجیها در دستگاهها و برنامههای OEM سیستم عامل اندروید ارائه میدهد. این ویژگی از جدیدترین ایموجیها و رابط کاربری انتخابگر ایموجی، شامل انواع رنگ پوست و پشتیبانی از ایموجیهای سازگار، پشتیبانی میکند.
تغییرات API
- کلاس
EmojiPickerViewمعرفی شد که ایموجیهای بهروز را در یک نمای عمودی قابل اسکرول با یک هدر افقی قابل کلیک ارائه میدهد. - ستونهای شبکه انتخابگر ایموجی را میتوان از طریق ویژگی XML
emojiGridColumnsیا تابعsetEmojiGridColumns()تنظیم کرد. - ردیفهای شبکه انتخابگر ایموجی را میتوان از طریق ویژگی XML
emojiGridRowsیا تابعsetEmojiGridRows()تنظیم کرد. - شنوندهی ایموجی انتخابشده را میتوان از طریق
setOnEmojiPickedListener()تنظیم کرد و هر زمان که کاربر روی هر ایموجی کلیک کند، به شنونده اطلاع داده میشود. - ارائهدهندهی ایموجی اخیر را میتوان با
setRecentEmojiProvider()ارائه داد. این یک تابع اختیاری است. اگر ارائهدهندهی ایموجی اخیر تنظیم نشده باشد، یک ارائهدهندهی ایموجی اخیر پیشفرض توسط کتابخانه استفاده خواهد شد. رفتار پیشفرض به شرح زیر تعریف شده است: ۱) تمام ایموجیهای انتخاب شده به ازای هر سطح برنامه در تنظیمات مشترک ذخیره میشوند. ۲) انتخابکننده حداکثر ۳ ردیف از ایموجیهای انتخاب شده را به صورت حذف شده و به ترتیب زمانی معکوس نمایش میدهد. - کلاس
EmojiViewItemمعرفی شد که ایموجی نمایش داده شده و انواع ایموجیهای آن را در خود نگه میدارد. - رابط
RecentEmojiProviderمعرفی شد که میتواند برای ارائه فهرستی از ایموجیهای اخیر پیادهسازی شود.recentEmojiProviderمسئول ارائه ایموجیها در دسته «اخیراً استفاده شده» است.