Emoji Seçici

Emoji Seçici, modern bir görünüm ve tarz, güncel emojiler 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ı emojiler arasından seçim yapabilir.

Şekil 1. Emoji Seçici

Bu kitaplık sayesinde çeşitli kaynaklardan gelen uygulamalar, geliştiricilerin kendi emoji seçiciyi sıfırdan oluşturup çalıştırmasına gerek kalmadan kullanıcılarına kapsayıcı ve birleştirilmiş bir emoji deneyimi sunabilir.

Özellikler

Güncel Emoji'ler

Yeni yayınlanan emojiler, emoji seçiciye seçici bir şekilde dahil edilir. Emoji Seçici kitaplığı, birçok Android sürümü ve cihazda uyumludur.

Yapışkan varyantlar

Farklı cinsiyetler veya ten tonları gibi varyantlardan oluşan bir menü görüntülemek için bir emojiye uzun basın. Seçtiğiniz varyant Emoji Seçici'ye kaydedilir ve en son seçilen varyant ana panelde 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 emojiler

son emojiler
Şekil 3. Son emojiler

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

  • Seçilen tüm emoji'ler, paylaşılan tercihlere uygulama bazında kaydedilir.
  • Seçici, seçilen emojilerin en fazla 3 satırını, tekilleştirilmiş olarak ters kronolojik sırada gösterir.

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

Ancak sağlayıcı davranışını özelleştirmeniz gerekebilir. Yaygın senaryolardan bazıları şunlardır:

  • Seçilen emojileri her kullanıcı hesabı için farklı olacak şekilde depolamak istiyorsanız.
  • Paylaşılan tercihler dışında veri depolamayı kullanmak istiyorsunuz.
  • En son kullanılan emojileri sıklığa göre sıralanmış şekilde görüntülemek istiyorsunuz.

Daha sonra RecentEmojiProvider arayüzünü uygulayabilir ve setRecentEmojiProvider() kullanarak ayarlayabilirsiniz.

EmojiCompat ile uyumluluk

Etkinleştirildiğinde, Emoji Seçici'de mümkün olduğunca çok sayıda emoji oluşturmak için bir EmojiCompat örneği kullanılır. Ancak 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ında androidx.emoji2:emojipicker:$version dosyasını içe aktarın.

    dependencies {
        implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. Emoji Seçici görünümünü şişirin ve isteğe bağlı olarak emojiGridRows ve emojiGridColumns öğelerini ayarlayın.

    • Varsayılan emojiGridColumns sayısı 9'dur.
    • Satır sayısı, üst görüntüleme yüksekliğine ve emojiGridColumns değerine göre hesaplanır.
    • Kullanıcının daha fazla emoji görmek için ekranı aşağı kaydırabileceğini belirtmek amacıyla emojiGridRows için kayan noktalı bir değer 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 emojileri bir görünüme eklemek için setOnEmojiPickedListener() kısayolunu kullanın. Örneğin, bir EditText uzantısına 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 değerini ayarlayın, örnek uygulama için örnek uygulamaya bakın.

  5. İsteğe bağlı olarak stilleri özelleştirin. Ortak tema özelliklerini geçersiz kılmak için kendi stilinizi oluşturun ve stili EmojiPickerView öğesine uygulayın. Örneğin, colorControlNormal geçersiz kılındığında kategori simgesinin rengi değişir.

    <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ı aşağıdaki ek senaryoların yanı sıra temel kullanım alanlarını gösterir:

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