表情符號挑選器

表情符號挑選器是使用者介面解決方案,提供現代化外觀與風格並持續更新 新增表情符號,以及使用便利性使用者可以瀏覽及選取表情符號和其變化版本 或選擇孩子最近使用的表情符號

圖 1.表情符號挑選器
,瞭解如何調查及移除這項存取權。

有了這個程式庫,各種來源的應用程式就能提供 為使用者提供一致的表情符號體驗,不必另外建構應用程式 以及從頭開始設計自己的表情符號挑選器

功能

最新的表情符號

表情符號挑選器會選擇性加入新推出的表情符號。 表情符號挑選器與多種 Android 版本相容 裝置。

固定式變化版本

長按表情符號即可顯示變化版本選單,例如各種不同元素 或膚色你選擇的變化版本會儲存在表情符號挑選器中。 並在主要面板中使用最後一個選取的變化版本

透過這項功能,使用者可以傳送偏好的表情符號變化版本。 輕觸。

表情符號變化版本
圖 2.表情符號變化版本
,瞭解如何調查及移除這項存取權。

最近使用的表情符號

最近使用的表情符號
圖 3.最近使用的表情符號
,瞭解如何調查及移除這項存取權。

RecentEmojiProvider 負責在 「最近使用」類別。程式庫會使用預設的最近表情符號提供者 滿足最常見用途:

  • 所有選取的表情符號都會儲存在共用偏好設定中。
  • 挑選器最多會反向顯示所選表情符號,最多 3 列 (反向操作) 依時間順序排列。

如果預設行為已足夠,您就不需要使用 setRecentEmojiProvider()

不過,您可能需要自訂提供者行為。以下是一些 常見情境:

  • 您想為每個使用者帳戶儲存不同的表情符號。
  • 您想要使用共用偏好設定以外的資料儲存空間。
  • 您想要依頻率排序最近使用的表情符號。

接著,您可以實作 RecentEmojiProvider 介面,並使用 setRecentEmojiProvider()

EmojiCompat 的相容性

如果啟用,表情符號挑選器會使用 EmojiCompat 例項 顯示最多的表情符號表情符號挑選器不需要 但是 EmojiCompat

必要條件

您的應用程式必須指定 Android 5.0 (API 級別 21) 以上版本。

使用程式庫

  1. 在應用程式的 build.gradle 中匯入 androidx.emoji2:emojipicker:$version 檔案。

    dependencies {
        implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. 加載表情符號挑選器檢視畫面,並視需要設定 emojiGridRowsemojiGridColumns

    • 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)
    
  3. 使用 setOnEmojiPickedListener() 將所選表情符號附加至檢視區塊。 舉例來說,如要附加至 EditText,請執行下列步驟:

    emojiPickerView.setOnEmojiPickedListener {
        findViewById<EditText>(R.id.edit_text).append(it.emoji)
    }
    
  4. 選擇性設定 RecentEmojiProvider,請參閱範例應用程式查看範例 。

  5. 視需要自訂樣式。建立自己的樣式來覆寫通用主題 屬性,並將樣式套用至 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" />
    

範例應用程式

表情符號挑選器範例應用程式示範基本用途與 下列其他情況:

  • 重設 emojiGridRowsemojiGridColumns 時,版面配置重新計算。
  • 已覆寫近期的表情符號提供者,可以按照頻率排序。
  • 其他樣式自訂。