Emoji2

הצגת אמוג'י במכשירים נוכחיים וישנים.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫2 ביולי 2025 1.5.0 - 1.6.0-beta01 -

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

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

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

מגניב

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")
}

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

משוב

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

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

מידע נוסף זמין במאמרי העזרה בנושא כלי המעקב אחר בעיות.

Emoji2 Emojipicker Version 1.0

גרסה 1.5.0

‫4 בספטמבר 2024

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

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

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

גרסה 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)
  • צריך לחכות עד שהסמל EmojiPickerView יופיע אחרי שהדף emojicompat ייטען. (I29e03)

גרסה 1.0.0-alpha01

‫25 בינואר 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 משוחרר. גרסה 1.0.0-alpha01 מכילה את הקומיטים האלה.

תכונות חדשות

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

שינויים ב-API

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

גרסה 1.6

גרסה 1.6.0-beta01

‫2 ביולי 2025

androidx.emoji2:emoji2-*:1.6.0-beta01 משוחרר. גרסה 1.6.0-beta01 מכילה את הקומטים האלה.

תכונות חדשות

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

גרסה 1.6.0-alpha01

‫4 ביוני 2025

androidx.emoji2:emoji2-*:1.6.0-alpha01 משוחרר. גרסה 1.6.0-alpha01 מכילה את הקומטים האלה.

תכונות חדשות

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

תיקוני באגים

  • הספרייה הזו משתמשת עכשיו בהערות לגבי ערכי null של JSpecify, שהן הערות לשימוש בסוג. מפתחי 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 מומלץ לעדכן לגרסה D8 8.1 ואילך. למידע נוסף, מומלץ לעיין במאמר הזה. (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 משתמש עכשיו ב-executor כדי לשלוט בטעינת ה-threads. (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 מכל תצוגה, תוך התחשבות בתצוגות שלא נמצאות ב-thread הראשי. (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. מגדילים את התצוגה של בוחר האמוג'י, ואם רוצים, מגדירים את 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)
  • תיקון קריסה של כלי העריכה ב-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 contains emoji 14 font
  • ממשק ה-API החדש getEmojiMatch מחזיר מידע מדויק לגבי מקלדות, כדי לקבוע איך אמוג'י יוצג בנוכחות גופן תואם לאמוג'י שנמצא מאחורי גופן המערכת
  • תיקון באג ב-NumberKeyListener שגורם לסינון נכון של תווים בהזנת ספרות

גרסה 1.1.0-beta01

‫26 בינואר 2022

androidx.emoji2:emoji2-*:1.1.0-beta01 משוחרר. גרסה 1.1.0-beta01 מכילה את הקומיטים האלה.

תיקוני באגים

  • ‫androidx-emoji2 beta01 release. אין שינויים מגרסת אלפא01 (Ic61d9)

גרסה 1.1.0-alpha01

15 בדצמבר 2021

androidx.emoji2:emoji2-*:1.1.0-alpha01 משוחרר. גרסה 1.1.0-alpha01 מכילה את הקומיטים האלה.

תכונות חדשות

  • emoji2-bundled contains emoji 14 font
  • ממשק ה-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 Dev Summit בנושא הצגת כל סמלי האמוג'י באפליקציה.

גרסה 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

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

    השינוי הזה הוא שינוי שובר תאימות מגרסה androidx.emoji:emoji, ולכן setHandler נשמר כ-API שהוצא משימוש ולא מבצע פעולה, כדי לעזור במיגרציה. (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

  • אפשר להשתמש ב-null KeyListener ב-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 אל פריטי האומנות החדשים androidx.emoji2, ועכשיו היא בגרסת אלפא01. הארטיפקטים החדשים מחליפים את הגרסה הקודמת.

emoji2 נוסף כהסתמכות על 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.
  • נוספו הערות לגבי אפשרות של ערך null.
  • עכשיו אפשר להשתמש ב-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.