Pemilih Emoji adalah solusi UI yang menawarkan tampilan dan nuansa modern, emoji terbaru, dan kemudahan penggunaan. Pengguna dapat menjelajahi dan memilih emoji serta variannya atau memilih dari emoji yang baru saja digunakan.
Dengan library ini, aplikasi dari berbagai sumber dapat memberikan pengalaman emoji yang inklusif dan terpadu kepada penggunanya tanpa developer harus mem-build dan memelihara pemilih emoji mereka sendiri dari awal.
Fitur
Pemilih Emoji memiliki fitur berikut.
Emoji terbaru
Emoji yang baru dirilis disertakan secara selektif di Pemilih Emoji. Library Emoji Picker kompatibel di beberapa versi dan perangkat Android.
Varian melekat
Tekan lama emoji untuk menampilkan menu varian, seperti gender atau warna kulit yang berbeda. Varian yang Anda pilih disimpan di Pemilih Emoji, dan varian terakhir yang dipilih akan digunakan di panel utama.
Dengan fitur ini, pengguna dapat mengirim varian emoji pilihan mereka dengan sekali ketuk.
Emoji terbaru
RecentEmojiProvider
bertanggung jawab menyediakan emoji dalam kategori
Baru Saja Digunakan. Library ini memiliki penyedia emoji terbaru default
yang memenuhi kasus penggunaan yang paling umum:
- Semua emoji yang dipilih disimpan per aplikasi dalam preferensi bersama.
- Pemilih menampilkan maksimal tiga baris emoji yang dipilih, menghapus duplikatnya, dalam urutan kronologis terbalik.
Jika perilaku default ini sudah memadai, Anda tidak perlu menggunakan
setRecentEmojiProvider()
.
Namun, Anda mungkin perlu menyesuaikan perilaku penyedia. Berikut beberapa skenario umum:
- Anda ingin menyimpan emoji yang dipilih yang berbeda per akun pengguna.
- Anda ingin menggunakan penyimpanan data selain preferensi bersama.
- Anda ingin menampilkan emoji terbaru yang diurutkan menurut frekuensi.
Kemudian, Anda dapat menerapkan antarmuka RecentEmojiProvider
dan menyetelnya menggunakan
setRecentEmojiProvider()
.
Pemilih arah
Mulai dari Emoji 15.1, Pemilih Emoji mendukung emoji dua arah. Pengguna dapat mengetuk pengalih dua arah untuk beralih antara versi emoji yang menghadap ke kiri dan kanan.
Pemilih emoji multi-orang
Pengguna dapat menyentuh lama pasangan emoji untuk menampilkan pilihan emoji multi-orang.
Saat pengguna memilih orang emoji sebelah kiri atau kanan dari pasangan emoji, pemilih akan menampilkan pratinjau di kanan bawah, seperti yang ditunjukkan pada gambar 7 dan 8. Setelah memilih kedua bagian pasangan emoji, pengguna dapat memilih pratinjau untuk membuat pasangan emoji kustom.
Kompatibilitas dengan EmojiCompat
Jika diaktifkan, instance EmojiCompat
akan digunakan di Pemilih Emoji untuk merender
sebanyak mungkin emoji. Namun, Pemilih Emoji tidak memerlukan EmojiCompat
.
Prasyarat
Aplikasi Anda harus menargetkan Android 5.0 (API level 21) atau yang lebih tinggi.
Menggunakan library
Impor
androidx.emoji2:emojipicker:$version
dalam filebuild.gradle
aplikasi Anda.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Inflate tampilan Pemilih Emoji, dan secara opsional tetapkan
emojiGridRows
danemojiGridColumns
.- Jumlah default
emojiGridColumns
adalah 9. - Jumlah baris dihitung berdasarkan tinggi tampilan induk dan nilai
emojiGridColumns
. - Gunakan nilai float untuk
emojiGridRows
guna menunjukkan bahwa pengguna dapat men-scroll untuk melihat emoji lainnya.
<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)
- Jumlah default
Gunakan
setOnEmojiPickedListener()
untuk menambahkan emoji yang dipilih ke tampilan. Misalnya, untuk menambahkan keEditText
, lakukan hal berikut:emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Secara opsional, tetapkan
RecentEmojiProvider
, lihat aplikasi contoh untuk contoh implementasi.Sesuaikan gaya secara opsional. Buat gaya Anda sendiri untuk mengganti atribut tema umum dan terapkan gaya ke
EmojiPickerView
. Misalnya, mengganticolorControlNormal
akan mengubah warna ikon kategori.<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" />
Aplikasi Contoh
Aplikasi contoh Pemilih Emoji menunjukkan kasus penggunaan dasar beserta skenario tambahan berikut:
- Penghitungan ulang tata letak saat
emojiGridRows
atauemojiGridColumns
direset. - Penyedia emoji terbaru yang diganti yang diurutkan berdasarkan frekuensi.
- Penyesuaian gaya tambahan.