Emoji2

نمایش ایموجی در دستگاه های فعلی و قدیمی تر.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
4 سپتامبر 2024 1.5.0 - - -

اعلام وابستگی ها

برای افزودن وابستگی به Emoji2، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل 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"
}

کاتلین

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 شامل این commit ها است.

تغییرات مهم از 1.4.0

  • پشتیبانی از ایموجی 15.1 و رابط کاربری انتخابگر شکلک دو طرفه. یک کلیک ساده روی سوئیچر دو طرفه به کاربران امکان می دهد بین نسخه های سمت چپ و راست شکلک ها جابجا شوند.
  • از انتخابگر ایموجی چند پوسته پشتیبانی کنید. ایموجی‌های زن و شوهر با فشار طولانی، یک انتخابگر شکلک چند نفره برای حالت صفر نشان می‌دهند. وقتی کاربر روی نیمه سمت چپ یک ایموجی ضربه می‌زند، پیش‌نمایش ایموجی در پایین سمت راست به‌روزرسانی می‌شود. هنگامی که کاربر هر دو نیمه یک ایموجی را انتخاب می کند، پیش نمایش ایموجی در پایین سمت راست کل شکلک را نشان می دهد و کاربر می تواند آن را وارد کند.

نسخه 1.0.0-alpha03

8 مارس 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 منتشر شد. نسخه 1.0.0-alpha03 حاوی این commit ها است.

رفع اشکال

  • حذف منابع غیر ضروری و کاهش حجم کتابخانه تا 0.3M.

نسخه 1.0.0-alpha02

22 فوریه 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 منتشر شد. نسخه 1.0.0-alpha02 حاوی این commit ها است.

تغییرات API

  • API جدید برای مشتریان جاوا اضافه شد تا بتوانند ایموجی های اخیر را ارائه دهند. ( 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 حاوی این commit ها است.

ویژگی های جدید

  • یک انتخابگر شکلک معرفی کرد که تجربه کاربری ثابتی را با جدیدترین شکلک‌ها در دستگاه‌ها و برنامه‌های OEM سیستم عامل Android ارائه می‌کند. جدیدترین پشتیبانی از شکلک و رابط کاربری انتخاب کننده شکلک شامل انواع رنگ پوست و پشتیبانی از Emoji Compat را ارائه می دهد.

تغییرات API

  • کلاس EmojiPickerView معرفی کرد که ایموجی های به روز را در نمای عمودی قابل پیمایش با هدر افقی قابل کلیک ارائه می دهد.
  • ستون های شبکه جمع کننده emoji را می توان از طریق ویژگی XML emojiGridColumns یا تابع setEmojiGridColumns() تنظیم کرد.
  • ردیف‌های شبکه جمع‌کننده emoji را می‌توان از طریق ویژگی XML emojiGridRows یا تابع setEmojiGridRows() تنظیم کرد.
  • شنونده ایموجی انتخاب شده را می توان از طریق setOnEmojiPickedListener() تنظیم کرد و هر زمان که کاربر روی هر ایموجی کلیک کند به شنونده اطلاع داده می شود.
  • ارائه‌دهنده emoji اخیر را می‌توان با setRecentEmojiProvider() ارائه کرد. این یک تابع اختیاری است. اگر ارائه‌دهنده Emoji اخیر تنظیم نشده باشد، یک ارائه‌دهنده شکلک اخیر پیش‌فرض توسط کتابخانه استفاده می‌شود. رفتار پیش‌فرض به صورت زیر تعریف می‌شود: 1) همه شکلک‌های انتخابی در سطح هر برنامه در اولویت‌های مشترک ذخیره می‌شوند. 2) انتخابگر حداکثر 3 ردیف از ایموجی های انتخاب شده را به ترتیب زمانی معکوس نمایش می دهد.
  • کلاس EmojiViewItem معرفی شد که ایموجی نمایش داده شده و انواع شکلک های آن را نگه می دارد.
  • رابط RecentEmojiProvider معرفی کرد که می تواند برای ارائه لیست ایموجی های اخیر پیاده سازی شود. recentEmojiProvider مسئول ارائه ایموجی‌ها در دسته «اخیراً استفاده شده» است.

نسخه 1.5

نسخه 1.5.0

4 سپتامبر 2024

