Selektor emotikonów to rozwiązanie UI, które zapewnia nowoczesny wygląd i funkcjonalność, aktualne emotikony oraz łatwość obsługi. Użytkownicy mogą przeglądać i wybierać emotikony oraz ich warianty lub wybrać ostatnio używany emotikon.
Dzięki tej bibliotece aplikacje z różnych źródeł mogą zapewniać użytkownikom przyjazne i zjednoczone emoji bez konieczności tworzenia i utrzymywania własnego selektora emoji od podstaw.
Funkcje
Selektor emotikonów ma te funkcje:
Aktualne emotikony
Nowo opublikowane emotikony są dodawane do selektora emotikonów w sposób selektywny. Biblioteka EmojiPicker jest zgodna z różnymi wersjami i urządzeniami z Androidem.
Warianty przyklejone
Przytrzymaj emotikon, aby wyświetlić menu z wariantami, np. z różnymi płciami lub odcieniami skóry. Wybrany wariant jest zapisywany w selektorze emotikonów, a w panelu głównym jest używany ostatni wybrany wariant.
Dzięki tej funkcji użytkownicy mogą wysyłać wybrane emotikony jednym kliknięciem.
Ostatnie emotikony
RecentEmojiProvider
jest odpowiedzialny za udostępnianie emotikonów w kategorii Ostatnio używane. Biblioteka ma domyślnego dostawcę emotikonów, który spełnia większość typowych przypadków użycia:
- Wszystkie wybrane emotikony są zapisywane w przypadku każdej aplikacji w ramach wspólnych preferencji.
- Selektor wyświetla maksymalnie 3 wiersze wybranych emotikonów, bez duplikatów, w odwrotnej kolejności chronologicznej.
Jeśli domyślne działanie jest wystarczające, nie musisz używać setRecentEmojiProvider()
.
Może jednak być konieczne dostosowanie działania dostawcy. Oto kilka typowych scenariuszy:
- Chcesz przechowywać różne emotikony na poszczególnych kontach użytkowników.
- Chcesz używać miejsca na dane innego niż udostępnione ustawienia.
- Chcesz wyświetlić ostatnio używane emotikony posortowane według częstotliwości użycia.
Następnie możesz zaimplementować interfejs RecentEmojiProvider
i skonfigurować go za pomocą setRecentEmojiProvider()
.
Selektor kierunku
Począwszy od Emoji 15.1 selektor emotikonów obsługuje emotikony dwukierunkowe. Użytkownicy mogą kliknąć przełącznik dwukierunkowy, aby przełączać się między wersjami emotikonów skierowanymi w lewo i w prawo.
Selektor emotikonów dla wielu osób
Użytkownicy mogą dotknąć i przytrzymać emotikony pary, aby wyświetlić emotikony z wieloma osobami.
Gdy użytkownik wybierze lewą lub prawą połowę emotikonu w parze emotikonów, selektor wyświetli podgląd w prawym dolnym rogu, jak pokazano na rysunkach 7 i 8. Po wybraniu obu połów emotikonów użytkownicy mogą wybrać podgląd, aby utworzyć niestandardową parę emotikonów.
Zgodność z EmojiCompat
Jeśli ta opcja jest włączona, w selektorze emotikonów jest używany element EmojiCompat
, aby renderować jak najwięcej emotikonów. Selektor emotikonów nie wymaga jednak EmojiCompat
.
Wymagania wstępne
Aplikacja musi być kierowana na Androida 5.0 (poziom interfejsu API 21) lub nowszego.
Korzystanie z biblioteki
Zaimportuj plik
androidx.emoji2:emojipicker:$version
do plikubuild.gradle
w aplikacji.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Rozwiń widok selektora emotikonów i opcjonalnie ustaw
emojiGridRows
iemojiGridColumns
.- Domyślna liczba elementów
emojiGridColumns
to 9. - Liczba wierszy jest obliczana na podstawie wysokości widoku nadrzędnego i wartości parametru
emojiGridColumns
. - Użyj wartości zmiennoprzecinkowej w polu
emojiGridRows
, aby wskazać, że użytkownik może przewinąć ekran w celu wyświetlenia kolejnych 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)
- Domyślna liczba elementów
Aby dodać wybrany emotikon do widoku, użyj
setOnEmojiPickedListener()
. Aby na przykład dołączyć doEditText
, wykonaj te czynności:emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Opcjonalnie ustaw
RecentEmojiProvider
. Przykładową implementację znajdziesz w przykładowej aplikacji.Opcjonalnie dostosuj style. Utwórz własny styl, aby zastąpić typowe atrybuty motywu, i zastosuj go do
EmojiPickerView
. Na przykład zastąpienie wartościcolorControlNormal
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 Emoji Picker demonstruje podstawowe przypadki użycia oraz te dodatkowe:
- ponowne obliczenie układu po zresetowaniu
emojiGridRows
lubemojiGridColumns
; - Zastąpiony ostatni dostawca emotikonów, który sortuje je według częstotliwości.
- dodatkowe dostosowywanie stylu;