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 en 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 şunlardır:

Güncel emoji'ler

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

Yapışkan varyantlar

Farklı cinsiyetler veya ten renkleri gibi varyantların menüsünü görüntülemek için bir emojiye uzun basın. Seçtiğiniz varyant, emoji seçiciye 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 çeşitleri.

Son kullanılan emoji

son kullanılan emoji
3.şekil 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ş emojiyi ters kronolojik sırada ve yinelenenleri kaldırarak 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

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

Çok karakterli emoji seçici

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

emoji çiftine dokunup basılı tutma

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

Sol taraftaki emoji kişiye 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, Şekil 7 ve 8'de gösterildiği gibi, seçicide sağ altta bir önizleme gösterilir. Emoji çiftinin iki yarısını da seçtikten sonra kullanıcılar, özel emoji çiftini oluşturmak için önizlemeyi seçebilir.

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 build.gradle dosyasına androidx.emoji2:emojipicker:$version öğ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'yi ayarlayın.

    • Varsayılan emojiGridColumns sayısı 9'dur.
    • Satır sayısı, üst görünümü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 öğesine 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ışsa
  • Ek stil özelleştirme.