Selektor emotikonów

Selektor emotikonów to interfejs, który oferuje nowoczesny wygląd i aktualność emotikony i łatwość obsługi. Użytkownicy mogą przeglądać i wybierać emotikony oraz ich warianty lub wybrać jeden spośród ostatnio używanych.

Rysunek 1. Selektor emotikonów
.
.

Dzięki tej bibliotece aplikacje z różnych źródeł mogą promować integrację społeczną ujednolicić interfejs emotikonów, a deweloperzy nie muszą tworzyć i utrzymać własny selektor emotikonów od podstaw.

Funkcje

Aktualne emotikony

Niedawno opublikowane emotikony są dodawane do selektora emotikonów. Biblioteka selektora emotikonów jest zgodna z wieloma wersjami Androida urządzenia.

Wersje przyklejone

Przytrzymaj emotikon, aby wyświetlić menu wariantów, takie jak różne płeć lub odcień skóry. Wybrany wariant jest zapisywany w selektorze emotikonów, a ostatnio wybrany wariant jest widoczny w panelu głównym.

Dzięki tej funkcji użytkownicy mogą wysyłać preferowane wersje emotikonów z jednym kliknij.

warianty emotikonów
Rysunek 2. Warianty emotikona
.
.

Najnowsze emotikony

najnowsze emotikony
Rysunek 3. Najnowsze emotikony
.
.

RecentEmojiProvider odpowiada za udostępnianie emotikonów w Ostatnio używane. W bibliotece jest domyślnego dostawcę emotikonów który jest satysfakcjonujący w najczęstszym przypadku użycia:

  • Wszystkie wybrane emotikony są zapisywane w ustawieniach wspólnych dla poszczególnych aplikacji.
  • Selektor wyświetla maksymalnie 3 wiersze wybranych emotikonów (z usuniętym duplikatem, w odwrotnej kolejności) w porządku chronologicznym.

Jeśli to domyślne działanie jest wystarczające, nie musisz używać setRecentEmojiProvider()

Może być jednak konieczne dostosowanie działania dostawcy. Oto kilka typowe scenariusze:

  • Chcesz przechowywać różne wybrane emotikony na poszczególnych kontach użytkowników.
  • Chcesz używać pamięci masowej innych niż ustawienia wspólne.
  • Chcesz wyświetlić ostatnie emotikony posortowane według częstotliwości.

Następnie możesz zaimplementować interfejs RecentEmojiProvider i skonfigurować go za pomocą setRecentEmojiProvider()

Zgodność z EmojiCompat

Jeśli ta opcja jest włączona, w selektorze emotikonów używane jest wystąpienie EmojiCompat aby wygenerować jak najwięcej emotikonów. Selektor emotikonów nie wymaga EmojiCompat.

Wymagania wstępne

Aplikacja musi być kierowana na Androida 5.0 (poziom interfejsu API 21) lub nowszego.

Korzystanie z biblioteki

  1. Importuj androidx.emoji2:emojipicker:$version do konta build.gradle aplikacji .

    dependencies {
        implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. Rozszerz widok selektora emotikonów i opcjonalnie ustaw parametry emojiGridRows oraz emojiGridColumns

    • Wartość domyślna parametru emojiGridColumns to 9.
    • Liczba wierszy jest obliczana na podstawie wysokości widoku nadrzędnego i wartości emojiGridColumns
    • Użyj wartości zmiennoprzecinkowej dla atrybutu emojiGridRows, aby wskazać, że użytkownik może przewiń w dół, aby zobaczyć więcej emotikonów.
    <androidx.emoji2.emojipicker.EmojiPickerView
        android:id="@+id/emoji_picker"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:emojiGridColumns="9" />
    
    val emojiPickerView = EmojiPickerView(context).apply {
        emojiGridColumns = 15
        layoutParams = ViewGroup.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.MATCH_PARENT
        )
    }
    
    findViewById<ViewGroup>(R.id.emoji_picker_layout).addView(emojiPickerView)
    
  3. Użyj setOnEmojiPickedListener(), aby dołączyć wybrane emotikony do widoku. Aby na przykład dołączyć do elementu EditText, wykonaj te czynności:

    emojiPickerView.setOnEmojiPickedListener {
        findViewById<EditText>(R.id.edit_text).append(it.emoji)
    }
    
  4. Opcjonalnie ustaw atrybut RecentEmojiProvider. Zobacz przykładową aplikację. implementacji.

  5. Opcjonalnie dostosuj style. Utwórz własny styl, aby zastąpić wspólny motyw i zastosuj styl do EmojiPickerView. Przykład: zastąpienia colorControlNormal zmienia kolor ikony kategorii.

    <style name="CustomStyle" >
        <item name="colorControlNormal">#FFC0CB</item>
    </style>
    <androidx.emoji2.emojipicker.EmojiPickerView
        android:id="@+id/emoji_picker"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:theme="@style/CustomStyle"
        app:emojiGridColumns="9" />
    

Przykładowa aplikacja

Przykładowa aplikacja do wyboru emotikonów pokazuje podstawowe przypadki użycia oraz w tych dodatkowych sytuacjach:

  • Ponowne obliczenie układu po zresetowaniu elementów emojiGridRows lub emojiGridColumns.
  • Zastąpiony dostawca emotikonów, który sortuje według częstotliwości.
  • Dodatkowe dostosowywanie stylu.