Emotikon 2
Najnowsza aktualizacja | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
13 grudnia 2023 r. | 1.4.0 | - | - | 1.5.0-alfa01 |
Deklarowanie zależności
Aby dodać zależność od Emoji2, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowy
dependencies { def emoji2_version = "1.4.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.4.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.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Selektor emotikonów 2 w wersji 1.0
Wersja 1.0.0-alfa03
8 marca 2023 r.
Aplikacja androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Poprawki błędów
- Usunęliśmy niepotrzebne zasoby i zmniejszyliśmy rozmiar biblioteki o ok.0,3 mln.
Wersja 1.0.0-alfa02
22 lutego 2023 roku
Aplikacja androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02
została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano nowy interfejs API dla klientów Java, aby umożliwić udostępnianie najnowszych emotikonów. (I39d10)
Poprawki błędów
- Zaktualizuj zasoby emotikonów, aby obsługiwać emotikony w wersji 15.0 (Ib4eb3)
- Podczas wybierania emotikona w wyskakującym okienku zaktualizuj wszystkie identyczne emotikony do nowych (z wyjątkiem ostatnich emotikonów). Odczytaj też emotikon po kliknięciu. (I892c6)
- Zanim wyświetlisz aplikację
EmojiPickerView
, poczekaj, aż się załaduje. (I29e03).
Wersja 1.0.0-alfa01
25 stycznia 2023 r.
Aplikacja androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadziliśmy selektor emotikonów, który zapewnia spójne wrażenia użytkownika dzięki najnowszym emotikonom na urządzeniach i w aplikacjach OEM z systemem operacyjnym Android. Oferuje obsługę najnowszych emotikonów i interfejsu selektora emotikonów, w tym warianty odcieni skóry i obsługę emotikonów.
Zmiany w interfejsie API
- Wprowadzono klasę
EmojiPickerView
, która udostępnia aktualne emotikony w widoku, który można przewijać w pionie, z klikalnym poziomym nagłówkiem. - Kolumny siatki selektora emotikonów można ustawić za pomocą atrybutu XML
emojiGridColumns
lub funkcjisetEmojiGridColumns()
. - Wiersze siatki selektora emotikonów można ustawić za pomocą atrybutu XML
emojiGridRows
lub funkcjisetEmojiGridRows()
. - Wybrany emotikon można ustawić w polu
setOnEmojiPickedListener()
. Słuchacz będzie powiadamiany za każdym razem, gdy użytkownik kliknie dowolny emotikon. - Ostatni dostawca emotikonów może być dostarczany za pomocą
setRecentEmojiProvider()
. Jest to funkcja opcjonalna. Jeśli dostawca najnowszych emotikonów nie jest skonfigurowany, biblioteka będzie używać domyślnego dostawcy emotikonów. Domyślne działanie jest określone w następujący sposób: 1) wszystkie wybrane emotikony będą zapisywane w preferencjach wspólnych na poziomie aplikacji. 2) selektor wyświetli maksymalnie 3 wiersze wybranych emotikonów, po usunięciu duplikatów, w odwrotnej kolejności chronologicznej. - Wprowadzono klasę
EmojiViewItem
, która zawiera wyświetlany emotikon i jego wersje. - Wprowadziliśmy interfejs
RecentEmojiProvider
, który można zaimplementować, aby dostarczyć listę najnowszych emotikonów. Za wyświetlanie emotikonów w kategorii „Ostatnio używane” odpowiadarecentEmojiProvider
.
Wersja 1.5
Wersja 1.5.0-alfa01
13 grudnia 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.5.0-alpha01
została zwolniona. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
emoji2-bundled
zawiera zaktualizowaną czcionkę emotikonów, aby zapewnić obsługę emotikonów 15.1.
Zmiany w interfejsie API
- Dodaj wykonawców, aby kontrolować wątek wywołania zwrotnego dla
InitCallback
. (I32b67) BundledEmojiCompatConfig
zarządza teraz wykonawcą w celu kontrolowania wczytywania wątków. (I00e81)
Wersja 1.4
Wersja 1.4.0
9 sierpnia 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.4.0
została zwolniona. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.3.0
- Wprowadzenie biblioteki selektora emotikonów. Więcej informacji znajdziesz w dokumentacji dla deweloperów.
Wersja 1.4.0-rc01
26 lipca 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.4.0-rc01
została zwolniona. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wprowadź listę
registerSource
(Iae92f) - Opinia Rady interfejsu API: zmieniono nazwę z
TransitionManager.seekTo()
nacreateSeekController()
. Zmień poprzedni komentarz dotyczący dodawania użytkownikaTransitionManager.seekTo()
do albumuTransitionManager.createSeekController()
. (Idbeb1) - Dodano klasę
ExerciseRouteResult
, która nie jest klasą nadrzędną dlaData
,NoData
iConsentRequiredStates
. DodanoExerciseRoute
jako samodzielną klasę, która przechowuje dane o lokalizacji trasy. (I22eed) - Wprowadziliśmy funkcję
PagerLayoutInfo
z informacjami zbieranymi po przekazaniu pomiaru w Pager. Wprowadziliśmy też PageInfo – informacje o pojedynczej mierzonej stronie w Pager. (Iad003, b/283098900)
Poprawki błędów
- Zaktualizowaliśmy kolory urządzeń
Button
,IconButton
iTextButton
, aby były zgodne z wyglądem Material3. Rolę semantyczną tych usług (Button
,IconButton
iTextButton
) można teraz zastąpić za pomocą funkcjiModifier.semantics
. (Ib2495) - Naprawiono wybór kart i wskaźniki w aplikacji
EmojiPickerView
aktualizowane jednym kliknięciem. (I4db04). FileNotFoundException
przy wyświetlaniu selektora emotikonów (I353e4)- Przechwytuj
WindowManager.BadTokenException
, używającEmojiPickerView
(I0a144)
Wersja 1.4.0-beta05
7 czerwca 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.4.0-beta05
została zwolniona. Wersja 1.4.0-beta05 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd wprowadzony w wersji 1.3, który powodował, że elementy
MetricsAffectingSpans
, takie jakRelativeSizeSpan
, były stosowane dwukrotnie. Raz w układzie tekstu i ponownie wEmojiSpan.draw
. Wynik podczas rysowania ma nieprawidłowy rozmiar, co jest widoczne, jeśli przez span zmienił którykolwiek z parametrów rozmiaru tekstu. (b/283208650)
Wersja 1.4.0-beta04
24 maja 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.4.0-beta04
została zwolniona. Wersja 1.4.0-beta04 zawiera te zatwierdzenia.
W tej wersji naprawiliśmy błąd występujący od wersji 1.0, w wyniku którego wyświetlenia z innym modułem obsługi generowały wyjątek przy próbie aktualizacji spanów emotikonów po zakończeniu ładowania czcionki. Nie ma sposobu obejścia tego problemu. Jeśli napotkasz ten błąd, uaktualnij go do tej wersji lub nowszej.
Poprawki błędów
- Wywołania zwrotne inicjujące
EmojiCompat
będą teraz korzystać z modułów obsługi z każdego widoku danych z uwzględnieniem widoków spoza wątku głównego. (Iccbcf)
Wersja 1.4.0-beta03
10 maja 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.4.0-beta03
została zwolniona. Wersja 1.4.0-beta03 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono awarię zagnieżdżonego wyskakującego okienka wyboru emotikonów. (0acc8e)
- Dodaj wcześniejsze wyjątki w elemencie
EmojiCompat getEmojiStart/getEmojiEnd
. (26177f)
Wersja 1.4.0-beta02
19 kwietnia 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.4.0-beta02
została zwolniona. Wersja 1.4.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Aktualizowanie plików bazowych lint (Iaa212)
Wersja 1.4.0-beta01
5 kwietnia 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.4.0-beta01
została zwolniona. 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 i styl oraz jest proste w obsłudze. Użytkownicy mogą przeglądać i wybierać emotikony oraz ich wersje albo wybierać spośród ostatnio używanych emotikonów. Dzięki tej bibliotece aplikacje różnych producentów OEM mogą zapewnić użytkownikom dostęp do ujednoliconych emotikonów bez konieczności tworzenia i obsługiwania selektora emotikonów od podstaw.
Aktualne emotikony
Co roku publikujemy nowe emotikony, które będą selektywnie uwzględniane w selektorze emotikonów. Aby zapewnić zgodność wsteczną, przeprowadzamy wewnętrzną weryfikację możliwości renderowania emotikonów w celu wyeliminowania tofu. Dzięki temu biblioteka będzie zgodna z różnymi wersjami Androida i różnych urządzeń.
Przyklejone warianty
Gdy naciśniesz i przytrzymasz emotikon, pojawi się menu różnych wersji, np. różnych płci czy odcieni skóry. Wybrana odmiana zostanie zapisana w selektorze emotikonów, a ostatnio wybrany wariant będzie używany w panelu głównym. Dzięki tej funkcji użytkownicy mogą jednym kliknięciem wysyłać preferowane wersje emotikonów.
Ostatnie emotikony
Za wyświetlanie 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 na poziomie aplikacji w udostępnionych preferencjach.
- Selektor wyświetla maksymalnie 3 wiersze wybranych emotikonów, po usunięciu duplikatów, w odwrotnej kolejności chronologicznej.
Jeśli to działanie domyślne jest wystarczające, nie musisz konfigurować metody setRecentEmojiProvider()
.
Korzystanie z komponentu emotikonów
Jeśli aplikacja ma wystąpienie EmojiCompat
, będzie używane w selektorze emotikonów do wyrenderowania jak największej liczby emotikonów. Jeśli zasada EmojiCompat
jest wyłączona, selektor emotikonów działa normalnie.
Jak korzystać z biblioteki
Aby korzystać z biblioteki, deweloper aplikacji powinien
Importuj
androidx.emoji2:emojipicker:$version
w usłudzebuild.gradle
.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Powiększ widok selektora emotikonów i opcjonalnie ustaw
emojiGridRows
orazemojiGridColumns
zależnie od żądanego rozmiaru każdej komórki emotikonów- Możesz pozostawić je nieskonfigurowane. Wartość domyślna to 9
emojiGridColumns
. Liczba wierszy będzie obliczana na podstawie wysokości widoku nadrzędnego i wartościemojiGridColumns
. - Możesz ustawić
emojiGridRows
jako liczbę zmiennoprzecinkową, aby wskazać, że po przewinięciu w dół w pliku XML będzie dostępnych 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" />
- Możesz pozostawić je nieskonfigurowane. Wartość domyślna 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)
Zakładając, że chcesz dołączyć wybrane emotikony do elementu EditText, użyj funkcji
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ąpieniecolorControlNormal
spowoduje 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ą wersję interfejsu API znajdziesz tutaj.
Przykładowa aplikacja
Ta przykładowa aplikacja przedstawia podstawowe przypadki użycia oraz te dodatkowe scenariusze:
- Widok został ponownie ustawiony, ponieważ elementy
emojiGridRows
iemojiGridColumns
zostały zresetowane. - Dostawca najnowszych emotikonów zostanie zastąpiony, aby możliwe było sortowanie według częstotliwości.
- Dostosowywanie stylu.
Zmiany w interfejsie API
Biblioteka selektora emotikonów została zaktualizowana o te nowe interfejsy API:
- Klasa
EmojiPickerView
, która zawiera aktualne emotikony w pionowym widoku, który można przewijać w pionie z klikalnym poziomym nagłówkiem. - Możliwość ustawienia liczby kolumn i wierszy w siatce selektora emotikonów za pomocą atrybutów XML
emojiGridColumns
iemojiGridRows
lub metodsetEmojiGridColumns()
isetEmojiGridRows()
. - Możliwość ustawienia słuchacza wybranego przez emotikon za pomocą metody
setOnEmojiPickedListener()
. Słuchacz jest powiadamiany za każdym razem, gdy użytkownik kliknie dowolny emotikon. - Możliwość udostępnienia najnowszego emotikonu za pomocą metody
setRecentEmojiProvider()
. Jest to funkcja opcjonalna. Jeśli dostawca ostatnich emotikonów nie jest skonfigurowany, biblioteka będzie używać domyślnego dostawcy emotikonów. Oto domyślne działanie:- Wszystkie wybrane emotikony będą zapisywane na poziomie aplikacji w udostępnionych preferencjach.
- Selektor wyświetli maksymalnie 3 wiersze wybranych emotikonów, po usunięciu duplikatów, w odwrotnej kolejności chronologicznej.
- Klasa
EmojiViewItem
, która zawiera wyświetlany emotikon i jego wersje. - Interfejs
RecentEmojiProvider
, który można zaimplementować, aby udostępnić listę najnowszych emotikonów. Za wyświetlanie emotikonów w kategorii „Ostatnio używane” odpowiadarecentEmojiProvider
. - Interfejs
RecentEmojiAsyncProvider
, który można zaimplementować, aby udostępnić listę najnowszych emotikonów. Za wyświetlanie emotikonów w kategorii „Ostatnio używane” odpowiadaRecentEmojiAsyncProvider
. Ten interfejs jest odpowiednikiem interfejsuRecentEmojiProvider
, który umożliwia klientom zastąpienie metodygetRecentEmojiListAsync()
w celu dostarczania najnowszych emotikonów. - Klasa
RecentEmojiProviderAdapter
, która jest adapterem dlaRecentEmojiAsyncProvider
i implementujeRecentEmojiProvider
.
Wersja 1.4.0-alfa01
22 marca 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.4.0-alpha01
została zwolniona. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawianie testów, wyłączanie testów tymczasowych i czyszczenia.
Wersja 1.3
Wersja 1.3.0
22 marca 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.3.0
została zwolniona. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.2.0
- W tej wersji platforma Compose Foundation
1.4.0
i nowsze wersje pozwala na integrację z emotikonami. - Umożliwia też zastępowanie elementu
EmojiSpans
niestandardowym kodem rysunku, a także obsługę wykluczeń emotikonów zdefiniowanych w Androidzie.
Wersja 1.3.0-rc01
8 marca 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.3.0-rc01
została zwolniona. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Nowe funkcje
- Ta wersja obsługuje integrację tworzenia wiadomości z emotikonem2.
Zmiany w interfejsie API
- Zastąp spany w kodzie niestandardowego rysowania.
- Wysyłanie zapytań o wykluczenia systemu.
Poprawki błędów
- Naprawiliśmy błąd, który powodował, że rozpiętości tła nie były prawidłowo stosowane w przypadku elementu
EmojiSopans
.
Wersja 1.3.0-beta03
23 lutego 2023 r.
Opublikowano 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
.
22 lutego 2023 roku
Aplikacja androidx.emoji2:emoji2:1.3.0-beta03
została zwolniona. Wersja 1.3.0-beta03 zawiera te zatwierdzenia.
Nowe funkcje
- Brak zmian. Ta wersja przygotowuje do integracji tworzenia.
Wersja 1.3.0-beta02
8 lutego 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.3.0-beta02
została zwolniona. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Nowe funkcje
- Ta wersja jest stabilizacją umożliwiającą integrację funkcji tworzenia.
Wersja 1.3.0-beta01
25 stycznia 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.3.0-beta01
została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Wysyłanie zapytań o wykluczenia systemu.
- Zastępowanie spanów w niestandardowym kodzie rysunku.
- Naprawiliśmy błąd, który powodował, że rozpiętości tła nie były prawidłowo stosowane w przypadku elementu
EmojiSopans
. - Ta wersja dodaje interfejsy API niezbędne do obsługi polecenia
EmojiCompat
w narzędziu Compose. Niedługo wprowadzimy obsługę tworzenia emotikonów.
Wersja 1.3.0-alfa01
11 stycznia 2023 r.
Aplikacja androidx.emoji2:emoji2-*:1.3.0-alpha01
została zwolniona. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Nowe interfejsy API do interakcji niskiego poziomu
- Wysyłanie zapytań o wykluczenia systemu
- Zastępowanie spanów w kodzie niestandardowego rysowania
- Naprawiliśmy błąd, który powodował, że rozpiętości tła nie były prawidłowo stosowane w przypadku elementu
EmojiSopans
. - Ta wersja dodaje interfejsy API niezbędne do obsługi polecenia
EmojiCompat
w narzędziu Compose. Niedługo wprowadzimy obsługę tworzenia emotikonów.
Zmiany w interfejsie API
- Dodano możliwość wysyłania do
TypefaceEmojiRasterizer
zapytań dotyczących wykluczeń systemu. (I5653e) - Dodano nowy interfejs API
EmojiCompat.SpanFactory
do zastąpienia domyślnego zachowaniaEmojiSpan
niestandardowymi rysunkami i kodem rozmiaru. (Ib69d9) - Dodano element
EmojiCompat
do tworzenia wiadomości (I96f37, b/139326806)
Poprawki błędów
- Emotikon2 będzie teraz poprawnie rysować tła z
BackgroundSpan
. (Ide6a8, b/230525134) - Finalizacja interfejsów AppCompat API dla wersji 1.5.0-beta01 (I2a43d, b/236866227)
Wersja 1.2
Wersja 1.2.0
10 sierpnia 2022 r.
Aplikacja androidx.emoji2:emoji2-*:1.2.0
została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
Jest to wersja z poprawką błędów. Od wersji 1.1.0 nie dodano żadnych nowych funkcji ani interfejsów API.
Jednak w przypadku aplikacji korzystających z PrecomputedText
lub TextView.setText(char[])
powinno się przejść na tę wersję.
Naprawiliśmy następujące błędy:
Emoji2
doda emotikony do aplikacjiPrecomputedText
, odrzucając wcześniej obliczony układ tekstu. (I47d06, b/211231958)- Poprawka awarii edytora wstecznego z Androida P na
EditText
, która została skonfigurowana tak, aby używać emotikonów2. (Ifd709, b/216891011) - Naprawianie błędu, który występował, gdy emotikon2 ładował czcionkę, a używano do niej
TextView.setText(char[])
. (Id511e, b/206859724)
Wersja 1.2.0-rc01
27 lipca 2022 roku
Aplikacja androidx.emoji2:emoji2-*:1.2.0-rc01
została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
- Brak zmian od ostatniej wersji beta.
Wersja 1.2.0-beta01
13 lipca 2022 r.
Aplikacja androidx.emoji2:emoji2-*:1.2.0-beta01
została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Brak zmian w stosunku do ostatniej wersji (ta wersja służy do obsługi wersji AppCompat).
Wersja 1.2.0-alfa04
20 kwietnia 2022 r.
Aplikacja androidx.emoji2:emoji2-*:1.2.0-alpha04
została zwolniona. Wersja 1.2.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Brak zmian w tej wersji.
Wersja 1.2.0-alfa03
6 kwietnia 2022 roku
Aplikacja androidx.emoji2:emoji2-*:1.2.0-alpha03
została zwolniona. Wersja 1.2.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Brak zmian w stosunku do ostatniej wersji (ta wersja służy do obsługi wersji appcompat).
Wersja 1.2.0-alfa02
23 marca 2022 r.
Aplikacja androidx.emoji2:emoji2-*:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Emotikon 2 doda emotikony do aplikacji
PrecomputedText
, odrzucając wcześniej obliczony układ tekstu. (I47d06, b/211231958) - Poprawka awarii edytora wstecznego z Androida P na program EditText skonfigurowany pod kątem korzystania z emotikonu. (Ifd709, b/216891011)
- Naprawianie błędu, który występował, gdy emotikon2 ładował czcionkę, a używano do niej
TextView.setText(char[])
. (Id511e, b/206859724)
Wersja 1.2.0-alfa01
23 lutego 2022 r.
Aplikacja androidx.emoji2:emoji2-*:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.
Bez zmian od wersji 1.1.0.
1,1
Wersja 1.1.0
23 lutego 2022 r.
Aplikacja androidx.emoji2:emoji2-*:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- pakiet emotikon2 zawiera czcionkę emotikonu 14
- Nowy interfejs API
getEmojiMatch
zwraca dokładne informacje dla klawiatur, aby określić sposób wyświetlania emotikona, jeśli czcionka zgodna z emotikonem znajduje się za czcionką systemową. - Poprawka błędu w funkcji
NumberKeyListener
umożliwiającego prawidłowe filtrowanie znaków wpisywanych cyfr.
Wersja 1.1.0-rc01
9 lutego 2022 r.
Aplikacja androidx.emoji2:emoji2-*:1.1.0-rc01
została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Nowe funkcje
Bez zmian w stosunku do wersji beta.
Nowe funkcje w porównaniu z emotikonem 2 1.0.0:
emoji2-bundled
zawiera czcionkę emotikonu 14- Nowy interfejs API
getEmojiMatch
zwraca dokładne informacje dla klawiatur, aby określić sposób wyświetlania emotikona, jeśli czcionka zgodna z emotikonem znajduje się za czcionką systemową. - Poprawka błędu funkcji
NumberKeyListener
, która powoduje prawidłowe filtrowanie znaków wpisywanych cyfr
Wersja 1.1.0-beta01
26 stycznia 2022 r.
Aplikacja androidx.emoji2:emoji2-*:1.1.0-beta01
została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Poprawki błędów
- wersja beta01 Androidx-emoji2. Bez zmian w porównaniu z wersją alfa01 (Ic61d9)
Wersja 1.1.0-alfa01
15 grudnia 2021 roku
Aplikacja androidx.emoji2:emoji2-*:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
emoji2-bundled
zawiera czcionkę emotikonu 14- Nowy interfejs API
getEmojiMatch
zwraca dokładne informacje dla klawiatur, aby określić sposób wyświetlania emotikona, jeśli czcionka zgodna z emotikonem znajduje się za czcionką systemową. - Poprawka błędu funkcji
NumberKeyListener
, która powoduje prawidłowe filtrowanie znaków wpisywanych cyfr
Zmiany w interfejsie API
- Dodano nowy interfejs API
getEmojiMatch
, aby umożliwić klawiaturom dokładniejsze sprawdzanie dopasowania emotikonów w komunikacie emotikon. - Wycofaj atrybut
hasEmojiGlyph
, ponieważ jego wartość logiczna jest niedokładna podczas testowania czcionki, która jest starsza niż czcionka emotikonów platformy. Zamień nagetEmojiMatch
. (Ie693d)
Poprawki błędów
- Emotikon2 nie pakuje wystąpień
NumberKeyListener
, co umożliwia skonfigurowanie języka przezTextView
. - Appcompat nie pakuje instancji
NumberKeyListener
przekazanych dosetKeyListener
, co umożliwia usłudzeTextView
prawidłowe skonfigurowanie języka wNumberKeyListeners
. (Ibf113, b/207119921)
1,0
Wersja 1.0.1
15 grudnia 2021 roku
Aplikacja androidx.emoji2:emoji2-*:1.0.1
została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
Emoji2
nie pakuje instancjiNumberKeyListener
, co umożliwia skonfigurowanie języka przezTextView
.- Appcompat nie pakuje instancji
NumberKeyListener
przekazanych dosetKeyListener
, co umożliwia usłudzeTextView
prawidłowe skonfigurowanie języka wNumberKeyListeners
. (Ibf113, b/207119921)
Wersja 1.0.0
17 listopada 2021 r.
Aplikacja androidx.emoji2:emoji2-*:1.0.0
została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje wersji 1.0.0
Aplikacja androidx.emoji2 zastępuje androidx.emoji dodatkowymi funkcjami:
- Zmniejszenie rozmiaru pliku APK a androidx.emoji
- Konfiguracja automatyczna
- Dodano jako zależność do appcompat 1.4.
Więcej informacji o androidx.emoji2 znajdziesz w artykule Obsługa nowoczesnych emotikonów i prezentacji na Android Dev Summit Wyświetlanie WSZYSTKICH emotikonów w aplikacji na Androida.
Wersja 1.0.0-rc01
27 października 2021 roku
Aplikacja androidx.emoji2:emoji2-*:1.0.0-rc01
została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
- Brak zmian od wersji beta02.
Emotikon2 w wersji 1.0.0-beta01
15 września 2021 r.
Aplikacja androidx.emoji2:emoji2-*:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
Do interfejsu
FontRequestEmojiCompatConfig
dodano interfejssetLoadingExecutor
, który zastępuje poprzedni interfejs APIsetHandler
. Ten interfejs API umożliwia aplikacjom skonfigurowanie funkcjiFontRequestEmojiCompatConfig
w celu korzystania z dowolnego wykonawcy działającego w tle.Ta zmiana stanowi zmianę powodującą niezgodność z
androidx.emoji:emoji
, dlategosetHandler
zostanie zachowany jako wycofany, wycofany interfejs API, który pomoże w migracji. (I6cd48)Emotikon prawidłowo ustawia
EditorInfo.extras
na Androidzie 11- Niestandardowe widżety, które używają IME bez podklasyfikacji elementu EditText, mogą wywoływać edytor
EmojiCompat.updateEditorInfo
, aby poinformować go, że obsługują przetwarzanie EmojiCompat. (I1ea9b).
- Niestandardowe widżety, które używają IME bez podklasyfikacji elementu EditText, mogą wywoływać edytor
Poprawki błędów
- Popraw
DefaultEmojiCompatConfig
, aby prawidłowo wyszukać dostawcę czcionek emotikonów w interfejsach API 19 i 28. Naprawiono błąd wprowadzonego w emotikonach2 1.0.0-alfa01. (Ib33d8, b/197906329)
Wersja 1.0.0-alfa03
30 czerwca 2021 r.
Aplikacja androidx.emoji2:emoji2-*:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
Ta wersja zawiera poprawki błędów i stabilizacji.
- EmojiEditTextHelper teraz pozwala na przekazywanie elementu
null
jako elementu KeyListener. Pozwala to na zachowanie platformy i pozwala na stosowanie wartości null do emotikonów obsługujących implementacje EditText. - W przypadku korzystania z funkcji EmojiCompatInitializer początkowe opóźnienie uruchomienia jest wyzwalane po wznowieniu pierwszej aktywności. Dzięki temu uruchamianie aplikacji odbywa się bez rywalizacji i zapobiega ładowaniu czcionki w przypadku uruchamiania aplikacji, które nigdy nie wyświetlają interfejsu. Po krótkim opóźnieniu EmojiCompat utworzy wątek w celu wczytania czcionki emotikonów.
- Dodano nową zależność od
androidx.lifecycle:lifecycle-process
zandroidx.emoji2:emoji2
w celu zaimplementowania opóźnienia. Będzie to niewielki wpływ na rozmiar plików APK w przypadku aplikacji, które już zawierają cykl życia (np. aplikacji ze standardem appcompat).
Zmiany w interfejsie API
- Zezwalaj na null KeyListener w AppCompatEditText. Spowoduje to cofnięcie niezerowej adnotacji, która została dodana do AppCompatEditText w wersji 1.4.0-alpha01, oraz przywrócenie poprzedniego działania po przekazaniu wartości null. (I21482, b/189559345)
Poprawki błędów
- Zmień emotikon EmojiCompatInitializer, aby opóźnić wczytywanie czcionki o 500 ms od pierwszej wartości
Activity.onResume
. Dzięki temu aktywność może wykonywaćApplication.onCreate
iActivity.onCreate
bez udziału, a jednocześnie zapewnia, że czcionka emotikonów zostanie wczytana wkrótce po uruchomieniu aplikacji. (I4bff7)
Wersja 1.0.0-alfa02
2 czerwca 2021 r.
Opublikowano 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
. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniono nazwę pakietu w
emoji2-views-helper
naandroidx.emoji2.viewsintegration
. Jest to niezbędna zmiana w metodzie AppCompat1.4.0-alpha01
, a zależność aplikacji musi być zaktualizowana do nowej wersji emotikon2. (Ie8397)
Wersja 1.0.0-alfa01
18 maja 2021 r.
Opublikowano 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
. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Funkcje dostępne w tej pierwszej wersji
Zintegrowanie emotikonów jest zalecane w przypadku wszystkich aplikacji w celu obsługi nowoczesnych emotikonów z interfejsu API 19. Wszystkie treści użytkowników w Twojej aplikacji zawierają 🎉.
Emotikony zostały przeniesione z artefaktów androidx.emoji
do nowej wersji androidx.emoji2
, która jest teraz w wersji alfa01. Nowe artefakty zastępują poprzednią wersję.
Obiekt emoji2
został dodany jako zależność do AppCompat od AppCompat 1.4.0-alpha01
i jest domyślnie włączony w widokach AppCompat.
Artefakt emoji2
wprowadza nową konfigurację automatyczną przy użyciu biblioteki androidx.startup
. Nie musisz już pisać żadnego 👨🏽 💻 kodu do wyświetlenia 🐻 🎥️.
Zmiany w emotikonach 2 w stosunku do emotikonów
- Dodano nową konfigurację automatyczną
EmojiCompatInitializer
w usłudzeandroidx.startup
. - Dodaliśmy nową konfigurację domyślną, która używa lokalizacji usługi, aby znaleźć dostawcę czcionek do pobrania w:
DefaultEmojiCompatConfiguration
. - Zajęcia zostały przeniesione z pakietu
androidx.emoji
doandroidx.emoji2
. - Podziel widok
EmojiTextView
i powiązane widoki z oddzielnym artefaktememoji2-views
. Należy go używać tylko wtedy, gdy aplikacja nie korzysta z parametru appcompat. - Wyodrębnione elementy pomocnicze do integracji emotikonów z widokami niestandardowymi z oddzielnym artefaktem
emoji2-views-helper
. - Dodano adnotacje dopuszczalności wartości null.
- Elementy pomocnicze w
emoji2-views-helper
mogą być teraz używane nawet wtedy, gdy nie zainicjowano interfejsuEmojiCompat
(wcześniej utworzyli wyjątek).
Jaką zależność należy dodać?
- Aplikacje korzystające z AppCompat należy uaktualnić do wersji AppCompat
1.4.0-alpha01
lub nowszej. - Aplikacje bez AppCompat korzystające z
TextView
/EditText
z platformy powinny używaćEmojiTextView
i powiązanych klas zemoji2-views
.
Obsługa w widokach niestandardowych
- Aplikacje z AppCompat powinny mieć rozszerzenia
AppCompatTextView
,AppCompatButton
itp., a nie platformyTextView
itp. - Aplikacje bez AppCompat powinny dodawać zależność
androidx.emoji2:emoji2-views-helper
i używać elementów pomocniczych do integracji z niestandardowymi podklasamiTextView
lubEditText
.
Konfigurowanie automatycznego inicjowania
Aplikacje mogą wyłączyć automatyczne inicjowanie, dodając do pliku manifestu ten fragment:
<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>
Spowoduje to wyłączenie konfiguracji automatycznej. Możesz wtedy przekazać konfigurację niestandardową do
EmojiCompat.init
. Domyślna konfiguracja systemu przed przekazaniem doEmojiCompat.init
można pobrać na potrzeby dalszej konfiguracji z plikuDefaultEmojiCompatConfig.create(context)
.