«انتخابگر اموجی» راهکاری برای میانای کاربری است که ظاهر و احساسی مدرن، اموجیهای بهروز، و سهولت استفاده را ارائه میدهد. کاربران میتوانند اموجیها و انواع آنها را مرور و انتخاب کنند یا از بین اموجیهایی که اخیراً استفاده کردهاند انتخاب کنند.
با این کتابخانه، برنامههایی از منابع مختلف میتوانند تجربه اموجی فراگیر و یکپارچهای را به کاربران خود ارائه دهند، بدون اینکه توسعهدهندگان مجبور باشند انتخابگر اموجی خود را از ابتدا بسازند و نگهداری کنند.
ویژگیها
«انتخابگر اموجی» ویژگیهای زیر را دارد.
اموجی بهروز
اموجیهای جدیداً منتشرشده بهصورت گزینشی در «انتخابگر اموجی» گنجانده میشوند. کتابخانه «انتخابگر اموجی» با چندین نسخه و دستگاه Android سازگار است.
گونههای چسبان
روی اموجی فشار طولانی دهید تا منویی از گونههای مختلف، مانند جنسیتها یا رنگهای پوست مختلف، نمایش داده شود. گونهای که انتخاب میکنید در «انتخابگر اموجی» ذخیره میشود و آخرین گونه انتخابشده در پانل اصلی استفاده میشود.
با این ویژگی، کاربران میتوانند گونههای اموجی دلخواهشان را با یک تکضرب ارسال کنند.
اموجیهای اخیر
RecentEmojiProvider مسئول ارائه اموجی در دسته
اخیراً استفادهشده است. کتابخانه یک ارائهدهنده اموجی اخیر پیشفرض دارد
که رایجترین مورد استفاده را برآورده میکند:
- همه اموجیهای انتخابشده در اولویتهای مشترک برای هر برنامه ذخیره میشوند.
- انتخابگر حداکثر سه ردیف از اموجیهای انتخابشده را بهصورت غیرتکراری و بهترتیب زمانی معکوس نمایش میدهد.
اگر این رفتار پیشفرض کافی است، نیازی به استفاده از
setRecentEmojiProvider() ندارید.
بااینحال، ممکن است لازم باشد رفتار ارائهدهنده را سفارشیسازی کنید. چند سناریو رایج در اینجا آمده است:
- میخواهید اموجیهای انتخابشده مختلفی را برای هر حساب کاربری ذخیره کنید.
- میخواهید از فضای ذخیرهسازی دادهای غیراز اولویتهای مشترک استفاده کنید.
- میخواهید اموجیهای اخیر براساس تعداد دفعات استفاده مرتب شوند.
سپس میتوانید میانای RecentEmojiProvider را پیادهسازی کنید و آن را بااستفاده از
setRecentEmojiProvider() تنظیم کنید.
گزینشگر جهت
از Emoji 15.1، «انتخابگر اموجی» از اموجی دوطرفه پشتیبانی میکند. کاربران میتوانند روی تغییردهنده دوسویه تکضرب بزنند تا بین نسخههای چپرو و راسترو اموجی جابهجا شوند.

شکل ۴. اموجی دوطرفه رو به چپ.

شکل ۵. اموجی دوسویه روبهراست.
انتخابگر اموجی چندنفره
کاربران میتوانند اموجیهای زوج را لمس کنند و نگه دارند تا انتخابهای اموجی چندنفره را ببینند.

شکل ۶. برای دیدن گزینههای اموجی چندنفره، اموجی زوج را لمس کنید و نگه دارید.

شکل ۷. اموجی نیمه چپ شخص را انتخاب کنید.

شکل ۸. اموجی فرد سمت راست را انتخاب کنید.
وقتی کاربر نیمه چپ یا راست اموجی زوج را انتخاب میکند، انتخابگر پیشنمایشی را در پایین سمت راست نشان میدهد، همانطور که در شکلهای ۷ و ۸ نشان داده شده است. پساز انتخاب هر دو نیمه زوج اموجی، کاربران میتوانند پیشنمایش را انتخاب کنند تا زوج اموجی سفارشی را بسازند.
سازگاری با EmojiCompat
اگر فعال باشد، از نمونه EmojiCompat در «انتخابگر اموجی» استفاده میشود تا
تا حد امکان اموجیهای بیشتری ارائه شود. بااینحال، «انتخابگر اموجی» به EmojiCompat نیاز ندارد.
پیشنیازها
برنامهتان باید Android نسخه ۵.۰ (سطح میانای برنامهسازی کاربردی ۲۱) یا بالاتر را هدفیابی کند.
استفاده از کتابخانه
androidx.emoji2:emojipicker:$versionرا در فایلbuild.gradleبرنامهتان وارد کنید.dependencies { implementation "androidx.emoji2:emojipicker:$version" }نمای «انتخابگر اموجی» را گسترش دهید و بهطور اختیاری
emojiGridRowsوemojiGridColumnsرا تنظیم کنید.- تعداد پیشفرض
emojiGridColumnsبرابر با ۹ است. - تعداد ردیفها براساس ارتفاع نمای اصلی و مقدار
emojiGridColumnsمحاسبه میشود. - از مقدار اعشاری برای
emojiGridRowsاستفاده کنید تا نشان دهید کاربر میتواند برای دیدن اموجیهای بیشتر پیمایش کند.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />val emojiPickerView = EmojiPickerView(context).apply { emojiGridColumns = 15 layoutParams = ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT ) } findViewById<ViewGroup>(R.id.emoji_picker_layout).addView(emojiPickerView)- تعداد پیشفرض
از
setOnEmojiPickedListener()برای افزودن اموجی انتخابشده به نما استفاده کنید. برای مثال، برای افزودن بهEditText، کارهای زیر را انجام دهید: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" />
Sample App
برنامه نمونه «انتخابگر اموجی» موارد استفاده اصلی را بههمراه سناریوهای اضافی زیر نشان میدهد:
- محاسبه مجدد چیدمان هنگام بازنشانی
emojiGridRowsیاemojiGridColumns. - ارائهدهنده اموجیهای اخیر لغوشده که براساس بسامد مرتب میکند.
- سفارشیسازی سبک اضافی.