Emoji2

הצגת אמוג'י במכשירים נוכחיים ובמכשירים ישנים יותר.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫9 בספטמבר 2026 1.6.0 ‎1.7.0-rc01 - -

הצהרה על יחסי תלות

כדי להוסיף תלות ב-Emoji2, צריך להוסיף את מאגר Maven של Google לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

מגניב

dependencies {
    def emoji2_version = "1.6.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.6.0"

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

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

גרסה 1.7

גרסה ‎1.7.0-rc01

‫9 בספטמבר 2026

androidx.emoji2:emoji2-*:1.7.0-rc01 מופץ. גרסה ‎1.7.0-rc01 מכילה את השמירות האלה.

הגרסה הזו מתמקדת בשיפור הביצועים, ומומלצת לכל המשתמשים ב-emoji2.

תיקוני באגים

  • compileSdk Compose libraries updated to 37.1. כדי לעשות את זה, צריך לעדכן את compileSdk באופן טרנזיטיבי בכל האפליקציות והספריות שמשתמשות ב-Compose. (I05b0f)

גרסה ‎1.7.0-alpha01

‫26 באוגוסט 2026

androidx.emoji2:emoji2-*:1.7.0-alpha01 מופץ. גרסה ‎1.7.0-alpha01 מכילה את השמירות האלה.

** גרסת ביצועים **

הגרסה הזו כוללת שיפור משמעותי בביצועים בהשוואה לגרסאות קודמות.

הזיכרון שבשימוש מופחת: השימוש ב-RAM של Metadata trie מופחת מ-~2.2 MB ל-~80 KB.
Reduced startup overhead: Startup object allocations are reduced from 24,178 to 82.
סריקת טקסט ללא הקצאה: סריקת טקסט לטיני רגיל לא מבצעת הקצאות.
זמן אחזור מופחת: זמן האחזור החציוני של סריקת טקסט לטיני ירד ב-83% (מ-16.43 מיקרו-שניות ל-2.66 מיקרו-שניות).
מעקף אוטומטי ב-API 35 ומעלה: העיבוד של EmojiCompat נעקף אוטומטית במכשירים עם גופנים שניתנים לעדכון במערכת.

שינויים ב-API

  • נוסף setUseAfterUpdatableSystemFonts ל-EmojiCompat.Config כדי לאפשר המשך שימוש ב-EmojiCompat ב-Android 15 (API 35) ומעלה גם כשגופני מערכת שניתנים לעדכון זמינים בכל המכשירים. ערך ברירת המחדל ישבית את EmojiCompat ב-API35 ומעלה, ויחסוך בזיכרון ובזמן האחזור של עיבוד הטקסט. ‫(I7235e, b/541363642)

תיקוני באגים

  • בוחר אמוג'י 2 – עודכן Compose compileSdk ל-API 37. כלומר, כשמשתמשים ב-Compose, נדרשת גרסת AGP מינימלית של 9.2.0. (Id45cd, b/413674743)

גרסה 1.6

גרסה 1.6.0

‫10 בספטמבר 2025

androidx.emoji2:emoji2-*:1.6.0 מופץ. גרסה 1.6.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.5.0:

  • תמיכה באמוג'י 16.0
  • מוסיפים את הסיומת 'אמוג'י' לתיאור התוכן של האמוג'י.

תיקוני באגים

גרסה ‎1.6.0-rc01

‫13 באוגוסט 2025

androidx.emoji2:emoji2-*:1.6.0-rc01 מופץ. גרסה ‎1.6.0-rc01 מכילה את השמירות האלה.

תכונות חדשות

  • תמיכה באמוג'י 16.0 והוספת הסיומת 'אמוג'י' לתיאור התוכן.

שינויים ב-API

  • הסרה של הערות @RequiresApi(21) שיצאו משימוש (Ic4792)
  • הסרה של הערות @RequiresApi(21) שיצאו משימוש (I9103b)

גרסה ‎1.6.0-beta01

‫2 ביולי 2025

androidx.emoji2:emoji2-*:1.6.0-beta01 מופץ. גרסה ‎1.6.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

  • תמיכה בעדכונים של אמוג'י 16.0
  • כדי לוודא שיש לנו התנהגות עקבית של נגישות בכל האפליקציות של חלונית בחירת האמוג'י, צריך להוסיף את הסיומת 'אמוג'י' לתיאור התוכן.

גרסה ‎1.6.0-alpha01

‫4 ביוני 2025

androidx.emoji2:emoji2-*:1.6.0-alpha01 מופץ. גרסה ‎1.6.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • עדכוני נתונים של אמוג'י 16.0 (Ifc878)
  • הוספת הסיומת 'אמוג'י' לתיאור התוכן

תיקוני באגים

  • הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify nullness, שהן מסוג type-use. מפתחי Kotlin צריכים להשתמש בארגומנטים הבאים של הקומפיילר כדי לאכוף שימוש נכון: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Id07e7, b/326456246)

גירסה 1.5

גרסה 1.5.0

‫4 בספטמבר 2024

androidx.emoji2:emoji2-*:1.5.0 מופץ. גרסה 1.5.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.4.0

  • תמיכה באמוג'י 15.1 ובממשק משתמש דו-כיווני לבחירת אמוג'י. משתמשים יכולים ללחוץ על המתג כדי לעבור בין גרסאות של אמוג'י שפונות ימינה או שמאלה.
  • תמיכה בבוחר אמוג'י עם כמה גווני עור. לחיצה ארוכה על אמוג'י של זוג חושפת את בורר האמוג'י של כמה אנשים במצב אפס. כשמשתמש מקיש על החצי השמאלי של אמוג'י, התצוגה המקדימה של האמוג'י בפינה השמאלית התחתונה מתעדכנת בהתאם. כשהמשתמש בוחר את שני חצאי האמוג'י, בתצוגה המקדימה של האמוג'י בפינה השמאלית התחתונה יופיע האמוג'י המלא, והמשתמש יוכל להזין אותו.

