Emoji2

Mevcut ve eski cihazlarda emoji görüntüleme
Son Güncelleme Kararlı sürüm Sürüm Adayı Beta Sürümü Alfa sürümü
2 Temmuz 2025 1.5.0 - 1.6.0-beta01 -

Bağımlılıkları bildirme

Emoji2'ye bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:

Eski

dependencies {
    def emoji2_version = "1.5.0"

    implementation "androidx.emoji2:emoji2:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version"
}

Kotlin

dependencies {
    val emoji2_version = "1.5.0"

    implementation("androidx.emoji2:emoji2:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version")
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme Bağımlılıkları Ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz olursa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Emoji2 Emojipicker Version 1.0

Sürüm 1.5.0

4 Eylül 2024

androidx.emoji2:emoji2-*:1.5.0 iptal edilir. 1.5.0 sürümü bu commit'leri içerir.

1.4.0 sürümünden beri yapılan önemli değişiklikler

  • Emoji 15.1 ve çift yönlü emoji seçici kullanıcı arayüzü desteği eklendi. Çift yönlü anahtara basit bir tıklama, kullanıcıların emojilerin sola ve sağa bakan versiyonları arasında geçiş yapmasına olanak tanır.
  • Çoklu cilt tonu emoji seçicisi desteği. Çift emoji'lerine uzun basıldığında, sıfır durumu için çoklu kişi emoji seçicisi gösterilir. Kullanıcı bir emojinin sol yarısına dokunduğunda sağ alttaki emoji önizlemesi buna göre güncellenir. Kullanıcı bir emojinin her iki yarısını da seçtiğinde sağ alttaki emoji önizlemesinde emojinin tamamı gösterilir ve kullanıcı bu emojiyi girebilir.

Sürüm 1.0.0-alpha03

8 Mart 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 iptal edilir. 1.0.0-alpha03 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Gereksiz kaynaklar kaldırıldı ve kitaplık boyutu yaklaşık 0,3 MB azaltıldı.

Sürüm 1.0.0-alpha02

22 Şubat 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 iptal edilir. 1.0.0-alpha02 sürümü şu commit'leri içerir.

API Değişiklikleri

  • Java istemcilerinin en son emojileri sunabilmesi için yeni bir API eklendi. (I39d10)

Hata Düzeltmeleri

  • Emoji 15.0'ı desteklemek için emoji kaynaklarını güncelleyin (Ib4eb3)
  • Pop-up pencereden bir emoji seçtiğinizde, son kullanılan emoji satırı hariç olmak üzere tüm aynı emojiler yeni seçilen emoji ile güncellenir. Tıklarken emojiyi de duyurur. (I892c6)
  • EmojiPickerView öğesini göstermeden önce emojicompat'ın yüklenmesini bekleyin. (I29e03)

Sürüm 1.0.0-alpha01

25 Ocak 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 iptal edilir. 1.0.0-alpha01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Android işletim sistemli OEM cihazlarında ve uygulamalarında en yeni emojilerle tutarlı bir kullanıcı deneyimi sağlayan emoji seçici kullanıma sunuldu. Ten rengi varyantları ve emoji uyumluluğu desteği de dahil olmak üzere en yeni emoji desteğini ve emoji seçici kullanıcı arayüzünü sunar.

API Değişiklikleri

  • Tıklanabilir yatay başlığa sahip, dikey olarak kaydırılabilen bir görünümde güncel emojiler sunan EmojiPickerView sınıfı kullanıma sunuldu.
  • Emoji seçici ızgara sütunları, XML özelliği emojiGridColumns veya işlevi setEmojiGridColumns() aracılığıyla ayarlanabilir.
  • Emoji seçici ızgara satırları, XML özelliği emojiGridRows veya işlevi setEmojiGridRows() aracılığıyla ayarlanabilir.
  • Seçilen emoji dinleyicisi setOnEmojiPickedListener() üzerinden ayarlanabilir ve kullanıcı herhangi bir emojiyi tıkladığında dinleyiciye bildirim gönderilir.
  • Son emoji sağlayıcı setRecentEmojiProvider() ile sağlanabilir. Bu işlev isteğe bağlıdır. Son kullanılan emoji sağlayıcısı ayarlanmamışsa kitaplık tarafından varsayılan bir son kullanılan emoji sağlayıcısı kullanılır. Varsayılan davranış şu şekilde tanımlanır: 1) Seçilen tüm emojiler, paylaşılan tercihlerde uygulama düzeyinde kaydedilir. 2) Seçici, seçilen emojilerden en fazla 3 satırı, yinelenenleri kaldırarak ve ters kronolojik sırayla gösterir.
  • Gösterilen emojiyi ve emoji varyantlarını içeren EmojiViewItem sınıfı kullanıma sunuldu.
  • Son kullanılan emoji listesi sağlamak için uygulanabilecek RecentEmojiProvider arayüzü kullanıma sunuldu. recentEmojiProvider, "Son Kullanılanlar" kategorisinde emoji sağlamaktan sorumludur.

Sürüm 1.6

Sürüm 1.6.0-beta01

2 Temmuz 2025

