Emoji Seçici

Emoji Seçici, modern bir görünüm ve tarz, güncel emoji ve kullanım kolaylığı sunan bir kullanıcı arayüzü çözümüdür. Kullanıcılar emojilere ve çeşitlerine göz atıp bunları seçebilir veya son kullandıkları emojilerden birini seçebilir.

Şekil 1. Emoji Seçici

Bu kitaplıkla, çeşitli kaynaklardan gelen uygulamalar kullanıcılarına kapsayıcı ve birleşik bir emoji deneyimi sunabilir. Bu sayede geliştiricilerin sıfırdan kendi emoji seçicilerini oluşturması ve sürdürmesi gerekmez.

Özellikler

Emoji seçicide aşağıdaki özellikler bulunur.

Güncel emoji

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

Yapışkan varyantlar

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

son emoji
Şekil 3. Son kullanılan emojiler.

RecentEmojiProvider, Son Kullanılanlar kategorisinde emoji sağlamakla yükümlüdür. Kitaplıkta, en yaygın kullanım alanını karşılayan varsayılan bir en yeni emoji sağlayıcı bulunur:

  • Seçilen tüm emojiler, paylaşılan tercihlere uygulama başına kaydedilir.
  • Seçici, seçili emojileri en fazla üç satır halinde, tekilleştirilmiş ve ters kronolojik sırayla gösterir.

Bu varsayılan davranış yeterliyse setRecentEmojiProvider() kullanmanıza gerek yoktur.

Ancak sağlayıcı davranışını özelleştirmeniz gerekebilir. Aşağıda bazı yaygın senaryolar verilmiştir:

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

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

Yön seçici

Emoji 15.1'den itibaren Emoji Seçici, iki yönlü emojileri destekler. Kullanıcılar, emojinin sol ve sağ bakan sürümleri arasında geçiş yapmak için çift yönlü değiştiriciye dokunabilir.

çift yönlü sol emoji

Şekil 4. Sola bakan iki 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, birden çok kişinin emoji seçimlerini görmek için çift emojilere dokunup basılı tutabilir.

emoji çiftine dokunup basılı tutma

Şekil 6. Birden fazla kişinin yer aldığı emoji seçimlerini görmek için bir emoji çiftine dokunup basılı tutun.

Soldaki emojiye (kişi) dokunun

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

Sağdaki emojiye (kişi) dokunun.

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

Kullanıcı, bir emoji çiftinin sol veya sağ yarım emoji kişisini seçtiğinde seçici, Şekil 7 ve 8'de gösterildiği gibi sağ altta bir önizleme görüntüler. Kullanıcılar, emoji çiftinin her iki yarısını da seçtikten sonra özel emoji çiftini oluşturmak için önizlemeyi seçebilir.

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 gerekli değildir.

Ö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ü genişletin ve isteğe bağlı olarak emojiGridRows ve emojiGridColumns'ı ayarlayın.

    • Varsayılan emojiGridColumns sayısı 9'dur.
    • Satır sayısı, ana görünümün yüksekliğine ve emojiGridColumns değerine göre hesaplanır.
    • Kullanıcının daha fazla emoji görmek için kaydırabileceğini belirtmek üzere 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çilen emojiyi 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 değerini ayarlayın, örnek uygulama için örnek uygulamaya bakın.

  5. İsterseniz 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 simgesi 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ı ve aşağıdaki ek senaryoları gösterir:

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