גרסה ‎1.5.0-rc01

‫21 באוגוסט 2024

androidx.emoji2:emoji2-*:1.5.0-rc01 מופץ. גרסה ‎1.5.0-rc01 מכילה את השמירות האלה.

תכונות חדשות

  • תמיכה באמוג'י 15.1 ובממשק משתמש דו-כיווני לבחירת אמוג'י. בלחיצה פשוטה על המתג לשינוי כיוון, המשתמשים יכולים לעבור בין גרסאות של אמוג'י שפונות ימינה או שמאלה.
  • תמיכה בבוחר אמוג'י עם כמה גווני עור. לחיצה ארוכה על אמוג'י של זוג חושפת את בורר האמוג'י של כמה אנשים במצב אפס. כשמשתמש מקיש על החצי השמאלי של אמוג'י, התצוגה המקדימה של האמוג'י בפינה השמאלית התחתונה מתעדכנת בהתאם. כשהמשתמש בוחר את שני חצאי האמוג'י, בתצוגה המקדימה יופיע האמוג'י המלא, והמשתמש יוכל להזין אותו.

תיקוני באגים

  • הסרנו את האפשרות ליצור באופן ידני תרשים של הגישה לממשקי API חדשים של הפלטפורמה, כי זה קורה באופן אוטומטי באמצעות מידול API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל R8 גרסה 3.3) ובכל הבנייה כשמשתמשים ב-AGP 8.1 ואילך (למשל D8 גרסה 8.1). לקוחות שלא משתמשים ב-AGP מומלץ לעדכן לגרסה 8.1 של D8 או לגרסה מאוחרת יותר. למידע נוסף, מומלץ לעיין במאמר הזה. (If6b4c, b/345472586)
  • הכרטיסייה שנבחרה והאינדיקטורים של EmojiPickerView מתעדכנים באיחור של קליק אחד. (146b02, ‏ b/288261054)
  • הכרטיסייה של EmojiPickerView לא נבחרה והאינדיקטור לא תקין. (5e1f14, b/273883688)

גרסה ‎1.5.0-beta01

‫10 ביולי 2024

androidx.emoji2:emoji2-*:1.5.0-beta01 מופץ. גרסה ‎1.5.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

  • תמיכה באמוג'י 15.1 ובממשק משתמש דו-כיווני לבחירת אמוג'י.
  • תמיכה בעיצוב מחדש של בחירת גוון עור מרובה.

תיקוני באגים

  • הכרטיסייה שנבחרה והאינדיקטורים של EmojiPickerView מתעדכנים באיחור של קליק אחד. (146b02, ‏ b/288261054)
  • הכרטיסייה של EmojiPickerView לא נבחרה והאינדיקטור לא תקין. (5e1f14, b/273883688)

גרסה ‎1.5.0-alpha01

‫13 בדצמבר 2023

androidx.emoji2:emoji2-*:1.5.0-alpha01 מופץ. גרסה ‎1.5.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • emoji2-bundled מכיל גופן אמוג'י מעודכן לתמיכה באמוג'י 15.1.

שינויים ב-API

  • מוסיפים מנהלי פעולות כדי לשלוט בשרשור של בקשת השיחה החוזרת עבור InitCallback. (I32b67)
  • החל מגרסה BundledEmojiCompatConfig, נדרש מנהל ביצוע כדי לשלוט בטעינת השרשורים. (I00e81)

גרסה 1.4

גרסה 1.4.0

‫9 באוגוסט 2023

androidx.emoji2:emoji2-*:1.4.0 מופץ. גרסה 1.4.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.3.0

גרסה ‎1.4.0-rc01

26 ביולי 2023

androidx.emoji2:emoji2-*:1.4.0-rc01 מופץ. גרסה ‎1.4.0-rc01 מכילה את השמירות האלה.

שינויים ב-API

  • הצגת רשימת registerSource (Iae92f)
  • משוב ממועצת ה-API: השם TransitionManager.seekTo() שונה ל-createSeekController(). תשנה בבקשה את התגובה הקודמת לגבי הוספת TransitionManager.seekTo() אל TransitionManager.createSeekController(). (Idbeb1)
  • נוספה הקבוצה ExerciseRouteResult, שהיא לא קבוצת העל של Data, NoData ו-ConsentRequiredStates. נוסף ExerciseRoute כסיווג עצמאי שמכיל נתוני מיקום של המסלול. (I22eed)
  • הוספנו את PagerLayoutInfo עם מידע שנאסף אחרי מעבר של מדד ב-Pager. הוספנו גם את PageInfo, המידע על דף יחיד שנמדד ב-Pager. ‫(Iad003, ‏ b/283098900)

תיקוני באגים

  • עדכנו את הצבעים של Button, IconButton ו-TextButton בהתאם לעיצוב Material3. עכשיו אפשר לבטל את התפקיד הסמנטי של Button, IconButton ו-TextButton באמצעות Modifier.semantics. (Ib2495)
  • תוקן מצב שבו הבחירה בכרטיסייה והעדכונים של האינדיקטור ב-EmojiPickerView היו באיחור של קליק אחד. (I4db04)
  • FileNotFoundException בהצגת חלונית לבחירת אמוג'י (I353e4)
  • הצגת WindowManager.BadTokenException כשמשתמשים ב-EmojiPickerView (I0a144)

גרסה ‎1.4.0-beta05

‫7 ביוני 2023