androidx.emoji2:emoji2-*:1.6.0-beta01 iptal edilir. 1.6.0-beta01 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Emoji 16.0 güncellemeleri desteği
  • Tüm emoji seçici uygulamalarında tutarlı bir erişilebilirlik davranışı sağlamak için içerik açıklamasına "emoji" sonekini ekleyin.

Sürüm 1.6.0-alpha01

4 Haziran 2025

androidx.emoji2:emoji2-*:1.6.0-alpha01 iptal edilir. 1.6.0-alpha01 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Emoji 16.0 veri güncellemeleri (Ifc878)
  • İçerik açıklamasına "emoji" sonekini ekleme

Hata Düzeltmeleri

  • Bu kitaplık artık tür kullanımı olan JSpecify nullness ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için aşağıdaki derleyici bağımsız değişkenlerini kullanmalıdır: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Id07e7, b/326456246)

Sürüm 1.5

Sürüm 1.5.0

4 Eylül 2024

androidx.emoji2:emoji2-*:1.5.0 iptal edilir. 1.5.0 sürümü bu commit'leri içerir.

1.4.0 sürümünden beri yapılan önemli değişiklikler

  • Emoji 15.1 ve çift yönlü emoji seçici kullanıcı arayüzü desteği eklendi. Çift yönlü anahtara basit bir tıklama, kullanıcıların emojilerin sola ve sağa bakan versiyonları arasında geçiş yapmasına olanak tanır.
  • Çoklu cilt tonu emoji seçicisi desteği. Çift emoji'lerine uzun basıldığında, sıfır durumu için çoklu kişi emoji seçicisi gösterilir. Kullanıcı bir emojinin sol yarısına dokunduğunda sağ alttaki emoji önizlemesi buna göre güncellenir. Kullanıcı bir emojinin her iki yarısını da seçtiğinde sağ alttaki emoji önizlemesinde emojinin tamamı gösterilir ve kullanıcı bu emojiyi girebilir.

Sürüm 1.5.0-rc01

21 Ağustos 2024

androidx.emoji2:emoji2-*:1.5.0-rc01 iptal edilir. 1.5.0-rc01 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Emoji 15.1 ve çift yönlü emoji seçici kullanıcı arayüzü desteği eklendi. Çift yönlü anahtara basit bir tıklama, kullanıcıların emojilerin sola ve sağa dönük versiyonları arasında geçiş yapmasına olanak tanır.
  • Çoklu cilt tonu emoji seçicisi desteği. Çift emoji'lerine uzun basıldığında, sıfır durumu için çoklu kişi emoji seçicisi gösterilir. Kullanıcı bir emojinin sol yarısına dokunduğunda sağ alttaki emoji önizlemesi buna göre güncellenir. Kullanıcı bir emojinin iki yarısını da seçtiğinde önizlemede emojinin tamamı gösterilir ve kullanıcı bu emojiyi girebilir.

Hata Düzeltmeleri

  • AGP 7.3 veya sonraki sürümleriyle (ör. R8 sürümü 3.3) R8 kullanılırken ve AGP 8.1 veya sonraki sürümleriyle (ör. D8 sürümü 8.1) tüm derlemeler için yeni platform API'lerine erişimin manuel olarak ana hatlarının oluşturulması, API modelleme aracılığıyla otomatik olarak yapıldığından kaldırıldı. AGP kullanmayan müşterilerin D8 sürüm 8.1 veya sonraki bir sürüme güncellemeleri önerilir. Daha fazla bilgi için bu makaleye göz atın. (If6b4c, b/345472586)
  • EmojiPickerView sekme seçimi ve gösterge güncellemeleri bir tıklama geride. (146b02, b/288261054)
  • EmojiPickerView adlı kullanıcının sekme seçimi ve göstergesi bozuk. (5e1f14, b/273883688)

Sürüm 1.5.0-beta01

10 Temmuz 2024

androidx.emoji2:emoji2-*:1.5.0-beta01 iptal edilir. 1.5.0-beta01 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Emoji 15.1 ve çift yönlü emoji seçimi kullanıcı arayüzü desteği eklendi.
  • Çoklu cilt tonu seçimi için yeniden tasarım desteği.

Hata Düzeltmeleri

  • EmojiPickerView sekme seçimi ve gösterge güncellemeleri bir tıklama geride. (146b02, b/288261054)
  • EmojiPickerView adlı kullanıcının sekme seçimi ve göstergesi bozuk. (5e1f14, b/273883688)

Sürüm 1.5.0-alpha01

13 Aralık 2023

androidx.emoji2:emoji2-*:1.5.0-alpha01 iptal edilir. 1.5.0-alpha01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • emoji2-bundled, Emoji 15.1'i desteklemek için güncellenmiş bir emoji yazı tipi içerir.

API Değişiklikleri

  • InitCallback için geri arama iş parçacığını kontrol edecek yürütücüler ekleyin. (I32b67)
  • BundledEmojiCompatConfig artık yükleme iş parçacıklarını kontrol etmek için bir yürütücü kullanıyor. (I00e81)

Sürüm 1.4

Sürüm 1.4.0

9 Ağustos 2023

androidx.emoji2:emoji2-*:1.4.0 iptal edilir. 1.4.0 sürümü şu commit'leri içerir.

