表情符號挑選器是使用者介面解決方案,提供現代化外觀與風格並持續更新 表情符號,以及使用便利性使用者可以瀏覽並選取表情符號及其變化版本 或選擇孩子最近使用的表情符號。
有了這個程式庫,來自不同來源的應用程式就能為使用者提供包容且統一的表情符號體驗,開發人員也不必從頭開始建構及維護自己的表情符號挑選器。
功能
表情符號挑選器提供下列功能。
最新的表情符號
表情符號挑選器會選擇性加入新推出的表情符號。Emoji Picker 程式庫可與多個 Android 版本和裝置相容。
固定變化版本
長按表情符號,即可顯示變化版本選單,例如不同性別或膚色。您選擇的變化版本會儲存在表情符號挑選器中,而主面板會使用上次選取的變化版本。
有了這項功能,使用者只要輕觸一下,就能傳送所需的表情符號變化版本。

最近使用的表情符號

RecentEmojiProvider
負責提供「最近使用」類別中的表情符號。程式庫提供預設的近期表情符號提供者,可滿足最常見的用途:
- 系統會將所有選取的表情符號儲存在每個應用程式的共用偏好設定中。
- 挑選器會反向顯示選取的表情符號,最多三列以反向排序 依時間順序排列。
如果這個預設行為已足夠,您就不需要使用 setRecentEmojiProvider()
。
不過,您可能需要自訂供應商行為。以下是一些常見的 情境:
- 您想要為每個使用者帳戶儲存不同的表情符號。
- 您想使用共用偏好設定以外的資料儲存空間。
- 您想要依頻率排序最近使用的表情符號。
接著,您可以實作 RecentEmojiProvider
介面,並使用 setRecentEmojiProvider()
進行設定。
路線選取器
自 Emoji 15.1 起,表情符號挑選器就支援雙向表情符號。使用者可以輕觸雙向切換器來切換 。
圖 4. 雙向表情符號朝左。
圖 5. 雙向表情符號向右。
多人表情符號選取器
使用者可以按住情侶表情符號,查看多人物表情符號選項。
圖 6. 按住一組表情符號,即可顯示多個人表情符號選項。
圖 7. 選取左半部的表情符號人物。
圖 8. 選取右半部表情符號人物。
當使用者選取一對左或右半對表情符號的表情符號時, 選取器會在右下角顯示預覽畫面,如圖 7 和 8.使用者選取表情符號的前半部,使用者就能選取預覽畫面 撰寫自訂表情符號組合
與 EmojiCompat
的相容性
如果啟用此功能,表情符號挑選器會使用 EmojiCompat
例項,盡可能轉譯表情符號。不過,表情符號挑選器不需要 EmojiCompat
。
必要條件
應用程式必須指定 Android 5.0 (API 級別 21) 以上版本。
使用程式庫
在應用程式的
build.gradle
檔案中匯入androidx.emoji2:emojipicker:$version
。dependencies { implementation "androidx.emoji2:emojipicker:$version" }
加載表情符號挑選器檢視畫面,並視需要設定
emojiGridRows
和emojiGridColumns
。emojiGridColumns
的預設數量為 9。- 列數量會根據父項檢視畫面高度和
emojiGridColumns
的值計算而得。 - 請使用
emojiGridRows
的浮點值,指出使用者可以 捲動瀏覽更多表情符號。
<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)
使用
setOnEmojiPickedListener()
將所選表情符號附加至檢視畫面。舉例來說,如要附加至EditText
,請執行下列步驟:emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
您可以選擇設定
RecentEmojiProvider
,如需實作範例,請參閱範例應用程式。您可以視需要自訂樣式。建立自己的樣式來覆寫通用主題 屬性,並將樣式套用至
EmojiPickerView
。例如: 覆寫colorControlNormal
會變更類別圖示的顏色。<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" />
範例應用程式
表情符號挑選器範例應用程式示範基本用途與 下列其他情況:
- 重設
emojiGridRows
或emojiGridColumns
時,重新計算版面配置。 - 已覆寫近期的表情符號提供者,可以按照頻率排序。
- 其他樣式自訂。