androidx.emoji2:emoji2-*:1.4.0-beta05 מופץ. גרסה ‎1.4.0-beta05 מכילה את השמירות האלה.

תיקוני באגים

  • תוקן באג שהוצג בגרסה 1.3 וגרם להחלה של MetricsAffectingSpans כמו RelativeSizeSpan פעמיים. פעם אחת במהלך פריסת הטקסט, ופעם נוספת בתוך EmojiSpan.draw. התוצאה הייתה ציור בגודל שגוי, שאפשר לראות אם אחד מהפרמטרים של גודל הטקסט השתנה על ידי התג span. (b/283208650)

גרסה ‎1.4.0-beta04

‫24 במאי 2023

androidx.emoji2:emoji2-*:1.4.0-beta04 מופץ. גרסה ‎1.4.0-beta04 מכילה את השמירות האלה.

בגרסה הזו תוקן באג שהיה קיים מאז גרסה 1.0, שבו תצוגות עם handler שאינו ראשי היו יוצרות חריגה בניסיון לעדכן את טווחי האמוג'י אחרי טעינת הגופן. אין פתרון עקיף. אם הבאג הזה משפיע עליכם, עליכם לשדרג לגרסה הזו או לגרסה חדשה יותר.

תיקוני באגים

  • הקריאות החוזרות (callbacks) של EmojiCompat init ישתמשו עכשיו ב-handler מכל תצוגה, תוך התחשבות בתצוגות שלא נמצאות בשרשור הראשי. (Iccbcf)

גרסה ‎1.4.0-beta03

‫10 במאי 2023

androidx.emoji2:emoji2-*:1.4.0-beta03 מופץ. גרסה ‎1.4.0-beta03 מכילה את השמירות האלה.

תיקוני באגים

  • תיקון קריסה בתצוגה של חלון קופץ מוטמע בחלונית לבחירת אמוג'י. (0acc8e)
  • הקפצת הודעת שגיאה (throw) לחריגים מוקדמים ב-EmojiCompat getEmojiStart/getEmojiEnd. (26177f)

גרסה ‎1.4.0-beta02

‫19 באפריל 2023

androidx.emoji2:emoji2-*:1.4.0-beta02 מופץ. גרסה ‎1.4.0-beta02 מכילה את השמירות האלה.

תיקוני באגים

  • עדכון קובצי הבסיס של lint ‏ (Iaa212)

גרסה ‎1.4.0-beta01

‫5 באפריל 2023

androidx.emoji2:emoji2-*:1.4.0-beta01 מופץ. גרסה ‎1.4.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

androidx.emoji2:emoji2-emojipicker

הכלי לבחירת אמוג'י הוא פתרון לממשק משתמש שמציע מראה ותחושה מודרניים, אמוג'י עדכניים וקלות שימוש. המשתמשים יכולים לעיין באמוג'י ובגרסאות השונות שלהם ולבחור מתוכם, או לבחור מבין האמוג'י שהם השתמשו בהם לאחרונה. הספרייה הזו מאפשרת לאפליקציות של יצרני ציוד מקורי שונים לספק למשתמשים חוויית אמוג'י מאוחדת ומכילה, בלי שהמפתחים יצטרכו ליצור ולתחזק חלונית לבחירת אמוג'י מאפס.

אמוג'י עדכניים

אמוג'י חדשים יוצאים מדי שנה, ואנחנו נכלול אותם בבוחר האמוג'י באופן סלקטיבי. כדי להבטיח תאימות לדורות קודמים, אנחנו מבצעים בדיקה מדויקת של יכולת העיבוד של אימוג'י באופן פנימי כדי למנוע טופו. כך אפשר לוודא שהספרייה תואמת למגוון גרסאות ומכשירים של Android.

וריאציות במיקום קבוע

אם לוחצים לחיצה ארוכה על אמוג'י, מוצג תפריט של וריאציות, כמו מגדרים או גווני עור שונים. הווריאציה שתבחרו תישמר בחלונית לבחירת אמוג'י, והווריאציה האחרונה שנבחרה תשמש בחלונית הראשית. התכונה הזו מאפשרת למשתמשים לשלוח את הגרסאות המועדפות של סמלי האמוג'י בלחיצה אחת בלבד.

אמוג'י שהיו בשימוש לאחרונה

האמוג'י בקטגוריה 'בשימוש לאחרונה' מסופקים על ידי RecentEmojiProvider. הספרייה כוללת ספק אמוג'י שהיו בשימוש לאחרונה כברירת מחדל, שמתאים לתרחיש השימוש הנפוץ ביותר:

  • כל האמוג'י שנבחרו נשמרים ברמת האפליקציה בהעדפות משותפות.
  • בבורר מוצגות לכל היותר 3 שורות של אמוג'י נבחרים, ללא כפילויות, בסדר כרונולוגי הפוך.

אם התנהגות ברירת המחדל הזו מספיקה, לא צריך להגדיר את השיטה setRecentEmojiProvider().

עבודה עם EmojiCompat

אם יש מופע של EmojiCompat באפליקציה, הוא ישמש בחלונית לבחירת אמוג'י כדי להציג כמה שיותר אמוג'י. אם EmojiCompat מושבת, חלונית לבחירת אמוג'י תמשיך לפעול כרגיל.

איך משתמשים בספרייה