1.3.0 sürümünden beri yapılan önemli değişiklikler

Sürüm 1.4.0-rc01

26 Temmuz 2023

androidx.emoji2:emoji2-*:1.4.0-rc01 iptal edilir. 1.4.0-rc01 sürümü şu commit'leri içerir.

API Değişiklikleri

  • registerSource listesi tanıtıldı (Iae92f)
  • API Konseyi geri bildirimi: TransitionManager.seekTo(), createSeekController() olarak yeniden adlandırıldı. Lütfen TransitionManager.seekTo() öğesini TransitionManager.createSeekController() öğesine ekleme hakkındaki önceki yorumu düzeltin. (Idbeb1)
  • Data, NoData ve ConsentRequiredStates için üst sınıf olmayan ExerciseRouteResult eklendi. Rota için konum verilerini içeren bağımsız bir sınıf olarak ExerciseRoute eklendi. (I22eed)
  • Pager'da ölçüm geçişinden sonra toplanan bilgilerle PagerLayoutInfo özelliği kullanıma sunuldu. Ayrıca, Pager'da ölçülen tek bir sayfa hakkındaki bilgiler olan PageInfo da kullanıma sunuldu. (Iad003, b/283098900)

Hata Düzeltmeleri

  • Button, IconButton ve TextButton renklerini Material3 tasarımına uygun şekilde güncelledik. Button, IconButton ve TextButton için semantik rol artık Modifier.semantics kullanılarak geçersiz kılınabilir. (Ib2495)
  • EmojiPickerView sekme seçimi ve gösterge güncellemelerinin bir tıklama geride kalması sorunu düzeltildi. (I4db04)
  • Emoji seçiciyi gösterme (I353e4) ile ilgili FileNotFoundException
  • EmojiPickerView kullanırken WindowManager.BadTokenException'ı yakalama (I0a144)

Sürüm 1.4.0-beta05

7 Haziran 2023

androidx.emoji2:emoji2-*:1.4.0-beta05 iptal edilir. 1.4.0-beta05 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • 1.3 sürümünde ortaya çıkan ve RelativeSizeSpan gibi MetricsAffectingSpans öğelerinin iki kez uygulanmasına neden olan hata düzeltildi. Metin düzeni sırasında bir kez ve EmojiSpan.draw içinde tekrar. Sonuç, metin boyutu parametrelerinden herhangi biri span tarafından değiştirildiyse görünür olan yanlış boyutlandırılmış bir çizimdi. (b/283208650)

Sürüm 1.4.0-beta04

24 Mayıs 2023

androidx.emoji2:emoji2-*:1.4.0-beta04 iptal edilir. 1.4.0-beta04 sürümü şu commit'leri içerir.

Bu sürümde, 1.0 sürümünden beri mevcut olan bir hata düzeltildi. Bu hataya göre, yazı tipi yükleme işlemi tamamlandıktan sonra emoji aralıkları güncellenmeye çalışıldığında ana olmayan işleyiciye sahip görünümler istisna oluşturuyordu. Bu hatadan etkileniyorsanız geçici bir çözüm yoktur. Lütfen bu sürüme veya daha yeni bir sürüme yükseltin.

Hata Düzeltmeleri

  • EmojiCompat başlatma geri çağırmaları artık her görünümdeki işleyiciyi kullanacak ve ana iş parçacığında olmayan görünümlere saygı duyacak. (Iccbcf)

Sürüm 1.4.0-beta03

10 Mayıs 2023

androidx.emoji2:emoji2-*:1.4.0-beta03 iptal edilir. 1.4.0-beta03 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • İç içe yerleştirilmiş emoji seçici pop-up görünümünün kilitlenmesi sorunu düzeltildi. (0acc8e)
  • EmojiCompat getEmojiStart/getEmojiEnd içinde erken istisnalar oluşturun. (26177f)

Sürüm 1.4.0-beta02

19 Nisan 2023

androidx.emoji2:emoji2-*:1.4.0-beta02 iptal edilir. 1.4.0-beta02 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Lint temel dosyalarını güncelleme (Iaa212)

Sürüm 1.4.0-beta01

5 Nisan 2023

androidx.emoji2:emoji2-*:1.4.0-beta01 iptal edilir. 1.4.0-beta01 sürümü şu commit'leri içerir.

Yeni Özellikler

androidx.emoji2:emoji2-emojipicker

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 bunları seçebilir veya son kullandıkları emojilerden birini tercih edebilir. Bu kitaplık sayesinde, farklı OEM'lerdeki uygulamalar, geliştiricilerin kendi emoji seçicilerini sıfırdan oluşturup bakımını yapmasına gerek kalmadan kullanıcılarına kapsayıcı ve birleşik bir emoji deneyimi sunabilir.

Güncel emoji'ler

Her yıl yeni emojiler yayınlanır. Bu emojiler, Emoji Seçici'ye seçilerek eklenir. Geriye dönük uyumluluğu sağlamak için tofu karakterini ortadan kaldırmak üzere dahili olarak doğru bir emoji oluşturma kontrolü gerçekleştiririz. Bu sayede kitaplığın birden fazla Android sürümü ve cihazla uyumlu olması sağlanır.

Sabit varyantlar

