Selektor emotikonów to rozwiązanie interfejsu, które zapewnia nowoczesny wygląd i styl, a także jest proste w obsłudze i ma aktualne emotikony. Użytkownicy mogą przeglądać i wybierać emotikony oraz ich warianty, a także wybierać spośród ostatnio używanych.
Dzięki tej bibliotece aplikacje z różnych źródeł mogą zapewnić użytkownikom integrację społeczną i ujednolicić obsługę emotikonów bez konieczności tworzenia i utrzymywania od podstaw własnego selektora emotikonów.
Funkcje
Aktualne emotikony
Nowo wydane emotikony są selektywnie uwzględniane w selektorze emotikonów. Biblioteka selektora emotikonów jest zgodna z wymaganiami dotyczącymi wielu wersji Androida i urządzeń z Androidem.
Wersje przyklejone
Przytrzymaj emotikon, aby wyświetlić menu wariantów, np. różnych płci lub odcieni skóry. Wybrana odmiana jest zapisywana w selektorze emotikonów, a ostatnia wybrana opcja jest używana w panelu głównym.
Dzięki tej funkcji użytkownicy mogą jednym kliknięciem wysyłać preferowane wersje emotikonów.
Najnowsze emotikony
Za udostępnianie emotikonów w kategorii Ostatnio używane odpowiada RecentEmojiProvider
. Biblioteka ma domyślnego dostawcę najnowszych emotikonów, który spełnia najczęstsze przypadki użycia:
- Wszystkie wybrane emotikony są zapisywane dla poszczególnych aplikacji w udostępnianych preferencjach.
- Selektor wyświetla maksymalnie 3 wiersze wybranych emotikonów, po usunięciu duplikatów, w odwrotnej kolejności chronologicznej.
Jeśli to domyślne działanie jest wystarczające, nie musisz używać setRecentEmojiProvider()
.
Konieczne może być jednak dostosowanie działania dostawcy. Oto kilka typowych scenariuszy:
- Chcesz przechowywać różne wybrane emotikony na każdym koncie użytkownika.
- Chcesz używać miejsca na dane inne niż współdzielone ustawienia.
- Chcesz wyświetlić ostatnie emotikony posortowane według częstotliwości.
Następnie możesz wdrożyć interfejs RecentEmojiProvider
i skonfigurować go za pomocą setRecentEmojiProvider()
.
Zgodność z usługą EmojiCompat
Jeśli ta opcja jest włączona, używane jest wystąpienie EmojiCompat
w selektorze emotikonów do renderowania jak największej liczby emotikonów. Selektor emotikonów nie wymaga jednak EmojiCompat
.
Wymagania wstępne
Aplikacja musi być kierowana na Androida 5.0 (poziom API 21) lub nowszego.
Korzystanie z biblioteki
Zaimportuj
androidx.emoji2:emojipicker:$version
do plikubuild.gradle
aplikacji.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Ulepsz widok Selektor emotikonów i opcjonalnie ustaw
emojiGridRows
orazemojiGridColumns
.- Domyślna liczba
emojiGridColumns
to 9. - Liczba wierszy jest obliczana na podstawie wysokości widoku nadrzędnego i wartości
emojiGridColumns
. - Używaj w polu
emojiGridRows
wartości zmiennoprzecinkowej, aby wskazać, że użytkownik może przewinąć 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)
- Domyślna liczba
Użyj operatora
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
RecentEmojiProvider
. Przykład implementacji znajdziesz w przykładowej aplikacji.Opcjonalnie dostosuj style. Utwórz własny styl, aby zastąpić typowe atrybuty motywu i zastosować go do elementu
EmojiPickerView
. Na przykład zastąpieniecolorControlNormal
zmieni 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 selektora emotikonów przedstawia podstawowe przypadki użycia oraz te dodatkowe scenariusze:
- Ponowne przeliczanie układu po zresetowaniu funkcji
emojiGridRows
lubemojiGridColumns
. - Zastąpiony ostatni dostawca emotikonów, który sortuje według częstotliwości.
- Dodatkowe dostosowanie stylu.