כדי להשתמש בספרייה, מפתחי אפליקציות צריכים

  1. ייבוא של androidx.emoji2:emojipicker:$version ב-build.gradle.

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. ליצור אוביקט תצוגה (inflate) של חלונית לבחירת אמוג'י ואופציונלית מגדירים את emojiGridRows ו-emojiGridColumns בהתאם לגודל הרצוי של כל תא אמוג'י

    • אפשר להשאיר את ההגדרות האלה ללא שינוי. ברירת המחדל היא 9 emojiGridColumns. מספר השורות יחושב על סמך הגובה של התצוגה המפורטת של ההורה ו-emojiGridColumns
    • אפשר להגדיר את emojiGridRows כ-float כדי לציין שיש עוד סמלי אמוג'י אם גוללים למטה ב-XML
     <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)
  1. אם רוצים להוסיף את האמוג'ים שנבחרו ל-EditText, משתמשים ב-setOnEmojiPickedListener()

      emojiPickerView.setOnEmojiPickedListener {
          findViewById<EditText>(R.id.edit_text).append(it.emoji)
      }
    
  2. אפשר להגדיר את RecentEmojiProvider. דוגמה להטמעה מופיעה באפליקציה לדוגמה.

  3. אפשר להתאים אישית את הסגנונות. אתם יכולים ליצור סגנון משלכם כדי לשנות מאפיינים נפוצים של עיצוב ולהחיל את הסגנון על EmojiPickerView. לדוגמה, החלפת colorControlNormal תשנה את צבע הסמל של הקטגוריה.

      <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" />
    

דוגמה להטמעה מופיעה באפליקציה לדוגמה.

כאן אפשר לראות את כל ה-API.

אפליקציה לדוגמה

באפליקציה לדוגמה הזו מוצגים תרחישי שימוש בסיסיים, וגם התרחישים הנוספים הבאים:

  • הפריסה של התצוגה השתנתה כי emojiGridRows ו- emojiGridColumns אופסו.
  • המיון של ספק האמוג'י האחרון משתנה למיון לפי תדירות.
  • התאמה אישית של הסגנון.

שינויים ב-API

ספריית הבוחר של האמוג'י עודכנה עם ממשקי ה-API החדשים הבאים:

  • הסיווג EmojiPickerView, שמספק אמוג'י עדכניים בתצוגה אנכית שאפשר לגלול בה, עם כותרת אופקית שאפשר ללחוץ עליה.
  • אפשר להגדיר את מספר העמודות והשורות ברשת של חלונית לבחירת אמוג'י באמצעות מאפייני ה-XML‏ emojiGridColumns ו-emojiGridRows או באמצעות השיטות setEmojiGridColumns() ו-setEmojiGridRows().
  • הוספנו אפשרות להגדיר מאזין לאמוג'י שנבחר באמצעות השיטה setOnEmojiPickedListener(). המאזין יקבל התראה בכל פעם שהמשתמש ילחץ על אימוג'י כלשהו.
  • האפשרות לספק ספק אמוג'י עדכני באמצעות השיטה setRecentEmojiProvider(). זו פונקציה אופציונלית. אם לא מוגדר ספק אמוג'י אחרונים, הספרייה תשתמש בספק ברירת מחדל של אמוג'י אחרונים. פעולת ברירת המחדל מוגדרת באופן הבא:
    • כל האימוג'י שנבחרו יישמרו ברמת האפליקציה בהעדפות משותפות.
    • בבורר יוצגו לכל היותר 3 שורות של אמוג'י שנבחרו, ללא כפילויות, בסדר כרונולוגי הפוך.
  • המחלקה EmojiViewItem, שמכילה את האמוג'י שמוצג ואת הווריאציות שלו.
  • ממשק RecentEmojiProvider, שאפשר להטמיע כדי לספק רשימה של אמוג'י שהשתמשו בהם לאחרונה. האמוג'י בקטגוריה 'בשימוש לאחרונה' מסופקים על ידי recentEmojiProvider.
  • ממשק RecentEmojiAsyncProvider, שאפשר להטמיע כדי לספק רשימה של אמוג'י שהשתמשו בהם לאחרונה. האמוג'י בקטגוריה 'בשימוש לאחרונה' מסופקים על ידי RecentEmojiAsyncProvider. הממשק הזה מקביל ל-RecentEmojiProvider שמאפשר ללקוחות לבטל את השיטה getRecentEmojiListAsync() כדי לספק אמוג'י עדכניים.
  • המחלקה RecentEmojiProviderAdapter, שהיא מתאם ל-RecentEmojiAsyncProvider ומטמיעה את RecentEmojiProvider.

גרסה ‎1.4.0-alpha01

‫22 במרץ 2023

androidx.emoji2:emoji2-*:1.4.0-alpha01 מופץ. גרסה ‎1.4.0-alpha01 מכילה את השמירות האלה.

תיקוני באגים

  • תיקון בדיקות, השבתת בדיקות לא יציבות וניקוי.

גרסה 1.3

גרסה 1.3.0

‫22 במרץ 2023

androidx.emoji2:emoji2-*:1.3.0 מופץ. גרסה 1.3.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.2.0

  • בגרסה הזו אפשר להפעיל שילוב של emoji2 ב-Compose Foundation 1.4.0 ואילך.
  • הוא גם מאפשר להחליף את EmojiSpans בקוד ציור בהתאמה אישית, וכולל תמיכה בהחרגות של סמלי אמוג'י שמוגדרות ב-Android.

גרסה ‎1.3.0-rc01

‫8 במרץ 2023

androidx.emoji2:emoji2-*:1.3.0-rc01 מופץ. גרסה ‎1.3.0-rc01 מכילה את השמירות האלה.

תכונות חדשות

  • הגרסה הזו נועדה לתמוך בשילוב של כתיבת emoji2.

שינויים ב-API

  • החלפת טווחים בקוד ציור מותאם אישית.
  • שאילתות לגבי החרגות מהמערכת.

תיקוני באגים

  • בנוסף, תיקנו באג שבו טווחי רקע לא הוחלו בצורה נכונה מאחורי EmojiSopans.

גרסה ‎1.3.0-beta03

