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 derlenen uygulamalar kapsayıcı ve emoji deneyimi sunmak için geliştiricilerin bir araya getirmesi kendi emoji seçiciyi kullanmaya başlayabilir.

Ö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 çok Android sürümü ve cihazda 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 varsayılan bir son emoji sağlayıcısı var bir şablon kullanabilirsiniz:

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

Bu varsayılan davranış yeterliyse setRecentEmojiProvider()

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ıralayarak görüntülemek istiyorsunuz.

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

Yön seçici

Emoji seçici, Emoji 15.1 sürümünden itibaren desteklenir. çift yönlü emoji. 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.

dokunup basılı tut emoji çifti

6. Şekil. Çok kişili emojiyi görüntülemek için bir emoji çiftine dokunup basılı tutun seçimler.

sol emojiye dokunun

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

sağ emojideki kişiye dokunun

8. Şekil. Sağ yarım emoji'yi kullanan 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 önizlemeyi seçebilir özel emoji çiftini oluşturun.

EmojiCompat ile uyumluluk

Etkinleştirilirse mümkün olduğunca çok emoji oluşturmak için Emoji Seçici'de 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. androidx.emoji2:emojipicker:$version dosyasını uygulamanızın build.gradle klasörüne aktarın dosyası olarak kaydedebilirsiniz.

    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çili emojiyi bir görünüme eklemek için setOnEmojiPickedListener() kısayolunu 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. 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 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.