Emoji2
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja alfa |
|---|---|---|---|---|
| 10 września 2025 r. | 1.6.0 | - | - | - |
Deklarowanie zależności
Aby dodać zależność od Emoji2, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w artykule Repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:
Odlotowe
dependencies { def emoji2_version = "1.6.0" implementation "androidx.emoji2:emoji2:$emoji2_version" implementation "androidx.emoji2:emoji2-views:$emoji2_version" implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version" }
Kotlin
dependencies { val emoji2_version = "1.6.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Prześlij opinię
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz oddać głos na istniejący problem, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.6
Wersja 1.6.0
10 września 2025 r.
Publikacja androidx.emoji2:emoji2-*:1.6.0 Wersja 1.6.0 zawiera te zmiany.
Ważne zmiany od wersji 1.5.0:
- Obsługa emotikonów w wersji 16.0
- Dodaj do opisu emotikonów sufiks „emotikon”.
Poprawki błędów
- Przeniesienie domyślnego
minSdkz API 21 do API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
Wersja 1.6.0-rc01
13 sierpnia 2025 r.
Publikacja androidx.emoji2:emoji2-*:1.6.0-rc01 Wersja 1.6.0-rc01 zawiera te zmiany.
Nowe funkcje
- Obsługa emotikonów w wersji 16.0 i dodanie do opisu treści sufiksu „emoji”.
Zmiany w interfejsie API
- Usuwanie przestarzałych adnotacji
@RequiresApi(21)(Ic4792) - Usuwanie przestarzałych adnotacji
@RequiresApi(21)(I9103b)
Wersja 1.6.0-beta01
2 lipca 2025 r.
Publikacja androidx.emoji2:emoji2-*:1.6.0-beta01 Wersja 1.6.0-beta01 zawiera te zmiany.
Nowe funkcje
- Obsługa aktualizacji emotikonów 16.0
- Dodaj do opisu treści sufiks „emoji”, aby zapewnić spójne działanie ułatwień dostępu we wszystkich selektorach emotikonów.
Wersja 1.6.0-alpha01
4 czerwca 2025 r.
Publikacja androidx.emoji2:emoji2-*:1.6.0-alpha01 Wersja 1.6.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Aktualizacje danych dotyczące emotikonów w wersji 16.0 (Ifc878)
- Dodawanie do opisu treści sufiksu „emoji”
Poprawki błędów
- Ta biblioteka korzysta teraz z adnotacji o wartości null JSpecify, które są używane w typie. Deweloperzy Kotlin powinni używać tych argumentów kompilatora, aby wymusić prawidłowe użycie:
-Xjspecify-annotations=strict,-Xtype-enhancement-improvements-strict-mode(Id07e7, b/326456246)
Wersja 1.5
Wersja 1.5.0
4 września 2024 r.
Publikacja androidx.emoji2:emoji2-*:1.5.0 Wersja 1.5.0 zawiera te zmiany.
Ważne zmiany od wersji 1.4.0
- Obsługa emotikonów w wersji 15.1 i dwukierunkowego interfejsu selektora emotikonów. Proste kliknięcie przełącznika dwukierunkowego umożliwia użytkownikom przełączanie się między wersjami emotikonów skierowanymi w lewo i w prawo.
- obsługi selektora emotikonów z różnymi odcieniami skóry, Długie naciśnięcie emotikonów przedstawiających pary powoduje wyświetlenie selektora emotikonów z wieloma osobami w stanie zerowym. Gdy użytkownik kliknie lewą połowę emotikona, podgląd emotikona w prawym dolnym rogu zostanie odpowiednio zaktualizowany. Gdy użytkownik wybierze obie połówki emotikona, w prawym dolnym rogu pojawi się podgląd całego emotikona, który będzie można wstawić.
Wersja 1.5.0-rc01
21 sierpnia 2024 r.
Publikacja androidx.emoji2:emoji2-*:1.5.0-rc01 Wersja 1.5.0-rc01 zawiera te zmiany.
Nowe funkcje
- Obsługa emotikonów w wersji 15.1 i dwukierunkowego interfejsu selektora emotikonów. Proste kliknięcie przełącznika dwukierunkowego umożliwia użytkownikom przełączanie się między wersjami emoji skierowanymi w lewo i w prawo.
- obsługi selektora emotikonów z różnymi odcieniami skóry, Długie naciśnięcie emotikonów przedstawiających pary powoduje wyświetlenie selektora emotikonów z wieloma osobami w stanie zerowym. Gdy użytkownik kliknie lewą połowę emotikona, podgląd emotikona w prawym dolnym rogu zostanie odpowiednio zaktualizowany. Gdy użytkownik wybierze obie połówki emotikona, w podglądzie pojawi się cały emotikon, który będzie można wstawić.
Poprawki błędów
- Usunięto ręczne określanie dostępu do nowych interfejsów API platformy, ponieważ odbywa się to automatycznie za pomocą modelowania interfejsów API podczas korzystania z R8 z AGP 7.3 lub nowszą (np. R8 w wersji 3.3) oraz w przypadku wszystkich kompilacji podczas korzystania z AGP 8.1 lub nowszej (np. D8 w wersji 8.1). Klientom, którzy nie korzystają z AGP, zalecamy przejście na D8 w wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (If6b4c, b/345472586)
EmojiPickerView– wybór karty i wskaźnik aktualizują się z opóźnieniem o 1 kliknięcie. (146b02, b/288261054)- Wybór karty i wskaźnik
EmojiPickerViewnie działają. (5e1f14, b/273883688)
Wersja 1.5.0-beta01
10 lipca 2024 r.
Publikacja androidx.emoji2:emoji2-*:1.5.0-beta01 Wersja 1.5.0-beta01 zawiera te zmiany.
Nowe funkcje
- Obsługa emotikonów w wersji 15.1 i dwukierunkowego interfejsu wyboru emotikonów.
- Przeprojektowanie obsługi wyboru wielu odcieni skóry.
Poprawki błędów
EmojiPickerView– wybór karty i wskaźnik aktualizują się z opóźnieniem o 1 kliknięcie. (146b02, b/288261054)- Wybór karty i wskaźnik
EmojiPickerViewnie działają. (5e1f14, b/273883688)
Wersja 1.5.0-alpha01
13 grudnia 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.5.0-alpha01 Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
emoji2-bundledzawiera zaktualizowaną czcionkę emotikonów, która obsługuje Emoji 15.1.
Zmiany w interfejsie API
- Dodaj wykonawców, aby kontrolować wątek wywołania zwrotnego dla
InitCallback. (I32b67) BundledEmojiCompatConfigkorzysta teraz z wykonawcy do sterowania wątkami wczytywania. (I00e81)
Wersja 1.4
Wersja 1.4.0
9 sierpnia 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.4.0 Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.3.0
- Wprowadziliśmy bibliotekę selektora emotikonów. Więcej informacji znajdziesz w dokumentacji dla programistów.
Wersja 1.4.0-rc01
26 lipca 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.4.0-rc01 Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wprowadzenie listy
registerSource(Iae92f) - Opinia Rady ds. API: zmieniliśmy nazwę interfejsu
TransitionManager.seekTo()nacreateSeekController(). Zmień poprzedni komentarz dotyczący dodaniaTransitionManager.seekTo()naTransitionManager.createSeekController(). (Idbeb1) - Dodano element
ExerciseRouteResult, który nie jest klasą nadrzędną elementówData,NoDataiConsentRequiredStates. DodanoExerciseRoutejako samodzielną klasę, która zawiera dane o lokalizacji na trasie. (I22eed) - Wprowadzono
PagerLayoutInfoz informacjami zebranymi po przejściu pomiaru w aplikacji Pager. Wprowadziliśmy też PageInfo, czyli informacje o pojedynczej zmierzonej stronie w Pagerze. (Iad003, b/283098900)
Poprawki błędów
- Zaktualizowaliśmy kolory
Button,IconButtoniTextButtonzgodnie z zasadami projektowania Material 3. Rolę semantyczną elementówButton,IconButtoniTextButtonmożna teraz zastąpić za pomocą parametruModifier.semantics. (Ib2495) - Naprawiono problem z wyborem karty i aktualizacją wskaźnika
EmojiPickerView, które były opóźnione o 1 kliknięcie. (I4db04) FileNotFoundException– wyświetlanie selektora emotikonów (I353e4)- Złap
WindowManager.BadTokenExceptionpodczas korzystania zEmojiPickerView(I0a144)
Wersja 1.4.0-beta05
7 czerwca 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.4.0-beta05 Wersja 1.4.0-beta05 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd wprowadzony w wersji 1.3, który powodował dwukrotne zastosowanie
MetricsAffectingSpans, np.RelativeSizeSpan. raz podczas układania tekstu i ponownie w elemencieEmojiSpan.draw. Wynik był nieprawidłowo narysowany, co było widoczne, jeśli którykolwiek z parametrów rozmiaru tekstu został zmieniony przez zakres. (b/283208650)
Wersja 1.4.0-beta04
24 maja 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.4.0-beta04 Wersja 1.4.0-beta04 zawiera te zatwierdzenia.
Ta wersja rozwiązuje błąd występujący od wersji 1.0, który powodował, że widoki z obsługą inną niż główna zgłaszały wyjątek podczas próby zaktualizowania zakresów emoji po zakończeniu ładowania czcionki. Nie ma obejścia tego problemu. Jeśli dotyczy Cię ten błąd, zaktualizuj aplikację do tej lub nowszej wersji.
Poprawki błędów
- Wywołania zwrotne inicjowania
EmojiCompatbędą teraz korzystać z procedury obsługi z każdego widoku, z uwzględnieniem widoków, które nie znajdują się w głównym wątku. (Iccbcf)
Wersja 1.4.0-beta03
10 maja 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.4.0-beta03 Wersja 1.4.0-beta03 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono awarię zagnieżdżonego widoku wyskakującego okienka selektora emotikonów. (0acc8e)
- Wcześniej zgłaszaj wyjątki w
EmojiCompat getEmojiStart/getEmojiEnd. (26177f)
Wersja 1.4.0-beta02
19 kwietnia 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.4.0-beta02 Wersja 1.4.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Aktualizacja plików bazowych lint (Iaa212)
Wersja 1.4.0-beta01
5 kwietnia 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.4.0-beta01 Wersja 1.4.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
androidx.emoji2:emoji2-emojipicker
Selektor emotikonów to rozwiązanie interfejsu, które zapewnia nowoczesny wygląd, aktualne emotikony i łatwość obsługi. Użytkownicy mogą przeglądać i wybierać emotikony oraz ich warianty lub wybierać spośród ostatnio używanych emotikonów. Dzięki tej bibliotece aplikacje różnych producentów OEM mogą zapewniać użytkownikom spójne i jednolite wrażenia związane z emotikonami bez konieczności tworzenia i utrzymywania przez deweloperów własnego selektora emotikonów od podstaw.
Aktualne emotikony
Nowe emotikony są publikowane co roku i będziemy je selektywnie dodawać do selektora emotikonów. Aby zapewnić zgodność wsteczną, przeprowadzamy wewnętrznie dokładne sprawdzanie renderowania emoji, aby wyeliminować tofu. Dzięki temu biblioteka będzie zgodna z wieloma wersjami Androida i urządzeniami.
Warianty przyklejone
Jeśli przytrzymasz emotikon, wyświetli się menu z jego wariantami, np. różnymi płciami lub odcieniami skóry. Wybrany wariant zostanie zapisany w selektorze emotikonów, a ostatnio wybrany wariant będzie używany w panelu głównym. Dzięki tej funkcji użytkownicy mogą wysyłać preferowane warianty emoji jednym kliknięciem.
Ostatnio używane emotikony
RecentEmojiProvider odpowiada za udostępnianie emotikonów w kategorii „Ostatnio używane”. Biblioteka ma domyślnego dostawcę ostatnio używanych emoji, który spełnia wymagania najczęstszego przypadku użycia:
- Wszystkie wybrane emoji są zapisywane na poziomie poszczególnych aplikacji w ustawieniach udostępnionych.
- Selektor wyświetla maksymalnie 3 wiersze wybranych emotikonów w odwrotnej kolejności chronologicznej.
Jeśli to domyślne działanie jest wystarczające, nie musisz ustawiać metody setRecentEmojiProvider().
Korzystanie z biblioteki EmojiCompat
Jeśli aplikacja ma instancję EmojiCompat, będzie ona używana w selektorze emotikonów do renderowania jak największej liczby emotikonów. Jeśli EmojiCompat jest wyłączony, selektor emotikonów nadal będzie działać prawidłowo.
Jak korzystać z biblioteki
Aby korzystać z biblioteki, deweloper aplikacji powinien:
Zaimportuj
androidx.emoji2:emojipicker:$versionwbuild.gradle.dependencies { implementation "androidx.emoji2:emojipicker:$version" }Rozwiń widok selektora emotikonów i opcjonalnie ustaw wartości
emojiGridRowsiemojiGridColumnsna podstawie żądanego rozmiaru każdej komórki emotikonu.- Możesz pozostawić te wartości nieustawione. Domyślnie jest to 9
emojiGridColumns, a liczba wierszy zostanie obliczona na podstawie wysokości widoku rodzica iemojiGridColumns. - Możesz ustawić wartość
emojiGridRowsjako liczbę zmiennoprzecinkową, aby wskazać, że po przewinięciu w dół pojawi się więcej emoji.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />- Możesz pozostawić te wartości nieustawione. Domyślnie jest to 9
w kodzie,
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)
Jeśli chcesz dodać wybrane emotikony do pola EditText, użyj
setOnEmojiPickedListener()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ąpieniecolorControlNormalspowoduje zmianę koloru 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ład implementacji znajdziesz w przykładowej aplikacji.
Pełną listę interfejsów API znajdziesz tutaj.
Przykładowa aplikacja
Ta przykładowa aplikacja pokazuje podstawowe przypadki użycia oraz te dodatkowe scenariusze:
- Widok został ponownie rozmieszczony, ponieważ
emojiGridRowsiemojiGridColumnszostały zresetowane. - Ostatnio używane emotikony są zastępowane sortowaniem według częstotliwości.
- Dostosowywanie stylu.
Zmiany w interfejsie API
Biblioteka selektora emoji została zaktualizowana o te nowe interfejsy API:
- Klasa
EmojiPickerView, która zapewnia aktualne emotikony w widoku z możliwością przewijania w pionie i klikalnym nagłówkiem poziomym. - Możliwość ustawienia liczby kolumn i wierszy w siatce selektora emotikonów za pomocą atrybutów XML
emojiGridColumnsiemojiGridRowslub metodsetEmojiGridColumns()isetEmojiGridRows(). - Możliwość ustawienia odbiorcy wybranego emotikona za pomocą metody
setOnEmojiPickedListener(). Słuchacz otrzyma powiadomienie, gdy użytkownik kliknie dowolną emotikonę. - Możliwość udostępniania ostatnio używanych emotikonów za pomocą metody
setRecentEmojiProvider(). Ta funkcja jest opcjonalna. Jeśli dostawca ostatnio używanych emoji nie jest ustawiony, biblioteka użyje domyślnego dostawcy ostatnio używanych emoji. Domyślne działanie jest zdefiniowane w ten sposób:- Wszystkie wybrane emoji zostaną zapisane na poziomie poszczególnych aplikacji w ustawieniach udostępnionych.
- Selektor wyświetli maksymalnie 3 wiersze wybranych emotikonów w odwrotnej kolejności chronologicznej. Duplikaty zostaną usunięte.
- Klasa
EmojiViewItem, która zawiera wyświetlany emotikon i jego warianty. - Interfejs
RecentEmojiProvider, który można wdrożyć, aby udostępnić listę ostatnio używanych emoji.recentEmojiProviderodpowiada za udostępnianie emotikonów w kategorii „Ostatnio używane”. - Interfejs
RecentEmojiAsyncProvider, który można wdrożyć, aby udostępnić listę ostatnio używanych emoji.RecentEmojiAsyncProviderodpowiada za udostępnianie emotikonów w kategorii „Ostatnio używane”. Ten interfejs jest odpowiednikiem interfejsuRecentEmojiProvider, który umożliwia klientom zastąpienie metodygetRecentEmojiListAsync(), aby udostępniać ostatnio używane emoji. - Klasa
RecentEmojiProviderAdapter, która jest adapterem dlaRecentEmojiAsyncProvideri implementujeRecentEmojiProvider.
Wersja 1.4.0-alpha01
22 marca 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.4.0-alpha01 Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawianie testów, wyłączanie testów niestabilnych i czyszczenie.
Wersja 1.3
Wersja 1.3.0
22 marca 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.3.0 Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.2.0
- Ta wersja umożliwia włączenie integracji emoji2 w Compose Foundation
1.4.0i nowszych. - Umożliwia też zastępowanie znaku
EmojiSpansniestandardowym kodem rysowania, a także obsługuje wykluczenia emoji zdefiniowane na Androidzie.
Wersja 1.3.0-rc01
8 marca 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.3.0-rc01 Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Nowe funkcje
- Ta wersja obsługuje integrację tworzenia emoji2.
Zmiany w interfejsie API
- Zastąp zakresy niestandardowym kodem rysowania.
- Wykonywanie zapytań dotyczących wykluczeń systemowych.
Poprawki błędów
- Rozwiązaliśmy też błąd polegający na tym, że zakresy tła nie były prawidłowo stosowane za znakiem
EmojiSopans.
Wersja 1.3.0-beta03
23 lutego 2023 roku
androidx.emoji2:emoji2-bundled:1.3.0-beta03, androidx.emoji2:emoji2-views:1.3.0-beta03 i androidx.emoji2:emoji2-views-helper:1.3.0-beta03 są zwalniane.
22 lutego 2023 roku
Publikacja androidx.emoji2:emoji2:1.3.0-beta03 Wersja 1.3.0-beta03 zawiera te zatwierdzenia.
Nowe funkcje
- Bez zmian. Ta wersja ma na celu przygotowanie integracji z funkcją pisania.
Wersja 1.3.0-beta02
8 lutego 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.3.0-beta02 Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Nowe funkcje
- Ta wersja stabilizuje działanie, aby umożliwić integrację z kompozycją.
Wersja 1.3.0-beta01
25 stycznia 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.3.0-beta01 Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Wykonywanie zapytań dotyczących wykluczeń systemowych.
- Zastępowanie zakresów kodem rysowania niestandardowego.
- Rozwiązaliśmy też błąd polegający na tym, że zakresy tła nie były prawidłowo stosowane za znakiem
EmojiSopans. - Ta wersja dodaje interfejsy API niezbędne do obsługi
EmojiCompatw Compose. Obsługa tworzenia emotikonów w trybie zgodności zostanie dodana w jednej z najbliższych wersji.
Wersja 1.3.0-alpha01
11 stycznia 2023 r.
Publikacja androidx.emoji2:emoji2-*:1.3.0-alpha01 Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Nowe interfejsy API do interakcji niskiego poziomu
- Wykluczenia zapytań systemowych
- Zastępowanie zakresów w przypadku niestandardowego kodu rysowania
- Rozwiązaliśmy też błąd polegający na tym, że zakresy tła nie były prawidłowo stosowane za znakiem
EmojiSopans. - Ta wersja dodaje interfejsy API niezbędne do obsługi
EmojiCompatw Compose. W najbliższej wersji wprowadzimy obsługę tworzenia emotikonów w trybie zgodności.
Zmiany w interfejsie API
- Dodaliśmy możliwość wysyłania zapytań o wykluczenia systemowe do
TypefaceEmojiRasterizer. (I5653e) - Dodaliśmy nowy interfejs API
EmojiCompat.SpanFactory, który umożliwia zastąpienie domyślnego działaniaEmojiSpanniestandardowym kodem rysowania i określania rozmiaru. (Ib69d9) - Dodano
EmojiCompatdo funkcji pisania (I96f37, b/139326806)
Poprawki błędów
- Emoji2 będzie teraz prawidłowo rysować tła z
BackgroundSpan. (Ide6a8, b/230525134) - Finalizacja interfejsów API AppCompat w wersji 1.5.0-beta01 (I2a43d, b/236866227)
Wersja 1.2
Wersja 1.2.0
10 sierpnia 2022 r.
Publikacja androidx.emoji2:emoji2-*:1.2.0 Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
Jest to wersja poprawiająca błędy. Od wersji 1.1.0 nie dodano żadnych nowych funkcji ani interfejsów API.
Aplikacje korzystające z wersji PrecomputedText lub TextView.setText(char[]) powinny jednak w pierwszej kolejności przejść na tę wersję.
Naprawiono te błędy:
Emoji2doda emotikony doPrecomputedText, odrzucając wcześniej obliczony układ tekstu. (I47d06, b/211231958)- Przeniesienie poprawki błędu powodującego awarię edytora z Androida P do wersji
EditTextskonfigurowanej do korzystania z emoji2. (Ifd709, b/216891011) - Rozwiązanie problemu z awarią, która występowała, gdy emoji2 wczytywał czcionkę i użyto wartości
TextView.setText(char[]). (Id511e, b/206859724)
Wersja 1.2.0-rc01
27 lipca 2022 roku
Publikacja androidx.emoji2:emoji2-*:1.2.0-rc01 Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
- Brak zmian od ostatniej wersji beta.
Wersja 1.2.0-beta01
13 lipca 2022 r.
Publikacja androidx.emoji2:emoji2-*:1.2.0-beta01 Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Brak zmian w porównaniu z ostatnią wersją (ta wersja jest przeznaczona do obsługi wersji AppCompat).
Wersja 1.2.0-alpha04
20 kwietnia 2022 r.
Publikacja androidx.emoji2:emoji2-*:1.2.0-alpha04 Wersja 1.2.0-alpha04 zawiera te zmiany.
Nowe funkcje
- W tej wersji nie wprowadzono żadnych zmian.
Wersja 1.2.0-alpha03
6 kwietnia 2022 roku
Publikacja androidx.emoji2:emoji2-*:1.2.0-alpha03 Wersja 1.2.0-alpha03 zawiera te zmiany.
Nowe funkcje
- Brak zmian w porównaniu z ostatnią wersją (ta wersja jest przeznaczona do obsługi wersji biblioteki appcompat).
Wersja 1.2.0-alpha02
23 marca 2022 r.
Publikacja androidx.emoji2:emoji2-*:1.2.0-alpha02 Wersja 1.2.0-alpha02 zawiera te zmiany.
Poprawki błędów
- Emoji2 doda emotikony do
PrecomputedText, odrzucając wcześniej obliczony układ tekstu. (I47d06, b/211231958) - Przeniesienie poprawki błędu edytora z Androida P do elementu EditText skonfigurowanego do korzystania z emoji2. (Ifd709, b/216891011)
- Rozwiązanie problemu z awarią, która występowała, gdy emoji2 wczytywał czcionkę i użyto znaku
TextView.setText(char[]). (Id511e, b/206859724)
Wersja 1.2.0-alpha01
23 lutego 2022 r.
Publikacja androidx.emoji2:emoji2-*:1.2.0-alpha01 Wersja 1.2.0-alpha01 zawiera te zmiany.
Brak zmian od wersji 1.1.0.
1.1
Wersja 1.1.0
23 lutego 2022 r.
Publikacja androidx.emoji2:emoji2-*:1.1.0 Wersja 1.1.0 zawiera te zmiany.
Ważne zmiany od wersji 1.0.0
- emoji2-bundled zawiera czcionkę emoji 14
- Nowy interfejs
getEmojiMatchAPI zwraca dokładne informacje, dzięki którym klawiatury mogą określać, jak emotikon będzie wyświetlany w obecności czcionki zgodnej z emotikonami, która jest za czcionką systemową. - Poprawka błędu
NumberKeyListener, która sprawia, że wprowadzanie cyfr prawidłowo filtruje znaki.
Wersja 1.1.0-rc01
9 lutego 2022 r.
Publikacja androidx.emoji2:emoji2-*:1.1.0-rc01 Wersja 1.1.0-rc01 zawiera te zmiany.
Nowe funkcje
Brak zmian w porównaniu z wersją beta.
Nowe funkcje w porównaniu z emoji2 1.0.0:
emoji2-bundledzawiera czcionkę Emoji 14- Nowy interfejs
getEmojiMatchAPI zwraca dokładne informacje, dzięki którym klawiatury mogą określać, jak emotikon będzie wyświetlany w obecności czcionki zgodnej z emotikonami, która jest za czcionką systemową. - Poprawka błędu
NumberKeyListener, która sprawia, że wprowadzanie cyfr prawidłowo filtruje znaki
Wersja 1.1.0-beta01
26 stycznia 2022 r.
Publikacja androidx.emoji2:emoji2-*:1.1.0-beta01 Wersja 1.1.0-beta01 zawiera te zmiany.
Poprawki błędów
- Wersja beta01 biblioteki androidx-emoji2. Brak zmian w porównaniu z wersją alpha01 (Ic61d9)
Wersja 1.1.0-alpha01
15 grudnia 2021 roku
Publikacja androidx.emoji2:emoji2-*:1.1.0-alpha01 Wersja 1.1.0-alpha01 zawiera te zmiany.
Nowe funkcje
emoji2-bundledzawiera czcionkę Emoji 14- Nowy interfejs
getEmojiMatchAPI zwraca dokładne informacje, dzięki którym klawiatury mogą określać, jak emotikon będzie wyświetlany w obecności czcionki zgodnej z emotikonami, która jest za czcionką systemową. - Poprawka błędu
NumberKeyListener, która sprawia, że wprowadzanie cyfr prawidłowo filtruje znaki
Zmiany w interfejsie API
- Dodanie nowego interfejsu API
getEmojiMatch, aby klawiatury mogły dokładniej wyszukiwać zachowania dopasowania emoji w emojicompat. - Wycofanie funkcji
hasEmojiGlyph, ponieważ jej wartość logiczna jest nieprawidłowa w przypadku testowania czcionki starszej niż czcionka emoji na platformie. Zastąp elementemgetEmojiMatch. (Ie693d)
Poprawki błędów
- Emoji2 nie będzie opakowywać instancji
NumberKeyListener, co umożliwi konfigurowanie ustawień regionalnych przezTextView. - Biblioteka Appcompat nie będzie opakowywać instancji
NumberKeyListenerprzekazywanych dosetKeyListener, co umożliwi biblioteceTextViewprawidłowe skonfigurowanie ustawień regionalnych wNumberKeyListeners. (Ibf113, b/207119921)
1,0
Wersja 1.0.1
15 grudnia 2021 roku
Publikacja androidx.emoji2:emoji2-*:1.0.1 Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
Emoji2nie będzie obejmować instancjiNumberKeyListener, co umożliwi skonfigurowanie ustawień regionalnych przezTextView.- Biblioteka Appcompat nie będzie opakowywać instancji
NumberKeyListenerprzekazywanych dosetKeyListener, co umożliwi biblioteceTextViewprawidłowe skonfigurowanie ustawień regionalnych wNumberKeyListeners. (Ibf113, b/207119921)
Wersja 1.0.0
17 listopada 2021 r.
Publikacja androidx.emoji2:emoji2-*:1.0.0 Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje wersji 1.0.0
Biblioteka androidx.emoji2 zastępuje bibliotekę androidx.emoji i ma dodatkowe możliwości:
- Zmniejszenie rozmiaru pliku APK w porównaniu z androidx.emoji
- Automatyczna konfiguracja
- Dodano jako zależność do biblioteki appcompat w wersji 1.4
Więcej informacji o androidx.emoji2 znajdziesz w artykule Obsługa nowoczesnych emotikonów oraz w naszej prezentacji z Android Dev Summit Wyświetlanie wszystkich emotikonów w aplikacji na Androida.
Wersja 1.0.0-rc01
27 października 2021 r.
Publikacja androidx.emoji2:emoji2-*:1.0.0-rc01 Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
- Brak zmian od wersji beta02.
Emoji2 w wersji 1.0.0-beta01
15 września 2021 r.
Publikacja androidx.emoji2:emoji2-*:1.0.0-beta01 Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
Dodano
setLoadingExecutordoFontRequestEmojiCompatConfig, co zastępuje poprzedni interfejs APIsetHandler. Ten interfejs API umożliwia aplikacjom konfigurowanieFontRequestEmojiCompatConfigdo korzystania z dowolnego wykonawcy w tle.Ta zmiana jest zmianą powodującą niezgodność z
androidx.emoji:emoji, więcsetHandlerjest zachowywany jako wycofany interfejs API, który nie wykonuje żadnych działań, aby ułatwić migrację. (I6cd48)Biblioteka EmojiCompat prawidłowo ustawia wartość
EditorInfo.extrasna Androidzie 11- Niestandardowe widżety, które używają IME i nie są podklasą EditText, mogą wywoływać
EmojiCompat.updateEditorInfo, aby poinformować IME, że obsługują przetwarzanie EmojiCompat. (I1ea9b)
- Niestandardowe widżety, które używają IME i nie są podklasą EditText, mogą wywoływać
Poprawki błędów
- Poprawiono
DefaultEmojiCompatConfig, aby prawidłowo wyszukiwać dostawcę czcionki emoji na interfejsach API 19 i 28. Rozwiązuje to błąd wprowadzony w bibliotece emoji2 w wersji 1.0.0-alpha01. (Ib33d8, b/197906329)
Wersja 1.0.0-alpha03
30 czerwca 2021 r.
Publikacja androidx.emoji2:emoji2-*:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
Ta wersja zawiera poprawki błędów i zapewnia większą stabilność.
- Klasa EmojiEditTextHelper umożliwia teraz przekazywanie wartości
nulljako KeyListener. Umożliwia to zastosowanie do implementacji EditText obsługujących emoji zachowania platformy, które zezwala na wartości null. - W przypadku używania klasy EmojiCompatInitializer początkowe opóźnienie uruchamiania jest mniejsze, ponieważ wyzwalanie następuje po wznowieniu pierwszej aktywności. Dzięki temu aplikacja może uruchamiać się bez zakłóceń i nie trzeba wczytywać czcionki w przypadku uruchomień, które nigdy nie wyświetlają interfejsu. Po krótkim opóźnieniu biblioteka EmojiCompat utworzy wątek do wczytania czcionki emotikonów.
- Aby wdrożyć opóźnienie, dodano nową zależność od
androidx.lifecycle:lifecycle-processzandroidx.emoji2:emoji2. W przypadku aplikacji, które już zawierają cykl życia (np. aplikacji z biblioteką appcompat), będzie to miało znikomy wpływ na rozmiar pliku APK.
Zmiany w interfejsie API
- Zezwalaj na wartość null w przypadku KeyListener w klasie AppCompatEditText. Cofa to adnotację o wartości niezerowej, która została dodana do AppCompatEditText w wersji 1.4.0-alpha01, i przywraca poprzednie działanie w przypadku przekazania wartości null. (I21482, b/189559345)
Poprawki błędów
- Zmień EmojiCompatInitializer, aby opóźnić ładowanie czcionki do 500 ms po pierwszym
Activity.onResume. Dzięki temu aktywność może wykonywać operacjeApplication.onCreateiActivity.onCreatebez zakłóceń, a jednocześnie zapewniać, że czcionka emoji zostanie wczytana krótko po uruchomieniu aplikacji. (I4bff7)
Wersja 1.0.0-alpha02
2 czerwca 2021 r.
androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02 i androidx.emoji2:emoji2-views-helper:1.0.0-alpha02 są zwalniane. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniono nazwę pakietu w
emoji2-views-helpernaandroidx.emoji2.viewsintegration. Jest to zmiana powodująca niezgodność w przypadku AppCompat1.4.0-alpha01. Aplikacje muszą zaktualizować zależność AppCompat, aby używać nowej wersji emoji2. (Ie8397)
Wersja 1.0.0-alpha01
18 maja 2021 r.
androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01 i androidx.emoji2:emoji2-views-helper:1.0.0-alpha01 są zwalniane. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Funkcje w tej pierwszej wersji
Zalecamy zintegrowanie biblioteki emojicompat ze wszystkimi aplikacjami, aby obsługiwać nowoczesne emotikony od API19. Wszystkie treści generowane przez użytkowników w Twojej aplikacji zawierają emoji 🎉.
Biblioteka EmojiCompat została przeniesiona z artefaktów androidx.emoji do nowych artefaktów androidx.emoji2, które są obecnie w wersji alfa01. Nowe artefakty zastąpią poprzednią wersję.
emoji2 jest dodawany jako zależność do AppCompat od AppCompat 1.4.0-alpha01 i jest domyślnie włączony w przypadku widoków AppCompat.
Artefakt emoji2 wprowadza nową automatyczną konfigurację z użyciem biblioteki androidx.startup. Nie musisz już pisać żadnego 👨🏽💻 kodu, aby wyświetlić 🐻❄️.
Zmiany w emoji2 w porównaniu z emoji
- Dodano nową automatyczną konfigurację
EmojiCompatInitializerza pomocąandroidx.startup. - Dodano nową konfigurację domyślną, która używa lokalizacji usługi do znajdowania dostawcy czcionek do pobrania w sekcji
DefaultEmojiCompatConfiguration. - Zajęcia przeniesione z pakietu
androidx.emojidoandroidx.emoji2. - Podziel widok
EmojiTextViewi powiązane widoki na osobny artefaktemoji2-views. Używaj tej opcji tylko wtedy, gdy aplikacja nie korzysta z biblioteki appcompat. - Wyodrębnione funkcje pomocnicze do integrowania biblioteki emojicompat z widokami niestandardowymi w osobnym artefakcie
emoji2-views-helper. - Dodano adnotacje dotyczące dopuszczalności wartości null.
- Funkcje pomocnicze w
emoji2-views-helpermożna teraz używać nawet wtedy, gdyEmojiCompatnie jest zainicjowany (wcześniej powodowały wyjątek).
Jaką zależność należy dodać?
- Aplikacje korzystające z AppCompat powinny zostać uaktualnione do wersji AppCompat
1.4.0-alpha01lub nowszej. - Aplikacje bez AppCompat korzystające z
TextView/EditTextz platformy powinny używaćEmojiTextViewi powiązanych klas zemoji2-views.
Obsługa w widokach niestandardowych
- Aplikacje korzystające z biblioteki AppCompat powinny rozszerzać klasy
AppCompatTextView,AppCompatButtonitp. zamiast klas platformyTextViewitp. - Aplikacje bez AppCompat powinny dodać zależność
androidx.emoji2:emoji2-views-helperi używać funkcji pomocniczych do integracji z niestandardowymi podklasamiTextViewlubEditText.
Konfigurowanie automatycznej inicjalizacji
Aplikacje mogą wyłączyć automatyczną inicjację, dodając do pliku manifestu ten kod:
<provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" android:exported="false" tools:node="merge"> <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer" tools:node="remove" /> </provider>Wyłącza to automatyczną konfigurację, a następnie możesz przekazać niestandardową konfigurację do
EmojiCompat.init. Domyślną konfigurację systemu można pobraćDefaultEmojiCompatConfig.create(context)w celu dalszej konfiguracji przed przekazaniem doEmojiCompat.init.
Emoji2 Emojipicker w wersji 1.0
Wersja 1.0.0-alpha03
8 marca 2023 r.
Publikacja androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Poprawki błędów
- Usunięto niepotrzebne zasoby i zmniejszono rozmiar biblioteki o ok.0,3 M.
Wersja 1.0.0-alpha02
22 lutego 2023 roku
Publikacja androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy nowy interfejs API dla klientów Javy, aby mogli oni udostępniać najnowsze emotikony. (I39d10)
Poprawki błędów
- Aktualizacja zasobów emotikonów w celu obsługi emotikonów w wersji 15.0 (Ib4eb3)
- Gdy wybierzesz emotikon w wyskakującym okienku, wszystkie identyczne emotikony zostaną zastąpione nowo wybranym emotikonem (z wyjątkiem wiersza z ostatnio używanymi emotikonami). Odczytuj też emotikony po kliknięciu. (I892c6)
- Zanim wyświetlisz znak
EmojiPickerView, poczekaj, aż załaduje się emojicompat. (I29e03)
Wersja 1.0.0-alpha01
25 stycznia 2023 r.
Publikacja androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadziliśmy selektor emotikonów, który zapewnia spójność wrażeń użytkowników dzięki najnowszym emotikonom na urządzeniach OEM z systemem operacyjnym Android i w aplikacjach. Zapewnia obsługę najnowszych emotikonów i interfejs selektora emotikonów, w tym warianty odcieni skóry i obsługę zgodności emotikonów.
Zmiany w interfejsie API
- Wprowadzono klasę
EmojiPickerView, która zapewnia aktualne emotikony w widoku przewijanym w pionie z nagłówkiem poziomym, w który można kliknąć. - Kolumny siatki selektora emotikonów można ustawić za pomocą atrybutu XML
emojiGridColumnslub funkcjisetEmojiGridColumns(). - Wiersze siatki selektora emotikonów można ustawić za pomocą atrybutu XML
emojiGridRowslub funkcjisetEmojiGridRows(). - Słuchacza wybranego emotikona można ustawić za pomocą
setOnEmojiPickedListener(). Będzie on otrzymywać powiadomienia za każdym razem, gdy użytkownik kliknie dowolny emotikon. - Ostatni dostawca emotikonów może być oznaczony symbolem
setRecentEmojiProvider(). Ta funkcja jest opcjonalna. Jeśli dostawca ostatnio używanych emoji nie jest ustawiony, biblioteka użyje domyślnego dostawcy ostatnio używanych emoji. Domyślne działanie jest zdefiniowane w ten sposób: 1) wszystkie wybrane emoji zostaną zapisane na poziomie aplikacji w ustawieniach udostępnionych. 2) selektor wyświetli maksymalnie 3 wiersze wybranych emotikonów w odwrotnej kolejności chronologicznej, bez duplikatów. - Wprowadzono klasę
EmojiViewItem, która zawiera wyświetlany emotikon i jego warianty. - Wprowadzono interfejs
RecentEmojiProvider, który można wdrożyć, aby udostępnić listę ostatnio używanych emoji.recentEmojiProviderodpowiada za udostępnianie emotikonów w kategorii „Ostatnio używane”.