23 בפברואר 2023

הגרסאות androidx.emoji2:emoji2-bundled:1.3.0-beta03, androidx.emoji2:emoji2-views:1.3.0-beta03 וגם androidx.emoji2:emoji2-views-helper:1.3.0-beta03 יוצאות.

‫22 בפברואר 2023

androidx.emoji2:emoji2:1.3.0-beta03 מופץ. גרסה ‎1.3.0-beta03 מכילה את השמירות האלה.

תכונות חדשות

  • אין שינויים. הגרסה הזו נועדה להכין את הקרקע לשילוב של כתיבת הודעות.

גרסה ‎1.3.0-beta02

‫8 בפברואר 2023

androidx.emoji2:emoji2-*:1.3.0-beta02 מופץ. גרסה ‎1.3.0-beta02 מכילה את השמירות האלה.

תכונות חדשות

  • בגרסה הזו בוצעו שיפורים ביציבות כדי לתמוך בשילוב של כתיבת הודעות.

גרסה ‎1.3.0-beta01

‫25 בינואר 2023

androidx.emoji2:emoji2-*:1.3.0-beta01 מופץ. גרסה ‎1.3.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

  • שאילתות לגבי החרגות מהמערכת.
  • החלפת הטווחים של קוד ציור בהתאמה אישית.
  • בנוסף, תוקן באג שבו טווחי רקע לא הוחלו בצורה נכונה מאחורי EmojiSopans.
  • בגרסה הזו נוספו ממשקי API שנדרשים לתמיכה ב-EmojiCompat בכתיבה. בגרסה הקרובה של התכונה 'יצירה' תהיה תמיכה באמוג'י תואם.

גרסה ‎1.3.0-alpha01

‫11 בינואר 2023

androidx.emoji2:emoji2-*:1.3.0-alpha01 מופץ. גרסה ‎1.3.0-alpha01 מכילה את השמירות האלה.

ממשקי API חדשים לאינטראקציות ברמה נמוכה

  • שאילתות לגבי החרגות של המערכת
  • החלפת הטווחים של קוד ציור בהתאמה אישית
  • בנוסף, תוקן באג שבו טווחי רקע לא הוחלו בצורה נכונה מאחורי EmojiSopans.
  • בגרסה הזו נוספו ממשקי API שנדרשים לתמיכה ב-EmojiCompat בכתיבה. בגרסה הקרובה של התכונה 'יצירה' תהיה תמיכה באמוג'י תואם.

שינויים ב-API

  • נוספה ל-TypefaceEmojiRasterizer האפשרות לשאול על החרגות של המערכת. (I5653e)
  • הוספנו API חדש EmojiCompat.SpanFactory להחלפת התנהגות ברירת המחדל EmojiSpan בקוד מותאם אישית לציור ולשינוי גודל. (Ib69d9)
  • הוספת EmojiCompat לכתיבת הודעה (I96f37, ‏ b/139326806)

תיקוני באגים

  • הרקעים מ-BackgroundSpan יוצגו עכשיו בצורה תקינה ב-Emoji2. ‫(Ide6a8, ‏ b/230525134)
  • השלמת ממשקי ה-API של AppCompat לגרסה 1.5.0-beta01 (I2a43d, ‏ b/236866227)

גרסה 1.2

גרסה 1.2.0

‫10 באוגוסט 2022

androidx.emoji2:emoji2-*:1.2.0 מופץ. גרסה 1.2.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.1.0

זוהי גרסה לתיקון באגים. לא נוספו תכונות חדשות או ממשקי API מאז גרסה 1.1.0.

עם זאת, באפליקציות שמשתמשות בגרסה PrecomputedText או בגרסה TextView.setText(char[]), מומלץ לעבור לגרסה הזו בהקדם האפשרי.

הבאגים הבאים תוקנו:

  • Emoji2 יוסיף אמוג'י ל-PrecomputedText על ידי ביטול פריסת הטקסט שחושבה מראש. ‫(I47d06, ‏ b/211231958)
  • תיקון קריסה של עורך ב-Android P הועבר מגרסה קודמת ל-EditText שמוגדר להשתמש ב-emoji2. (Ifd709, ‏ b/216891011)
  • תוקנה קריסה כשגופן emoji2 נטען והשתמשו ב-TextView.setText(char[]). ‫(Id511e, ‏ b/206859724)

גרסה ‎1.2.0-rc01

‫27 ביולי 2022

androidx.emoji2:emoji2-*:1.2.0-rc01 מופץ. גרסה ‎1.2.0-rc01 מכילה את השמירות האלה.

  • לא בוצעו שינויים מאז גרסת הבטא האחרונה.

גרסה ‎1.2.0-beta01

‫13 ביולי 2022

androidx.emoji2:emoji2-*:1.2.0-beta01 מופץ. גרסה ‎1.2.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

  • לא בוצעו שינויים מהגרסה האחרונה (הגרסה הזו נועדה לתמוך בגרסת AppCompat).

גרסה ‎1.2.0-alpha04

‫20 באפריל 2022

androidx.emoji2:emoji2-*:1.2.0-alpha04 מופץ. גרסה ‎1.2.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

  • אין שינויים בגרסה הזו.

גרסה ‎1.2.0-alpha03

‫6 באפריל 2022

androidx.emoji2:emoji2-*:1.2.0-alpha03 מופץ. גרסה ‎1.2.0-alpha03 מכילה את השמירות האלה.

תכונות חדשות

  • אין שינויים מהגרסה האחרונה (הגרסה הזו נועדה לתמוך בגרסת appcompat).

גרסה ‎1.2.0-alpha02

‫23 במרץ 2022

androidx.emoji2:emoji2-*:1.2.0-alpha02 מופץ. גרסה ‎1.2.0-alpha02 מכילה את השמירות האלה.

