Emoji2

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

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

כדי להוסיף תלות ב-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.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 מכילה את השמירות האלה.

תכונות חדשות

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

גרסה ‎1.6.0-alpha01

‫4 ביוני 2025

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

תכונות חדשות

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

תיקוני באגים

  • הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify לגבי ערכי null, שהן אנוטציות של שימוש בטיפוסים. מפתחי 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

  • מוסיפים רכיבי Executor כדי לשלוט בשרשור של הקריאה החוזרת עבור 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 Council: שונה השם 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 שאינו ראשי היו גורמות לחריגה בניסיון לעדכן את טווחי האמוג'י אחרי טעינת הגופן. אין פתרון עקיף. אם הבאג הזה משפיע עליכם, עליכם לשדרג לגרסה הזו או לגרסה חדשה יותר.

תיקוני באגים

  • מעכשיו, קריאות חוזרות (callback) של 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. ליצור אוביקט תצוגה (inflate) של חלונית לבחירת אמוג'י, ואם רוצים, מגדירים את emojiGridRows ואת emojiGridColumns בהתאם לגודל הרצוי של כל תא אמוג'י

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

גרסה ‎1.0.0-rc01

‫27 באוקטובר 2021

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

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

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

תיקוני באגים

  • תוקנה בעיה שגרמה לכך שלא הייתה אפשרות לחפש בצורה נכונה ספק של גופן אימוג'י ב-API 19 וב-API 28.DefaultEmojiCompatConfig העדכון הזה מתקן באג שהוצג בגרסה 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 artifacts אל 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.
  • נוספו הערות לגבי האפשרות שערך יהיה ריק (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.