Emoji2

Menampilkan emoji di perangkat saat ini dan yang lebih lama.
Update Terbaru Rilis Stabil Saat Ini Kandidat Rilis Berikutnya Rilis Beta Rilis Alfa
30 Juni 2021 - - - 1.0.0-alpha03

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.0.0-beta01"

    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.0.0-beta01"

    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 punya masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara pada masalah yang ada dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

1.0.0

Versi 1.0.0-alpha03

30 Juni 2021

androidx.emoji2:emoji2-*:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit berikut ini.

Fitur Baru

Rilis ini adalah rilis perbaikan bug dan stabilisasi.

  1. EmojiEditTextHelper kini memungkinkan null diteruskan sebagai KeyListener. Hal ini memungkinkan perilaku platform yang mengizinkan null untuk diterapkan ke emoji yang mendukung implementasi EditText.
  2. 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 dari androidx.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 melakukan Application.onCreate dan Activity.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 berikut ini.

Perubahan API

  • Mengganti nama paket dalam emoji2-views-helper menjadi androidx.emoji2.viewsintegration. Ini adalah perubahan yang dapat menyebabkan gangguan pada AppCompat 1.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 berikut 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 menggunakan androidx.startup.
  • Menambahkan konfigurasi default baru yang menggunakan lokasi layanan untuk menemukan penyedia font yang dapat didownload di DefaultEmojiCompatConfiguration.
  • Class dipindahkan dari paket androidx.emoji ke androidx.emoji2.
  • Memisahkan EmojiTextView dan tampilan terkait ke artefak terpisah emoji2-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 meskipun EmojiCompat tidak diinisialisasi (sebelumnya pengecualian dilemparkan).

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 menggunakan EmojiTextView dan class terkait dari emoji2-views.

Cara mendukung dalam tampilan khusus

  • Aplikasi dengan AppCompat harus memperluas AppCompatTextView, AppCompatButton, dll., bukan platform TextView, dll.
  • Aplikasi tanpa AppCompat harus menambahkan dependensi androidx.emoji2:emoji2-views-helper dan menggunakan helper untuk berintegrasi dengan subclass TextView atau EditText 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 diambil DefaultEmojiCompatConfig.create(context) untuk konfigurasi lebih lanjut sebelum diteruskan ke EmojiCompat.init.