תיקוני באגים

  • ‫Emoji2 יוסיף אמוג'י ל-PrecomputedText על ידי ביטול פריסת הטקסט שחושבה מראש. ‫(I47d06, b/211231958)
  • תיקון קריסה של עורך ב-backport מ-Android P ל-EditText שהוגדר לשימוש ב-emoji2. (Ifd709, ‏ b/216891011)
  • תוקנה קריסה שמתרחשת כשגופן emoji2 נטען ונעשה שימוש ב-TextView.setText(char[]). ‫(Id511e, ‏ b/206859724)

גרסה ‎1.2.0-alpha01

23 בפברואר 2022

androidx.emoji2:emoji2-*:1.2.0-alpha01 מופץ. גרסה ‎1.2.0-alpha01 מכילה את השמירות האלה.

לא בוצעו שינויים מאז גרסה 1.1.0.

1.1

גרסה 1.1.0

23 בפברואר 2022

androidx.emoji2:emoji2-*:1.1.0 מופץ. גרסה 1.1.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.0.0

  • ‫emoji2-bundled מכיל גופן אמוג'י 14
  • ממשק ה-API החדש getEmojiMatch מחזיר מידע מדויק למקלדות כדי לקבוע איך יוצג אמוג'י בנוכחות גופן תואם לאמוג'י שנמצא מאחורי גופן המערכת
  • תיקון באג ב-NumberKeyListener שגורם לסינון תווים נכון של קלט ספרות.

גרסה ‎1.1.0-rc01

‫9 בפברואר 2022

androidx.emoji2:emoji2-*:1.1.0-rc01 מופץ. גרסה ‎1.1.0-rc01 מכילה את השמירות האלה.

תכונות חדשות

אין שינויים מאז גרסת הבטא.

תכונות חדשות בהשוואה ל-emoji2 1.0.0:

  • emoji2-bundled מכיל גופן אמוג'י 14
  • ממשק ה-API החדש getEmojiMatch מחזיר מידע מדויק למקלדות כדי לקבוע איך יוצג אמוג'י בנוכחות גופן תואם לאמוג'י שנמצא מאחורי גופן המערכת
  • תיקון באג ב-NumberKeyListener שגורם לסינון נכון של תווים בהזנת ספרות

גרסה ‎1.1.0-beta01

‫26 בינואר 2022

androidx.emoji2:emoji2-*:1.1.0-beta01 מופץ. גרסה ‎1.1.0-beta01 מכילה את השמירות האלה.

תיקוני באגים

  • ‫androidx-emoji2 beta01 release. אין שינויים מגרסה alpha01‏ (Ic61d9)

גרסה ‎1.1.0-alpha01

15 בדצמבר 2021

androidx.emoji2:emoji2-*:1.1.0-alpha01 מופץ. גרסה ‎1.1.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • emoji2-bundled מכיל גופן אמוג'י 14
  • ממשק ה-API החדש getEmojiMatch מחזיר מידע מדויק למקלדות כדי לקבוע איך יוצג אמוג'י בנוכחות גופן תואם לאמוג'י שנמצא מאחורי גופן המערכת
  • תיקון באג ב-NumberKeyListener שגורם לסינון נכון של תווים בהזנת ספרות

שינויים ב-API

  • הוספנו API חדש getEmojiMatch כדי לאפשר למקלדות לחפש בצורה מדויקת יותר התנהגות של התאמת אמוג'י ב-emojicompat.
  • הפונקציה hasEmojiGlyph הוצאה משימוש, כי הערך הבוליאני שהיא מחזירה לא מדויק כשבודקים גופן שהוא ישן יותר מגופן האימוג'י של הפלטפורמה. החלפה ב-getEmojiMatch. (Ie693d)

תיקוני באגים

  • ‫Emoji2 לא יקיף מקרים של NumberKeyListener, כך שניתן יהיה להגדיר את הלוקאל באמצעות TextView.
  • ‫AppCompat לא יעטוף מופעים של NumberKeyListener שמועברים אל setKeyListener, וכך יאפשר ל-TextView להגדיר את הלוקאל ב-NumberKeyListeners בצורה נכונה. (Ibf113, ‏ b/207119921)

1.0

גרסה 1.0.1

15 בדצמבר 2021

androidx.emoji2:emoji2-*:1.0.1 מופץ. גרסה 1.0.1 מכילה את השמירות האלה.

תיקוני באגים

  • Emoji2 לא יכלול מקרים של NumberKeyListener, ויאפשר ל-TextView להגדיר את הלוקאל.
  • ‫AppCompat לא יעטוף מופעים של NumberKeyListener שמועברים אל setKeyListener, וכך יאפשר ל-TextView להגדיר את הלוקאל ב-NumberKeyListeners בצורה נכונה. (Ibf113, ‏ b/207119921)

גרסה 1.0.0

17 בנובמבר 2021

androidx.emoji2:emoji2-*:1.0.0 מופץ. גרסה 1.0.0 מכילה את השמירות האלה.

התכונות העיקריות בגרסה 1.0.0

‫androidx.emoji2 מחליף את androidx.emoji עם יכולות נוספות:

  • הקטנת גודל ה-APK לעומת androidx.emoji
  • הגדרה אוטומטית
  • נוספה כתלות ל-appcompat 1.4

מידע נוסף על androidx.emoji2 זמין במאמר תמיכה בסמלי אמוג'י מודרניים ובשיחה שלנו במפגש של מפתחי Android בנושא הצגת כל סמלי האמוג'י באפליקציית Android.

גרסה ‎1.0.0-rc01

‫27 באוקטובר 2021

