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 seçim yapabilir 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çicilerini sıfırdan oluşturup sürdürmelerine gerek kalmadan kullanıcılarına kapsayıcı ve birleştirilmiş bir emoji deneyimi sunabilir.

Özellikler

Emoji seçici aşağıdaki özelliklere sahiptir.

Güncel emojiler

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 cilt tonları 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 varyantları.

Son kullanılan emoji

son kullanılan emoji
3.şekil Son kullanılan emoji.

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

  • Seçilen tüm emojiler, paylaşılan tercihlerde uygulama başına kaydedilir.
  • Seçicide, seçilen emojiler en fazla üç satır halinde, yinelenenler kaldırılmış olarak ve ters kronolojik sırayla gösterilir.

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çili emojiler depolamak istiyorsanız
  • Paylaşılan tercihler dışında bir veri depolama alanı kullanmak istiyorsanız
  • Son kullanılan emojileri sıklığa göre sıralanmış olarak göstermek istiyorsunuz.

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

Yön seçici

Emoji 15.1'den itibaren Emoji Seçici, çift yönlü emojileri destekler. Kullanıcılar, çift yönlü geçiş düğmesine dokunarak emojinin sola ve sağa bakan sürümleri arasında geçiş yapabilir.

ç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 kişili emoji seçici

Kullanıcılar, emoji çiftlerine dokunup basılı tutarak çok kişili emoji seçimlerini görebilir.

dokunup basılı tutulan çift emojisi

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

sol emoji kişisine dokunun

Şekil 7. Sol yarıda yer alacak emoji kişiyi seçin.

sağ taraftaki emoji kişisine dokunun

Şekil 8. Sağ yarıda yer alacak emoji karakterini seçin.

Kullanıcı, emoji çiftinin sol veya sağ yarısındaki emoji kişisini seçtiğinde seçici, Şekil 7 ve 8'de gösterildiği gibi sağ altta bir önizleme gösterir. Emoji çiftinin her iki yarısını da seçtikten sonra kullanıcılar, önizlemeyi seçerek özel emoji çiftini oluşturabilir.

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. 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ı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 ve emojiGridColumns değerlerini ayarlayın.

    • Varsayılan emojiGridColumns sayısı 9'dur.
    • Satır sayısı, ebeveyn görünümü 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 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çilen emojiyi bir görünüme eklemek için setOnEmojiPickedListener() tuşunu kullanın. Örneğin, bir EditText 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. İsterseniz özel stilleri özelleştirebilirsiniz. Ortak tema özelliklerini geçersiz kılmak için kendi stilinizi oluşturun ve stili EmojiPickerView öğesine uygulayın. Örneğin, colorControlNormal değerini geçersiz kılmak 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" />
    

Örnek Uygulama

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ıralayan, geçersiz kılınmış bir son emoji sağlayıcı.
  • Ek stil özelleştirme.