Pemilih Emoji adalah solusi UI yang menawarkan tampilan dan nuansa modern serta terupdate emoji, dan kemudahan penggunaan. Pengguna dapat menjelajahi dan memilih emoji serta variannya atau memilih dari emoji yang baru-baru ini digunakan.
Dengan pustaka ini, aplikasi dari berbagai sumber dapat menyediakan pengalaman emoji terpadu untuk pengguna mereka tanpa harus membangun dan mengelola pemilih emoji mereka sendiri dari awal.
Fitur
Emoji Terbaru
Emoji yang baru dirilis disertakan secara selektif dalam Pemilih Emoji. Tujuan Library Pemilih Emoji kompatibel di beberapa versi Android dan perangkat.
Varian melekat
Tekan lama emoji untuk menampilkan menu varian, seperti yang berbeda jenis kelamin atau warna kulit. Varian yang Anda pilih disimpan di Pemilih Emoji, dan varian terakhir yang dipilih akan digunakan di panel utama.
Dengan fitur ini, pengguna dapat mengirimkan varian emoji pilihan mereka dengan satu ketuk.
Emoji terbaru
RecentEmojiProvider
bertanggung jawab menyediakan emoji di
Kategori Baru Digunakan. Library memiliki penyedia emoji terbaru default
yang memenuhi kasus penggunaan paling umum:
- Semua emoji yang dipilih akan disimpan per aplikasi dalam preferensi bersama.
- Pemilih menampilkan maksimal 3 baris emoji yang dipilih, dihapus duplikatnya, secara terbalik urutan kronologis.
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 berbagai emoji yang dipilih per akun pengguna.
- Anda ingin menggunakan penyimpanan data selain preferensi bersama.
- Anda ingin menampilkan emoji terbaru yang diurutkan menurut frekuensi.
Selanjutnya, Anda dapat menerapkan antarmuka RecentEmojiProvider
dan menyetelnya menggunakan
setRecentEmojiProvider()
.
Kompatibilitas dengan EmojiCompat
Jika diaktifkan, instance EmojiCompat
akan digunakan di Pemilih Emoji
untuk merender emoji sebanyak mungkin. Pemilih Emoji tidak memerlukan
Namun, EmojiCompat
.
Prasyarat
Aplikasi Anda harus menargetkan Android 5.0 (API level 21) atau yang lebih tinggi.
Menggunakan library
Impor
androidx.emoji2:emojipicker:$version
dibuild.gradle
aplikasi Anda .dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Infasikan tampilan Pemilih Emoji, serta setel
emojiGridRows
dan (opsional)emojiGridColumns
.- 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 scroll ke bawah 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) }
Jika perlu, setel
RecentEmojiProvider
, lihat aplikasi contoh untuk contoh terlepas dari implementasi layanan.Sesuaikan gaya (opsional). Membuat gaya Anda sendiri untuk mengganti tema umum dan menerapkan 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:
- Perhitungan ulang tata letak saat
emojiGridRows
atauemojiGridColumns
direset. - Penyedia emoji terbaru yang diganti yang mengurutkan berdasarkan frekuensi.
- Penyesuaian gaya tambahan.