Emoji2
Lần cập nhật gần 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 beta | Bản phát hành alpha |
---|---|---|---|---|
Ngày 21 tháng 8 năm 2024 | 1.4.0 | 1.5.0-rc01 | - | - |
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. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.
Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle
cho ứng dụng hoặc mô-đun của mình:
Groovy
dependencies { def emoji2_version = "1.4.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.4.0" 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
Ý kiến phản hồi của bạn có thể 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 có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.
Hãy xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.
Emoji2 Emojipicker Phiên bản 1.0
Phiên bản 1.0.0-alpha03
Ngày 8 tháng 3 năm 2023
Phát hành androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03
. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.
Sửa lỗi
- Xoá tài nguyên không cần thiết và giảm kích thước thư viện khoảng 0,3M.
Phiên bản 1.0.0-alpha02
Ngày 22 tháng 2 năm 2023
Phát hành androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02
. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.
Các thay đổi về API
- Thêm API mới để các ứng dụng Java có thể cung cấp biểu tượng cảm xúc gần đây. (I39d10)
Sửa lỗi
- Cập nhật tài nguyên biểu tượng cảm xúc để hỗ trợ biểu tượng cảm xúc 15.0 (Ib4eb3)
- Khi chọn một biểu tượng cảm xúc từ cửa sổ bật lên, cập nhật tất cả các biểu tượng cảm xúc giống nhau thành biểu tượng cảm xúc mới chọn (ngoại trừ hàng biểu tượng cảm xúc gần đây). Đồng thời, thông báo biểu tượng cảm xúc khi nhấp vào biểu tượng. (I892c6)
- Chờ EmojiCompat tải trước khi hiển thị
EmojiPickerView
. (I29e03)
Phiên bản 1.0.0-alpha01
Ngày 25 tháng 1 năm 2023
Phát hành androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01
. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
- Ra mắt một bộ chọn biểu tượng cảm xúc mang lại trải nghiệm nhất quán cho người dùng với các biểu tượng cảm xúc mới nhất trên các thiết bị và ứng dụng của Nhà sản xuất thiết bị gốc (OEM) chạy hệ điều hành Android. Bên cạnh các biểu tượng cảm xúc mới nhất, bộ chọn biểu tượng cảm xúc này còn có những giao diện mới nhất cho bộ chọn, bao gồm cả các biến thể biểu tượng cảm xúc theo màu da và khả năng tương thích biểu tượng cảm xúc.
Các thay đổi về API
- Ra mắt lớp
EmojiPickerView
cung cấp các biểu tượng cảm xúc mới nhất trong chế độ xem có thể cuộn dọc, cùng với tiêu đề ngang có thể nhấp vào. - Bạn có thể thiết lập các cột của lưới bộ chọn biểu tượng cảm xúc bằng thuộc tính XML
emojiGridColumns
hoặc hàmsetEmojiGridColumns()
. - Bạn có thể thiết lập các hàng của lưới bộ chọn biểu tượng cảm xúc bằng thuộc tính XML
emojiGridRows
hoặc hàmsetEmojiGridRows()
. - Bạn có thể dùng
setOnEmojiPickedListener()
để thiết lập trình nghe khi người dùng chọn một biểu tượng cảm xúc. Trình nghe sẽ được thông báo khi người dùng nhấp vào một biểu tượng cảm xúc bất kỳ. - Bạn có thể dùng
setRecentEmojiProvider()
để cung cấp các biểu tượng cảm xúc mới đây qua trình cung cấp. Đây là một hàm không bắt buộc. Nếu bạn chưa thiết lập trình cung cấp biểu tượng cảm xúc mới nhất, thì thư viện sẽ sử dụng một trình cung cấp mặc định. Hành vi mặc định được xác định như sau: 1) tất cả biểu tượng cảm xúc đã chọn sẽ được lưu ở cấp độ từng ứng dụng trong lựa chọn ưu tiên dùng chung. 2) bộ chọn sẽ hiển thị tối đa là 3 hàng biểu tượng cảm xúc đã chọn, theo thứ tự từ mới nhất đến cũ nhất (các biểu tượng trùng lặp sẽ bị loại bỏ). - Ra mắt lớp
EmojiViewItem
chứa biểu tượng cảm xúc đã hiển thị và các biến thể của biểu tượng cảm xúc đó. - Ra mắt giao diện
RecentEmojiProvider
có thể dùng để cung cấp danh sách biểu tượng cảm xúc gần đây.recentEmojiProvider
chịu trách nhiệm cung cấp biểu tượng cảm xúc trong danh mục “Đã dùng gần đây”.
Phiên bản 1.5
Phiên bản 1.5.0-rc01
Ngày 21 tháng 8 năm 2024
Phát hành androidx.emoji2:emoji2-*:1.5.0-rc01
. Phiên bản 1.5.0-rc01 bao gồm các thay đổi sau.
Tính năng mới
- Hỗ trợ biểu tượng cảm xúc 15.1 và giao diện người dùng bộ chọn biểu tượng cảm xúc hai chiều. Chỉ cần một cú nhấp chuột vào trình chuyển đổi hai chiều là người dùng có thể chuyển đổi giữa các phiên bản biểu tượng cảm xúc sang trái và phải.
- Hỗ trợ bộ chọn biểu tượng cảm xúc nhiều giao diện. Khi nhấn và giữ biểu tượng cảm xúc cặp đôi, chúng tôi thấy một bộ chọn biểu tượng cảm xúc nhiều người cho trạng thái 0. Khi người dùng nhấn vào nửa bên trái của một biểu tượng cảm xúc, bản xem trước biểu tượng cảm xúc ở phía dưới cùng bên phải sẽ được cập nhật tương ứng. Khi người dùng chọn cả hai nửa của biểu tượng cảm xúc, bản xem trước sẽ hiển thị toàn bộ biểu tượng cảm xúc và người dùng có thể nhập biểu tượng đó.
Sửa lỗi
- Xoá nội dung chỉ định thủ công quyền truy cập vào các API nền tảng mới vì việc này tự động xảy ra thông qua tính năng lập mô hình API khi sử dụng R8 với AGP 7.3 trở lên (ví dụ: R8 phiên bản 3.3) và đối với tất cả các bản dựng khi sử dụng AGP 8.1 trở lên (ví dụ: D8 phiên bản 8.1). Những ứng dụng không sử dụng AGP nên cập nhật lên D8 phiên bản 8.1 trở lên. Xem bài viết này để biết thêm chi tiết. (If6b4c, b/345472586)
- Chỉ báo và lựa chọn thẻ của
EmojiPickerView
sẽ được cập nhật chậm hơn một lần nhấp. (146b02, b/288261054) - Lựa chọn thẻ và chỉ báo của
EmojiPickerView
bị lỗi. (5e1f14, b/273883688)
Phiên bản 1.5.0-beta01
Ngày 10 tháng 7 năm 2024
Phát hành androidx.emoji2:emoji2-*:1.5.0-beta01
. Phiên bản 1.5.0-beta01 bao gồm các thay đổi sau.
Tính năng mới
- Hỗ trợ biểu tượng cảm xúc 15.1 và giao diện người dùng lựa chọn biểu tượng cảm xúc hai chiều.
- Hỗ trợ thiết kế lại lựa chọn đa giao diện.
Sửa lỗi
- Chỉ báo và lựa chọn thẻ của
EmojiPickerView
sẽ được cập nhật chậm hơn một lần nhấp. (146b02, b/288261054) - Lựa chọn thẻ và chỉ báo của
EmojiPickerView
bị lỗi. (5e1f14, b/273883688)
Phiên bản 1.5.0-alpha01
Ngày 13 tháng 12 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.5.0-alpha01
. Phiên bản 1.5.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
emoji2-bundled
chứa phông chữ biểu tượng cảm xúc mới cập nhật để hỗ trợ Emoji 15.1.
Thay đổi về API
- Thêm bộ thực thi để kiểm soát luồng gọi lại cho
InitCallback
. (I32b67) BundledEmojiCompatConfig
hiện sẽ đưa một trình thực thi để kiểm soát việc tải các luồng. (I00e81)
Phiên bản 1.4
Phiên bản 1.4.0
Ngày 9 tháng 8 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.4.0
. Phiên bản 1.4.0 bao gồm các thay đổi sau.
Thay đổi quan trọng kể từ phiên bản 1.3.0
- Ra mắt thư viện bộ chọn biểu tượng cảm xúc. Xem tài liệu dành cho nhà phát triển để biết thêm chi tiết.
Phiên bản 1.4.0-rc01
Ngày 26 tháng 7 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.4.0-rc01
. Phiên bản 1.4.0-rc01 bao gồm các thay đổi sau.
Thay đổi về API
- Ra mắt danh sách
registerSource
(Iae92f) - Phản hồi của Hội đồng API: đã đổi tên
TransitionManager.seekTo()
thànhcreateSeekController()
. Vui lòng điều chỉnh nhận xét trước về việc thêmTransitionManager.seekTo()
vàoTransitionManager.createSeekController()
. (Idbeb1) - Thêm
ExerciseRouteResult
, không phải là lớp cấp cao củaData
,NoData
vàConsentRequiredStates
. ThêmExerciseRoute
dưới dạng một lớp độc lập, lớp này lưu giữ dữ liệu vị trí của tuyến đường. (I22eed) - Ra mắt
PagerLayoutInfo
với thông tin được thu thập sau lượt đo lường trong Trình chuyển trang. Cũng được giới thiệu PageInfo, thông tin về một Trang được đo lường trong Trình chuyển trang. (Iad003, b/283098900)
Sửa lỗi
- Chúng tôi đã cập nhật màu sắc cho
Button
,IconButton
vàTextButton
phù hợp với thiết kế Material3. Giờ đây, bạn có thể ghi đè vai trò ngữ nghĩa choButton
,IconButton
vàTextButton
bằngModifier.semantics
. (Ib2495) - Sửa lỗi cập nhật chỉ báo và chọn thẻ của
EmojiPickerView
sau một lượt nhấp. (I4db04) FileNotFoundException
khi hiện bộ chọn biểu tượng cảm xúc (I353e4)- Bắt
WindowManager.BadTokenException
khi sử dụngEmojiPickerView
(I0a144)
Phiên bản 1.4.0-beta05
Ngày 7 tháng 6 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.4.0-beta05
. Phiên bản 1.4.0-beta05 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục lỗi xuất hiện trong phiên bản 1.3 khiến các
MetricsAffectingSpans
(chẳng hạn nhưRelativeSizeSpan
) áp dụng 2 lần. Một lần trong bố cục văn bản và một lần nữa bên trongEmojiSpan.draw
. Kết quả bản vẽ có kích thước không chính xác, hiển thị nếu bất kỳ tham số kích thước văn bản nào bị span thay đổi. (b/283208650)
Phiên bản 1.4.0-beta04
Ngày 24 tháng 5 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.4.0-beta04
. Phiên bản 1.4.0-beta04 bao gồm các thay đổi sau.
Bản phát hành này sửa một lỗi kể từ phiên bản 1.0, trong đó các khung hiển thị có trình xử lý không phải trình xử lý chính sẽ gửi một ngoại lệ khi cố gắng cập nhật các khoảng biểu tượng cảm xúc sau khi tải phông chữ hoàn tất. Không có cách nào để giải quyết vấn đề. Nếu lỗi này ảnh hưởng đến bạn, vui lòng nâng cấp lên phiên bản này hoặc cao hơn.
Sửa lỗi
- Giờ đây, các lệnh gọi lại init
EmojiCompat
sẽ sử dụng trình xử lý từ mỗi khung hiển thị, tôn trọng các khung hiển thị không có trên luồng chính. (Iccbcf)
Phiên bản 1.4.0-beta03
Ngày 10 tháng 5 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.4.0-beta03
. Phiên bản 1.4.0-beta03 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục sự cố thành phần hiển thị cửa sổ bật lên lồng trong bộ chọn biểu tượng cảm xúc. (0acc8e)
- Gửi các ngoại lệ sớm trong
EmojiCompat getEmojiStart/getEmojiEnd
. (26177f)
Phiên bản 1.4.0-beta02
Ngày 19 tháng 4 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.4.0-beta02
. Phiên bản 1.4.0-beta02 bao gồm các thay đổi sau.
Sửa lỗi
- Cập nhật tệp cơ sở tìm lỗi mã nguồn (Iaa212)
Phiên bản 1.4.0-beta01
Ngày 5 tháng 4 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.4.0-beta01
. Phiên bản 1.4.0-beta01 bao gồm các thay đổi sau.
Tính năng mới
androidx.emoji2:emoji2-emojipicker
Bộ chọn biểu tượng cảm xúc là một giải pháp giao diện người dùng, mang đến giao diện hiện đại, biểu tượng cảm xúc mới nhất và dễ sử dụng. Người dùng có thể duyệt xem và chọn biểu tượng cảm xúc cũng như các biến thể của biểu tượng hoặc chọn trong số các biểu tượng cảm xúc mà họ sử dụng gần đây. Với thư viện này, các ứng dụng trên nhiều OEM (Nhà sản xuất thiết bị gốc) có thể mang đến cho người dùng trải nghiệm thống nhất và đa dạng về biểu tượng cảm xúc mà không cần nhà phát triển phải xây dựng và duy trì bộ chọn biểu tượng cảm xúc của riêng họ từ đầu.
Biểu tượng cảm xúc mới nhất
Các biểu tượng cảm xúc mới được phát hành mỗi năm và chúng tôi sẽ đưa vào Bộ chọn biểu tượng cảm xúc một cách có chọn lọc. Để đảm bảo khả năng tương thích ngược, chúng tôi thực hiện quy trình kiểm tra chính xác khả năng hiển thị biểu tượng cảm xúc trong nội bộ để loại bỏ đậu phụ. Điều này sẽ đảm bảo thư viện này tương thích trên nhiều phiên bản và thiết bị Android.
Biến thể cố định
Khi nhấn và giữ một biểu tượng cảm xúc, bạn sẽ thấy một trình đơn gồm nhiều biến thể, chẳng hạn như nhiều giới tính hoặc màu da. Biến thể mà bạn chọn sẽ được lưu trong bộ chọn biểu tượng cảm xúc và biến thể bạn chọn gần đây nhất sẽ được dùng trong bảng điều khiển chính. Với tính năng này, người dùng có thể gửi các biến thể biểu tượng cảm xúc mà họ muốn chỉ bằng một lần nhấn.
Biểu tượng cảm xúc gần đây
RecentEmojiProvider
chịu trách nhiệm cung cấp biểu tượng cảm xúc trong danh mục "Đã dùng gần đây". Thư viện này có một trình cung cấp biểu tượng cảm xúc mới nhất mặc định đáp ứng trường hợp sử dụng phổ biến nhất:
- Tất cả biểu tượng cảm xúc đã chọn sẽ được lưu ở cấp độ từng ứng dụng trong lựa chọn ưu tiên chung.
- Bộ chọn hiển thị tối đa 3 hàng biểu tượng cảm xúc đã chọn (đã loại bỏ trùng lặp) theo trình tự thời gian đảo ngược.
Nếu hành vi mặc định này là đủ, thì bạn không cần đặt phương thức setRecentEmojiProvider()
.
Sử dụng EmojiCompat
Nếu có một thực thể EmojiCompat
, thì ứng dụng sẽ được dùng trong bộ chọn biểu tượng cảm xúc để kết xuất nhiều biểu tượng cảm xúc nhất có thể. Nếu bạn tắt EmojiCompat
, bộ chọn biểu tượng cảm xúc vẫn sẽ hoạt động.
Cách sử dụng thư viện
Để sử dụng thư viện này, nhà phát triển ứng dụng nên
Nhập
androidx.emoji2:emojipicker:$version
trongbuild.gradle
.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Tăng cường chế độ xem bộ chọn biểu tượng cảm xúc và đặt
emojiGridRows
vàemojiGridColumns
(không bắt buộc) dựa trên kích thước mong muốn của từng ô biểu tượng cảm xúc- Bạn có thể không đặt các cột này, giá trị mặc định là 9
emojiGridColumns
, các hàng sẽ được tính toán dựa trên chiều cao của khung hiển thị gốc vàemojiGridColumns
- Bạn có thể đặt
emojiGridRows
làm số thực dấu phẩy động để cho biết có nhiều biểu tượng cảm xúc hơn nếu cuộn xuống trong XML
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />
- Bạn có thể không đặt các cột này, giá trị mặc định là 9
trong mã
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)
Giả sử bạn muốn thêm các biểu tượng cảm xúc đã chọn vào một EditText, hãy sử dụng
setOnEmojiPickedListener()
emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Bạn có thể đặt
RecentEmojiProvider
(không bắt buộc), hãy xem ứng dụng mẫu để tham khảo ví dụ về cách triển khai.Tuỳ chọn tuỳ chỉnh kiểu. Tạo kiểu của riêng bạn để ghi đè các thuộc tính giao diện chung và áp dụng kiểu cho
EmojiPickerView
. Ví dụ: việc ghi đècolorControlNormal
sẽ làm thay đổi màu biểu tượng danh mục.<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" />
Hãy xem ứng dụng mẫu để tham khảo ví dụ về cách triển khai.
Bạn có thể xem toàn bộ khu vực API tại đây.
Ứng dụng mẫu
Ứng dụng mẫu này minh hoạ các trường hợp sử dụng cơ bản cùng với những trường hợp bổ sung sau đây:
- Khung hiển thị đã bố cục lại vì
emojiGridRows
vàemojiGridColumns
đã được đặt lại. - Trình cung cấp biểu tượng cảm xúc gần đây sẽ bị ghi đè để sắp xếp theo tần suất.
- Tuỳ chỉnh kiểu.
Thay đổi về API
Thư viện Bộ chọn biểu tượng cảm xúc đã được cập nhật với các API mới sau đây:
- Lớp
EmojiPickerView
cung cấp các biểu tượng cảm xúc mới nhất trong chế độ xem có thể cuộn theo chiều dọc với một tiêu đề ngang có thể nhấp vào. - Có thể đặt số lượng cột và hàng trong lưới bộ chọn biểu tượng cảm xúc thông qua các thuộc tính XML
emojiGridColumns
vàemojiGridRows
hoặc phương thứcsetEmojiGridColumns()
vàsetEmojiGridRows()
. - Có thể thiết lập trình nghe biểu tượng cảm xúc đã chọn thông qua phương thức
setOnEmojiPickedListener()
. Người nghe sẽ được thông báo mỗi khi người dùng nhấp vào biểu tượng cảm xúc bất kỳ. - Khả năng cung cấp trình cung cấp biểu tượng cảm xúc gần đây thông qua phương thức
setRecentEmojiProvider()
. Đây là một hàm không bắt buộc. Nếu bạn không đặt trình cung cấp biểu tượng cảm xúc gần đây, thì thư viện sẽ sử dụng trình cung cấp biểu tượng cảm xúc gần đây mặc định. Hành vi mặc định được xác định như sau:- Tất cả biểu tượng cảm xúc đã chọn sẽ được lưu ở cấp độ mỗi ứng dụng trong lựa chọn ưu tiên chung.
- Bộ chọn sẽ hiển thị tối đa 3 hàng biểu tượng cảm xúc đã chọn (đã loại bỏ trùng lặp) theo trình tự thời gian ngược.
- Lớp
EmojiViewItem
chứa biểu tượng cảm xúc đã hiển thị và các biến thể biểu tượng cảm xúc tương ứng. - Giao diện
RecentEmojiProvider
, có thể được triển khai để cung cấp danh sách biểu tượng cảm xúc gần đây.recentEmojiProvider
chịu trách nhiệm cung cấp biểu tượng cảm xúc trong danh mục “Đã dùng gần đây”. - Giao diện
RecentEmojiAsyncProvider
, có thể được triển khai để cung cấp danh sách biểu tượng cảm xúc gần đây.RecentEmojiAsyncProvider
chịu trách nhiệm cung cấp biểu tượng cảm xúc trong danh mục “Đã dùng gần đây”. Giao diện này tương đương vớiRecentEmojiProvider
cho phép ứng dụng ghi đè phương thứcgetRecentEmojiListAsync()
để cung cấp biểu tượng cảm xúc gần đây. - Lớp
RecentEmojiProviderAdapter
, là trình chuyển đổi choRecentEmojiAsyncProvider
và triển khaiRecentEmojiProvider
.
Phiên bản 1.4.0-alpha01
Ngày 22 tháng 3 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.4.0-alpha01
. Phiên bản 1.4.0-alpha01 bao gồm các thay đổi sau.
Sửa lỗi
- Sửa lỗi kiểm thử, tắt quy trình kiểm thử flake và dọn dẹp.
Phiên bản 1.3
Phiên bản 1.3.0
Ngày 22 tháng 3 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.3.0
. Phiên bản 1.3.0 bao gồm các thay đổi sau.
Những thay đổi quan trọng kể từ phiên bản 1.2.0
- Bản phát hành này cho phép Compose Foundation
1.4.0
trở lên để cho phép tích hợp Emoji2. - API này cũng cho phép các tính năng thay thế
EmojiSpans
bằng mã vẽ tuỳ chỉnh, cũng như hỗ trợ các quy tắc loại trừ biểu tượng cảm xúc được xác định trên Android.
Phiên bản 1.3.0-rc01
Ngày 8 tháng 3 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.3.0-rc01
. Phiên bản 1.3.0-rc01 bao gồm các thay đổi sau.
Tính năng mới
- Phiên bản này nhằm hỗ trợ tính năng tích hợp Compose Emoji2.
Thay đổi về API
- Thay thế span cho mã vẽ tuỳ chỉnh.
- Truy vấn các trường hợp loại trừ của hệ thống.
Sửa lỗi
- Sửa lỗi các span (khoảng) nền không được áp dụng chính xác phía sau
EmojiSopans
.
Phiên bản 1.3.0-beta03
Ngày 23 tháng 2 năm 2023
Phát hành androidx.emoji2:emoji2-bundled:1.3.0-beta03
, androidx.emoji2:emoji2-views:1.3.0-beta03
và androidx.emoji2:emoji2-views-helper:1.3.0-beta03
.
Ngày 22 tháng 2 năm 2023
Phát hành androidx.emoji2:emoji2:1.3.0-beta03
. Phiên bản 1.3.0-beta03 bao gồm các thay đổi sau.
Tính năng mới
- Không có thay đổi nào. Bản phát hành này dùng để chuẩn bị cho quá trình tích hợp Compose.
Phiên bản 1.3.0-beta02
Ngày 8 tháng 2 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.3.0-beta02
. Phiên bản 1.3.0-beta02 bao gồm các thay đổi sau.
Tính năng mới
- Bản phát hành này là bản phát hành ổn định để hỗ trợ quá trình tích hợp Compose.
Phiên bản 1.3.0-beta01
Ngày 25 tháng 1 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.3.0-beta01
. Phiên bản 1.3.0-beta01 bao gồm các thay đổi sau.
Tính năng mới
- Truy vấn các trường hợp loại trừ của hệ thống.
- Thay thế các span (khoảng) dành cho mã vẽ tuỳ chỉnh.
- Sửa lỗi các span (khoảng) nền không được áp dụng chính xác phía sau
EmojiSopans
. - Bản phát hành này thêm các API cần thiết để hỗ trợ
EmojiCompat
trong Compose. Dự kiến Compose sẽ hỗ trợ khả năng tương thích với biểu tượng cảm xúc trong một bản phát hành ở tương lai gần.
Phiên bản 1.3.0-alpha01
Ngày 11 tháng 1 năm 2023
Phát hành androidx.emoji2:emoji2-*:1.3.0-alpha01
. Phiên bản 1.3.0-alpha01 bao gồm các thay đổi sau.
API mới dành cho hoạt động tương tác cấp thấp
- Truy vấn các trường hợp loại trừ của hệ thống
- Thay thế các span (khoảng) cho mã vẽ tuỳ chỉnh
- Sửa lỗi các span (khoảng) nền không được áp dụng chính xác phía sau
EmojiSopans
. - Bản phát hành này thêm các API cần thiết để hỗ trợ
EmojiCompat
trong Compose. Dự kiến Compose sẽ hỗ trợ khả năng tương thích với biểu tượng cảm xúc trong một bản phát hành ở tương lai gần.
Các thay đổi về API
- Thêm khả năng truy vấn các trường hợp loại trừ của hệ thống vào
TypefaceEmojiRasterizer
. (I5653e) - Thêm API mới
EmojiCompat.SpanFactory
để thay thế hành viEmojiSpan
mặc định bằng các đoạn mã tuỳ chỉnh kích thước và bản vẽ. (Ib69d9) - Thêm
EmojiCompat
vào Compose (I96f37, b/139326806)
Sửa lỗi
- Emoji2 giờ sẽ vẽ chính xác nền từ
BackgroundSpan
. (Ide6a8, b/230525134) - Hoàn thiện các API AppCompat cho phiên bản 1.5.0-beta01 (I2a43d, b/236866227)
Phiên bản 1.2
Phiên bản 1.2.0
Ngày 10 tháng 8 năm 2022
Phát hành androidx.emoji2:emoji2-*:1.2.0
. Phiên bản 1.2.0 bao gồm các thay đổi sau.
Thay đổi quan trọng kể từ phiên bản 1.1.0
Đây là bản phát hành sửa lỗi. Không có thêm tính năng hoặc API mới nào kể từ phiên bản 1.1.0.
Tuy nhiên, các ứng dụng sử dụng PrecomputedText
hoặc TextView.setText(char[])
nên ưu tiên phiên bản này.
Các lỗi sau đây đã được khắc phục:
Emoji2
sẽ thêm biểu tượng cảm xúc vàoPrecomputedText
bằng cách loại bỏ bố cục văn bản đã được tính toán trước. (I47d06, b/211231958)- Đưa bản sửa lỗi sự cố của Android P vào
EditText
, vốn được định cấu hình để sử dụng emoji2. (Ifd709, b/216891011) - Khắc phục sự cố khi emoji2 tải phông chữ và
TextView.setText(char[])
đã được sử dụng. (Id511e, b/206859724)
Phiên bản 1.2.0-rc01
Ngày 27 tháng 7 năm 2022
Phát hành androidx.emoji2:emoji2-*:1.2.0-rc01
. Phiên bản 1.2.0-rc01 bao gồm các thay đổi sau.
- Không có thay đổi nào kể từ phiên bản thử nghiệm gần đây nhất.
Phiên bản 1.2.0-beta01
Ngày 13 tháng 7 năm 2022
Phát hành androidx.emoji2:emoji2-*:1.2.0-beta01
. Phiên bản 1.2.0-beta01 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-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
- Emoji2 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 đã được tính toán trước. (I47d06, b/211231958) - Đưa bản sửa lỗi sự cố của Android P vào EditText, vốn được định cấu hình để sử dụng emoji2. (Ifd709, b/216891011)
- Khắc phục sự cố khi emoji2 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 bao gồm các thay đổi sau.
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ự
Các 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 phông chữ biểu tượng cảm xúc của nền tảng. Thay thế bằnggetEmojiMatch
. (Ie693d)
Sửa lỗi
- Emoji2 sẽ không gói các bản sao của
NumberKeyListener
, cho phépTextView
đị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àosetKeyListener
, cho phépTextView
định cấu hình chính xác ngôn ngữ trênNumberKeyListeners
. (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ủaNumberKeyListener
, cho phépTextView
đị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àosetKeyListener
, cho phépTextView
định cấu hình chính xác ngôn ngữ trênNumberKeyListeners
. (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 bao gồm các thay đổi sau.
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
Phát hành androidx.emoji2:emoji2-*:1.0.0-rc01
. 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 bao gồm các thay đổi sau.
Các thay đổi về API
Đã thêm
setLoadingExecutor
vàoFontRequestEmojiCompatConfig
, thay thế API trước đó củasetHandler
. API này cho phép các ứng dụng định cấu hìnhFontRequestEmojiCompatConfig
để 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)
- Các tiện ích tuỳ chỉnh sử dụng IME không phân lớp con EditText có thể gọi
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 bao gồm các thay đổi sau.
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.
- 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. - 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).
Các 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ệnApplication.onCreate
vàActivity.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-alpha02
và androidx.emoji2:emoji2-views-helper:1.0.0-alpha02
. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.
Các thay đổi về API
- Đổi tên gói trong
emoji2-views-helper
thànhandroidx.emoji2.viewsintegration
. Đây là một thay đổi có thể gây lỗi cho AppCompat1.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-alpha01
và androidx.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 phần mềm androidx.emoji
sang androidx.emoji2
mới, hiện ở giai đoạn alpha01. Các cấu phần 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 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ằngandroidx.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
sangandroidx.emoji2
. - Tách
EmojiTextView
và các chế độ xem có liên quan thành một cấu phần phần mềmemoji2-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 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ạyEmojiCompat
(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ụngEmojiTextView
và các lớp liên quan trongemoji2-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ảngTextView
, 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 conTextView
hoặcEditText
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ấtDefaultEmojiCompatConfig.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àoEmojiCompat.init
.