Emoji2

Hiển thị biểu tượng cảm xúc trên các thiết bị hiện thời và thiết bị cũ.
Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành thử nghiệm Bản phát hành alpha
Ngày 20 tháng 4 năm 2022 1.1.0 - - 1.2.0-alpha04

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc trên Emoji2, bạn phải thêm kho lưu trữ Google Maven vào dự án. Hãy đọc Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm phần phụ thuộc cho cấu phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

Groovy

dependencies {
    def emoji2_version = "1.2.0-alpha04"

    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-alpha04"

    implementation("androidx.emoji2:emoji2:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version")
}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem nội dung Thêm phần phụ thuộc cho bản dựng.

Ý kiến phản hồi

Phản hồi của bạn giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện tại trong thư viện này trước khi bạn tạo một lỗi mới. Bạn có thể thêm lượt bình chọn vào một lỗi hiện tại bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Xem tài liệu về công cụ theo dõi lỗi để biết thêm thông tin.

Phiên bản 1.2

Phiên bản 1.2.0-alpha04

Ngày 20 tháng 4 năm 2022

Phát hành androidx.emoji2:emoji2-*:1.2.0-alpha04. Phiên bản 1.2.0-alpha04 bao gồm các thay đổi sau.

Tính năng mới

  • Không có thay đổi nào trong bản phát hành này.

Phiên bản 1.2.0-alpha03

Ngày 6 tháng 4 năm 2022

Phát hành androidx.emoji2:emoji2-*:1.2.0-alpha03. Phiên bản 1.2.0-alpha03 bao gồm các thay đổi sau.

Tính năng mới

  • Không có thay đổi nào từ phiên bản cuối cùng (bản phát hành này hỗ trợ bản phát hành appcompat).

Phiên bản 1.2.0-alpha02

Ngày 23 tháng 3 năm 2022

Phát hành androidx.emoji2:emoji2-*:1.2.0-alpha02. Phiên bản 1.2.0-alpha02 bao gồm các thay đổi sau.

Sửa lỗi

  • Biểu tượng cảm xúc 2 sẽ thêm biểu tượng cảm xúc vào PrecomputedText bằng cách loại bỏ bố cục văn bản đã tính toán trước. (I47d06, b/211231958)
  • Đã khắc phục sự cố trình chỉnh sửa phía sau từ Android P thành Chỉnh sửa văn bản được định cấu hình sử dụng biểu tượng cảm xúc 2. (Ifd709, b/216891011)
  • Khắc phục sự cố khi biểu tượng cảm xúc 2 tải phông chữ và TextView.setText(char[]) đã được sử dụng. (Id511e, b/206859724)

Phiên bản 1.2.0-alpha01

Ngày 23 tháng 2 năm 2022

Phát hành androidx.emoji2:emoji2-*:1.2.0-alpha01. Phiên bản 1.2.0-alpha01 bao gồm các thay đổi sau.

Không có thay đổi nào kể từ phiên bản 1.1.0.

1.1

Phiên bản 1.1.0

Ngày 23 tháng 2 năm 2022

Phát hành androidx.emoji2:emoji2-*:1.1.0. Phiên bản 1.1.0 bao gồm các thay đổi sau.

Những thay đổi quan trọng kể từ phiên bản 1.0.0

  • emoji2-bundled chứa phông chữ biểu tượng cảm xúc 14
  • API getEmojiMatch mới trả về thông tin chính xác cho bàn phím để quyết định cách biểu tượng cảm xúc hiển thị khi có phông chữ EmojiCompat phía sau phông chữ hệ thống
  • Bản sửa lỗi cho NumberKeyListener giúp việc nhập chữ số sẽ lọc chính xác các ký tự.

Phiên bản 1.1.0-rc01

Ngày 9 tháng 2 năm 2022

Phát hành androidx.emoji2:emoji2-*:1.1.0-rc01. Phiên bản 1.1.0-rc01 bao gồm các thay đổi sau.

Tính năng mới

Không có thay đổi nào so với bản thử nghiệm.

