Emoji Seçici

Emoji Seçici, modern bir görünüm ve his, 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 ya da en son kullandıkları emojilerden birini seçebilir.

Şekil 1. Emoji Seçici

Bu kitaplık sayesinde, ç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çiciye seçici bir şekilde dahil edilir. 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 emojiler
Şekil 3. Son emojiler.

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

  • Seçilen tüm emoji'ler, paylaşılan tercihlere uygulama bazında kaydedilir.
  • Seçici, seçili emojilerden en fazla üç satır gösterir. Bu satırlarda, tekilleştirilmiş emojiler ters kronolojik sırayla gösterilir.

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 veri depolamayı kullanmak istiyorsunuz.
  • Son emojileri sıklığa göre sıralanmış şekilde 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

4.Şekil Sola bakan çift yönlü emoji.

çift yönlü sağ emoji

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

Çok kişili emoji seçici

Kullanıcılar, emoji çiftlerine dokunup basılı tutarak birden fazla kişinin yer aldığı emoji seçimlerini görebilir.

dokunup basılı tut emoji çifti

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

soldaki emojiye dokunun

7.Şekil Sol yarım emoji'li 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ısını seçtiğinde seçici, şekil 7 ve 8'de gösterildiği gibi sağ altta bir önizleme gösterir. 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 bir EmojiCompat örneği kullanılarak şu şekilde oluşturulur: çok sayıda emoji kullanın. 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. androidx.emoji2:emojipicker:$version dosyasını uygulamanızın build.gradle dosyasına 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.

    • 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 aşağıdaki işlemleri yapabileceğini belirtmek üzere emojiGridRows için kayan noktalı değer kullanın daha fazla emoji için kaydırı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() kısayolunu kullanın. Örneğin, bir 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 değerini ayarlayın. Uygulamadaki örnek uygulamaya göz atı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 simgesi 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ı, 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ştirmesi.