Emoji2
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
8 Februari 2023 | 1.2.0 | - | 1.3.0-beta02 | - |
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.2.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.2.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.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
EmojiPickerView
yang 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
emojiGridColumns
atau fungsisetEmojiGridColumns()
. - Baris petak pemilih emoji dapat ditetapkan melalui atribut XML
emojiGridRows
atau 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
EmojiViewItem
yang menyimpan emoji yang ditampilkan dan varian emojinya. - Memperkenalkan antarmuka
RecentEmojiProvider
yang dapat diimplementasikan untuk menyediakan daftar emoji terbaru.recentEmojiProvider
bertanggung jawab menyediakan emoji dalam kategori “Baru Saja Digunakan”.
Versi 1.3
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
EmojiCompat
di 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
EmojiCompat
di 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.SpanFactory
untuk mengganti perilakuEmojiSpan
default dengan kode gambar dan ukuran kustom. (Ib69d9) - Menambahkan
EmojiCompat
ke Compose (I96f37, b/139326806)
Perbaikan Bug
- Emoji2 sekarang akan menggambar latar belakang dari
BackgroundSpan
dengan 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:
Emoji2
akan menambahkan emoji kePrecomputedText
dengan 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-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
PrecomputedText
dengan 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
getEmojiMatch
API 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
NumberKeyListener
yang 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-bundled
berisi font emoji 14getEmojiMatch
API 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
NumberKeyListener
yang 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-bundled
berisi font emoji 14getEmojiMatch
API 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
NumberKeyListener
yang membuat input digit memfilter karakter dengan benar
Perubahan API
- Menambahkan
getEmojiMatch
API 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
NumberKeyListener
yang diteruskan kesetKeyListener
, sehinggaTextView
dapat 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
Emoji2
tidak akan menggabungkan instanceNumberKeyListener
, sehingga lokalitas dapat dikonfigurasi olehTextView
.- Appcompat tidak akan menggabungkan instance
NumberKeyListener
yang diteruskan kesetKeyListener
, sehinggaTextView
dapat 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
setLoadingExecutor
keFontRequestEmojiCompatConfig
, yang menggantikan APIsetHandler
sebelumnya. API ini memungkinkan aplikasi untuk mengonfigurasiFontRequestEmojiCompatConfig
agar dapat menggunakan eksekutor latar belakang apa pun.Perubahan ini merupakan perubahan yang dapat menyebabkan gangguan dari
androidx.emoji:emoji
, sehinggasetHandler
akan dipertahankan sebagai API tanpa pengoperasian yang tidak digunakan lagi untuk membantu migrasi. (I6cd48)EmojiCompat menetapkan
EditorInfo.extras
dengan benar di Android 11- Widget kustom yang menggunakan IME yang tidak membuat EditText sebagai subclass dapat memanggil
EmojiCompat.updateEditorInfo
untuk 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
DefaultEmojiCompatConfig
untuk 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
null
diteruskan 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-process
dariandroidx.emoji2:emoji2
ditambahkan 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.onResume
pertama. Hal ini memungkinkan aktivitas melakukanApplication.onCreate
danActivity.onCreate
secara 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-helper
menjadiandroidx.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
EmojiCompatInitializer
menggunakanandroidx.startup
. - Menambahkan konfigurasi default baru yang menggunakan lokasi layanan untuk menemukan penyedia font yang dapat didownload di
DefaultEmojiCompatConfiguration
. - Class dipindahkan dari paket
androidx.emoji
keandroidx.emoji2
. - Memisahkan
EmojiTextView
dan 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-helper
kini dapat digunakan meskipunEmojiCompat
tidak diinisialisasi (sebelumnya pengecualian ditampilkan).
Dependensi apa yang harus Anda tambahkan?
- Aplikasi dengan AppCompat harus diupgrade ke versi appcompat AppCompat
1.4.0-alpha01
atau yang lebih baru. - Aplikasi tanpa AppCompat yang menggunakan
TextView
/EditText
dari platform harus menggunakanEmojiTextView
dan 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-helper
dan menggunakan helper untuk berintegrasi dengan subclassTextView
atauEditText
khusus.
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
.