Các tính năng mới so với emoji2 1.0.0:

  • emoji2-bundled chứa phông chữ biểu tượng cảm xúc 14
  • API getEmojiMatch mới trả về thông tin chính xác cho bàn phím để quyết định cách biểu tượng cảm xúc hiển thị khi có phông chữ EmojiCompat phía sau phông chữ hệ thống
  • Bản sửa lỗi cho NumberKeyListener giúp việc nhập chữ số sẽ lọc chính xác các ký tự

Phiên bản 1.1.0-beta01

Ngày 26 tháng 1 năm 2022

Phát hành androidx.emoji2:emoji2-*:1.1.0-beta01. Phiên bản 1.1.0-beta01 bao gồm các thay đổi sau.

Sửa lỗi

  • Bản phát hành androidx-emoji2 beta01. Không có thay đổi nào so với phiên bản alpha01 (Ic61d9)

Phiên bản 1.1.0-alpha01

Ngày 15 tháng 12 năm 2021

Phát hành androidx.emoji2:emoji2-*:1.1.0-alpha01. Phiên bản 1.1.0-alpha01 chứa những cam kết này.

Tính năng mới

  • emoji2-bundled chứa phông chữ biểu tượng cảm xúc 14
  • API getEmojiMatch mới trả về thông tin chính xác cho bàn phím để quyết định cách biểu tượng cảm xúc hiển thị khi có phông chữ EmojiCompat phía sau phông chữ hệ thống
  • Bản sửa lỗi cho NumberKeyListener giúp việc nhập chữ số sẽ lọc chính xác các ký tự

Những thay đổi về API

  • Thêm getEmojiMatch API mới để cho phép bàn phím tra cứu hành vi của biểu tượng cảm xúc một cách chính xác hơn trong EmojiCompat.
  • Không dùng hasEmojiGlyph nữa vì giá trị boolean của thuộc tính này không chính xác khi thử nghiệm với phông chữ cũ hơn so với phông chữ của biểu tượng cảm xúc. Thay thế bằng getEmojiMatch. (Ie693d)

Sửa lỗi

  • Emoji2 sẽ không bao bọc các bản sao của NumberKeyListener, cho phép TextView định cấu hình ngôn ngữ.
  • Appcompat sẽ không bọc các bản sao của NumberKeyListener được truyền vào setKeyListener, cho phép TextView định cấu hình chính xác ngôn ngữ trên NumberKeyListeners. (Ibf113, b/207119921)

1.0

Phiên bản 1.0.1

Ngày 15 tháng 12 năm 2021

Phát hành androidx.emoji2:emoji2-*:1.0.1. Phiên bản 1.0.1 bao gồm các thay đổi sau.

Sửa lỗi

  • Emoji2 sẽ không bọc các bản sao của NumberKeyListener, cho phép TextView định cấu hình chính xác ngôn ngữ.
  • Appcompat sẽ không bọc các bản sao của NumberKeyListener được truyền vào setKeyListener, cho phép TextView định cấu hình chính xác ngôn ngữ trên NumberKeyListeners. (Ibf113, b/207119921)

Phiên bản 1.0.0

Ngày 17 tháng 11 năm 2021

Phát hành androidx.emoji2:emoji2-*:1.0.0. Phiên bản 1.0.0 chứa những cam kết này.

Các tính năng chính của phiên bản 1.0.0

androidx.emoji2 thay thế androidx.emoji với các tính năng bổ sung:

  • Giảm kích thước APK so với androidx.emoji
  • Định cấu hình tự động
  • Đã thêm dưới dạng phần phụ thuộc cho Appcompat 1.4

Để biết thêm thông tin về androidx.emoji2, hãy xem phần Hỗ trợ biểu tượng cảm xúc hiện đại và buổi trò chuyện trong Hội nghị Nhà phát triển Android về việc Hiển thị TẤT CẢ biểu tượng cảm xúc trong Android Dev cho ứng dụng.

Phiên bản 1.0.0-rc01

Ngày 27 tháng 10 năm 2021

androidx.emoji2:emoji2-*:1.0.0-rc01 đã phát hành. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.

  • Không có thay đổi nào kể từ phiên bản beta02.

