אמוג'י2

הצגת אמוג'י במכשירים נוכחיים ובמכשירים ישנים יותר.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסה אלפא
4 בספטמבר 2024 1.5.0 - - -

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

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

דיווח על בעיה חדשה

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

Emoji2 Emojipicker גרסה 1.0

גרסה 1.5.0

4 בספטמבר 2024

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

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

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

גרסה 1.0.0-alpha03

8 במרץ 2023

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

תיקוני באגים

  • הוסרו משאבים מיותרים והגודל של הספרייה צומצם בכ-300,000.

גרסה 1.0.0-alpha02

22 בפברואר 2023

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

שינויים ב-API

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

תיקוני באגים

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

גרסה 1.0.0-alpha01

25 בינואר 2023

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

תכונות חדשות

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

שינויים ב-API

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

גירסה 1.5

גרסה 1.5.0

4 בספטמבר 2024

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

שינויים חשובים מאז 1.4.0

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

גרסה 1.5.0-rc01

21 באוגוסט 2024

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

תכונות חדשות

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

תיקוני באגים

  • הוסרה חלוקה ידנית של הגישה לממשקי API של פלטפורמות חדשות, כי זה קורה באופן אוטומטי באמצעות בניית מודלים של API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל R8 גרסה 3.3) ובכל גרסאות ה-build כשמשתמשים ב-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 כוללת את ההוספות האלה.

תכונות חדשות

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

תיקוני באגים

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

גרסה 1.4.0-beta03

10 במאי 2023

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

תיקוני באגים

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

גרסה 1.4.0-beta02

19 באפריל 2023

androidx.emoji2:emoji2-*:1.4.0-beta02 משוחרר. גרסה 1.4.0-beta02 כוללת את ההצהרות האלה.

תיקוני באגים

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

תיקוני באגים

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

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

שינויים ב-API

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

תיקוני באגים

  • תוקן באג שבו רכיבי ה-span של הרקע לא הוחלו כראוי מאחורי 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 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

תכונות חדשות

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

גרסה 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 מכילה את ההצהרות האלה.

תכונות חדשות

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

גרסה 1.3.0-alpha01

11 בינואר 2023

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

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

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

שינויים ב-API

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

תיקוני באגים

  • Emoji2 ידפיס עכשיו רקעים בצורה נכונה מ-BackgroundSpan. (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 שמוגדר לשימוש באמוג'י 2. (Ifd709, ‏ b/216891011)
  • תיקון הקריסה כשאמוג'י 2 טוען גופן ונעשה שימוש ב-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 כוללת את ההוספות האלה.

תכונות חדשות

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

גרסה 1.2.0-alpha02

23 במרץ 2022

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

תיקוני באגים

  • אמוג'י2 יוסיף אמוג'י לPrecomputedText על ידי מחיקה של פריסת טקסט שחושבה מראש בעבר. (I47d06, ‏ b/211231958)
  • תיקון הקריסה של עורך הגיבוי מ-Android P ל-EditText שהוגדר לשימוש באמוג'י 2. (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 בטא01. אין שינויים מ-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 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

תיקוני באגים

  • 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 מכילה את ההתחייבויות האלה.

  • אין שינויים מאז beta02.

אמוג'י2 גרסה 1.0.0-בטא01

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 מבוטל ללא פעולה כדי לעזור בהעברה. (I6cd48)

  • התאימות באמוג'י מגדירה את EditorInfo.extras בצורה נכונה ב-Android 11

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

תיקוני באגים

  • תיקון של DefaultEmojiCompatConfig כדי לחפש בצורה נכונה את ספק הגופן של האמוג'י ב-API 19 וב-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. עכשיו אפשר להעביר את null כ-KeyListener באמצעות אמוג'יEditTextHelper. כך ניתן להשתמש בהתנהגות הפלטפורמה שמאפשרת להחיל ערכים null על הטמעות של EditText שתומכות באמוג'י.
  2. כשמשתמשים ב-EmojiCompatInitializer, עיכוב ההפעלה הראשונית משופר כך שיופעל אחרי שהפעילות הראשונה תתחדש. כך ההפעלה של האפליקציה מתבצעת ללא תחרות, ומניעת טעינת הגופן בהפעלות של אפליקציות שמעולם לא מציגות ממשק משתמש. אחרי עיכוב קצר, EmojiCompat תיצור שרשור כדי לטעון את גופן האמוג'י.
  • מתווספת תלות חדשה ב-androidx.lifecycle:lifecycle-process מ-androidx.emoji2:emoji2 להטמעת העיכוב. לאפליקציות שכבר כוללות את מחזור החיים (כמו אפליקציות עם appcompat) לא תהיה השפעה משמעותית על גודל קובץ ה-APK.

שינויים ב-API

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

תיקוני באגים

  • משנים את EmojiCompatInitializer כדי לעכב את טעינת הגופן עד 500 אלפיות השנייה אחרי ה-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, שנמצאים עכשיו בגרסת alpha01. פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) החדשים מחליפים את הגרסה הקודמת.

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

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

שינויים באמוג'י 2 כתוצאה מאמוג'י

  • נוספה הגדרה אוטומטית חדשה EmojiCompatInitializer באמצעות androidx.startup.
  • נוספה הגדרת ברירת מחדל חדשה שמשתמשת במיקום השירות כדי למצוא ספק גופנים שניתן להורדה בקטע DefaultEmojiCompatConfiguration.
  • הכיתות הועברו מחבילת androidx.emoji לחבילה androidx.emoji2.
  • מחלקים את EmojiTextView ואת התצוגות הקשורות לארטיפקט נפרד emoji2-views. צריך להשתמש באפשרות הזו רק אם האפליקציה לא משתמשת ב-appcompat.
  • כלי עזר שחולצו לשילוב emojicompat בתצוגות בהתאמה אישית, בארטיפקט נפרד emoji2-views-helper.
  • נוספו הערות לגבי יכולת השימוש באפס.
  • עכשיו אפשר להשתמש בעזרים ב-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.