Selektor emotikonów to interfejs, który oferuje nowoczesny wygląd i aktualność emotikony i łatwość obsługi. Użytkownicy mogą przeglądać i wybierać emotikony oraz ich warianty lub wybrać jeden spośród ostatnio używanych.
Dzięki tej bibliotece aplikacje z różnych źródeł mogą promować integrację społeczną ujednolicić interfejs emotikonów, a deweloperzy nie muszą tworzyć i utrzymać własny selektor emotikonów od podstaw.
Funkcje
Aktualne emotikony
Niedawno opublikowane emotikony są dodawane do selektora emotikonów. Biblioteka selektora emotikonów jest zgodna z wieloma wersjami Androida urządzenia.
Wersje przyklejone
Przytrzymaj emotikon, aby wyświetlić menu wariantów, takie jak różne płeć lub odcień skóry. Wybrany wariant jest zapisywany w selektorze emotikonów, a ostatnio wybrany wariant jest widoczny w panelu głównym.
Dzięki tej funkcji użytkownicy mogą wysyłać preferowane wersje emotikonów z jednym kliknij.
![warianty emotikonów](https://developer.android.google.cn/static/images/develop/ui/views/text-and-emoji/emoji-variants.png?authuser=0000&hl=pl)
Najnowsze emotikony
![najnowsze emotikony](https://developer.android.google.cn/static/images/develop/ui/views/text-and-emoji/recent-emoji.png?authuser=0000&hl=pl)
RecentEmojiProvider
odpowiada za udostępnianie emotikonów w
Ostatnio używane. W bibliotece jest domyślnego dostawcę emotikonów
który jest satysfakcjonujący w najczęstszym przypadku użycia:
- Wszystkie wybrane emotikony są zapisywane w ustawieniach wspólnych dla poszczególnych aplikacji.
- Selektor wyświetla maksymalnie 3 wiersze wybranych emotikonów (z usuniętym duplikatem, w odwrotnej kolejności) w porządku chronologicznym.
Jeśli to domyślne działanie jest wystarczające, nie musisz używać
setRecentEmojiProvider()
Może być jednak konieczne dostosowanie działania dostawcy. Oto kilka typowe scenariusze:
- Chcesz przechowywać różne wybrane emotikony na poszczególnych kontach użytkowników.
- Chcesz używać pamięci masowej innych niż ustawienia wspólne.
- Chcesz wyświetlić ostatnie emotikony posortowane według częstotliwości.
Następnie możesz zaimplementować interfejs RecentEmojiProvider
i skonfigurować go za pomocą
setRecentEmojiProvider()
Zgodność z EmojiCompat
Jeśli ta opcja jest włączona, w selektorze emotikonów używane jest wystąpienie EmojiCompat
aby wygenerować jak najwięcej emotikonów. Selektor emotikonów nie wymaga
EmojiCompat
.
Wymagania wstępne
Aplikacja musi być kierowana na Androida 5.0 (poziom interfejsu API 21) lub nowszego.
Korzystanie z biblioteki
Importuj
androidx.emoji2:emojipicker:$version
do kontabuild.gradle
aplikacji .dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Rozszerz widok selektora emotikonów i opcjonalnie ustaw parametry
emojiGridRows
orazemojiGridColumns
- Wartość domyślna parametru
emojiGridColumns
to 9. - Liczba wierszy jest obliczana na podstawie wysokości widoku nadrzędnego i wartości
emojiGridColumns
- Użyj wartości zmiennoprzecinkowej dla atrybutu
emojiGridRows
, aby wskazać, że użytkownik może przewiń w dół, aby zobaczyć więcej emotikonów.
<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)
- Wartość domyślna parametru
Użyj
setOnEmojiPickedListener()
, aby dołączyć wybrane emotikony do widoku. Aby na przykład dołączyć do elementuEditText
, wykonaj te czynności:emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Opcjonalnie ustaw atrybut
RecentEmojiProvider
. Zobacz przykładową aplikację. implementacji.Opcjonalnie dostosuj style. Utwórz własny styl, aby zastąpić wspólny motyw i zastosuj styl do
EmojiPickerView
. Przykład: zastąpieniacolorControlNormal
zmienia kolor ikony kategorii.<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" />
Przykładowa aplikacja
Przykładowa aplikacja do wyboru emotikonów pokazuje podstawowe przypadki użycia oraz w tych dodatkowych sytuacjach:
- Ponowne obliczenie układu po zresetowaniu elementów
emojiGridRows
lubemojiGridColumns
. - Zastąpiony dostawca emotikonów, który sortuje według częstotliwości.
- Dodatkowe dostosowywanie stylu.