Bir emoji'ye uzun bastığınızda farklı cinsiyetler veya cilt tonları gibi varyantların menüsü gösterilir. 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.

Son kullanılan emoji'ler

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

  • Seçilen tüm emojiler, paylaşılan tercihlerde uygulama düzeyinde kaydedilir.
  • Seçici, seçilen emojilerden en fazla 3 satırı, yinelenenleri kaldırarak ve ters kronolojik sırayla gösterir.

Bu varsayılan davranış yeterliyse setRecentEmojiProvider() yöntemini ayarlamanız gerekmez.

EmojiCompat ile çalışma

Uygulamada EmojiCompat örneği varsa mümkün olduğunca çok emoji oluşturmak için emoji seçicide kullanılır. EmojiCompat devre dışı bırakılırsa emoji seçici sorunsuz şekilde çalışmaya devam eder.

Kitaplığı kullanma

Kitaplığı kullanmak için uygulama geliştiricinin

  1. build.gradle uygulamasında androidx.emoji2:emojipicker:$version 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 her emoji hücresinin istenen boyutuna göre emojiGridRows ve emojiGridColumns değerlerini ayarlayın.

    • Bu değerleri ayarlamadan bırakabilirsiniz. Varsayılan değer 9 emojiGridColumns'dur. Satırlar, üst görünüm yüksekliğine ve emojiGridColumns'ya göre hesaplanır.
    • XML'de aşağı kaydırıldığında daha fazla emoji olduğunu belirtmek için emojiGridRows değerini kayan nokta olarak ayarlayabilirsiniz.
     <androidx.emoji2.emojipicker.EmojiPickerView
      android:id="@+id/emoji_picker"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:emojiGridColumns="9" />
    

kod olarak

    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)
  1. Seçili emojileri bir EditText'e eklemek istediğinizi varsayarsak setOnEmojiPickedListener()

      emojiPickerView.setOnEmojiPickedListener {
          findViewById<EditText>(R.id.edit_text).append(it.emoji)
      }
    
  2. İsteğe bağlı olarak RecentEmojiProvider ayarlayın. Örnek uygulama için örnek uygulamaya bakın.

  3. İsteğe bağlı olarak stilleri özelleştirin. Ortak tema özelliklerini geçersiz kılmak ve stili EmojiPickerView öğesine uygulamak için kendi stilinizi oluşturun. Örneğin, colorControlNormal öğesini 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 için örnek uygulamaya bakın.

API yüzeyinin tamamını burada bulabilirsiniz.

Örnek Uygulama

Bu örnek uygulama, temel kullanım alanlarının yanı sıra aşağıdaki ek senaryoları da gösterir:

  • emojiGridRows ve emojiGridColumns sıfırlandığı için görünüm yeniden düzenlendi.
  • Son kullanılan emoji sağlayıcısı, sıklığa göre sıralama yapmak için geçersiz kılınır.
  • Stil özelleştirme.

API Değişiklikleri

Emoji Seçici kitaplığı aşağıdaki yeni API'lerle güncellendi:

  • Tıklanabilir yatay başlığa sahip, dikey kaydırılabilir görünümde güncel emojiler sunan EmojiPickerView sınıfı.
  • Emoji seçici ızgarasındaki sütun ve satır sayısını XML özellikleri emojiGridColumns ve emojiGridRows veya setEmojiGridColumns() ve setEmojiGridRows() yöntemleriyle ayarlayabilme
  • setOnEmojiPickedListener() yöntemiyle seçilen bir dinleyiciye emoji gönderebilme. Kullanıcı herhangi bir emojiyi tıkladığında dinleyiciye bildirim gönderilir.
  • setRecentEmojiProvider() yöntemiyle son emoji sağlayıcıyı sunma Bu işlev isteğe bağlıdır. Son kullanılan emoji sağlayıcısı ayarlanmamışsa kitaplık tarafından varsayılan bir son kullanılan emoji sağlayıcısı kullanılır. Varsayılan davranış şu şekilde tanımlanır:
    • Seçilen tüm emojiler, paylaşılan tercihlerde uygulama düzeyinde kaydedilir.
    • Seçici, seçilen emojilerden en fazla 3 satırı, yinelenenleri kaldırarak ve yeniden eskiye doğru sıralanmış şekilde gösterir.
  • Gösterilen emojiyi ve emoji varyantlarını içeren EmojiViewItem sınıfı.
  • Son kullanılan emoji listesi sağlamak için uygulanabilen RecentEmojiProvider arayüzü. recentEmojiProvider, "Son Kullanılanlar" kategorisinde emoji sağlamaktan sorumludur.
  • Son kullanılan emoji listesi sağlamak için uygulanabilen RecentEmojiAsyncProvider arayüzü. RecentEmojiAsyncProvider, "Son Kullanılanlar" kategorisinde emoji sağlamaktan sorumludur. Bu arayüz, müşterilerin son kullanılan emojileri sağlamak için getRecentEmojiListAsync() yöntemini geçersiz kılmalarına olanak tanıyan RecentEmojiProvider ile eşdeğerdir.
  • RecentEmojiProviderAdapter sınıfı, RecentEmojiAsyncProvider için bir bağdaştırıcıdır ve RecentEmojiProvider'yi uygular.