Emoji2 Phiên bản 1.0.0-beta01

Ngày 15 tháng 9 năm 2021

Phát hành androidx.emoji2:emoji2-*:1.0.0-beta01. Phiên bản 1.0.0-beta01 chứa những cam kết này.

Những thay đổi về API

  • Đã thêm setLoadingExecutor vào FontRequestEmojiCompatConfig, thay thế API trước đó của setHandler. API này cho phép các ứng dụng định cấu hình FontRequestEmojiCompatConfig để sử dụng mọi trình thực thi trong nền.

    Thay đổi này là một thay đổi có thể gây lỗi từ androidx.emoji:emoji, do đó, setHandler sẽ được giữ lại dưới dạng một API không dùng nữa, không hoạt động để hỗ trợ quá trình di chuyển. (I6cd48)

  • EmojiCompat thiết lập chính xác EditorInfo.extras trên Android 11

    • Các tiện ích tuỳ chỉnh sử dụng IME không phân lớp con EditText có thể gọi EmojiCompat.updateEditorInfo để thông báo cho IME biết rằng các tiện ích đó hỗ trợ quá trình xử lý EmojiCompat. (I1ea9b)

Sửa lỗi

  • Sửa DefaultEmojiCompatConfig để tra cứu chính xác nhà cung cấp phông chữ biểu tượng cảm xúc trên API 19 và 28. Thao tác này sửa một lỗi xuất hiện trong emoji2 1.0.0-alpha01. (Ib33d8, b/197906329)

Phiên bản 1.0.0-alpha03

Ngày 30 tháng 6 năm 2021

Phát hành androidx.emoji2:emoji2-*:1.0.0-alpha03. Phiên bản 1.0.0-alpha03 chứa những cam kết này.

Tính năng mới

Bản phát hành này đã sửa nhiều lỗi và là bản phát hành ổn định.

  1. EmojiEditTextHelper hiện cho phép chuyển null dưới dạng KeyListener. Việc này cho phép hoạt động của nền tảng cho phép áp dụng giá trị rỗng cho các biểu tượng cảm xúc hỗ trợ việc triển khai EditText.
  2. Khi sử dụng EmojiCompatInitializer, độ trễ khởi động ban đầu sẽ được cải thiện để kích hoạt sau khi Hoạt động đầu tiên tiếp tục. Việc này cho phép quá trình khởi động ứng dụng diễn ra không thường xuyên và tránh tải phông chữ cho quá trình khởi động ứng dụng mà không bao giờ hiển thị giao diện người dùng. Sau một khoảng thời gian ngắn, EmojiCompat sẽ tạo một chuỗi để tải phông chữ biểu tượng cảm xúc.
  • Phần phụ thuộc mới trên androidx.lifecycle:lifecycle-process từ androidx.emoji2:emoji2 được thêm vào để triển khai độ trễ. Thay đổi này sẽ tác động không đáng kể đến kích thước APK cho các ứng dụng đã bao gồm vòng đời (chẳng hạn như các ứng dụng có Appcompat).

Những thay đổi về API

  • Cho phép null KeyListener trong AppCompatEditText. Thao tác này đảo ngược chú thích không rỗng đã được thêm vào AppCompatEditText trong phiên bản 1.4.0-alpha01 và khôi phục hành vi trước đó (được chuyển rỗng). (I21482, b/189559345)

Sửa lỗi

  • Thay đổi EmojiCompatInitializer để trì hoãn việc tải phông chữ cho đến 500 mili giây sau Activity.onResume đầu tiên. Cách này cho phép một hoạt động thực hiện Application.onCreateActivity.onCreate không cạnh tranh, trong khi vẫn đảm bảo rằng phông chữ biểu tượng cảm xúc được tải ngay sau khi khởi động ứng dụng. (I4bff7)

Phiên bản 1.0.0-alpha02

Ngày 2 tháng 6 năm 2021

Đã phát hành androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02androidx.emoji2:emoji2-views-helper:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.

