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 và được cập nhật biểu tượng cảm xúc 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 cảm xúc hoặc chọn trong số các biểu tượng cảm xúc mà trẻ sử dụng gần đây.
Với thư viện này, các ứng dụng từ nhiều nguồn khác nhau có thể cung cấp một trải nghiệm biểu tượng cảm xúc hợp nhất cho người dùng mà không cần nhà phát triển phải tạo và duy trì bộ chọn biểu tượng cảm xúc của riêng họ từ đầu.
Tính năng
Biểu tượng cảm xúc mới nhất
Các biểu tượng cảm xúc mới phát hành được đưa vào Bộ chọn biểu tượng cảm xúc một cách có chọn lọc. Chiến lược phát hành đĩa đơn Thư viện Bộ chọn biểu tượng cảm xúc tương thích trên nhiều phiên bản Android và thiết bị.
Biến thể cố định
Nhấn và giữ một biểu tượng cảm xúc để hiển thị trình đơn gồm các biến thể, chẳng hạn như giới tính hoặc tông 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 bằng một biến thể nhấn.
![các biến thể của biểu tượng cảm xúc](https://developer.android.com/static/images/develop/ui/views/text-and-emoji/emoji-variants.png?authuser=19&hl=vi)
Biểu tượng cảm xúc gần đây
![biểu tượng cảm xúc gần đây](https://developer.android.com/static/images/develop/ui/views/text-and-emoji/recent-emoji.png?authuser=19&hl=vi)
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ó trình cung cấp biểu tượng cảm xúc mới đây 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 cho từng ứng dụng trong phần lựa chọn ưu tiên chung.
- Bộ chọn cho thấy tối đa 3 hàng biểu tượng cảm xúc đã chọn, được loại bỏ trùng lặp, đảo ngược trình tự thời gian.
Nếu hành vi mặc định này là đủ, thì bạn không cần phải sử dụng
setRecentEmojiProvider()
.
Tuy nhiên, có thể bạn cần phải tuỳ chỉnh hành vi của nhà cung cấp. Sau đây là một số các trường hợp phổ biến:
- Bạn muốn lưu trữ nhiều biểu tượng cảm xúc đã chọn cho mỗi tài khoản người dùng.
- Bạn muốn sử dụng bộ nhớ dữ liệu ngoài các lựa chọn ưu tiên dùng chung.
- Bạn muốn hiển thị các biểu tượng cảm xúc gần đây được sắp xếp theo tần suất.
Sau đó, bạn có thể triển khai và thiết lập giao diện RecentEmojiProvider
bằng
setRecentEmojiProvider()
Khả năng tương thích với EmojiCompat
Nếu bạn bật chính sách này, một thực thể EmojiCompat
sẽ được dùng trong Bộ chọn biểu tượng cảm xúc
để hiển thị nhiều biểu tượng cảm xúc nhất có thể. Bộ chọn biểu tượng cảm xúc không cần
Tuy nhiên, EmojiCompat
.
Điều kiện tiên quyết
Ứng dụng của bạn phải nhắm đến Android 5.0 (API cấp 21) trở lên.
Sử dụng thư viện
Nhập
androidx.emoji2:emojipicker:$version
trongbuild.gradle
của ứng dụng .dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Tăng cường khung hiển thị Bộ chọn biểu tượng cảm xúc, cũng như tuỳ ý đặt
emojiGridRows
vàemojiGridColumns
- Số lượng mặc định của
emojiGridColumns
là 9. - Số lượng hàng được tính dựa trên chiều cao của chế độ xem gốc và giá trị của
emojiGridColumns
. - Sử dụng giá trị số thực độ chính xác đơn cho
emojiGridRows
để cho biết rằng người dùng có thể hãy cuộn xuống để xem thêm biểu tượng cảm xúc.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />
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)
- Số lượng mặc định của
Sử dụng
setOnEmojiPickedListener()
để thêm các biểu tượng cảm xúc đã chọn vào thành phần hiển thị. Ví dụ: để thêm vàoEditText
, hãy làm như sau: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 để biết ví dụ trong quá trình triển khai.Tuỳ chọn tuỳ chỉnh kiểu. Tạo kiểu của riêng bạn để ghi đè 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" />
Ứng dụng mẫu
Ứng dụng mẫu Bộ chọn biểu tượng cảm xúc minh hoạ các trường hợp sử dụng cơ bản cùng với các trường hợp bổ sung sau:
- Tính toán lại bố cục khi đặt lại
emojiGridRows
hoặcemojiGridColumns
. - Một trình cung cấp biểu tượng cảm xúc gần đây bị ghi đè và sắp xếp theo tần suất.
- Tuỳ chỉnh kiểu bổ sung.