androidx.emoji2:emoji2-*:1.5.0 منتشر شد. نسخه 1.5.0 شامل این commit ها است.

تغییرات مهم از 1.4.0

  • پشتیبانی از ایموجی 15.1 و رابط کاربری انتخابگر شکلک دو طرفه. یک کلیک ساده روی سوئیچر دو طرفه به کاربران امکان می دهد بین نسخه های سمت چپ و راست شکلک ها جابجا شوند.
  • از انتخابگر ایموجی چند پوسته پشتیبانی کنید. ایموجی‌های زن و شوهر با فشار طولانی، یک انتخابگر شکلک چند نفره برای حالت صفر نشان می‌دهند. وقتی کاربر روی نیمه سمت چپ یک ایموجی ضربه می‌زند، پیش‌نمایش ایموجی در پایین سمت راست به‌روزرسانی می‌شود. هنگامی که کاربر هر دو نیمه یک ایموجی را انتخاب می کند، پیش نمایش ایموجی در پایین سمت راست کل شکلک را نشان می دهد و کاربر می تواند آن را وارد کند.

نسخه 1.5.0-rc01

21 آگوست 2024

androidx.emoji2:emoji2-*:1.5.0-rc01 منتشر شد. نسخه 1.5.0-rc01 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی از ایموجی 15.1 و رابط کاربری انتخابگر شکلک دو طرفه. یک کلیک ساده روی سوئیچر دو طرفه به کاربران امکان می دهد بین نسخه های سمت چپ و راست شکلک ها جابجا شوند.
  • از انتخابگر ایموجی چند پوسته پشتیبانی کنید. ایموجی‌های زن و شوهر با فشار طولانی، یک انتخابگر شکلک چند نفره برای حالت صفر نشان می‌دهند. وقتی کاربر روی نیمه سمت چپ یک ایموجی ضربه می‌زند، پیش‌نمایش ایموجی در پایین سمت راست به‌روزرسانی می‌شود. هنگامی که کاربر هر دو نیمه ایموجی را انتخاب می کند، پیش نمایش کل ایموجی را نشان می دهد و usr می تواند آن را وارد کند.

