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 bunları seçebilir veya son kullandıkları emojiler arasından seçim yapabilir.
Bu kitaplık sayesinde çeşitli kaynaklardan gelen uygulamalar, geliştiricilerin kendi emoji seçiciyi sıfırdan oluşturup çalıştırmasına gerek kalmadan kullanıcılarına kapsayıcı ve birleştirilmiş bir emoji deneyimi sunabilir.
Özellikler
Güncel Emoji'ler
Yeni yayınlanan emojiler, emoji seçiciye seçici bir şekilde dahil edilir. Emoji Seçici kitaplığı, birçok Android sürümü ve cihazda uyumludur.
Yapışkan varyantlar
Farklı cinsiyetler veya ten tonları gibi varyantlardan oluşan bir menü görüntülemek için bir emojiye uzun basın. Seçtiğiniz varyant Emoji Seçici'ye kaydedilir ve en 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ı](https://developer.android.com/static/images/develop/ui/views/text-and-emoji/emoji-variants.png?authuser=7&hl=tr)
Son emojiler
![son emojiler](https://developer.android.com/static/images/develop/ui/views/text-and-emoji/recent-emoji.png?authuser=7&hl=tr)
RecentEmojiProvider
, Son Kullanılanlar kategorisinde emoji sağlamaktan sorumludur. Kitaplıkta, en yaygın kullanım alanına uygun, son kullanılan varsayılan bir emoji sağlayıcı bulunur:
- Seçilen tüm emoji'ler, paylaşılan tercihlere uygulama bazında kaydedilir.
- Seçici, seçilen emojilerin en fazla 3 satırını, tekilleştirilmiş olarak ters kronolojik sırada gösterir.
Bu varsayılan davranış yeterliyse setRecentEmojiProvider()
öğesini kullanmanız gerekmez.
Ancak sağlayıcı davranışını özelleştirmeniz gerekebilir. Yaygın senaryolardan bazıları şunlardır:
- Seçilen emojileri her kullanıcı hesabı için farklı olacak şekilde depolamak istiyorsanız.
- Paylaşılan tercihler dışında veri depolamayı kullanmak istiyorsunuz.
- En son kullanılan emojileri sıklığa göre sıralanmış şekilde görüntülemek istiyorsunuz.
Daha sonra RecentEmojiProvider
arayüzünü uygulayabilir ve setRecentEmojiProvider()
kullanarak ayarlayabilirsiniz.
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
gerekmez.
Ön koşullar
Uygulamanız, Android 5.0 (API düzeyi 21) veya sonraki sürümleri hedeflemelidir.
Kitaplığı kullanma
Uygulamanızın
build.gradle
dosyasındaandroidx.emoji2:emojipicker:$version
dosyasını içe aktarın.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Emoji Seçici görünümünü şişirin ve isteğe bağlı olarak
emojiGridRows
veemojiGridColumns
öğelerini ayarlayın.- Varsayılan
emojiGridColumns
sayısı 9'dur. - Satır sayısı, üst görüntüleme yüksekliğine 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 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)
- Varsayılan
Seçili emojileri bir görünüme eklemek için
setOnEmojiPickedListener()
kısayolunu kullanın. Örneğin, birEditText
uzantısına eklemek için aşağıdakileri yapın:emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
İsteğe bağlı olarak
RecentEmojiProvider
değerini ayarlayın, örnek uygulama için örnek uygulamaya bakın.İ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 simgesinin 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ı aşağıdaki ek senaryoların yanı sıra temel kullanım alanlarını gösterir:
emojiGridRows
veyaemojiGridColumns
sıfırlandığında düzenin yeniden hesaplanması.- Sıklığa göre sıralama yapan, geçersiz kılınmış son emoji sağlayıcı.
- Ek stil özelleştirme.