בוחר אמוג'י

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

איור 1. בוחר אמוג'י

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

תכונות

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

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

וריאנטים במיקום קבוע

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

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

וריאציות של אמוג'י
איור 2. וריאנטים של אמוג'י

סמלי אמוג'י אחרונים

אמוג'י מהזמן האחרון
איור 3. סמלי אמוג'י אחרונים

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

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

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

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

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

לאחר מכן אפשר להטמיע את הממשק של RecentEmojiProvider ולהגדיר אותו באמצעות setRecentEmojiProvider().

תאימות ל-EmojiCompat

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

דרישות מוקדמות

האפליקציה חייבת לטרגט ל-Android 5.0 (רמת API 21) ואילך.

שימוש בספרייה

  1. ייבוא של androidx.emoji2:emojipicker:$version ב-build.gradle של האפליקציה חדש.

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

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

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

  5. אפשר גם להתאים אישית את הסגנונות. אפשר ליצור סגנון משלך כדי לשנות את העיצוב המשותף ולהחיל את הסגנון על 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" />
    

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

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

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