Emoji2
| Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
|---|---|---|---|---|
| 10 September 2025 | 1.6.0 | - | - | - |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada Emoji2, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:
Groovy
dependencies { def emoji2_version = "1.6.0" implementation "androidx.emoji2:emoji2:$emoji2_version" implementation "androidx.emoji2:emoji2-views:$emoji2_version" implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version" }
Kotlin
dependencies { val emoji2_version = "1.6.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
Untuk mengetahui informasi dependensi selengkapnya, lihat Menambahkan Dependensi Build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Emoji2 Emojipicker Versi 1.0
Versi 1.5.0
4 September 2024
androidx.emoji2:emoji2-*:1.5.0 dirilis. Versi 1.5.0 berisi commit ini.
Perubahan penting sejak versi 1.4.0
- Mendukung emoji 15.1 dan UI pemilih emoji dua arah. Pengguna dapat beralih antara versi emoji yang menghadap ke kiri dan kanan dengan mengklik pengalih dua arah.
- Mendukung pemilih emoji multi-warna kulit. Menekan lama emoji pasangan akan menampilkan pemilih emoji multi-orang untuk status nol. Saat pengguna mengetuk separuh kiri emoji, pratinjau emoji di kanan bawah akan diperbarui. Saat pengguna memilih kedua bagian emoji, pratinjau emoji di kanan bawah akan menampilkan seluruh emoji dan pengguna dapat memasukkannya.
Versi 1.0.0-alpha03
8 Maret 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Perbaikan Bug
- Menghapus resource yang tidak perlu dan mengurangi ukuran library sebesar ~0,3 M.
Versi 1.0.0-alpha02
22 Februari 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perubahan API
- Menambahkan API baru untuk klien java agar dapat menyediakan emoji terbaru. (I39d10)
Perbaikan Bug
- Memperbarui resource emoji untuk mendukung emoji 15.0 (Ib4eb3)
- Saat memilih emoji dari jendela pop-up, perbarui semua emoji yang identik ke emoji yang baru dipilih (kecuali baris emoji terbaru). Juga mengumumkan emoji saat mengklik. (I892c6)
- Tunggu hingga emojicompat dimuat sebelum menampilkan
EmojiPickerView. (I29e03)
Versi 1.0.0-alpha01
25 Januari 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
- Memperkenalkan pemilih emoji yang memberikan pengalaman pengguna yang konsisten dengan emoji terbaru di seluruh aplikasi dan perangkat OEM Android OS. Fitur ini menyediakan dukungan emoji dan UI pemilih emoji terbaru, termasuk varian warna kulit dan dukungan kompatibilitas emoji.
Perubahan API
- Memperkenalkan class
EmojiPickerViewyang menyediakan emoji terbaru dalam tampilan vertikal yang dapat di-scroll dengan header horizontal yang dapat diklik. - Kolom petak pemilih emoji dapat ditetapkan melalui atribut XML
emojiGridColumnsatau fungsisetEmojiGridColumns(). - Baris petak pemilih emoji dapat ditetapkan melalui atribut XML
emojiGridRowsatau fungsisetEmojiGridRows(). - Pemroses yang dipilih emoji dapat ditetapkan melalui
setOnEmojiPickedListener()dan pemroses akan diberi tahu setiap kali pengguna mengklik emoji apa pun. - Penyedia emoji terbaru dapat disertakan dengan
setRecentEmojiProvider(). Ini adalah fungsi opsional. Jika penyedia emoji terbaru tidak disetel, penyedia emoji terbaru default akan digunakan oleh library. Perilaku default ini didefinisikan sebagai berikut: 1) semua emoji yang dipilih akan disimpan ke tingkat aplikasi dalam preferensi bersama. 2) pemilih akan menampilkan maksimal 3 baris emoji yang dipilih, menghapus duplikatnya, dalam urutan kronologis terbalik. - Memperkenalkan class
EmojiViewItemyang menyimpan emoji yang ditampilkan dan varian emojinya. - Memperkenalkan antarmuka
RecentEmojiProvideryang dapat diimplementasikan untuk menyediakan daftar emoji terbaru.recentEmojiProviderbertanggung jawab menyediakan emoji dalam kategori “Baru Saja Digunakan”.
Versi 1.6
Versi 1.6.0
10 September 2025
androidx.emoji2:emoji2-*:1.6.0 dirilis. Versi 1.6.0 berisi commit ini.
Perubahan penting sejak versi 1.5.0:
- Mendukung emoji 16.0
- Tambahkan sufiks “emoji” ke deskripsi konten emoji.
Perbaikan Bug
- Memindahkan
minSdkdefault dari API 21 ke API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
Versi 1.6.0-rc01
13 Agustus 2025
androidx.emoji2:emoji2-*:1.6.0-rc01 dirilis. Versi 1.6.0-rc01 berisi commit ini.
Fitur Baru
- Mendukung Emoji 16.0 dan menambahkan sufiks “emoji” ke deskripsi konten.
Perubahan API
- Menghapus anotasi
@RequiresApi(21)yang tidak digunakan lagi (Ic4792) - Menghapus anotasi
@RequiresApi(21)yang tidak digunakan lagi (I9103b)
Versi 1.6.0-beta01
2 Juli 2025
androidx.emoji2:emoji2-*:1.6.0-beta01 dirilis. Versi 1.6.0-beta01 berisi commit ini.
Fitur Baru
- Mendukung update Emoji 16.0
- Tambahkan sufiks “emoji” ke deskripsi konten untuk memastikan bahwa kita memiliki perilaku aksesibilitas yang konsisten di semua aplikasi pemilih emoji.
Versi 1.6.0-alpha01
4 Juni 2025
androidx.emoji2:emoji2-*:1.6.0-alpha01 dirilis. Versi 1.6.0-alpha01 berisi commit ini.
Fitur Baru
- Pembaruan data Emoji 16.0 (Ifc878)
- Menambahkan akhiran “emoji” ke deskripsi konten
Perbaikan Bug
- Library ini kini menggunakan anotasi nullabilitas JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar:
-Xjspecify-annotations=strict,-Xtype-enhancement-improvements-strict-mode(Id07e7, b/326456246)
Versi 1.5
Versi 1.5.0
4 September 2024
androidx.emoji2:emoji2-*:1.5.0 dirilis. Versi 1.5.0 berisi commit ini.
Perubahan penting sejak versi 1.4.0
- Mendukung emoji 15.1 dan UI pemilih emoji dua arah. Pengguna dapat beralih antara versi emoji yang menghadap ke kiri dan kanan dengan mengklik pengalih dua arah.
- Mendukung pemilih emoji multi-warna kulit. Menekan lama emoji pasangan akan menampilkan pemilih emoji multi-orang untuk status nol. Saat pengguna mengetuk separuh kiri emoji, pratinjau emoji di kanan bawah akan diperbarui. Saat pengguna memilih kedua bagian emoji, pratinjau emoji di kanan bawah akan menampilkan seluruh emoji dan pengguna dapat memasukkannya.
Versi 1.5.0-rc01
21 Agustus 2024
androidx.emoji2:emoji2-*:1.5.0-rc01 dirilis. Versi 1.5.0-rc01 berisi commit ini.
Fitur Baru
- Mendukung emoji 15.1 dan UI pemilih emoji dua arah. Pengguna dapat beralih antara versi emoji yang menghadap ke kiri dan kanan dengan mengklik pengalih dua arah.
- Mendukung pemilih emoji multi-warna kulit. Menekan lama emoji pasangan akan menampilkan pemilih emoji multi-orang untuk status nol. Saat pengguna mengetuk separuh kiri emoji, pratinjau emoji di kanan bawah akan diperbarui. Saat pengguna memilih kedua bagian emoji, pratinjau akan menampilkan seluruh emoji dan pengguna dapat memasukkannya.
Perbaikan Bug
- Menghapus penentuan batas akses manual ke API platform baru karena hal ini terjadi secara otomatis melalui pemodelan API saat menggunakan R8 dengan AGP 7.3 atau yang lebih baru (misalnya, R8 versi 3.3) dan untuk semua build saat menggunakan AGP 8.1 atau yang lebih baru (misalnya, D8 versi 8.1). Klien yang tidak menggunakan AGP disarankan untuk mengupdate ke D8 versi 8.1 atau yang lebih baru. Baca artikel ini untuk informasi selengkapnya. (If6b4c, b/345472586)
- Pemilihan tab dan indikator
EmojiPickerViewdiperbarui satu klik di belakang. (146b02, b/288261054) - Pemilihan dan indikator tab
EmojiPickerViewrusak. (5e1f14, b/273883688)
Versi 1.5.0-beta01
10 Juli 2024
androidx.emoji2:emoji2-*:1.5.0-beta01 dirilis. Versi 1.5.0-beta01 berisi commit ini.
Fitur Baru
- Mendukung emoji 15.1 dan UI pemilihan emoji dua arah.
- Mendukung desain ulang pemilihan beberapa warna kulit.
Perbaikan Bug
- Pemilihan tab dan indikator
EmojiPickerViewdiperbarui satu klik di belakang. (146b02, b/288261054) - Pemilihan dan indikator tab
EmojiPickerViewrusak. (5e1f14, b/273883688)
Versi 1.5.0-alpha01
13 Desember 2023
androidx.emoji2:emoji2-*:1.5.0-alpha01 dirilis. Versi 1.5.0-alpha01 berisi commit ini.
Fitur Baru
emoji2-bundledberisi font emoji yang diperbarui untuk mendukung Emoji 15.1.
Perubahan API
- Tambahkan eksekutor untuk mengontrol thread callback untuk
InitCallback. (I32b67) BundledEmojiCompatConfigkini menggunakan eksekutor untuk mengontrol thread pemuatan. (I00e81)
Versi 1.4
Versi 1.4.0
9 Agustus 2023
androidx.emoji2:emoji2-*:1.4.0 dirilis. Versi 1.4.0 berisi commit ini.
Perubahan penting sejak versi 1.3.0
- Memperkenalkan library pemilih emoji. Lihat dokumen developer untuk mengetahui detail selengkapnya.
Versi 1.4.0-rc01
26 Juli 2023
androidx.emoji2:emoji2-*:1.4.0-rc01 dirilis. Versi 1.4.0-rc01 berisi commit ini.
Perubahan API
- Memperkenalkan daftar
registerSource(Iae92f) - Masukan Dewan API: mengganti nama
TransitionManager.seekTo()menjadicreateSeekController(). Sesuaikan komentar sebelumnya tentang penambahanTransitionManager.seekTo()keTransitionManager.createSeekController(). (Idbeb1) - Menambahkan
ExerciseRouteResult, yang bukan merupakan superclass untukData,NoData, danConsentRequiredStates. MenambahkanExerciseRoutesebagai class mandiri, yang menyimpan data lokasi untuk rute. (I22eed) - Memperkenalkan
PagerLayoutInfodengan informasi yang dikumpulkan setelah lulus pengukuran di Pager. Juga memperkenalkan PageInfo, informasi tentang satu Halaman yang diukur di Pager. (Iad003, b/283098900)
Perbaikan Bug
- Kami telah memperbarui warna untuk
Button,IconButton, danTextButtonsesuai dengan desain Material3. Peran semantik untukButton,IconButton, danTextButtonkini dapat diganti menggunakanModifier.semantics. (Ib2495) - Memperbaiki pilihan tab dan pembaruan indikator
EmojiPickerView’s yang tertinggal satu klik. (I4db04) FileNotFoundExceptiontentang cara menampilkan pemilih emoji (I353e4)- Menangkap
WindowManager.BadTokenExceptionsaat menggunakanEmojiPickerView(I0a144)
Versi 1.4.0-beta05
7 Juni 2023
androidx.emoji2:emoji2-*:1.4.0-beta05 dirilis. Versi 1.4.0-beta05 berisi commit ini.
Perbaikan Bug
- Memperbaiki bug yang diperkenalkan di 1.3 yang akan menyebabkan
MetricsAffectingSpanssepertiRelativeSizeSpanditerapkan dua kali. Sekali selama tata letak teks, dan sekali lagi di dalamEmojiSpan.draw. Hasilnya adalah gambar yang ukurannya tidak tepat, yang terlihat jika salah satu parameter ukuran teks diubah oleh rentang. (b/283208650)
Versi 1.4.0-beta04
24 Mei 2023
androidx.emoji2:emoji2-*:1.4.0-beta04 dirilis. Versi 1.4.0-beta04 berisi commit ini.
Rilis ini memperbaiki bug yang ada sejak 1.0 yang menyebabkan tampilan dengan handler non-utama akan memunculkan pengecualian saat mencoba memperbarui rentang emoji setelah pemuatan font selesai. Tidak ada solusi untuk masalah ini. Jika Anda terpengaruh oleh bug ini, upgrade ke versi ini atau yang lebih baru.
Perbaikan Bug
- Callback inisialisasi
EmojiCompatkini akan menggunakan handler dari setiap tampilan, dengan mempertimbangkan tampilan yang tidak ada di thread utama. (Iccbcf)
Versi 1.4.0-beta03
10 Mei 2023
androidx.emoji2:emoji2-*:1.4.0-beta03 dirilis. Versi 1.4.0-beta03 berisi commit ini.
Perbaikan Bug
- Memperbaiki error tampilan pop-up bertingkat pemilih emoji. (0acc8e)
- Tampilkan pengecualian awal di
EmojiCompat getEmojiStart/getEmojiEnd. (26177f)
Versi 1.4.0-beta02
19 April 2023
androidx.emoji2:emoji2-*:1.4.0-beta02 dirilis. Versi 1.4.0-beta02 berisi commit ini.
Perbaikan Bug
- Memperbarui file dasar pengukuran lint (Iaa212)
Versi 1.4.0-beta01
5 April 2023
androidx.emoji2:emoji2-*:1.4.0-beta01 dirilis. Versi 1.4.0-beta01 berisi commit ini.
Fitur Baru
androidx.emoji2:emoji2-emojipicker
Pemilih Emoji adalah solusi UI yang menawarkan tampilan dan nuansa modern, emoji terbaru, serta kemudahan penggunaan. Pengguna dapat menjelajahi dan memilih emoji serta variasinya, atau memilih dari emoji yang baru saja digunakan. Dengan library ini, aplikasi di berbagai OEM dapat memberikan pengalaman emoji yang inklusif dan terpadu kepada penggunanya tanpa developer harus membuat dan memelihara pemilih emoji mereka sendiri dari awal.
Emoji Terbaru
Emoji baru dirilis setiap tahun, dan kami akan menyertakannya secara selektif di Pemilih Emoji. Untuk memastikan kompatibilitas mundur, kami melakukan pemeriksaan kemampuan rendering emoji yang akurat secara internal untuk menghilangkan tofu. Hal ini akan memastikan bahwa library kompatibel di berbagai versi dan perangkat Android.
Varian melekat
Menekan lama emoji akan menampilkan menu varian, seperti gender atau warna kulit yang berbeda. Varian yang Anda pilih akan disimpan di pemilih emoji, dan varian yang terakhir dipilih akan digunakan di panel utama. Dengan fitur ini, pengguna dapat mengirim varian emoji pilihan mereka hanya dengan sekali ketuk.
Emoji terbaru
RecentEmojiProvider bertanggung jawab menyediakan emoji dalam kategori “Baru Saja Digunakan”. Library memiliki penyedia emoji terbaru default yang memenuhi kasus penggunaan paling umum:
- Semua emoji yang dipilih akan disimpan ke tingkat aplikasi dalam preferensi bersama.
- Pemilih menampilkan maksimal 3 baris emoji yang dipilih, menghapus duplikatnya, dalam urutan kronologis terbalik.
Jika perilaku default ini sudah cukup, Anda tidak perlu menetapkan metode setRecentEmojiProvider().
Bekerja dengan EmojiCompat
Jika aplikasi memiliki instance EmojiCompat, instance tersebut akan digunakan di pemilih emoji untuk merender sebanyak mungkin emoji. Jika EmojiCompat dinonaktifkan, pemilih emoji akan tetap berfungsi dengan baik.
Cara menggunakan pustaka
Untuk menggunakan library, developer aplikasi harus
Impor
androidx.emoji2:emojipicker:$versiondibuild.gradle.dependencies { implementation "androidx.emoji2:emojipicker:$version" }Perluas tampilan pemilih emoji dan secara opsional tetapkan
emojiGridRowsdanemojiGridColumnsberdasarkan ukuran yang diinginkan untuk setiap sel emoji- Anda dapat membiarkannya tidak disetel, defaultnya adalah 9
emojiGridColumns, baris akan dihitung berdasarkan tinggi tampilan induk danemojiGridColumns - Anda dapat menyetel
emojiGridRowssebagai float untuk menunjukkan ada lebih banyak emoji jika men-scroll ke bawah di XML
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />- Anda dapat membiarkannya tidak disetel, defaultnya adalah 9
dalam kode
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)
Dengan asumsi Anda ingin menambahkan emoji yang dipilih ke EditText, gunakan
setOnEmojiPickedListener()emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }Tetapkan
RecentEmojiProvidersecara opsional, lihat aplikasi contoh untuk contoh penerapan.Sesuaikan gaya secara opsional. Buat gaya Anda sendiri untuk mengganti atribut tema umum dan menerapkan gaya ke
EmojiPickerView. Misalnya, mengganticolorControlNormalakan 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" />
Lihat aplikasi contoh untuk mengetahui contoh implementasi.
Platform API lengkap dapat ditemukan di sini.
Aplikasi Contoh
Aplikasi contoh ini menunjukkan kasus penggunaan dasar serta skenario tambahan berikut:
- Tata letak tampilan diatur ulang karena
emojiGridRowsdanemojiGridColumnsdireset. - Penyedia emoji terbaru diganti untuk mengurutkan berdasarkan frekuensi.
- Penyesuaian gaya.
Perubahan API
Library Pemilih Emoji telah diupdate dengan API baru berikut:
- Class
EmojiPickerView, yang menyediakan emoji terbaru dalam tampilan vertikal yang dapat di-scroll dengan header horizontal yang dapat diklik. - Kemampuan untuk menetapkan jumlah kolom dan baris dalam petak pemilih emoji melalui atribut XML
emojiGridColumnsdanemojiGridRowsatau metodesetEmojiGridColumns()dansetEmojiGridRows(). - Kemampuan untuk menetapkan pemroses yang dipilih emoji melalui metode
setOnEmojiPickedListener(). Pemroses akan diberi tahu setiap kali pengguna mengklik emoji apa pun. - Kemampuan untuk menyediakan penyedia emoji terbaru melalui metode
setRecentEmojiProvider(). Ini adalah fungsi opsional. Jika penyedia emoji terbaru tidak disetel, penyedia emoji terbaru default akan digunakan oleh library. Perilaku default ditentukan sebagai berikut:- Semua emoji yang dipilih akan disimpan ke tingkat aplikasi dalam preferensi bersama.
- Pemilih akan menampilkan maksimal 3 baris emoji yang dipilih, menghapus duplikatnya, dalam urutan kronologis terbalik.
- Class
EmojiViewItem, yang menyimpan emoji yang ditampilkan dan varian emojinya. - Antarmuka
RecentEmojiProvider, yang dapat diimplementasikan untuk menyediakan daftar emoji terbaru.recentEmojiProviderbertanggung jawab menyediakan emoji dalam kategori “Baru Saja Digunakan”. - Antarmuka
RecentEmojiAsyncProvider, yang dapat diimplementasikan untuk menyediakan daftar emoji terbaru.RecentEmojiAsyncProviderbertanggung jawab menyediakan emoji dalam kategori “Baru Saja Digunakan”. Antarmuka ini setara denganRecentEmojiProvideryang memungkinkan klien mengganti metodegetRecentEmojiListAsync()untuk menyediakan emoji terbaru. - Class
RecentEmojiProviderAdapter, yang merupakan adaptor untukRecentEmojiAsyncProviderdan mengimplementasikanRecentEmojiProvider.
Versi 1.4.0-alpha01
22 Maret 2023
androidx.emoji2:emoji2-*:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.
Perbaikan Bug
- Memperbaiki pengujian, menonaktifkan pengujian tidak stabil, dan pembersihan.
Versi 1.3
Versi 1.3.0
22 Maret 2023
androidx.emoji2:emoji2-*:1.3.0 dirilis. Versi 1.3.0 berisi commit berikut ini.
Perubahan penting sejak versi 1.2.0
- Rilis ini memungkinkan Compose Foundation
1.4.0dan yang lebih tinggi mengaktifkan integrasi emoji2. - Selain itu, fitur ini memungkinkan penggantian
EmojiSpansdengan kode gambar kustom, serta dukungan untuk pengecualian emoji yang ditentukan di Android.
Versi 1.3.0-rc01
8 Maret 2023
androidx.emoji2:emoji2-*:1.3.0-rc01 dirilis. Versi 1.3.0-rc01 berisi commit ini.
Fitur Baru
- Versi ini untuk mendukung integrasi compose emoji2.
Perubahan API
- Mengganti rentang untuk kode gambar kustom.
- Mengkueri pengecualian sistem.
Perbaikan Bug
- Dan memperbaiki bug ketika span latar belakang tidak diterapkan dengan benar di belakang
EmojiSopans.
Versi 1.3.0-beta03
23 Februari 2023
androidx.emoji2:emoji2-bundled:1.3.0-beta03, androidx.emoji2:emoji2-views:1.3.0-beta03, dan androidx.emoji2:emoji2-views-helper:1.3.0-beta03 dirilis.
22 Februari 2023
androidx.emoji2:emoji2:1.3.0-beta03 dirilis. Versi 1.3.0-beta03 berisi commit ini.
Fitur Baru
- Tidak ada perubahan. Rilis ini adalah untuk mempersiapkan integrasi compose.
Versi 1.3.0-beta02
8 Februari 2023
androidx.emoji2:emoji2-*:1.3.0-beta02 dirilis. Versi 1.3.0-beta02 berisi commit ini.
Fitur Baru
- Rilis ini merupakan stabilisasi untuk mendukung integrasi compose.
Versi 1.3.0-beta01
25 Januari 2023
androidx.emoji2:emoji2-*:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.
Fitur Baru
- Mengkueri pengecualian sistem.
- Mengganti span untuk kode gambar kustom.
- Dan memperbaiki bug ketika span latar belakang tidak diterapkan dengan benar di belakang
EmojiSopans. - Rilis ini menambahkan API yang diperlukan untuk mendukung
EmojiCompatdi Compose. Nantikan dukungan Compose untuk compat emoji dalam rilis mendatang.
Versi 1.3.0-alpha01
11 Januari 2023
androidx.emoji2:emoji2-*:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit ini.
API baru untuk interaksi tingkat rendah
- Mengkueri pengecualian sistem
- Mengganti span untuk kode gambar kustom
- Dan memperbaiki bug ketika span latar belakang tidak diterapkan dengan benar di belakang
EmojiSopans. - Rilis ini menambahkan API yang diperlukan untuk mendukung
EmojiCompatdi Compose. Nantikan dukungan Compose untuk compat emoji dalam rilis mendatang.
Perubahan API
- Menambahkan kemampuan untuk mengkueri pengecualian sistem ke
TypefaceEmojiRasterizer. (I5653e) - Menambahkan API baru
EmojiCompat.SpanFactoryuntuk mengganti perilakuEmojiSpandefault dengan kode gambar dan ukuran kustom. (Ib69d9) - Menambahkan
EmojiCompatke Compose (I96f37, b/139326806)
Perbaikan Bug
- Emoji2 sekarang akan menggambar latar belakang dari
BackgroundSpandengan benar. (Ide6a8, b/230525134) - Menyelesaikan AppCompat API untuk 1.5.0-beta01 (I2a43d, b/236866227)
Versi 1.2
Versi 1.2.0
10 Agustus 2022
androidx.emoji2:emoji2-*:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.
Perubahan penting sejak 1.1.0
Ini adalah rilis perbaikan bug. Tidak ada fitur atau API baru yang ditambahkan sejak versi 1.1.0.
Namun, aplikasi yang menggunakan PrecomputedText atau TextView.setText(char[]) harus
memprioritaskan penambahan ke versi ini.
Bug berikut telah diperbaiki:
Emoji2akan menambahkan emoji kePrecomputedTextdengan menghapus tata letak teks yang sudah diprakomputasi sebelumnya. (I47d06, b/211231958)- Mem-backport perbaikan error editor dari Android P ke
EditTextyang dikonfigurasi agar menggunakan emoji2. (Ifd709, b/216891011) - Memperbaiki error saat emoji2 memuat font dan
TextView.setText(char[])digunakan. (Id511e, b/206859724)
Versi 1.2.0-rc01
27 Juli 2022
androidx.emoji2:emoji2-*:1.2.0-rc01 dirilis. Versi 1.2.0-rc01 berisi commit ini.
- Tidak ada perubahan sejak versi beta terakhir.
Versi 1.2.0-beta01
13 Juli 2022
androidx.emoji2:emoji2-*:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit ini.
Fitur Baru
- Tidak ada perubahan dari versi terakhir (rilis ini untuk mendukung rilis AppCompat).
Versi 1.2.0-alpha04
20 April 2022
androidx.emoji2:emoji2-*:1.2.0-alpha04 dirilis. Versi 1.2.0-alpha04 berisi commit ini.
Fitur Baru
- Tidak ada perubahan dalam rilis ini.
Versi 1.2.0-alpha03
6 April 2022
androidx.emoji2:emoji2-*:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit ini.
Fitur Baru
- Tidak ada perubahan dari versi terakhir (rilis ini untuk mendukung rilis appcompat).
Versi 1.2.0-alpha02
23 Maret 2022
androidx.emoji2:emoji2-*:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit ini.
Perbaikan Bug
- Emoji2 akan menambahkan emoji ke
PrecomputedTextdengan menghapus tata letak teks yang sudah diprakomputasi sebelumnya. (I47d06, b/211231958) - Mem-backport perbaikan error editor dari Android P ke EditText yang dikonfigurasi agar menggunakan emoji2. (Ifd709, b/216891011)
- Memperbaiki error saat emoji2 memuat font dan
TextView.setText(char[])digunakan. (Id511e, b/206859724)
Versi 1.2.0-alpha01
23 Februari 2022
androidx.emoji2:emoji2-*:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.
Tidak ada perubahan sejak versi 1.1.0.
1.1
Versi 1.1.0
23 Februari 2022
androidx.emoji2:emoji2-*:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.
Perubahan penting sejak versi 1.0.0
- emoji2-bundled berisi font emoji 14
getEmojiMatchAPI baru menampilkan informasi yang akurat untuk keyboard guna menentukan cara emoji ditampilkan di depan font emojicompat yang ada di belakang font sistem- Perbaikan bug untuk
NumberKeyListeneryang membuat input digit memfilter karakter dengan benar.
Versi 1.1.0-rc01
9 Februari 2022
androidx.emoji2:emoji2-*:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.
Fitur Baru
Tidak ada perubahan dari versi beta.
Fitur baru dibandingkan dengan emoji2 1.0.0:
emoji2-bundledberisi font emoji 14getEmojiMatchAPI baru menampilkan informasi yang akurat untuk keyboard guna menentukan cara emoji ditampilkan di depan font emojicompat yang ada di belakang font sistem- Perbaikan bug untuk
NumberKeyListeneryang membuat input digit memfilter karakter dengan benar
Versi 1.1.0-beta01
26 Januari 2022
androidx.emoji2:emoji2-*:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit ini.
Perbaikan Bug
- Rilis androidx-emoji2 beta01. Tidak ada perubahan dari versi alpha01 (Ic61d9)
Versi 1.1.0-alpha01
15 Desember 2021
androidx.emoji2:emoji2-*:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Fitur Baru
emoji2-bundledberisi font emoji 14getEmojiMatchAPI baru menampilkan informasi yang akurat untuk keyboard guna menentukan cara emoji ditampilkan di depan font emojicompat yang ada di belakang font sistem- Perbaikan bug untuk
NumberKeyListeneryang membuat input digit memfilter karakter dengan benar
Perubahan API
- Menambahkan
getEmojiMatchAPI baru agar keyboard dapat mencari perilaku pencocokan emoji dengan lebih akurat di emojicompat. - Menghentikan penggunaan
hasEmojiGlyph, karena nilai hasil booleannya tidak akurat saat pengujian dengan font yang lebih lama dari font emoji platform. Mengganti dengangetEmojiMatch. (Ie693d)
Perbaikan Bug
- Emoji2 tidak akan menggabungkan instance
NumberKeyListener, sehingga lokalitas dapat dikonfigurasi olehTextView. - Appcompat tidak akan menggabungkan instance
NumberKeyListeneryang diteruskan kesetKeyListener, sehinggaTextViewdapat mengonfigurasi lokalitas dengan benar diNumberKeyListeners. (Ibf113, b/207119921)
1.0
Versi 1.0.1
15 Desember 2021
androidx.emoji2:emoji2-*:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.
Perbaikan Bug
Emoji2tidak akan menggabungkan instanceNumberKeyListener, sehingga lokalitas dapat dikonfigurasi olehTextView.- Appcompat tidak akan menggabungkan instance
NumberKeyListeneryang diteruskan kesetKeyListener, sehinggaTextViewdapat mengonfigurasi lokalitas dengan benar diNumberKeyListeners. (Ibf113, b/207119921)
Versi 1.0.0
17 November 2021
androidx.emoji2:emoji2-*:1.0.0 dirilis. Versi 1.0.0 berisi commit ini.
Fitur utama 1.0.0
androidx.emoji2 menggantikan androidx.emoji dengan kemampuan tambahan:
- Pengurangan ukuran APK vs androidx.emoji
- Konfigurasi otomatis
- Ditambahkan sebagai dependensi untuk appcompat 1.4
Untuk informasi selengkapnya tentang androidx.emoji2, lihat Mendukung Emoji Modern dan diskusi Android Dev Summit kami yang Menampilkan SEMUA emoji di aplikasi Android Dev.
Versi 1.0.0-rc01
27 Oktober 2021
androidx.emoji2:emoji2-*:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit ini.
- Tidak ada perubahan sejak versi beta02.
Emoji2 Versi 1.0.0-beta01
15 September 2021
androidx.emoji2:emoji2-*:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.
Perubahan API
Menambahkan
setLoadingExecutorkeFontRequestEmojiCompatConfig, yang menggantikan APIsetHandlersebelumnya. API ini memungkinkan aplikasi untuk mengonfigurasiFontRequestEmojiCompatConfigagar dapat menggunakan eksekutor latar belakang apa pun.Perubahan ini merupakan perubahan yang dapat menyebabkan gangguan dari
androidx.emoji:emoji, sehinggasetHandlerakan dipertahankan sebagai API tanpa pengoperasian yang tidak digunakan lagi untuk membantu migrasi. (I6cd48)EmojiCompat menetapkan
EditorInfo.extrasdengan benar di Android 11- Widget kustom yang menggunakan IME yang tidak membuat EditText sebagai subclass dapat memanggil
EmojiCompat.updateEditorInfountuk memberi tahu IME bahwa widget tersebut mendukung pemrosesan EmojiCompat. (I1ea9b)
- Widget kustom yang menggunakan IME yang tidak membuat EditText sebagai subclass dapat memanggil
Perbaikan Bug
- Memperbaiki
DefaultEmojiCompatConfiguntuk mencari penyedia font emoji dengan benar pada API 19 dan 28. Perubahan ini memperbaiki bug yang diperkenalkan di emoji2 1.0.0-alpha01. (Ib33d8, b/197906329)
Versi 1.0.0-alpha03
30 Juni 2021
androidx.emoji2:emoji2-*:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Fitur Baru
Rilis ini adalah rilis perbaikan bug dan stabilisasi.
- EmojiEditTextHelper kini memungkinkan
nullditeruskan sebagai KeyListener. Hal ini memungkinkan perilaku platform yang mengizinkan null untuk diterapkan ke emoji yang mendukung implementasi EditText. - Saat menggunakan EmojiCompatInitializer, penundaan startup awal ditingkatkan untuk dipicu setelah Aktivitas pertama dilanjutkan. Hal ini memungkinkan startup aplikasi terjadi tanpa terkendali, dan menghindari pemuatan font untuk memulai aplikasi yang tidak pernah menampilkan UI. Setelah penundaan singkat, EmojiCompat akan membuat thread untuk memuat font emoji.
- Dependensi baru pada
androidx.lifecycle:lifecycle-processdariandroidx.emoji2:emoji2ditambahkan untuk mengimplementasikan penundaan. Perubahan ini akan berdampak pada ukuran APK yang dapat diabaikan untuk aplikasi yang sudah menyertakan siklus proses (seperti aplikasi dengan appcompat).
Perubahan API
- Mengizinkan KeyListener null di AppCompatEditText. Tindakan ini akan membalikkan anotasi non-null yang ditambahkan ke AppCompatEditText dalam 1.4.0-alpha01 dan memulihkan perilaku sebelumnya saat diteruskan ke null. (I21482, b/189559345)
Perbaikan Bug
- Mengubah EmojiCompatInitializer untuk menunda pemuatan font hingga
500 milidetik setelah
Activity.onResumepertama. Hal ini memungkinkan aktivitas melakukanApplication.onCreatedanActivity.onCreatesecara tidak terkendali, selagi tetap memastikan bahwa font emoji dimuat segera setelah aplikasi dimulai. (I4bff7)
Versi 1.0.0-alpha02
2 Juni 2021
androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02, dan androidx.emoji2:emoji2-views-helper:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perubahan API
- Mengganti nama paket dalam
emoji2-views-helpermenjadiandroidx.emoji2.viewsintegration. Ini adalah perubahan yang dapat menyebabkan gangguan pada AppCompat1.4.0-alpha01, dan aplikasi harus memastikan dependensi AppCompat diperbarui untuk menggunakan versi emoji2 yang baru. (Ie8397)
Versi 1.0.0-alpha01
18 Mei 2021
androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01, dan androidx.emoji2:emoji2-views-helper:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur dalam rilis awal ini
Integrasi emojicompat direkomendasikan untuk semua aplikasi guna mendukung emoji modern dari API19. Semua konten buatan pengguna di aplikasi Anda berisi 🎉.
EmojiCompat telah berpindah dari artefak androidx.emoji ke androidx.emoji2 baru, yang sekarang dalam alpha01. Artefak baru menggantikan versi sebelumnya.
emoji2 ditambahkan sebagai dependensi untuk AppCompat mulai dari AppCompat 1.4.0-alpha01 dan diaktifkan secara default untuk tampilan AppCompat.
Artefak emoji2 memperkenalkan konfigurasi otomatis baru menggunakan library androidx.startup. Anda tidak perlu lagi menulis kode 👨🏽💻 untuk menampilkan 🐻❄️.
Perubahan emoji2 dari emoji
- Menambahkan konfigurasi otomatis baru
EmojiCompatInitializermenggunakanandroidx.startup. - Menambahkan konfigurasi default baru yang menggunakan lokasi layanan untuk menemukan penyedia font yang dapat didownload di
DefaultEmojiCompatConfiguration. - Class dipindahkan dari paket
androidx.emojikeandroidx.emoji2. - Memisahkan
EmojiTextViewdan tampilan terkait ke artefak terpisahemoji2-views. Ini hanya boleh digunakan jika aplikasi Anda tidak menggunakan appcompat. - Mengekstrak helper untuk mengintegrasikan emojicompat ke dalam tampilan khusus menjadi artefak terpisah
emoji2-views-helper. - Menambahkan anotasi nullability.
- Helper dalam
emoji2-views-helperkini dapat digunakan meskipunEmojiCompattidak diinisialisasi (sebelumnya pengecualian ditampilkan).
Dependensi apa yang harus Anda tambahkan?
- Aplikasi dengan AppCompat harus diupgrade ke versi appcompat AppCompat
1.4.0-alpha01atau yang lebih baru. - Aplikasi tanpa AppCompat yang menggunakan
TextView/EditTextdari platform harus menggunakanEmojiTextViewdan class terkait dariemoji2-views.
Cara mendukung dalam tampilan khusus
- Aplikasi dengan AppCompat harus memperluas
AppCompatTextView,AppCompatButton, dll., bukan platformTextView, dll. - Aplikasi tanpa AppCompat harus menambahkan dependensi
androidx.emoji2:emoji2-views-helperdan menggunakan helper untuk berintegrasi dengan subclassTextViewatauEditTextkhusus.
Mengonfigurasi inisialisasi otomatis
Aplikasi dapat menonaktifkan inisialisasi otomatis dengan menambahkan ini ke manifes:
<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>Ini akan menonaktifkan konfigurasi otomatis, sehingga Anda dapat meneruskan konfigurasi khusus ke
EmojiCompat.init. Konfigurasi default untuk sistem dapat diambilDefaultEmojiCompatConfig.create(context)untuk konfigurasi lebih lanjut sebelum diteruskan keEmojiCompat.init.