Emotikon2
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
21 sierpnia 2024 r. | 1.4.0 | 1.5.0-rc01 | - | - |
Deklarowanie zależności
Aby dodać zależność od emoji2, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .
Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle
aplikacji lub modułu:
Odlotowe
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 odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.
Zobacz dokumentację narzędzia Issue Tracker. .
Selektor emotikonów w wersji 1.0
Wersja 1.0.0-alpha03
8 marca 2023 r.
Usługa androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alfa03 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-alpha02
22 lutego 2023 roku
Usługa androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02
została zwolniona. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaliśmy 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 zapewnić obsługę emotikonów w wersji 15.0 (Ib4eb3)
- Podczas wybierania emotikona w wyskakującym okienku zmień wszystkie emotikony, które są identyczne (z wyjątkiem wiersza ostatnio wybranych). Wypowiadaj też emotikony po kliknięciu. (I892C6)
- Poczekaj, aż
EmojiPickerView
się załaduje. (I29e03)
Wersja 1.0.0-alpha01
25 stycznia 2023 r.
Usługa androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadziliśmy selektor emotikonów, który zapewnia spójne wrażenia użytkownika z najnowszymi emotikonami na urządzeniach i w aplikacjach OEM z systemem operacyjnym Android. Oferuje najnowszą obsługę i interfejs selektora emotikonów, w tym warianty odcieni skóry i zgodność emotikonów.
Zmiany interfejsu API
- Wprowadzono klasę
EmojiPickerView
, która wyświetla aktualne emotikony w widoku pionowym, który można przewijać w poziomie, 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()
. - Odkrywcę wybranego emotikona można ustawić za pomocą funkcji
setOnEmojiPickedListener()
. Osoba ta będzie otrzymywać powiadomienie za każdym razem, gdy kliknie dowolny emotikon. - Najnowszego dostawcy emotikonów można użyć za pomocą
setRecentEmojiProvider()
. Ta funkcja jest opcjonalna. Jeśli nie ustawisz ostatnio wybranego dostawcy emotikonów, biblioteka będzie używać domyślnego dostawcy emotikonów. Domyślne działanie jest określone w ten sposób: 1) Wszystkie wybrane emotikony zostaną zapisane w preferencjach wspólnych na poziomie aplikacji. 2) Selektor wyświetli maksymalnie 3 wiersze wybranych emotikonów (z usuniętymi duplikatami) w odwrotnej kolejności chronologicznej. - Wprowadzono klasę
EmojiViewItem
, która zawiera wyświetlane emotikony oraz ich warianty. - Nowy interfejs
RecentEmojiProvider
, który można wdrożyć w celu udostępniania najnowszych emotikonów.recentEmojiProvider
odpowiada za udostępnianie emotikonów w kategorii „Ostatnio używane”.
Wersja 1.5
Wersja 1.5.0-rc01
21 sierpnia 2024 r.
Usługa androidx.emoji2:emoji2-*:1.5.0-rc01
została zwolniona. Wersja 1.5.0-rc01 zawiera te zatwierdzenia.
Nowe funkcje
- Obsługa interfejsu emotikonów 15.1 i dwukierunkowego selektora emotikonów. Wystarczy kliknąć dwukierunkowy przełącznik, aby użytkownicy mogli przełączać się między lewą a prawą wersją emotikonów.
- Obsługuj selektor emotikonów w różnych kolorach. Naciśnięte i przytrzymanie emotikona pary powodują wyświetlenie selektora wieloosobowego emotikona dla stanu zerowego. Gdy użytkownik kliknie lewą część emotikona, podgląd emotikona w prawym dolnym rogu zostanie odpowiednio zaktualizowany. Gdy użytkownik wybierze obie połówki emotikona, na podglądzie zobaczysz cały emotikon, a użytkownik będzie mógł go wpisać.
Poprawki błędów
- Usunęliśmy ręczne dodawanie informacji o dostępie do nowych interfejsów API platformy, ponieważ dzieje się to automatycznie przez modelowanie API w przypadku korzystania z R8 z pakietem AGP w wersji 7.3 lub nowszej (np. R8 w wersji 3.3) oraz wszystkich kompilacji z pakietem AGP 8.1 lub nowszym (np. D8 w wersji 8.1). Klientom, którzy nie korzystają z pakietu AGP, zalecamy zaktualizowanie go do wersji D8 w wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (If6b4c, b/345472586)
- Wybór karty i wskaźnik na koncie
EmojiPickerView
jest aktualizowane o jedno kliknięcie później. (146b02, b/288261054) - Wybór karty i wskaźnik urządzenia
EmojiPickerView
nie działają prawidłowo. (5e1f14, b/273883688)
Wersja 1.5.0-beta01
10 lipca 2024 r.
Usługa androidx.emoji2:emoji2-*:1.5.0-beta01
została zwolniona. Wersja 1.5.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Obsługa interfejsu wyboru emotikonów 15.1 i dwukierunkowego wyboru emotikonów.
- Obsługuj nowy wygląd wyboru wieloskładnikowego.
Poprawki błędów
- Wybór karty i wskaźnik na koncie
EmojiPickerView
jest aktualizowane o jedno kliknięcie później. (146b02, b/288261054) - Wybór karty i wskaźnik urządzenia
EmojiPickerView
nie działają prawidłowo. (5e1f14, b/273883688)
Wersja 1.5.0-alpha01
13 grudnia 2023 r.
Usługa androidx.emoji2:emoji2-*:1.5.0-alpha01
została zwolniona. Wersja 1.5.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
emoji2-bundled
zawiera zaktualizowaną czcionkę z emotikonami, która obsługuje emotikon w wersji 15.1.
Zmiany interfejsu API
- Dodaj wykonawców, aby kontrolować wątek wywołania zwrotnego dla zadania
InitCallback
. (I32b67) BundledEmojiCompatConfig
korzysta teraz z wykonawcy, który kontroluje wczytywanie wątków. (I00e81)
Wersja 1.4
Wersja 1.4.0
9 sierpnia 2023 r.
Usługa androidx.emoji2:emoji2-*:1.4.0
została zwolniona. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.3.0
- Udostępniliśmy bibliotekę selektora emotikonów. Więcej informacji znajdziesz w dokumentacji dla programistów.
Wersja 1.4.0-rc01
26 lipca 2023 r.
Usługa androidx.emoji2:emoji2-*:1.4.0-rc01
została zwolniona. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Wprowadź listę
registerSource
(Iae92f) - Opinia Rady interfejsu API: zmieniono nazwę z
TransitionManager.seekTo()
nacreateSeekController()
. Zmień poprzedni komentarz na temat dodania użytkownikaTransitionManager.seekTo()
do:TransitionManager.createSeekController()
. (Idbeb1), - Dodano klasę
ExerciseRouteResult
, która nie jest superklasą w klasachData
,NoData
iConsentRequiredStates
. Dodano klasęExerciseRoute
jako samodzielną klasę, która przechowuje dane o lokalizacji na trasie. (Z22iK) - Wdrożenie funkcji
PagerLayoutInfo
z informacjami zebranymi po zaliczeniu pomiaru na stronie Pager. Wprowadziliśmy też funkcję PageInfo, która zawiera informacje o pojedynczej stronie objętej pomiarem. (Iad003, b/283098900)
Poprawki błędów
- Zaktualizowaliśmy kolory produktów
Button
,IconButton
iTextButton
, aby były zgodne ze stylem Material3. Rolę semantyczną w usługachButton
,IconButton
iTextButton
można teraz zastąpić za pomocą ustawieniaModifier.semantics
. (IB2495) - Naprawiono wybór kart i wskaźnik na urządzeniu
EmojiPickerView
po kliknięciu. (I4db04). FileNotFoundException
o wyświetlaniu selektora emotikonów (I353e4)- Złap
WindowManager.BadTokenException
podczas korzystania z narzędziaEmojiPickerView
(I0a144)
Wersja 1.4.0-beta05
7 czerwca 2023 r.
Usługa 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 związany z wersją 1.3, w wyniku którego funkcje
MetricsAffectingSpans
, np.RelativeSizeSpan
, były stosowane podwójnie. Raz podczas układu tekstu, a potem ponownie w komponencieEmojiSpan.draw
. Rozmiar wyniku ma nieprawidłowy rozmiar, co widać, jeśli rozmiar tekstu zostanie zmieniony przez rozpiętość. (B/283208650)
Wersja 1.4.0-beta04
24 maja 2023 r.
Usługa 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 widoki z użyciem innej funkcji powodowały zgłaszanie wyjątku przy próbie zaktualizowania rozpiętości emotikonów po zakończeniu wczytywania czcionki. Nie ma sposobu obejścia tego problemu. Jeśli ten błąd Cię dotyczy, przejdź na tę wersję lub nowszą wersję.
Poprawki błędów
- Wywołania zwrotne
EmojiCompat
inicjowane będą teraz korzystać z modułu obsługi z każdego widoku z uwzględnieniem wyświetleń spoza wątku głównego. (Iccbcf).
Wersja 1.4.0-beta03
10 maja 2023 r.
Usługa 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 widoku wyskakującego selektora emotikonów. (0acc8e).
- Dodaj wcześniejsze wyjątki w:
EmojiCompat getEmojiStart/getEmojiEnd
. (26177f)
Wersja 1.4.0-beta02
19 kwietnia 2023 r.
Usługa 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 podstawowych lint (Iaa212)
Wersja 1.4.0-beta01
5 kwietnia 2023 r.
Usługa 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 interfejs, który zapewnia nowoczesny wygląd i styl oraz pozwala korzystać z aktualnych emotikonów i łatwości obsługi. Użytkownicy mogą przeglądać i wybierać emotikony oraz ich warianty lub wybierać spośród ostatnio używanych. Dzięki tej bibliotece aplikacje różnych producentów OEM mogą zapewnić użytkownikom spójne i promujące integrację społeczną emotikony, bez konieczności tworzenia i utrzymywania od podstaw własnego selektora emotikonów.
Aktualne emotikony
Co roku udostępniamy nowe emotikony, które są dobierane w selektorze emotikonów. Aby zapewnić zgodność wsteczną, przeprowadzamy wewnętrznie dokładną kontrolę renderowania emotikonów, aby wyeliminować tofu. Dzięki temu biblioteka będzie kompatybilna z różnymi wersjami Androida i urządzeń.
Wersje przyklejone
Po przytrzymaniu emotikona wyświetli się menu wariantów, np. różne płcie lub odcienie 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 wersje emotikonów jednym kliknięciem.
Najnowsze emotikony
RecentEmojiProvider
odpowiada za udostępnianie emotikonów w kategorii „Ostatnio używane”. W bibliotece ma domyślnego dostawcę emotikonów, który spełnia najczęstsze przypadki użycia:
- Wszystkie wybrane emotikony są zapisywane w ustawieniach wspólnych na poziomie aplikacji.
- Selektor wyświetla maksymalnie 3 wiersze wybranych emotikonów (z usuniętym duplikatem) w odwrotnej kolejności chronologicznej.
Jeśli to domyślne działanie jest wystarczające, nie musisz ustawiać metody setRecentEmojiProvider()
.
Praca z Emotikony
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 zasada EmojiCompat
jest wyłączona, selektor emotikonów działa normalnie.
Jak korzystać z biblioteki
Aby można było korzystać z biblioteki, deweloper aplikacji powinien
Importuj
androidx.emoji2:emojipicker:$version
w:build.gradle
.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Rozszerz widok selektora emotikonów i opcjonalnie ustaw wartości
emojiGridRows
orazemojiGridColumns
na podstawie żądanego rozmiaru każdej komórki z emotikonami.- Możesz pozostawić je nieskonfigurowane. Wartość domyślna to 9
emojiGridColumns
. Liczba wierszy będzie obliczana na podstawie wysokości widoku nadrzędnego iemojiGridColumns
. - Możesz ustawić
emojiGridRows
jako liczbę zmiennoprzecinkową, aby wskazać, że dostępnych jest więcej emotikonów, gdy przewiniesz w dół. w pliku XML
<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)
Jeśli chcesz dodać wybrane emotikony do tekstu 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ć wspólne atrybuty motywu i zastosować styl do elementów typu
EmojiPickerView
. Na przykład zastąpienie atrybutucolorControlNormal
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" />
Zobacz przykładową aplikację.
Pełną platformę interfejsu API można znaleźć tutaj.
Przykładowa aplikacja
Ta przykładowa aplikacja przedstawia podstawowe przypadki użycia oraz dodatkowo następujące scenariusze:
- Widok został zmieniony, ponieważ zresetowano
emojiGridRows
iemojiGridColumns
. - Ostatni dostawca emotikonów zostanie zastąpiony, aby sortować treści według częstotliwości.
- Dostosowywanie stylu.
Zmiany interfejsu API
Do biblioteki selektora emotikonów dodaliśmy następujące nowe interfejsy API:
- Klasa
EmojiPickerView
, która udostępnia aktualne emotikony w widoku pionowym, który można przewijać w poziomie, 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 emotikona za pomocą metody
setOnEmojiPickedListener()
. Słuchacz otrzyma powiadomienie za każdym razem, gdy kliknie dowolny emotikon. - Możliwość udostępnienia aktualnego dostawcy emotikonów za pomocą metody
setRecentEmojiProvider()
. Ta funkcja jest opcjonalna. Jeśli nie skonfigurowano ostatniego dostawcy emotikonów, biblioteka będzie używać domyślnego dostawcy emotikonów. Działanie domyślne jest określone w ten sposób:- Wszystkie wybrane emotikony zostaną zapisane w udostępnionych preferencjach na poziomie aplikacji.
- Selektor wyświetli maksymalnie 3 wiersze wybranych emotikonów (z usuniętym duplikatem) w odwrotnej kolejności chronologicznej.
- Klasa
EmojiViewItem
, która zawiera wyświetlane emotikony oraz ich warianty. - Interfejs
RecentEmojiProvider
, który można zaimplementować, aby wyświetlić listę najnowszych emotikonów.recentEmojiProvider
odpowiada za udostępnianie emotikonów w kategorii „Ostatnio używane”. - Interfejs
RecentEmojiAsyncProvider
, który można zaimplementować, aby wyświetlić listę najnowszych emotikonów.RecentEmojiAsyncProvider
odpowiada za udostępnianie emotikonów w kategorii „Ostatnio używane”. Ten interfejs jest odpowiednikiem metodyRecentEmojiProvider
, która umożliwia klientom zastąpienie metodygetRecentEmojiListAsync()
w celu dostarczania najnowszych emotikonów. - Klasa
RecentEmojiProviderAdapter
, która jest adapterem obiektuRecentEmojiAsyncProvider
i implementujeRecentEmojiProvider
.
Wersja 1.4.0-alpha01
22 marca 2023 r.
Usługa androidx.emoji2:emoji2-*:1.4.0-alpha01
została zwolniona. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiaj testy, wyłączaj testy niestabilne i czyszczenie danych.
Wersja 1.3
Wersja 1.3.0
22 marca 2023 r.
Usługa androidx.emoji2:emoji2-*:1.3.0
została zwolniona. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.2.0
- W tej wersji Compose Foundation
1.4.0
i nowszych wersjach można włączyć integrację emotikon2. - Umożliwia też zastąpienie
EmojiSpans
niestandardowego kodu rysunku, a także obsługę wykluczeń emotikonów zdefiniowanych w Androidzie.
Wersja 1.3.0-rc01
8 marca 2023 r.
Usługa 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ę redagowania emotikona2.
Zmiany interfejsu API
- Zastępuje spany niestandardowego kodu rysunku.
- Wysyłanie zapytań o wykluczenia systemowe.
Poprawki błędów
- Naprawiliśmy też błąd, przez który rozpiętości tła w tabeli
EmojiSopans
nie były prawidłowo stosowane.
Wersja 1.3.0-beta03
23 lutego 2023 r.
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
zostały udostępnione.
22 lutego 2023 roku
Usługa androidx.emoji2:emoji2:1.3.0-beta03
została zwolniona. Wersja 1.3.0-beta03 zawiera te zatwierdzenia.
Nowe funkcje
- Brak zmian. Ta wersja ma przygotować się do integracji tworzenia wiadomości.
Wersja 1.3.0-beta02
8 lutego 2023 r.
Usługa androidx.emoji2:emoji2-*:1.3.0-beta02
została zwolniona. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Nowe funkcje
- Ta wersja jest stabilizowana na potrzeby integracji tworzenia wiadomości.
Wersja 1.3.0-beta01
25 stycznia 2023 r.
Usługa 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 systemowe.
- Zastępowanie spanów na potrzeby niestandardowego kodu rysunku.
- Naprawiliśmy też błąd, przez który rozpiętości tła w tabeli
EmojiSopans
nie były prawidłowo stosowane. - W tej wersji dodaliśmy interfejsy API niezbędne do obsługi funkcji
EmojiCompat
w Compose. W najbliższej przyszłości wprowadzimy obsługę funkcji tworzenia emotikonów.
Wersja 1.3.0-alpha01
11 stycznia 2023 r.
Usługa androidx.emoji2:emoji2-*:1.3.0-alpha01
została zwolniona. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.
Nowe interfejsy API do interakcji niskiego poziomu
- Wykluczenia systemowe wysyłania zapytań
- Zastępowanie spanów niestandardowego kodu rysunku
- Naprawiliśmy też błąd, przez który rozpiętości tła w tabeli
EmojiSopans
nie były prawidłowo stosowane. - W tej wersji dodaliśmy interfejsy API niezbędne do obsługi funkcji
EmojiCompat
w Compose. W najbliższej przyszłości wprowadzimy obsługę funkcji tworzenia emotikonów.
Zmiany interfejsu API
- Do
TypefaceEmojiRasterizer
dodano możliwość wysyłania zapytań o wykluczenia systemu. (I5653e) - Dodano nowy interfejs API
EmojiCompat.SpanFactory
, który zastępuje domyślne zachowanieEmojiSpan
niestandardowymi rysunkami i kodem do określania rozmiaru. (IB69d9) - Dodano element
EmojiCompat
do funkcji Utwórz (I96f37, b/139326806)
Poprawki błędów
- emotikon2 będzie teraz prawidłowo rysować tło z urządzenia
BackgroundSpan
. (Ide6a8, b/230525134) - Finalizacja interfejsów API AppCompat dla wersji 1.5.0-beta01 (I2a43d, b/236866227)
Wersja 1.2
Wersja 1.2.0
10 sierpnia 2022 r.
Usługa 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 aplikacje korzystające z metod PrecomputedText
lub TextView.setText(char[])
powinny
nadaj priorytet tej wersji.
Naprawiliśmy następujące błędy:
- Aplikacja
Emoji2
doda emotikony do aplikacjiPrecomputedText
, ignorując wstępnie obliczony układ tekstu. (I47d06, b/211231958) - Naprawiono awarię edytora backendu z Androida P do wersji
EditText
, w której skonfigurowano używanie emotikon2. (Ifd709, b/216891011) - Naprawiono błąd, który powodował, że emotikon 2 wczytuje czcionkę i była używana
TextView.setText(char[])
. (Id511e, b/206859724)
Wersja 1.2.0-rc01
27 lipca 2022 roku
Usługa androidx.emoji2:emoji2-*:1.2.0-rc01
została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
- Bez zmian od ostatniej wersji beta.
Wersja 1.2.0-beta01
13 lipca 2022 r.
Usługa androidx.emoji2:emoji2-*:1.2.0-beta01
została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Brak zmian w porównaniu z poprzednią wersją (ta wersja będzie obsługiwać wersję AppCompat).
Wersja 1.2.0-alfa04
20 kwietnia 2022 r.
Usługa androidx.emoji2:emoji2-*:1.2.0-alpha04
została zwolniona. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Brak zmian w tej wersji.
Wersja 1.2.0-alfa03
6 kwietnia 2022 roku
Usługa androidx.emoji2:emoji2-*:1.2.0-alpha03
została zwolniona. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- Brak zmian w porównaniu z poprzednią wersją (ta wersja będzie obsługiwać wersję kompatybilną z aplikacją).
Wersja 1.2.0-alfa02
23 marca 2022 r.
Usługa androidx.emoji2:emoji2-*:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.
Poprawki błędów
- Emotikony2 doda emotikon do
PrecomputedText
, ignorując wstępnie obliczony układ tekstu. (I47d06, b/211231958) - Naprawiono awarię edytora backendu z Androida P do wersji EditText, w której skonfigurowano używanie emotikon2. (Ifd709, b/216891011)
- Naprawiono błąd, który powodował, że emotikon 2 wczytuje czcionkę i była używana
TextView.setText(char[])
. (Id511e, b/206859724)
Wersja 1.2.0-alpha01
23 lutego 2022 r.
Usługa androidx.emoji2:emoji2-*:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.
Brak zmian od wersji 1.1.0.
1,1
Wersja 1.1.0
23 lutego 2022 r.
Usługa androidx.emoji2:emoji2-*:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.0.0
- pakiet emotikon2 zawiera czcionkę emotikonów 14
- Nowy interfejs API
getEmojiMatch
zwraca dokładne informacje dla klawiatur, aby określić sposób wyświetlania emotikona w przypadku obecności czcionki kompatybilnej z emotikonami, która znajduje się za czcionką systemową. - Poprawka błędu
NumberKeyListener
, która sprawia, że wpisywanie cyfr poprawnie filtruje znaki.
Wersja 1.1.0-rc01
9 lutego 2022 r.
Usługa 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 emotikon2 1.0.0:
emoji2-bundled
zawiera czcionkę emotikonów 14- Nowy interfejs API
getEmojiMatch
zwraca dokładne informacje dla klawiatur, aby określić sposób wyświetlania emotikona w przypadku obecności czcionki kompatybilnej z emotikonami, która znajduje się za czcionką systemową. - Poprawka błędu
NumberKeyListener
, który sprawia, że wpisywane cyfry prawidłowo filtrują znaki
Wersja 1.1.0-beta01
26 stycznia 2022 r.
Usługa androidx.emoji2:emoji2-*:1.1.0-beta01
została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Poprawki błędów
- Wersja androidx-emoji2 beta01. Brak zmian w stosunku do wersji alfa01 (Ic61d9)
Wersja 1.1.0-alpha01
15 grudnia 2021 roku
Usługa androidx.emoji2:emoji2-*:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
emoji2-bundled
zawiera czcionkę emotikonów 14- Nowy interfejs API
getEmojiMatch
zwraca dokładne informacje dla klawiatur, aby określić sposób wyświetlania emotikona w przypadku obecności czcionki kompatybilnej z emotikonami, która znajduje się za czcionką systemową. - Poprawka błędu
NumberKeyListener
, który sprawia, że wpisywane cyfry prawidłowo filtrują znaki
Zmiany interfejsu API
- Dodaj nowy interfejs API
getEmojiMatch
, aby umożliwić klawiaturom dokładniejsze wyszukiwanie dopasowania emotikonów w aplikacji Zgodność z emotikonami. - Wycofujemy
hasEmojiGlyph
, ponieważ zwracana wartość logiczna jest nieprawidłowa podczas testowania czcionki w starszej wersji niż czcionka emotikonu platformy. Zamień na elementgetEmojiMatch
. (IE693D).
Poprawki błędów
- Emotikony2 nie zapakują instancji
NumberKeyListener
, co pozwoli na skonfigurowanie języka przezTextView
. - Appcompat nie będzie opakowywać instancji
NumberKeyListener
przekazanych dosetKeyListener
, co pozwoli usłudzeTextView
prawidłowo skonfigurować język w systemieNumberKeyListeners
. (Ibf113, b/207119921)
1,0
Wersja 1.0.1
15 grudnia 2021 roku
Usługa androidx.emoji2:emoji2-*:1.0.1
została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
Emoji2
nie będzie opakowywać instancji z językiemNumberKeyListener
, co pozwoli na skonfigurowanie języka przezTextView
.- Appcompat nie będzie opakowywać instancji
NumberKeyListener
przekazanych dosetKeyListener
, co pozwoli usłudzeTextView
prawidłowo skonfigurować język w systemieNumberKeyListeners
. (Ibf113, b/207119921)
Wersja 1.0.0
17 listopada 2021 r.
Usługa androidx.emoji2:emoji2-*:1.0.0
została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje 1.0.0
androidx.emoji2 zastępuje aplikację androidx.emoji o dodatkowe funkcje:
- Zmniejszenie rozmiaru pliku APK w porównaniu z androidx.emoji
- Konfiguracja automatyczna
- Dodano jako zależność w komponencie appcompat 1.4.
Więcej informacji na temat androidx.emoji2 znajdziesz w artykule Obsługa współczesnych emotikonów oraz podczas naszego wydarzenia Android Dev Summit Wyświetlanie WSZYSTKICH emotikonów w aplikacji na Androida w wersji deweloperskiej.
Wersja 1.0.0-rc01
27 października 2021 roku
Usługa androidx.emoji2:emoji2-*:1.0.0-rc01
została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
- Brak zmian od wersji beta02.
Emotikony2 w wersji 1.0.0-beta01
15 września 2021 r.
Usługa androidx.emoji2:emoji2-*:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
Dodano
setLoadingExecutor
do listyFontRequestEmojiCompatConfig
, który zastępuje poprzedni interfejs APIsetHandler
. Ten interfejs API umożliwia aplikacjom skonfigurujFontRequestEmojiCompatConfig
tak, aby używał dowolnego wykonawcy działającego w tle.Ta zmiana jest niezbędna w stosunku do
androidx.emoji:emoji
, więc Aby ułatwić migrację, interfejssetHandler
jest zachowywany jako wycofany interfejs API bezobsługowy. (I6cd48).Emotikony prawidłowo ustawia
EditorInfo.extras
na Androidzie 11- Widżety niestandardowe, które nie używają podklasy IME, mogą wywoływać metodę EditText
EmojiCompat.updateEditorInfo
, aby poinformować IME o obsłudze Przetwarzam emojiCompat. (I1EA9b)
- Widżety niestandardowe, które nie używają podklasy IME, mogą wywoływać metodę EditText
Poprawki błędów
- Popraw
DefaultEmojiCompatConfig
, aby prawidłowo wyszukiwać czcionkę emotikonów dla interfejsów API 19 i 28. Naprawiliśmy błąd wprowadzonego w emotikon2 1.0.0-alfa01. (Ib33d8, b/197906329)
Wersja 1.0.0-alpha03
30 czerwca 2021 r.
Usługa androidx.emoji2:emoji2-*:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
Ta wersja zawiera poprawki błędów i stabilizację.
- emojiEditTextHelper umożliwia teraz przekazywanie elementu
null
jako detektora kluczy. Umożliwia to działanie platformy polegające na stosowaniu wartości null do emotikonów obsługujących implementacje EditText. - W przypadku korzystania z EmotikonCompatInitializer opóźnienie początkowego uruchomienia jest poprawione, aby aktywować się po wznowieniu pierwszej aktywności. Dzięki temu aplikacja uruchamia się bez zakłóceń i unika wczytywania czcionki w przypadku uruchomień aplikacji, które nigdy nie wyświetlają interfejsu. Po krótkim opóźnieniu emotikon emojiCompat utworzy wątek, aby wczytać czcionkę z emotikonami.
- W celu wdrożenia opóźnienia została dodana nowa zależność od
androidx.lifecycle:lifecycle-process
zandroidx.emoji2:emoji2
. Będzie to miało nieistotny wpływ na rozmiar pliku APK w przypadku aplikacji, które mają już określony cykl życia (np. aplikacji z kompatybilną aplikacją).
Zmiany interfejsu API
- Zezwalaj na pustą wartość KeyListener w aplikacji AppCompatEditText. Powoduje to odwrócenie niepusta adnotacja, która została dodana do AppCompatEditText w wersji 1.4.0-alfa01 i przywraca poprzednie zachowanie po przekroczeniu wartości null. (I21482, b/189559345)
Poprawki błędów
- Zmień emojiCompatInitializer, by ładować czcionkę do
500 ms po pierwszym
Activity.onResume
. Dzięki temu aktywność może: wykonać zadaniaApplication.onCreate
iActivity.onCreate
bez rywalizacji, nadal upewniając się, że czcionka emotikonu została załadowana 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
zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nazwa pakietu w
emoji2-views-helper
została zmieniona naandroidx.emoji2.viewsintegration
To niezwykła zmiana dla AppCompat1.4.0-alpha01
i aplikacje muszą upewnić się, że do korzystania z zależności AppCompat została zaktualizowana zależność nową wersję emotikonów2. (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
zostały udostępnione. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Funkcje tej pierwszej wersji
W przypadku wszystkich aplikacji, które obsługują nowoczesne emotikony z interfejsu API 19, zalecamy zintegrowanie funkcji zgodności emotikonów. Wszystkie treści w Twojej aplikacji generowane przez użytkowników zawierają 🎉.
Przenieśliśmy emotikonaCompat z artefaktów androidx.emoji
do nowego androidx.emoji2
, teraz w wersji alfa01. Nowe artefakty zastępują poprzednią wersję.
Metoda emoji2
została dodana jako zależność do AppCompat w kompilacji AppCompat 1.4.0-alpha01
i domyślnie włączona w widokach AppCompat.
Artefakt emoji2
wprowadza nową konfigurację automatyczną za pomocą biblioteki androidx.startup
. Nie musisz już pisać kodu 👨🏽 💻 do wyświetlenia 🐻 ☕️
Zmiany w emotikonie2 w stosunku do emotikonów
- Dodano nową konfigurację automatyczną
EmojiCompatInitializer
za pomocą:androidx.startup
. - Dodano nową konfigurację domyślną, która korzysta z lokalizacji usługi, aby znaleźć dostawcę czcionek do pobrania w
DefaultEmojiCompatConfiguration
. - Zajęcia zostały przeniesione z pakietu
androidx.emoji
doandroidx.emoji2
. - Podziel
EmojiTextView
i powiązane widoki na osobny artefaktemoji2-views
. Należy go używać tylko wtedy, gdy aplikacja nie korzysta z kompatybilności aplikacji. - Wyodrębniono pomocniki do integracji kompatybilności emotikonów z widokami niestandardowymi w osobnym artefaktie
emoji2-views-helper
. - Dodano adnotacje dotyczące dopuszczalności wartości null.
- Elementy pomocnicze w trybie
emoji2-views-helper
mogą być teraz używane nawet wtedy, gdy systemEmojiCompat
nie został zainicjowany (wcześniej stanowił wyjątek).
Jaką zależność należy dodać?
- Aplikacje z AppCompat należy uaktualnić do wersji AppCompat
1.4.0-alpha01
lub nowszej. - Aplikacje bez AppCompat korzystające z platformy
TextView
/EditText
powinny używaćEmojiTextView
i powiązanych klas zemoji2-views
.
Obsługa widoków niestandardowych
- Aplikacje z AppCompat powinny obejmować rozszerzenia
AppCompatTextView
,AppCompatButton
itp., a nie platformyTextView
itp. - Aplikacje bez AppCompat powinny dodać zależność
androidx.emoji2:emoji2-views-helper
i korzystać z pomocników do integracji z niestandardowymi podklasamiTextView
lubEditText
.
Konfigurowanie automatycznego inicjowania
Aplikacje mogą wyłączyć automatyczne inicjowanie, dodając ten element do pliku manifestu:
<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 automatycznej konfiguracji. Następnie możesz przekazać konfigurację niestandardową do
EmojiCompat.init
. Domyślna konfiguracja systemu może zostać pobranaDefaultEmojiCompatConfig.create(context)
w celu dalszej konfiguracji przed przekazaniem doEmojiCompat.init
.