絵文字選択ツールは、モダンなデザイン、最新の絵文字、使いやすさを備えた UI ソリューションです。ユーザーは絵文字とそのバリエーションを参照して選択したり、最近使用した絵文字から選択したりできます。
このライブラリを使用すると、さまざまなソースのアプリが、独自の絵文字選択ツールをゼロから作成して維持しなくても、包括的で統一された絵文字エクスペリエンスをユーザーに提供できます。
機能
最新の絵文字
新しくリリースされた絵文字は、絵文字選択ツールに選択的に表示されます。絵文字選択ツール ライブラリは、複数の Android バージョンやデバイスに対応しています。
固定バリアント
絵文字を長押しすると、性別や肌の色などのバリエーションのメニューが表示されます。選択したバリアントは絵文字選択ツールに保存され、最後に選択されたバリアントがメインパネルで使用されます。
この機能により、ユーザーは好みの絵文字のバリエーションをワンタップで送信できます。
最近使用した絵文字
RecentEmojiProvider
は、[最近使用した] カテゴリの絵文字を提供します。このライブラリには、最も一般的なユースケースに対応する、デフォルトの最近の絵文字プロバイダがあります。
- 選択した絵文字はすべて、共有設定にアプリごとに保存されます。
- 選択ツールには、選択した絵文字が最大 3 行(重複除去済み)で、新しい順に表示されます。
このデフォルトの動作で十分な場合は、setRecentEmojiProvider()
を使用する必要はありません。
ただし、場合によってはプロバイダの動作をカスタマイズする必要があります。一般的なシナリオを次に示します。
- ユーザー アカウントごとに異なる選択した絵文字を保存する必要がある。
- 共有設定以外のデータ ストレージを使用する場合。
- 最近使用した絵文字を頻度順に表示する必要があります。
次に、RecentEmojiProvider
インターフェースを実装し、setRecentEmojiProvider()
を使用して設定します。
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
がリセットされたときのレイアウト再計算。- 頻度で並べ替えられた、オーバーライドされた最近の絵文字プロバイダです。
- スタイルの追加のカスタマイズ。