Những thay đổi về API

  • Đổi tên gói trong emoji2-views-helper thành androidx.emoji2.viewsintegration. Đây là một thay đổi có thể gây lỗi cho AppCompat 1.4.0-alpha01 và các ứng dụng phải đảm bảo cập nhật phần phụ thuộc AppCompat để sử dụng phiên bản emoji2 mới. (Ie8397)

Phiên bản 1.0.0-alpha01

Ngày 18 tháng 5 năm 2021

Đã phát hành androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01androidx.emoji2:emoji2-views-helper:1.0.0-alpha01. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.

Các tính năng trong bản phát hành đầu tiên này

Bạn nên tích hợp EmojiCompat cho tất cả ứng dụng để hỗ trợ biểu tượng cảm xúc hiện đại trong API19. Tất cả nội dung do người dùng tạo trong ứng dụng của bạn đều chứa 🎉.

EmojiCompat đã chuyển từ cấu phần mềm androidx.emoji sang androidx.emoji2 mới, hiện đang ở giai đoạn alpha01. Các cấu phần mềm mới thay thế cho phiên bản trước.

emoji2 được thêm dưới dạng phần phụ thuộc cho AppCompat, bắt đầu từ AppCompat 1.4.0-alpha01 và được bật theo mặc định cho các chế độ xem AppCompat.

Cấu phần mềm emoji2 sử dụng thư viện androidx.startup để tạo cấu hình tự động mới. Bạn không cần phải viết bất kỳ mã 👨🏽‍💻 nào để hiển thị 🐻‍❄️ nữa.

Thay đổi của emoji2 so với emoji

  • Đã thêm chế độ cấu hình tự động mới EmojiCompatInitializer bằng androidx.startup.
  • Đã thêm chế độ cấu hình mặc định mới sử dụng vị trí dịch vụ để tìm nhà cung cấp phông chữ có thể tải xuống trong DefaultEmojiCompatConfiguration.
  • Đã di chuyển lớp từ gói androidx.emoji sang androidx.emoji2.
  • Tách EmojiTextView và các chế độ xem có liên quan thành một cấu phần mềm emoji2-views riêng. Bạn chỉ nên sử dụng cách này nếu ứng dụng của bạn không dùng Appcompat.
  • Các trình trợ giúp được trích xuất để tích hợp EmojiCompat vào chế độ xem tuỳ chỉnh vào một cấu phần mềm emoji2-views-helper riêng biệt.
  • Đã thêm chú thích về giá trị rỗng.
  • Giờ đây, bạn có thể sử dụng tính năng trợ giúp trong emoji2-views-helper ngay cả khi bạn chưa khởi chạy EmojiCompat (trước đây, hành động này gửi một trường hợp ngoại lệ).

Bạn nên thêm phần phụ thuộc nào?

  • Các ứng dụng có AppCompat nên nâng cấp lên phiên bản AppCompat 1.4.0-alpha01 trở lên.
  • Các ứng dụng không có AppCompat sử dụng TextView/EditText từ nền tảng sẽ sử dụng EmojiTextView và các lớp liên quan trong emoji2-views.

Cách hỗ trợ trong chế độ xem tuỳ chỉnh

  • Các ứng dụng có AppCompat nên mở rộng AppCompatTextView, AppCompatButton, v.v. thay vì nền tảng TextView, v.v.
  • Các ứng dụng không có AppCompat nên thêm phần phụ thuộc androidx.emoji2:emoji2-views-helper và sử dụng trình trợ giúp để tích hợp với các lớp con TextView hoặc EditText tuỳ chỉnh.

Định cấu hình khởi chạy tự động

  • Các ứng dụng có thể tắt tuỳ chọn khởi chạy tự động bằng cách thêm nội dung này vào tệp kê khai:

     <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>
    
  • Thao tác này sẽ tắt chế độ cấu hình tự động, sau đó bạn có thể chuyển cấu hình tuỳ chỉnh đến EmojiCompat.init. Bạn có thể truy xuất DefaultEmojiCompatConfig.create(context) cho cấu hình mặc định của hệ thống để định cấu hình thêm trước khi chuyển vào EmojiCompat.init.