Emotikon 2

Wyświetlaj emotikony na obecnych i starszych urządzeniach.
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.

Utwórz nowy numer

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 funkcji setEmojiGridColumns().
  • Wiersze siatki selektora emotikonów można ustawić za pomocą atrybutu XML emojiGridRows lub funkcji setEmojiGridRows().
  • 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” odpowiada recentEmojiProvider.

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

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() na createSeekController(). Zmień poprzedni komentarz dotyczący dodawania użytkownika TransitionManager.seekTo() do albumu TransitionManager.createSeekController(). (Idbeb1)
  • Dodano klasę ExerciseRouteResult, która nie jest klasą nadrzędną dla Data, NoData i ConsentRequiredStates. Dodano ExerciseRoute 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 i TextButton, aby były zgodne z wyglądem Material3. Rolę semantyczną tych usług (Button, IconButton i TextButton) można teraz zastąpić za pomocą funkcji Modifier.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ąc EmojiPickerView (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 jak RelativeSizeSpan, były stosowane dwukrotnie. Raz w układzie tekstu i ponownie w EmojiSpan.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

  1. Importuj androidx.emoji2:emojipicker:$version w usłudze build.gradle.

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. Powiększ widok selektora emotikonów i opcjonalnie ustaw emojiGridRows oraz emojiGridColumns 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ści emojiGridColumns.
    • 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" />
    

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)
  1. 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)
      }
    
  2. Opcjonalnie ustaw RecentEmojiProvider. Przykład implementacji znajdziesz w przykładowej aplikacji.

  3. Opcjonalnie dostosuj style. Utwórz własny styl, aby zastąpić typowe atrybuty motywu i zastosować go do elementu EmojiPickerView. Na przykład zastąpienie colorControlNormal 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 i emojiGridColumns 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 i emojiGridRows lub metod setEmojiGridColumns() i setEmojiGridRows().
  • 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” odpowiada recentEmojiProvider.
  • Interfejs RecentEmojiAsyncProvider, który można zaimplementować, aby udostępnić listę najnowszych emotikonów. Za wyświetlanie emotikonów w kategorii „Ostatnio używane” odpowiada RecentEmojiAsyncProvider. Ten interfejs jest odpowiednikiem interfejsu RecentEmojiProvider, który umożliwia klientom zastąpienie metody getRecentEmojiListAsync() w celu dostarczania najnowszych emotikonów.
  • Klasa RecentEmojiProviderAdapter, która jest adapterem dla RecentEmojiAsyncProvider i implementuje RecentEmojiProvider.

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 zachowania EmojiSpan 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 aplikacji PrecomputedText, 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ń na getEmojiMatch. (Ie693d)

Poprawki błędów

  • Emotikon2 nie pakuje wystąpień NumberKeyListener, co umożliwia skonfigurowanie języka przez TextView.
  • Appcompat nie pakuje instancji NumberKeyListener przekazanych do setKeyListener, co umożliwia usłudze TextView prawidłowe skonfigurowanie języka w NumberKeyListeners. (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 instancji NumberKeyListener, co umożliwia skonfigurowanie języka przez TextView.
  • Appcompat nie pakuje instancji NumberKeyListener przekazanych do setKeyListener, co umożliwia usłudze TextView prawidłowe skonfigurowanie języka w NumberKeyListeners. (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 interfejs setLoadingExecutor, który zastępuje poprzedni interfejs API setHandler. Ten interfejs API umożliwia aplikacjom skonfigurowanie funkcji FontRequestEmojiCompatConfig w celu korzystania z dowolnego wykonawcy działającego w tle.

    Ta zmiana stanowi zmianę powodującą niezgodność z androidx.emoji:emoji, dlatego setHandler 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).

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.

  1. 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.
  2. 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 z androidx.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 i Activity.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 na androidx.emoji2.viewsintegration. Jest to niezbędna zmiana w metodzie AppCompat 1.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łudze androidx.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 do androidx.emoji2.
  • Podziel widok EmojiTextView i powiązane widoki z oddzielnym artefaktem emoji2-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 interfejsu EmojiCompat (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 z emoji2-views.

Obsługa w widokach niestandardowych

  • Aplikacje z AppCompat powinny mieć rozszerzenia AppCompatTextView, AppCompatButton itp., a nie platformy TextView itp.
  • Aplikacje bez AppCompat powinny dodawać zależność androidx.emoji2:emoji2-views-helper i używać elementów pomocniczych do integracji z niestandardowymi podklasami TextView lub EditText.

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 do EmojiCompat.init można pobrać na potrzeby dalszej konfiguracji z pliku DefaultEmojiCompatConfig.create(context).