Pemilih Emoji

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.

Gambar 1. Pemilih Emoji

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.

varian emoji
Gambar 2. Varian emoji

Emoji terbaru

emoji terbaru
Gambar 3. 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

  1. Impor androidx.emoji2:emojipicker:$version di build.gradle aplikasi Anda .

    dependencies {
        implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. 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)
    
  3. Gunakan setOnEmojiPickedListener() untuk menambahkan emoji yang dipilih ke tampilan. Misalnya, untuk menambahkan ke EditText, lakukan hal berikut:

    emojiPickerView.setOnEmojiPickedListener {
        findViewById<EditText>(R.id.edit_text).append(it.emoji)
    }
    
  4. Jika perlu, setel RecentEmojiProvider, lihat aplikasi contoh untuk contoh terlepas dari implementasi layanan.

  5. Sesuaikan gaya (opsional). Membuat gaya Anda sendiri untuk mengganti tema umum dan menerapkan gaya ke EmojiPickerView. Misalnya, mengganti colorControlNormal 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 atau emojiGridColumns direset.
  • Penyedia emoji terbaru yang diganti yang mengurutkan berdasarkan frekuensi.
  • Penyesuaian gaya tambahan.