Sürüm 1.4.0-alpha01

22 Mart 2023

androidx.emoji2:emoji2-*:1.4.0-alpha01 iptal edilir. 1.4.0-alpha01 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Testleri düzeltme, kararsız testleri devre dışı bırakma ve temizleme işlemleri.

Sürüm 1.3

Sürüm 1.3.0

22 Mart 2023

androidx.emoji2:emoji2-*:1.3.0 iptal edilir. 1.3.0 sürümü şu commit'leri içerir.

1.2.0 sürümünden beri yapılan önemli değişiklikler

  • Bu sürüm, Compose Foundation 1.4.0 ve sonraki sürümlerde emoji2 entegrasyonunun etkinleştirilmesine olanak tanır.
  • Ayrıca, EmojiSpans karakterinin özel çizim koduyla değiştirilmesine olanak tanıyan özelliklerin yanı sıra Android'de tanımlanan emoji hariç tutma işlemlerini de destekler.

Sürüm 1.3.0-rc01

8 Mart 2023

androidx.emoji2:emoji2-*:1.3.0-rc01 iptal edilir. 1.3.0-rc01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Bu sürüm, emoji2 oluşturma entegrasyonunu desteklemek için yayınlanmıştır.

API Değişiklikleri

  • Özel çizim kodu için aralıkları değiştirin.
  • Sistem hariç tutmalarını sorgulama.

Hata Düzeltmeleri

  • Ayrıca, arka plan aralıklarının EmojiSopans simgesinin arkasına doğru şekilde uygulanmamasına neden olan hata düzeltildi.

Sürüm 1.3.0-beta03

23 Şubat 2023

androidx.emoji2:emoji2-bundled:1.3.0-beta03, androidx.emoji2:emoji2-views:1.3.0-beta03 ve androidx.emoji2:emoji2-views-helper:1.3.0-beta03 yayınlandı.

22 Şubat 2023

androidx.emoji2:emoji2:1.3.0-beta03 iptal edilir. 1.3.0-beta03 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Değişiklik yok. Bu sürüm, oluşturma entegrasyonuna hazırlanmak için yayınlanmıştır.

Sürüm 1.3.0-beta02

8 Şubat 2023

androidx.emoji2:emoji2-*:1.3.0-beta02 iptal edilir. 1.3.0-beta02 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Bu sürüm, Compose entegrasyonunu desteklemek için kararlılık sağlar.

Sürüm 1.3.0-beta01

25 Ocak 2023

androidx.emoji2:emoji2-*:1.3.0-beta01 iptal edilir. 1.3.0-beta01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Sistem hariç tutmalarını sorgulama.
  • Özel çizim kodunun aralıklarını değiştirme
  • Ayrıca, arka plan aralıklarının EmojiSopans simgesinin arkasına doğru şekilde uygulanmamasına neden olan hata düzeltildi.
  • Bu sürüm, Compose'da EmojiCompat desteği için gerekli API'leri ekler. Yakın gelecekteki bir sürümde emoji uyumluluğu için beste desteği sunulacaktır.

Sürüm 1.3.0-alpha01

11 Ocak 2023

androidx.emoji2:emoji2-*:1.3.0-alpha01 iptal edilir. 1.3.0-alpha01 sürümü şu commit'leri içerir.

Düşük düzeyli etkileşimler için yeni API'ler

  • Sistem hariç tutmalarını sorgulama
  • Özel çizim kodunun aralıklarını değiştirme
  • Ayrıca, arka plan aralıklarının EmojiSopans simgesinin arkasına doğru şekilde uygulanmamasına neden olan hata düzeltildi.
  • Bu sürüm, Compose'da EmojiCompat desteği için gerekli API'leri ekler. Yakın gelecekteki bir sürümde emoji uyumluluğu için beste desteği sunulacaktır.

API Değişiklikleri

  • TypefaceEmojiRasterizer sistem hariç tutmaları sorgulama özelliği eklendi. (I5653e)
  • Varsayılan EmojiSpan davranışını özel çizim ve boyutlandırma koduyla değiştirmek için yeni API EmojiCompat.SpanFactory eklendi. (Ib69d9)
  • Oluşturma bölümüne EmojiCompat eklendi (I96f37, b/139326806)

Hata Düzeltmeleri

  • Emoji2 artık BackgroundSpan konumundaki arka planları doğru şekilde çizecek. (Ide6a8, b/230525134)
  • 1.5.0-beta01 için AppCompat API'lerini sonlandırma (I2a43d, b/236866227)

Sürüm 1.2

Sürüm 1.2.0

10 Ağustos 2022

androidx.emoji2:emoji2-*:1.2.0 iptal edilir. 1.2.0 sürümü şu commit'leri içerir.

1.1.0 sürümünden beri yapılan önemli değişiklikler

Bu bir hata düzeltme sürümüdür. 1.1.0 sürümünden beri yeni özellik veya API eklenmedi.

Ancak PrecomputedText veya TextView.setText(char[]) sürümlerini kullanan uygulamalar bu sürüme yükseltmeye öncelik vermelidir.