androidx.emoji2:emoji2-*:1.0.0-rc01 מופץ. גרסה ‎1.0.0-rc01 מכילה את השמירות האלה.

  • לא בוצעו שינויים מאז גרסת בטא02.

גרסה Emoji2 1.0.0-beta01

‫15 בספטמבר 2021

androidx.emoji2:emoji2-*:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו את setLoadingExecutor ל-FontRequestEmojiCompatConfig, שמחליף את ה-API הקודם של setHandler. ה-API הזה מאפשר לאפליקציות להגדיר את FontRequestEmojiCompatConfig כך שישתמשו בכל מפעיל ברקע.

    השינוי הזה הוא שינוי שובר תאימות מ-androidx.emoji:emoji, ולכן setHandler נשמר כ-API שהוצא משימוש ללא פעולה (no-op) כדי לסייע בהעברה. (I6cd48)

  • ‫EmojiCompat מגדיר נכון את EditorInfo.extras ב-Android 11

    • ווידג'טים מותאמים אישית שמשתמשים ב-IME ולא ב-subclassing EditText עשויים לקרוא ל-EmojiCompat.updateEditorInfo כדי ליידע את ה-IME שהם תומכים בעיבוד של EmojiCompat. (I1ea9b)

תיקוני באגים

  • תוקנה בעיה שגרמה לחיפוש שגוי של ספק גופני אימוג'יDefaultEmojiCompatConfig ב-API 19 וב-API 28. התיקון הזה פותר באג שהוצג ב-emoji2 1.0.0-alpha01. (Ib33d8, ‏ b/197906329)

גרסה ‎1.0.0-alpha03

‫30 ביוני 2021

androidx.emoji2:emoji2-*:1.0.0-alpha03 מופץ. גרסה ‎1.0.0-alpha03 מכילה את השמירות האלה.

תכונות חדשות

הגרסה הזו כוללת תיקוני באגים ושיפורי יציבות.

  1. הכלי EmojiEditTextHelper מאפשר עכשיו להעביר את null כ-KeyListener. כך אפשר להחיל את התנהגות הפלטפורמה שמאפשרת ערכי null על הטמעות של EditText שתומכות באמוג'י.
  2. כשמשתמשים ב-EmojiCompatInitializer, העיכוב הראשוני בהפעלה משתפר ומופעל אחרי שהפעילות הראשונה מתחדשת. כך האפליקציה יכולה להתחיל לפעול בלי הפרעות, והגופן לא נטען כשהאפליקציה מתחילה לפעול בלי להציג ממשק משתמש. אחרי השהיה קצרה, EmojiCompat תיצור שרשור כדי לטעון את גופן האמוג'י.
  • נוספה תלות חדשה ב-androidx.lifecycle:lifecycle-process מ-androidx.emoji2:emoji2 כדי להטמיע את העיכוב. ההשפעה על גודל ה-APK תהיה זניחה באפליקציות שכבר כוללות מחזור חיים (למשל אפליקציות עם appcompat).

שינויים ב-API

  • אפשר להשתמש ב-KeyListener עם ערך null ב-AppCompatEditText. הפעולה הזו מבטלת את ההערה non-null שנוספה ל-AppCompatEditText בגרסה 1.4.0-alpha01 ומשחזרת את ההתנהגות הקודמת כשמעבירים null. (I21482, ‏ b/189559345)

תיקוני באגים

  • שינוי של EmojiCompatInitializer כדי לדחות את טעינת הגופן עד 500ms אחרי Activity.onResume הראשון. כך פעילות יכולה להתבצע Application.onCreate וActivity.onCreate ללא תחרות, ועדיין לוודא שגופן האימוג'י נטען זמן קצר אחרי הפעלת האפליקציה. (I4bff7)

גרסה ‎1.0.0-alpha02

‫2 ביוני 2021

הגרסאות androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02 וגם androidx.emoji2:emoji2-views-helper:1.0.0-alpha02 יוצאות. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

שינויים ב-API

  • השם של החבילה ב-emoji2-views-helper שונה ל-androidx.emoji2.viewsintegration. זהו שינוי שעלול לגרום לבעיות ב-AppCompat 1.4.0-alpha01, ולכן האפליקציות צריכות לוודא שהתלות ב-AppCompat מעודכנת כדי להשתמש בגרסה החדשה של emoji2. (Ie8397)

גרסה ‎1.0.0-alpha01

‫18 במאי 2021

הגרסאות androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01 וגם androidx.emoji2:emoji2-views-helper:1.0.0-alpha01 יוצאות. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.

תכונות בגרסה הראשונית הזו

מומלץ לשלב את emojicompat בכל האפליקציות כדי לתמוך בסמלי אמוג'י מודרניים מ-API19. כל התוכן שנוצר על ידי משתמשים באפליקציה מכיל את הסמל 🎉.

הספרייה EmojiCompat הועברה מ-androidx.emoji artifacts אל androidx.emoji2 החדשה, שזמינה עכשיו בגרסת אלפא01. הפריטים החדשים מחליפים את הגרסה הקודמת.

emoji2 נוסף כ-dependency ל-AppCompat החל מ-AppCompat 1.4.0-alpha01 ומופעל כברירת מחדל לתצוגות AppCompat.

ארטיפקט emoji2 מציג הגדרה אוטומטית חדשה באמצעות ספריית androidx.startup. לא צריך יותר לכתוב קוד 👨🏽‍💻 כדי להציג את האימוג'י 🐻‍❄️.

