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 emojileri ve varyasyonlarını inceleyip seçebilir veya son kullanılan emojiler arasından seçim yapabilir.

Şekil 1. Emoji Seçici

Bu kitaplık sayesinde, çeşitli kaynaklardan gelen uygulamalar kullanıcılarına kapsayıcı ve birleştirilmiş bir emoji deneyimi sunabilir. Geliştiricilerin kendi emoji seçicilerini sıfırdan oluşturup yönetmesi gerekmez.

Özellikler

Güncel Emoji'ler

Yeni kullanıma sunulan emojiler, Emoji Seçici'ye özel olarak eklenir. Emoji Seçici kitaplığı, birden fazla Android sürümü ve cihazla uyumludur.

Yapışkan varyantlar

Farklı cinsiyetler veya ten tonları gibi çeşitler menüsünü görüntülemek için bir emojiye uzun basın. Seçtiğiniz varyant Emoji Seçici'ye kaydedilir ve 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 emoji
Şekil 3. Son kullanılan emoji'ler

Son Kullanılan kategorisinde emojilerin sağlanmasından RecentEmojiProvider sorumludur. Kitaplıkta, en yaygın kullanım alanına uygun varsayılan bir yeni emoji sağlayıcısı bulunur:

  • Seçilen tüm emojiler, paylaşılan tercihlerde uygulama başına kaydedilir.
  • Seçici, seçilen emojilerin en fazla 3 satırını ters kronolojik sırada, tekilleştirilmiş olarak gösterir.

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

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

  • Her kullanıcı hesabı için seçili farklı emojileri depolamak istiyorsanız.
  • Paylaşılan tercihler dışında veri depolama kullanmak istiyorsunuz.
  • Son emojileri sıklığa göre sıralanmış olarak görüntülemek istiyorsunuz.

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

EmojiCompat ile uyumluluk

Etkinleştirilirse Emoji Seçici'de mümkün olduğunca fazla emoji oluşturmak için EmojiCompat örneği kullanılır. Ancak Emoji Seçici için EmojiCompat gerekli değildir.

Ön koşullar

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

Kitaplığı kullanma

  1. Uygulamanızın build.gradle dosyasına 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ü büyütün ve isteğe bağlı olarak emojiGridRows ve emojiGridColumns seçeneklerini ayarlayın.

    • Varsayılan emojiGridColumns sayısı 9'dur.
    • Satır sayısı, üst görüntüleme yüksekliği 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 bir kayan 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() simgesini kullanın. Örneğin, bir EditText öğesine ekleme yapmak 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 bir 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 öğesinin geçersiz kılınması 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ı, aşağıdaki ek senaryolarla birlikte 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ış bir yeni emoji sağlayıcı.
  • Ek stil özelleştirme.