رفع اشکال

  • طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساخت‌ها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به نسخه 8.1 یا بالاتر D8 به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( 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 حاوی این commit ها است.

ویژگی های جدید

  • emoji2-bundled حاوی یک فونت ایموجی به روز شده برای پشتیبانی از Emoji 15.1 است.

تغییرات API

  • برای کنترل رشته پاسخ به تماس برای InitCallback ، اجراکننده‌ها را اضافه کنید. ( I32b67 )
  • BundledEmojiCompatConfig اکنون از یک مجری برای کنترل موضوعات بارگیری استفاده می کند. ( I00e81 )

نسخه 1.4

نسخه 1.4.0

9 آگوست 2023

androidx.emoji2:emoji2-*:1.4.0 منتشر شد. نسخه 1.4.0 حاوی این commit ها است.

تغییرات مهم از 1.3.0

  • کتابخانه انتخاب کننده ایموجی معرفی شد. برای جزئیات بیشتر، سند توسعه دهنده را بررسی کنید.

نسخه 1.4.0-rc01

26 جولای 2023

androidx.emoji2:emoji2-*:1.4.0-rc01 منتشر شد. نسخه 1.4.0-rc01 حاوی این commit ها است.

تغییرات API

  • فهرست registerSource معرفی کنید ( Iae92f )
  • بازخورد شورای API: به TransitionManager.seekTo() به createSeekController() تغییر نام داد. لطفاً نظر قبلی را در مورد افزودن TransitionManager.seekTo() به TransitionManager.createSeekController() تنظیم کنید. ( Idbeb1 )
  • ExerciseRouteResult اضافه شد، که سوپرکلاس برای Data ، NoData و ConsentRequiredStates نیست. ExerciseRoute به عنوان یک کلاس مستقل اضافه شده است که داده های مکان را برای مسیر نگه می دارد. ( I22eed )
  • PagerLayoutInfo با اطلاعاتی که پس از یک اندازه گیری در پیجر جمع آوری می شود، معرفی کرد. همچنین PageInfo، اطلاعات مربوط به یک صفحه اندازه گیری شده در پیجر را معرفی کرد. ( Iad003 , b/283098900 )

رفع اشکال

  • ما رنگ‌های Button ، IconButton و TextButton مطابق با طراحی Material3 به‌روزرسانی کرده‌ایم. نقش معنایی Button , IconButton و TextButton اکنون می تواند با استفاده از Modifier.semantics لغو شود. ( Ib2495 )
  • انتخاب برگه و به روز رسانی نشانگر EmojiPickerView با یک کلیک پشت سر هم رفع شد. ( I4db04 )
  • FileNotFoundException در نمایش انتخابگر شکلک ( I353e4 )
  • هنگام استفاده از EmojiPickerView ( I0a144 ) WindowManager.BadTokenException را بگیرید

نسخه 1.4.0-beta05

7 ژوئن 2023

androidx.emoji2:emoji2-*:1.4.0-beta05 منتشر شد. نسخه 1.4.0-beta05 حاوی این تعهدات است.

رفع اشکال

  • یک اشکال معرفی شده در نسخه 1.3 که باعث می شد MetricsAffectingSpans مانند RelativeSizeSpan دو بار اعمال شود، رفع شد. یک بار در طول طرح بندی متن، و دوباره در داخل EmojiSpan.draw . نتیجه ترسیم اندازه نادرست بود که در صورت تغییر هر یک از پارامترهای اندازه متن با فاصله قابل مشاهده بود. ( b/283208650 )

نسخه 1.4.0-beta04

24 مه 2023

androidx.emoji2:emoji2-*:1.4.0-beta04 منتشر شد. نسخه 1.4.0-beta04 حاوی این تعهدات است.

این نسخه یک باگ موجود از نسخه 1.0 را برطرف می‌کند که در آن نماهایی با یک کنترل‌کننده غیر اصلی در هنگام تلاش برای به‌روزرسانی دامنه‌های ایموجی پس از بارگیری فونت، یک استثنا ایجاد می‌کنند. هیچ راه حلی وجود ندارد، اگر تحت تأثیر این اشکال هستید، لطفاً به این نسخه یا جدیدتر ارتقا دهید.

رفع اشکال

  • تماس‌های اولیه EmojiCompat اکنون از کنترل‌کننده هر نما استفاده می‌کنند و به نماهایی که در رشته اصلی نیستند احترام می‌گذارند. ( 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

Emoji Picker یک راه حل رابط کاربری است که ظاهر و احساس مدرن، ایموجی های به روز و سهولت استفاده را ارائه می دهد. کاربران می‌توانند شکلک‌ها و انواع آن‌ها را مرور و انتخاب کنند، یا از میان شکلک‌هایی که اخیراً استفاده کرده‌اند، انتخاب کنند. با استفاده از این کتابخانه، برنامه‌ها در سرتاسر OEM‌های مختلف می‌توانند یک تجربه ایموجی فراگیر و یکپارچه را به کاربران خود ارائه دهند بدون اینکه توسعه‌دهندگان مجبور باشند انتخابگر شکلک خود را از ابتدا بسازند و نگهداری کنند.

ایموجی های به روز

هر سال ایموجی‌های جدید منتشر می‌شوند و ما به‌طور انتخابی آن‌ها را در Emoji Picker قرار می‌دهیم. برای اطمینان از سازگاری با عقب، ما یک بررسی دقیق رندرپذیری ایموجی در داخل انجام می دهیم تا توفو را حذف کنیم. این اطمینان حاصل می کند که کتابخانه با چندین نسخه و دستگاه اندروید سازگار است.

انواع چسبنده

با فشار طولانی یک ایموجی، منویی از انواع مختلف مانند جنسیت یا رنگ پوست مختلف نمایش داده می شود. گونه ای که انتخاب می کنید در انتخابگر شکلک ذخیره می شود و آخرین نوع انتخاب شده در پانل اصلی استفاده می شود. با استفاده از این ویژگی، کاربران می توانند انواع شکلک های دلخواه خود را تنها با یک ضربه ارسال کنند.

ایموجی های اخیر

RecentEmojiProvider مسئول ارائه ایموجی‌ها در دسته «اخیراً استفاده شده» است. این کتابخانه یک ارائه‌دهنده شکلک اخیر پیش‌فرض دارد که رایج‌ترین موارد استفاده را برآورده می‌کند:

  • همه شکلک‌های انتخابی در سطح هر برنامه در اولویت‌های مشترک ذخیره می‌شوند.
  • انتخابگر حداکثر 3 ردیف از شکلک‌های انتخابی را به ترتیب زمانی معکوس نمایش می‌دهد.

اگر این رفتار پیش‌فرض کافی است، دیگر نیازی به تنظیم متد setRecentEmojiProvider() ندارید.

با EmojiCompat کار کنید

اگر برنامه دارای نمونه EmojiCompat باشد، از آن در انتخابگر شکلک برای ارائه هرچه بیشتر شکلک‌های ممکن استفاده می‌شود. اگر EmojiCompat غیرفعال باشد، انتخابگر شکلک همچنان خوب کار می کند.

نحوه استفاده از کتابخانه

برای استفاده از کتابخانه، یک توسعه دهنده برنامه باید

  1. androidx.emoji2:emojipicker:$version در build.gradle وارد کنید.

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. نمای انتخابگر ایموجی را باد کنید و به صورت اختیاری emojiGridRows و emojiGridColumns را بر اساس اندازه دلخواه هر سلول ایموجی تنظیم کنید

    • می‌توانید آن‌ها را تنظیم نشده رها کنید، پیش‌فرض ۹ emojiGridColumns است، ردیف‌ها براساس ارتفاع نمای والد و emojiGridColumns محاسبه می‌شوند.
    • می‌توانید emojiGridRows به‌عنوان یک شناور تنظیم کنید تا اگر در 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)
  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" />
    

برای اجرای نمونه برنامه نمونه را ببینید.

یک سطح کامل API را می توان در اینجا پیدا کرد.

نمونه برنامه

این برنامه نمونه موارد استفاده اساسی به همراه سناریوهای اضافی زیر را نشان می دهد:

  • نمای دوباره چیدمان شد زیرا emojiGridRows و emojiGridColumns بازنشانی شدند.
  • ارائه‌دهنده Emoji اخیر برای مرتب‌سازی بر اساس فرکانس لغو شده است.
  • سفارشی سازی سبک

تغییرات API

کتابخانه Emoji Picker با API های جدید زیر به روز شده است:

  • کلاس EmojiPickerView که ایموجی های به روز را در نمای عمودی قابل پیمایش با هدر افقی قابل کلیک ارائه می دهد.
  • امکان تنظیم تعداد ستون‌ها و ردیف‌ها در شبکه انتخاب‌کننده emoji از طریق ویژگی‌های XML emojiGridColumns و emojiGridRows یا متدهای setEmojiGridColumns() و setEmojiGridRows() .
  • امکان تنظیم یک شنونده انتخاب شده ایموجی از طریق متد setOnEmojiPickedListener() . هر زمان که کاربر روی هر ایموجی کلیک کند، شنونده مطلع می شود.
  • امکان ارائه یک ارائه دهنده ایموجی اخیر از طریق متد setRecentEmojiProvider() . این یک تابع اختیاری است. اگر ارائه‌دهنده ایموجی اخیر تنظیم نشده باشد، یک ارائه‌دهنده شکلک اخیر پیش‌فرض توسط کتابخانه استفاده خواهد شد. رفتار پیش فرض به صورت زیر تعریف می شود:
    • همه شکلک‌های انتخابی در سطح هر برنامه در اولویت‌های مشترک ذخیره می‌شوند.
    • انتخابگر حداکثر 3 ردیف از شکلک‌های انتخابی را به ترتیب زمانی معکوس نمایش می‌دهد.
  • کلاس 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 حاوی این commit ها است.

رفع اشکال

  • تست ها را برطرف کنید، تست های فلیک را غیرفعال کنید و پاکسازی ها را انجام دهید.

نسخه 1.3

نسخه 1.3.0

22 مارس 2023

androidx.emoji2:emoji2-*:1.3.0 منتشر شد. نسخه 1.3.0 حاوی این commit ها است.

تغییرات مهم از 1.2.0

  • این نسخه به Compose Foundation 1.4.0 و بالاتر اجازه می دهد تا یکپارچه سازی emoji2 را فعال کند.
  • همچنین ویژگی هایی را برای جایگزینی EmojiSpans با کد طراحی سفارشی و همچنین پشتیبانی از موارد استثنای ایموجی تعریف شده در اندروید را امکان پذیر می کند.

نسخه 1.3.0-rc01

8 مارس 2023

androidx.emoji2:emoji2-*:1.3.0-rc01 منتشر شد. نسخه 1.3.0-rc01 حاوی این commit ها است.

ویژگی های جدید

  • این نسخه برای پشتیبانی از ادغام emoji2 compose است.

تغییرات API

  • دهانه ها را برای کد طراحی سفارشی جایگزین کنید.
  • پرس و جو استثناهای سیستم.

رفع اشکال

  • و اشکالی را که در آن دهانه‌های پس‌زمینه به درستی در پشت 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 حاوی این تعهدات است.

ویژگی های جدید

  • بدون تغییر. این نسخه برای آماده شدن برای ادغام نوشتن است.

نسخه 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 اعمال نشده بود، برطرف کرد.
  • این نسخه API های لازم برای پشتیبانی از EmojiCompat در Compose را اضافه می کند. انتظار داشته باشید که در نسخه ای نزدیک از Emoji Compat پشتیبانی از نوشتن پشتیبانی کند.

نسخه 1.3.0-alpha01

11 ژانویه 2023

androidx.emoji2:emoji2-*:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.

API های جدید برای تعاملات سطح پایین

  • پرس و جو استثناهای سیستم
  • جایگزینی دهانه ها برای کد طراحی سفارشی
  • و اشکالی را که در آن دهانه‌های پس‌زمینه به درستی در پشت EmojiSopans اعمال نشده بود، برطرف کرد.
  • این نسخه API های لازم برای پشتیبانی از EmojiCompat در Compose را اضافه می کند. انتظار داشته باشید که در نسخه ای نزدیک از Emoji Compat پشتیبانی از نوشتن پشتیبانی کند.

تغییرات API

  • قابلیت جستجو در موارد استثنای سیستم به TypefaceEmojiRasterizer اضافه شده است. ( I5653e )
  • API جدید EmojiCompat.SpanFactory برای جایگزینی رفتار پیش‌فرض EmojiSpan با طراحی سفارشی و کد اندازه‌گذاری اضافه شد. ( Ib69d9 )
  • EmojiCompat به Compose اضافه شد ( I96f37 , b/139326806 )

رفع اشکال

  • Emoji2 اکنون پس‌زمینه‌های BackgroundSpan را به درستی ترسیم می‌کند. ( Ide6a8 , b/230525134 )
  • نهایی کردن API های AppCompat برای نسخه 1.5.0-beta01 ( I2a43d ، b/236866227 )

نسخه 1.2

نسخه 1.2.0

10 آگوست 2022

androidx.emoji2:emoji2-*:1.2.0 منتشر شد. نسخه 1.2.0 حاوی این commit ها است.

تغییرات مهم از 1.1.0

این نسخه رفع اشکال است. هیچ ویژگی یا API جدیدی از 1.1.0 اضافه نشده است.

با این حال، برنامه‌هایی که از PrecomputedText یا TextView.setText(char[]) استفاده می‌کنند، باید به این نسخه برخورد کنند.

اشکالات زیر برطرف شد:

  • Emoji2 با کنار گذاشتن طرح‌بندی متن از پیش محاسبه‌شده قبلی، ایموجی را به PrecomputedText اضافه می‌کند. ( I47d06 , b/211231958 )
  • رفع خرابی ویرایشگر Backport از 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 حاوی این commit ها است.

  • هیچ تغییری نسبت به آخرین نسخه بتا وجود ندارد.

نسخه 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 حاوی این commit ها است.

ویژگی های جدید

  • هیچ تغییری در این نسخه وجود ندارد.

نسخه 1.2.0-alpha03

6 آوریل 2022

androidx.emoji2:emoji2-*:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • هیچ تغییری نسبت به آخرین نسخه (این نسخه برای پشتیبانی از نسخه appcompat است).

نسخه 1.2.0-alpha02

23 مارس 2022

androidx.emoji2:emoji2-*:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 حاوی این commit ها است.

رفع اشکال

  • Emoji2 با کنار گذاشتن طرح‌بندی متن از پیش محاسبه‌شده قبلی، ایموجی را به PrecomputedText اضافه می‌کند. ( I47d06 , b/211231958 )
  • رفع خرابی ویرایشگر Backport از 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 حاوی این commit ها است.

بدون تغییر از 1.1.0.

1.1

نسخه 1.1.0

23 فوریه 2022

androidx.emoji2:emoji2-*:1.1.0 منتشر شد. نسخه 1.1.0 حاوی این commit ها است.

تغییرات مهم از 1.0.0

  • emoji2-bundled حاوی فونت emoji 14 است
  • getEmojiMatch API جدید اطلاعات دقیقی را به صفحه کلیدها برمی گرداند تا تصمیم بگیرند که چگونه ایموجی در حضور یک قلم emojicompat که در پشت فونت سیستم قرار دارد نمایش داده شود.
  • رفع اشکال برای NumberKeyListener که ورودی رقم را به درستی کاراکترها را فیلتر می کند.

نسخه 1.1.0-rc01

9 فوریه 2022

androidx.emoji2:emoji2-*:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.

ویژگی های جدید

هیچ تغییری نسبت به بتا وجود ندارد.

ویژگی های جدید در مقایسه با emoji2 1.0.0:

  • emoji2-bundled حاوی فونت emoji 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 حاوی این commit ها است.

ویژگی های جدید

  • emoji2-bundled حاوی فونت emoji 14 است
  • getEmojiMatch API جدید اطلاعات دقیقی را به صفحه کلیدها برمی گرداند تا تصمیم بگیرند که چگونه ایموجی در حضور یک قلم emojicompat که در پشت فونت سیستم قرار دارد نمایش داده شود.
  • رفع اشکال برای NumberKeyListener که ورودی رقم را به درستی کاراکترها را فیلتر می کند

تغییرات API

  • API جدید getEmojiMatch را اضافه کنید تا به صفحه‌کلیدها اجازه دهید رفتار تطابق اموجی‌ها را با دقت بیشتری در emojicompat جستجو کنند.
  • hasEmojiGlyph منسوخ کنید، زیرا مقدار بازگشتی بولی آن هنگام آزمایش با فونتی که قدیمی‌تر از فونت ایموجی پلتفرم است، دقیق نیست. با getEmojiMatch جایگزین کنید. ( Ie693d )

رفع اشکال

  • Emoji2 نمونه‌های NumberKeyListener را نمی‌پیچد، و اجازه می‌دهد که زبان محلی توسط TextView پیکربندی شود.
  • Appcompat نمونه‌هایی از NumberKeyListener را که به setKeyListener ارسال می‌شود را نمی‌پیچد و به TextView اجازه می‌دهد تا به درستی محلی را در NumberKeyListeners پیکربندی کند. ( IBf113 , b/207119921 )

1.0

نسخه 1.0.1

15 دسامبر 2021

androidx.emoji2:emoji2-*:1.0.1 منتشر شد. نسخه 1.0.1 حاوی این commit ها است.

رفع اشکال

  • Emoji2 نمونه‌های NumberKeyListener را نمی‌پیچد، و اجازه می‌دهد که زبان محلی توسط TextView پیکربندی شود.
  • Appcompat نمونه‌هایی از NumberKeyListener را که به setKeyListener ارسال می‌شود را نمی‌پیچد و به TextView اجازه می‌دهد تا به درستی محلی را در NumberKeyListeners پیکربندی کند. ( IBf113 , b/207119921 )

نسخه 1.0.0

17 نوامبر 2021

androidx.emoji2:emoji2-*:1.0.0 منتشر شد. نسخه 1.0.0 حاوی این commit ها است.

ویژگی های اصلی 1.0.0

androidx.emoji2 جایگزین androidx.emoji با قابلیت‌های اضافی می‌شود:

  • کاهش اندازه APK در مقابل androidx.emoji
  • پیکربندی خودکار
  • به عنوان یک وابستگی به appcompat 1.4 اضافه شده است

برای اطلاعات بیشتر درباره androidx.emoji2 به پشتیبانی از اموجی مدرن و بحث نشست برنامه‌نویس Android ما مراجعه کنید . نمایش همه شکلک‌ها در برنامه Android Dev شما .

نسخه 1.0.0-rc01

27 اکتبر 2021

androidx.emoji2:emoji2-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 حاوی این commit ها است.

  • از نسخه beta02 تغییری ایجاد نشده است.

Emoji2 نسخه 1.0.0-beta01

15 سپتامبر 2021

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 به درستی در Android 11 تنظیم می کند

    • ویجت‌های سفارشی که از IME استفاده می‌کنند و EditText را طبقه‌بندی نمی‌کنند، ممکن است با EmojiCompat.updateEditorInfo تماس بگیرند تا به IME اطلاع دهند که از پردازش EmojiCompat پشتیبانی می‌کنند. ( I1ea9b )

رفع اشکال

  • DefaultEmojiCompatConfig برای جستجوی صحیح ارائه‌دهنده فونت emoji در API 19 و 28 برطرف کنید. این یک اشکال معرفی شده در 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 حاوی این commit ها است.

ویژگی های جدید

این نسخه یک نسخه رفع اشکال و تثبیت کننده است.

  1. EmojiEditTextHelper اکنون اجازه می دهد null به عنوان یک KeyListener ارسال شود. این امر به رفتار پلتفرم اجازه می دهد تا null ها را برای ایموجی هایی که از اجرای EditText پشتیبانی می کنند، اعمال کنند.
  2. هنگام استفاده از EmojiCompatInitializer، تأخیر راه‌اندازی اولیه بهبود می‌یابد تا پس از ازسرگیری اولین فعالیت فعال شود. این اجازه می‌دهد تا راه‌اندازی برنامه بدون ادعا اتفاق بیفتد، و از بارگیری فونت برای شروع برنامه‌هایی که هرگز UI نشان نمی‌دهند، جلوگیری می‌کند. پس از یک تاخیر کوتاه، EmojiCompat یک رشته برای بارگیری فونت ایموجی ایجاد می کند.
  • یک وابستگی جدید به androidx.lifecycle:lifecycle-process از androidx.emoji2:emoji2 برای اجرای تاخیر اضافه شده است. این برای برنامه‌هایی که از قبل شامل چرخه حیات هستند (مانند برنامه‌هایی با appcompat) تأثیر ناچیزی در اندازه APK خواهد داشت.

تغییرات API

  • اجازه دادن به KeyListener تهی در AppCompatEditText. این حاشیه نویسی غیر تهی را که در 1.4.0-alpha01 به AppCompatEditText اضافه شده بود، معکوس می کند و رفتار قبلی را در صورت تهی شدن بازیابی می کند. ( I21482 , b/189559345 )

رفع اشکال

  • EmojiCompatInitializer را تغییر دهید تا بارگیری فونت را تا 500 میلی‌ثانیه پس از اولین Activity.onResume به تأخیر بیندازید. این به یک اکتیویتی اجازه می‌دهد تا 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 حاوی این commit ها است.

تغییرات API

  • بسته در emoji2-views-helper به androidx.emoji2.viewsintegration تغییر نام داد. این یک تغییر قطعی برای AppCompat 1.4.0-alpha01 است و برنامه ها باید اطمینان حاصل کنند که وابستگی AppCompat برای استفاده از نسخه جدید emoji2 به روز شده است. ( 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 حاوی این commit ها است.

ویژگی های این نسخه اولیه

ادغام 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 و نماهای مرتبط را به یک مصنوع جداگانه emoji2-views تقسیم کنید. این فقط در صورتی باید استفاده شود که برنامه شما از appcompat استفاده نکند.
  • کمک های استخراج شده برای ادغام emojicompat در نماهای سفارشی در یک مصنوع جداگانه emoji2-views-helper .
  • حاشیه نویسی پوچ پذیری اضافه شده است.
  • کمک‌کننده‌های emoji2-views-helper اکنون می‌توانند حتی زمانی که EmojiCompat راه‌اندازی نشده باشد (قبلاً یک استثنا مطرح می‌کردند) استفاده شوند.

چه وابستگی را باید اضافه کنید؟

  • برنامه‌های دارای AppCompat باید به نسخه appcompat 1.4.0-alpha01 یا بالاتر ارتقا یابند.
  • برنامه‌های بدون AppCompat با استفاده از TextView / EditText از پلتفرم باید از EmojiTextView و کلاس‌های مرتبط از emoji2-views استفاده کنند.

نحوه پشتیبانی در نماهای سفارشی

  • برنامه های دارای AppCompat باید AppCompatTextView ، AppCompatButton و غیره را به جای پلتفرم TextView و غیره گسترش دهند.
  • برنامه‌های بدون 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) بازیابی شود.