שינויים ב-emoji2 לעומת emoji

  • נוספה הגדרה אוטומטית חדשה EmojiCompatInitializer באמצעות androidx.startup.
  • נוספה הגדרת ברירת מחדל חדשה שמשתמשת במיקום השירות כדי למצוא ספק של גופנים להורדה ב-DefaultEmojiCompatConfiguration.
  • הכיתות הועברו מחבילת androidx.emoji לחבילת androidx.emoji2.
  • פיצול EmojiTextView ותצוגות קשורות לארטיפקט נפרד emoji2-views. צריך להשתמש באפשרות הזו רק אם האפליקציה לא משתמשת בספריית appcompat.
  • הוצאו קבצים מסייעים לשילוב של emojicompat בתצוגות בהתאמה אישית לארטיפקט נפרד emoji2-views-helper.
  • נוספו הערות לגבי האפשרות שערך יהיה ריק (nullability).
  • עכשיו אפשר להשתמש ב-Helpers ב-emoji2-views-helper גם כש-EmojiCompat לא מאותחל (בעבר הם הציגו חריגה).

איזו תלות צריך להוסיף?

  • אפליקציות עם AppCompat צריכות לשדרג לגרסה AppCompat 1.4.0-alpha01 ואילך.
  • אפליקציות ללא AppCompat שמשתמשות ב-TextView/EditText מהפלטפורמה צריכות להשתמש ב-EmojiTextView ובמחלקות קשורות מ-emoji2-views.

איך תומכים בתצוגות מותאמות אישית

  • אפליקציות עם AppCompat צריכות להרחיב את AppCompatTextView, ‏AppCompatButton וכו' במקום את TextView וכו' של הפלטפורמה.
  • באפליקציות שאין בהן AppCompat, צריך להוסיף תלות ב-androidx.emoji2:emoji2-views-helper ולהשתמש בפונקציות עזר כדי לבצע שילוב עם מחלקות משנה מותאמות אישית של TextView או EditText.

הגדרת הפעלה אוטומטית

  • אפליקציות יכולות להשבית את האתחול האוטומטי על ידי הוספת הקוד הבא למניפסט:

     <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>
    
  • הפעולה הזו משביתה את ההגדרה האוטומטית, ואז אפשר להעביר הגדרה בהתאמה אישית אל EmojiCompat.init. אפשר לאחזר את הגדרות ברירת המחדל של המערכת DefaultEmojiCompatConfig.create(context) כדי להגדיר אותן לפני שמעבירים אותן אל EmojiCompat.init.

Emoji2 Emojipicker Version 1.0

גרסה ‎1.0.0-alpha03

‫8 במרץ 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 מופץ. גרסה ‎1.0.0-alpha03 מכילה את השמירות האלה.

תיקוני באגים

  • הוסרו משאבים מיותרים והגודל של הספרייה קטן בכ-0.3M.

גרסה ‎1.0.0-alpha02

‫22 בפברואר 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 מופץ. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

שינויים ב-API

  • נוסף API חדש ללקוחות Java כדי לספק אמוג'י עדכניים. (I39d10)

תיקוני באגים

  • עדכון של משאבי האמוג'י כדי לתמוך באמוג'י 15.0 (Ib4eb3)
  • כשבוחרים אמוג'י מהחלון הקופץ, כל האמוג'י הזהים מתעדכנים לאמוג'י החדש שנבחר (חוץ מהשורה של האמוג'י האחרונים). גם להכריז על האמוג'י כשלוחצים עליו. (I892c6)
  • ממתינים עד שהדף emojicompat ייטען לפני שמציגים את EmojiPickerView. (I29e03)

גרסה ‎1.0.0-alpha01

‫25 בינואר 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 מופץ. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו חלונית לבחירת אמוג'י שמספקת חוויית שימוש עקבית עם האמוג'י העדכניים ביותר במכשירי OEM ובאפליקציות של Android OS. היא מספקת את התמיכה העדכנית באמוג'י וממשק משתמש של חלונית לבחירת אמוג'י, כולל וריאציות של גווני עור ותמיכה בתאימות של אמוג'י.

שינויים ב-API

  • הוספנו את המחלקה EmojiPickerView שמספקת אמוג'י עדכניים בתצוגה אנכית שאפשר לגלול בה, עם כותרת אופקית שאפשר ללחוץ עליה.
  • אפשר להגדיר את העמודות של רשת חלונית לבחירת אמוג'י באמצעות מאפיין XML‏ emojiGridColumns או הפונקציה setEmojiGridColumns().
  • אפשר להגדיר את השורות של רשת חלונית לבחירת אמוג'י באמצעות מאפיין XML‏ emojiGridRows או הפונקציה setEmojiGridRows().
  • אפשר להגדיר את מאזין האמוג'י שנבחר באמצעות setOnEmojiPickedListener(), והמאזין יקבל הודעה בכל פעם שהמשתמש ילחץ על אמוג'י כלשהו.
  • אפשר לספק את ספק האמוג'י האחרון עם setRecentEmojiProvider(). זו פונקציה אופציונלית. אם לא מוגדר ספק אמוג'י אחרונים, הספרייה תשתמש בספק ברירת מחדל של אמוג'י אחרונים. ההתנהגות שמוגדרת כברירת מחדל היא: 1) כל האימוג'י שנבחרו יישמרו ברמת האפליקציה בהעדפות משותפות. ‫2) בכלי לבחירת אמוג'י יוצגו לכל היותר 3 שורות של אמוג'י שנבחרו, ללא כפילויות, בסדר כרונולוגי הפוך.
  • נוספה מחלקה EmojiViewItem שמכילה את האמוג'י שמוצג ואת הווריאציות שלו.
  • הוספנו את הממשק RecentEmojiProvider שאפשר להטמיע כדי לספק רשימה של אמוג'י שהשתמשתם בהם לאחרונה. האמוג'י בקטגוריה 'בשימוש לאחרונה' מסופקים על ידי recentEmojiProvider.