Aşağıdaki hatalar düzeltildi:

  • Emoji2, önceden hesaplanmış metin düzenini atarak PrecomputedText'ye emoji ekleyecek. (I47d06, b/211231958)
  • Android P'deki düzenleyici kilitlenmesi düzeltmesini, emoji2 kullanacak şekilde yapılandırılmış EditText'ye geri taşıyın. (Ifd709, b/216891011)
  • Emoji2 yazı tipini yüklerken ve TextView.setText(char[]) kullanıldığında kilitlenme sorunu düzeltildi. (Id511e, b/206859724)

Sürüm 1.2.0-rc01

27 Temmuz 2022

androidx.emoji2:emoji2-*:1.2.0-rc01 iptal edilir. 1.2.0-rc01 sürümü şu commit'leri içerir.

  • Son beta sürümünden bu yana değişiklik yapılmadı.

Sürüm 1.2.0-beta01

13 Temmuz 2022

androidx.emoji2:emoji2-*:1.2.0-beta01 iptal edilir. 1.2.0-beta01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Son sürüme göre değişiklik yok (bu sürüm, AppCompat sürümünü desteklemek için yayınlanmıştır).

Sürüm 1.2.0-alpha04

20 Nisan 2022

androidx.emoji2:emoji2-*:1.2.0-alpha04 iptal edilir. 1.2.0-alpha04 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Bu sürümde herhangi bir değişiklik yapılmadı.

Sürüm 1.2.0-alpha03

6 Nisan 2022

androidx.emoji2:emoji2-*:1.2.0-alpha03 iptal edilir. 1.2.0-alpha03 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Son sürüme göre değişiklik yok (bu sürüm, appcompat sürümünü desteklemek için yayınlanmıştır).

Sürüm 1.2.0-alpha02

23 Mart 2022

androidx.emoji2:emoji2-*:1.2.0-alpha02 iptal edilir. 1.2.0-alpha02 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Emoji2, önceden hesaplanmış metin düzenini atarak PrecomputedText öğesine emoji ekler. (I47d06, b/211231958)
  • Android P'deki düzenleyici kilitlenmesi düzeltmesini, emoji2 kullanacak şekilde yapılandırılmış EditText'e geri taşıma. (Ifd709, b/216891011)
  • Emoji2 yazı tipi yüklenirken ve TextView.setText(char[]) kullanıldığında kilitlenme sorunu düzeltildi. (Id511e, b/206859724)

Sürüm 1.2.0-alpha01

23 Şubat 2022

androidx.emoji2:emoji2-*:1.2.0-alpha01 iptal edilir. 1.2.0-alpha01 sürümü şu commit'leri içerir.

1.1.0 sürümünden beri değişiklik yok.

1,1

Sürüm 1.1.0

23 Şubat 2022

androidx.emoji2:emoji2-*:1.1.0 iptal edilir. 1.1.0 sürümü şu commit'leri içerir.

1.0.0 sürümünden beri yapılan önemli değişiklikler

  • emoji2-bundled, emoji 14 yazı tipini içerir
  • Yeni getEmojiMatch API, klavyelerin sistem yazı tipinin arkasında bulunan emoji uyumlu bir yazı tipiyle birlikte emojilerin nasıl görüntüleneceğine karar vermesi için doğru bilgileri döndürür.
  • NumberKeyListener için, rakam girişinin karakterleri doğru şekilde filtrelemesini sağlayan hata düzeltmesi.

Sürüm 1.1.0-rc01

9 Şubat 2022

androidx.emoji2:emoji2-*:1.1.0-rc01 iptal edilir. 1.1.0-rc01 sürümü şu commit'leri içerir.

Yeni Özellikler

Beta sürümüne göre değişiklik yok.

Emoji2 1.0.0'a kıyasla yeni özellikler:

  • emoji2-bundled, emoji 14 yazı tipini içeriyor
  • Yeni getEmojiMatch API, klavyelerin sistem yazı tipinin arkasında bulunan emoji uyumlu bir yazı tipiyle birlikte emojilerin nasıl görüntüleneceğine karar vermesi için doğru bilgileri döndürür.
  • Rakam girişinin karakterleri doğru şekilde filtrelemesini sağlayan NumberKeyListener için hata düzeltmesi

Sürüm 1.1.0-beta01

26 Ocak 2022

androidx.emoji2:emoji2-*:1.1.0-beta01 iptal edilir. 1.1.0-beta01 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • androidx-emoji2 beta01 sürümü. alpha01'den (Ic61d9) itibaren değişiklik yok

Sürüm 1.1.0-alpha01

15 Aralık 2021

androidx.emoji2:emoji2-*:1.1.0-alpha01 iptal edilir. 1.1.0-alpha01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • emoji2-bundled, emoji 14 yazı tipini içeriyor
  • Yeni getEmojiMatch API, klavyelerin sistem yazı tipinin arkasında bulunan emoji uyumlu bir yazı tipiyle birlikte emojilerin nasıl görüntüleneceğine karar vermesi için doğru bilgileri döndürür.
  • Rakam girişinin karakterleri doğru şekilde filtrelemesini sağlayan NumberKeyListener için hata düzeltmesi

