Emoji Seçici

Emoji seçici, modern bir görünüm ve his, güncel emoji'ler ve kullanım kolaylığı sunan bir kullanıcı arayüzü çözümüdür. Kullanıcılar emojilere ve varyantlarına göz atıp bunları seçebilir veya son kullandıkları emojilerden birini tercih edebilir.

Şekil 1. Emoji Seçici

Bu kitaplık sayesinde, çeşitli kaynaklardan gelen uygulamalar, geliştiricilerin kendi emoji seçicilerini sıfırdan oluşturup bakımını yapmasına gerek kalmadan kullanıcılarına kapsayıcı ve birleşik bir emoji deneyimi sunabilir.

Özellikler

Emoji seçicinin özellikleri:

Güncel emoji'ler

Yeni yayınlanan emojiler, Emoji Seçici'ye seçilerek eklenir. EmojiPicker kitaplığı, birden fazla Android sürümü ve cihazla uyumludur.

Yapışkan varyantlar

Farklı cinsiyetler veya ten tonları gibi varyantların menüsünü görüntülemek için bir emojiye uzun basın. Seçtiğiniz varyant, emoji seçicide kaydedilir ve ana panelde son seçilen varyant kullanılır.

Bu özellik sayesinde kullanıcılar, tercih ettikleri emoji varyantlarını tek dokunuşla gönderebilir.

emoji varyantları
Şekil 2. Emoji varyantları.

Son kullanılan emoji

Son kullanılan emoji
Şekil 3. Son kullanılan emoji'ler.

RecentEmojiProvider, Son Kullanılanlar kategorisinde emoji sağlamaktan sorumludur. Kitaplıkta, en yaygın kullanım alanını karşılayan varsayılan bir son kullanılan emoji sağlayıcı bulunur:

  • Seçilen tüm emojiler, paylaşılan tercihlerde uygulama bazında kaydedilir.
  • Seçici, en fazla üç satır seçilmiş, yinelenenleri kaldırılmış ve ters kronolojik sıraya göre sıralanmış emoji gösterir.

Bu varsayılan davranış yeterliyse setRecentEmojiProvider() kullanmanız gerekmez.

Ancak sağlayıcı davranışını özelleştirmeniz gerekebilir. Sık karşılaşılan senaryolardan bazıları şunlardır:

  • Kullanıcı hesabı başına farklı seçilmiş emojiler depolamak istiyorsanız.
  • Paylaşılan tercihler dışında bir veri depolama alanı kullanmak istiyorsanız.
  • Sık kullanılan emojileri sıklıklarına göre sıralayarak göstermek istiyorsanız.

Ardından RecentEmojiProvider arayüzünü uygulayabilir ve setRecentEmojiProvider() kullanarak ayarlayabilirsiniz.

Yön seçici

Emoji seçici, Emoji 15.1'den itibaren çift yönlü emojileri destekler. Kullanıcılar, emoji'nin sola ve sağa bakan versiyonları arasında geçiş yapmak için çift yönlü değiştiriciye dokunabilir.

çift yönlü sol emoji

Şekil 4. Sola bakan çift yönlü emoji.

çift yönlü sağ emoji

Şekil 5. Sağa bakan çift yönlü emoji.

Çok karakterli emoji seçici

Kullanıcılar, çok karakterli emoji seçeneklerini görmek için emoji çiftlerine dokunup basılı tutabilir.

emoji çiftine dokunup basılı tutma

Şekil 6. Çoklu kişi emojisi seçeneklerini görmek için emoji çiftine dokunup basılı tutun.

sol emoji kişisine dokunun

Şekil 7. Sol yarısı emoji olan bir kişi seçin.

sağdaki emojiye dokunun

Şekil 8. Sağ yarısı emoji olan bir kişi seçin.

Kullanıcı, emoji çiftinin sol veya sağ yarısını seçtiğinde, seçici sağ altta bir önizleme gösterir. Bu durum, Şekil 7 ve 8'de gösterilmiştir. Emoji çiftinin her iki yarısını da seçtikten sonra, özel emoji çiftini oluşturmak için önizlemeyi seçebilirler.

EmojiCompat ile uyumluluk

Etkinleştirilirse Emoji Seçici'de mümkün olduğunca çok emoji oluşturmak için bir EmojiCompat örneği kullanılır. Emoji seçici için EmojiCompat gerekmez.

Ön koşullar

Uygulamanız Android 5.0 (API düzeyi 21) veya sonraki sürümleri hedeflemelidir.

Kitaplığı kullanma

  1. Uygulamanızın androidx.emoji2:emojipicker:$version dosyasında build.gradle öğesini içe aktarın.

    dependencies {
        implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. Emoji seçici görünümünü genişletin ve isteğe bağlı olarak emojiGridRows ile emojiGridColumns değerlerini ayarlayın.

    • Varsayılan emojiGridColumns sayısı 9'dur.
    • Satır sayısı, ebeveyn görünümünün yüksekliğine ve emojiGridColumns değerine göre hesaplanır.
    • Kullanıcının daha fazla emoji için kaydırabileceğini belirtmek üzere emojiGridRows için kayan nokta değeri kullanın.
    <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. Seçili emojiyi bir görünüme eklemek için setOnEmojiPickedListener() simgesini kullanın. Örneğin, EditText karakterine eklemek için aşağıdakileri yapın:

    emojiPickerView.setOnEmojiPickedListener {
        findViewById<EditText>(R.id.edit_text).append(it.emoji)
    }
    
  4. İsteğe bağlı olarak RecentEmojiProvider ayarlayın. Örnek uygulama için örnek uygulamaya bakın.

  5. İsteğe bağlı olarak stilleri özelleştirin. Yaygın tema özelliklerini geçersiz kılmak ve stili EmojiPickerView öğesine uygulamak için kendi stilinizi oluşturun. Örneğin, colorControlNormal geçersiz kılma işlemi kategori simgesinin rengini değiştirir.

    <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" />
    

Sample App

Emoji seçici örnek uygulaması, temel kullanım alanlarının yanı sıra aşağıdaki ek senaryoları da gösterir:

  • emojiGridRows veya emojiGridColumns sıfırlandığında düzen yeniden hesaplanır.
  • Sıklığa göre sıralama yapan, son kullanılan emoji sağlayıcısı geçersiz kılınmış.
  • Ek stil özelleştirme.