אמוג'י2

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

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

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

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

מגניב

dependencies {
    def emoji2_version = "1.4.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.4.0"

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

אפשר לקרוא מידע נוסף על יחסי תלות במאמר הוספת יחסי תלות של build.

משוב

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

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

מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.

בוחר האמוג'י 2 גרסה 1.0

גרסה 1.0.0-alpha03

8 במרץ 2023

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

תיקוני באגים

  • הוסרו משאבים לא נחוצים והספרייה הוקטנה ב-0.3 מיליון בערך.

גרסה 1.0.0-alpha02

22 בפברואר 2023

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

שינויים ב-API

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

תיקוני באגים

  • עדכון משאבים בנושא אמוג'י לתמיכה בגרסה 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-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) ובכל גרסאות ה-build כשמשתמשים ב-AGP 8.1 ואילך (למשל D8 גרסה 8.1). ללקוחות שלא משתמשים ב-AGP מומלץ לעדכן לגרסה 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 לוקחת exeexe כדי לשלוט בטעינת השרשורים. (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. התוצאה הייתה בגודל שגוי של שרטוט, והיא גלויה אם אחד מהפרמטרים של גודל הטקסט השתנה על ידי הטווח. (b/283208650)

גרסה 1.4.0-beta04

24 במאי 2023

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

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

תיקוני באגים

  • EmojiCompat קריאות חוזרות מופעלות ישתמשו עכשיו ב-handler מכל תצוגה מפורטת, תוך התייחסות לצפיות שלא מופיעות ב-thread הראשי. (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().

עבודה עם אמוג'יCompat

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

תיקוני באגים

  • תיקון בדיקות, השבתה של בדיקות flake וניקוי נתונים.

גרסה 1.3

גרסה 1.3.0

22 במרץ 2023

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

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

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

גרסה 1.3.0-rc01

8 במרץ 2023

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

תכונות חדשות

  • הגרסה הזו תומכת בשילוב של כתיבת אמוג'י2.

שינויים ב-API

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

תכונות חדשות

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

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

תכונות חדשות

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

גרסה 1.3.0-alpha01

11 בינואר 2023

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

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

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

שינויים ב-API

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

תיקוני באגים

  • מעכשיו, אמוג'י 2 משרטט רקעים כמו שצריך מ-BackgroundSpan. (Ide6a8, b/230525134)
  • Finalize AppCompat APIs עבור 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)
  • תיקון הקריסה של עורך הגיבוי (backport) מ-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 מכילה את התחייבויות אלה.

תכונות חדשות

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

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

גרסה 1.1.0-rc01

9 בפברואר 2022

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

תכונות חדשות

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

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

תיקוני באגים

  • אמוג'י2 לא יעטוף מופעים של NumberKeyListener, ויאפשר את הגדרת הלוקאל על ידי TextView.
  • תאימות ה-Appcom לא תכסה מופעים של 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.
  • תאימות ה-Appcom לא תכסה מופעים של 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
  • הגדרה אוטומטית
  • נוספה כתלות לתאימות 1.4

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

גרסה 1.0.0-rc01

27 באוקטובר 2021

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

  • אין שינויים מאז בטא 02.

אמוג'י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 שהוא תומך בו המערכת מעבדת את אמוג'י. (I1ea9b)

תיקוני באגים

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

שינויים ב-API

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

תיקוני באגים

  • יש לשנות את מחבר האמוג'י כך שיעכב את טעינת הגופן עד 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. זהו שינוי תוכנה שעלול לגרום לכשל תאימות של AppCom בין 1.4.0-alpha01 לבין האפליקציות חייבות לעדכן את התלות של AppCompat כדי להשתמש בהן את הגרסה החדשה של אמוג'י2. (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 מכילה את התחייבויות אלה.

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

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

פתרון האמוג'י עבר מפריטי המידע שנוצרו בתהליך הפיתוח (Artifact) של androidx.emoji אל androidx.emoji2 החדש, שזמין עכשיו באלפא 01. פריטי המידע החדשים שנוצרים בתהליך הפיתוח (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. יש להשתמש באפשרות הזו רק אם אין באפליקציה תאימות ל-appcom.
  • חולצו כלי עזרה לשילוב תאימות אמוג'י בתצוגות בהתאמה אישית בארטיפקט נפרד emoji2-views-helper.
  • נוספו הערות עם אפשרות null.
  • עכשיו ניתן להשתמש בעוזרים ב-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.