API Değişiklikleri

  • Klavyelerin, emojicompat'ta emoji eşleşme davranışını daha doğru şekilde aramasını sağlamak için yeni API getEmojiMatch ekleyin.
  • hasEmojiGlyph işlevinin desteğini sonlandırın. Bu işlevin Boole türündeki dönüş değeri, platform emoji yazı tipinden daha eski bir yazı tipine karşı test yapılırken yanlış oluyor. getEmojiMatch ile değiştirin. (Ie693d)

Hata Düzeltmeleri

  • Emoji2, NumberKeyListener örneklerini sarmayacak ve yerel ayarın TextView tarafından yapılandırılmasına izin verecek.
  • Appcompat, NumberKeyListener örneklerini setKeyListener ile sarmalamaz. Bu sayede TextView, NumberKeyListeners üzerinde yerel ayarı doğru şekilde yapılandırabilir. (Ibf113, b/207119921)

1,0

Sürüm 1.0.1

15 Aralık 2021

androidx.emoji2:emoji2-*:1.0.1 iptal edilir. 1.0.1 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Emoji2, NumberKeyListener örneklerini sarmalamaz. Böylece yerel ayar, TextView tarafından yapılandırılabilir.
  • Appcompat, NumberKeyListener örneklerini setKeyListener ile sarmalamaz. Bu sayede TextView, NumberKeyListeners üzerinde yerel ayarı doğru şekilde yapılandırabilir. (Ibf113, b/207119921)

Sürüm 1.0.0

17 Kasım 2021

androidx.emoji2:emoji2-*:1.0.0 iptal edilir. 1.0.0 sürümü şu commit'leri içerir.

1.0.0 sürümünün temel özellikleri

androidx.emoji2, androidx.emoji'nin yerini alarak ek özellikler sunar:

  • androidx.emoji ile karşılaştırıldığında APK boyutunda azalma
  • Otomatik yapılandırma
  • appcompat 1.4'e bağımlılık olarak eklendi

androidx.emoji2 hakkında daha fazla bilgi için Modern Emojileri Destekleme ve Android Dev Summit'teki Uygulamanızda TÜM emojileri gösterme - Android Dev başlıklı konuşmamıza göz atın.

Sürüm 1.0.0-rc01

27 Ekim 2021

androidx.emoji2:emoji2-*:1.0.0-rc01 iptal edilir. 1.0.0-rc01 sürümü şu commit'leri içerir.

  • beta02 sürümünden bu yana değişiklik yapılmadı.

Emoji2 Version 1.0.0-beta01

15 Eylül 2021

androidx.emoji2:emoji2-*:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.

API Değişiklikleri

  • FontRequestEmojiCompatConfig listesine setLoadingExecutor eklendi. Bu API, setHandler'nin önceki API'sinin yerini alıyor. Bu API, uygulamaların herhangi bir arka plan yürütücüsünü kullanmak üzere FontRequestEmojiCompatConfig yapılandırmasına olanak tanır.

    Bu değişiklik, androidx.emoji:emoji ile uyumluluğu bozan bir değişiklik olduğundan setHandler, geçişe yardımcı olmak için no-op Deprecated API olarak korunur. (I6cd48)

  • EmojiCompat, Android 11'de EditorInfo.extras öğesini doğru şekilde ayarlıyor

    • EditText'i alt sınıfa ayırmayan IME kullanan özel widget'lar, EmojiCompat işlemeyi desteklediklerini IME'ye bildirmek için EmojiCompat.updateEditorInfo işlevini çağırabilir. (I1ea9b)

Hata Düzeltmeleri

  • API 19 ve 28'de emoji yazı tipi sağlayıcısını doğru şekilde aramak için DefaultEmojiCompatConfig düzeltildi. Bu düzeltme, emoji2 1.0.0-alpha01 sürümünde ortaya çıkan bir hatayı düzeltir. (Ib33d8, b/197906329)

Sürüm 1.0.0-alpha03

30 Haziran 2021

androidx.emoji2:emoji2-*:1.0.0-alpha03 iptal edilir. 1.0.0-alpha03 sürümü şu commit'leri içerir.

Yeni Özellikler

Bu sürüm, hata düzeltme ve kararlılık sürümüdür.

  1. EmojiEditTextHelper artık null öğesinin KeyListener olarak iletilmesine izin veriyor. Bu, boş değerlere izin verme platform davranışının, emoji destekleyen EditText uygulamalarına uygulanmasına olanak tanır.
  2. EmojiCompatInitializer kullanılırken ilk başlangıç gecikmesi, ilk etkinlik devam ettirildikten sonra tetiklenecek şekilde iyileştirildi. Bu, uygulamanın başlatılmasının sorunsuz bir şekilde gerçekleşmesini sağlar ve kullanıcı arayüzü göstermeyen uygulama başlatmaları için yazı tipinin yüklenmesini önler. Kısa bir gecikmenin ardından EmojiCompat, emoji yazı tipini yüklemek için bir iş parçacığı oluşturur.
  • Gecikmeyi uygulamak için androidx.emoji2:emoji2'den androidx.lifecycle:lifecycle-process'ya yeni bir bağımlılık eklenir. Bu, yaşam döngüsü içeren uygulamalarda (ör. appcompat içeren uygulamalar) APK boyutu üzerinde ihmal edilebilir bir etkiye sahip olacaktır.

API Değişiklikleri

  • AppCompatEditText'te boş KeyListener'a izin verin. Bu, 1.4.0-alpha01 sürümünde AppCompatEditText'e eklenen boş olmayan değer ek açıklamasını geri alır ve null iletildiğinde önceki davranışı geri yükler. (I21482, b/189559345)

Hata Düzeltmeleri

  • EmojiCompatInitializer'ı, yazı tipi yüklemeyi ilk Activity.onResume'dan 500 ms sonrasına kadar erteleyecek şekilde değiştirin. Bu, bir etkinliğin Application.onCreate ve Activity.onCreate işlemlerini çekişmesiz bir şekilde gerçekleştirmesine olanak tanırken emoji yazı tipinin uygulama başlatıldıktan kısa bir süre sonra yüklenmesini de sağlar. (I4bff7)

Sürüm 1.0.0-alpha02

2 Haziran 2021

androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02 ve androidx.emoji2:emoji2-views-helper:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü şu commit'leri içerir.

API Değişiklikleri

  • emoji2-views-helper içindeki paketin adı androidx.emoji2.viewsintegration olarak değiştirildi. Bu, AppCompat 1.4.0-alpha01 için önemli bir değişikliktir ve uygulamalar, yeni emoji2 sürümünü kullanmak için AppCompat bağımlılığının güncellendiğinden emin olmalıdır. (Ie8397)

Sürüm 1.0.0-alpha01

18 Mayıs 2021

androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01 ve androidx.emoji2:emoji2-views-helper:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü şu commit'leri içerir.

Bu ilk sürümdeki özellikler

API19'dan itibaren modern emojileri desteklemek için tüm uygulamalarda emojicompat'ın entegre edilmesi önerilir. Uygulamanızdaki tüm kullanıcı tarafından oluşturulan içeriklerde 🎉 emojisi bulunuyor.

EmojiCompat, androidx.emoji yapılarından yeni androidx.emoji2 yapısına taşındı. Bu yapı şu anda alpha01 sürümündedir. Yeni yapılar, önceki sürümün yerini alır.

emoji2, AppCompat 1.4.0-alpha01'ten itibaren AppCompat'e bağımlılık olarak eklenir ve AppCompat görünümleri için varsayılan olarak etkinleştirilir.

emoji2 yapısı, androidx.startup kitaplığını kullanarak yeni bir otomatik yapılandırma sunar. 🐻‍❄️ öğesini göstermek için artık 👨🏽‍💻 kod yazmanız gerekmiyor.

Emoji'den emoji2'ye geçişte yapılan değişiklikler

  • androidx.startup kullanılarak yeni otomatik yapılandırma EmojiCompatInitializer eklendi.
  • DefaultEmojiCompatConfiguration bölümünde indirilebilir yazı tipi sağlayıcıları bulmak için hizmet konumunu kullanan yeni bir varsayılan yapılandırma eklendi.
  • Sınıflar androidx.emoji paketinden androidx.emoji2 paketine taşındı.
  • Bölünmüş EmojiTextView ve ilgili görünümleri ayrı bir yapay nesneye emoji2-views ayırın. Bu yalnızca uygulamanızda appcompat kullanılmıyorsa kullanılmalıdır.
  • Emojicompat'ı özel görünümlere entegre etmek için ayrı bir yapay nesneye çıkarılan yardımcılar emoji2-views-helper.
  • Nullability ek açıklamaları eklendi.
  • emoji2-views-helper yardımcıları artık EmojiCompat başlatılmamış olsa bile kullanılabilir (daha önce istisna oluşturuyorlardı).

Hangi bağımlılığı eklemelisiniz?

  • AppCompat'i kullanan uygulamalar, AppCompat 1.4.0-alpha01 veya sonraki bir AppCompat sürümüne yükseltilmelidir.
  • Platformdan TextView/EditText kullanan AppCompat'siz uygulamalar, EmojiTextView ve emoji2-views'deki ilgili sınıfları kullanmalıdır.

Özel görünümlerde destekleme

  • AppCompat'i kullanan uygulamalar, platform TextView vb. yerine AppCompatTextView, AppCompatButton vb. öğeleri genişletmelidir.
  • AppCompat'siz uygulamalar androidx.emoji2:emoji2-views-helper bağımlılığını eklemeli ve özel TextView veya EditText alt sınıflarıyla entegrasyon için yardımcılar kullanmalıdır.

Otomatik başlatmayı yapılandırma

  • Uygulamalar, manifeste aşağıdakileri ekleyerek otomatik başlatmayı devre dışı bırakabilir:

     <provider
         android:name="androidx.startup.InitializationProvider"
         android:authorities="${applicationId}.androidx-startup"
         android:exported="false"
         tools:node="merge">
         <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
                   tools:node="remove" />
     </provider>
    
  • Bu işlem otomatik yapılandırmayı devre dışı bırakır ve ardından EmojiCompat.init için özel bir yapılandırma iletebilirsiniz. Sistemin varsayılan yapılandırması, EmojiCompat.init'ye geçmeden önce daha fazla yapılandırma için DefaultEmojiCompatConfig.create(context) alınabilir.