เครื่องมือเลือกอีโมจิ

เครื่องมือเลือกอีโมจิเป็นโซลูชัน UI ที่มีรูปลักษณ์ทันสมัย อีโมจิที่อัปเดตล่าสุด และใช้งานง่าย ผู้ใช้สามารถเรียกดูและเลือกอีโมจิและรูปแบบต่างๆ หรือเลือกจากอีโมจิที่ใช้ล่าสุด

รูปที่ 1 เครื่องมือเลือกอีโมจิ

ไลบรารีนี้ช่วยให้แอปจากแหล่งที่มาต่างๆ มอบประสบการณ์การใช้ อีโมจิที่ครอบคลุมและเป็นหนึ่งเดียวกันแก่ผู้ใช้ได้โดยที่นักพัฒนาแอปไม่ต้องสร้างและ ดูแลรักษาเครื่องมือเลือกอีโมจิของตนเองตั้งแต่ต้น

ฟีเจอร์

เครื่องมือเลือกอีโมจิมีฟีเจอร์ต่อไปนี้

อีโมจิเวอร์ชันล่าสุด

เราจะรวมอีโมจิที่เพิ่งเปิดตัวไว้ในเครื่องมือเลือกอีโมจิแบบเลือก ไลบรารี Emoji Picker เข้ากันได้กับ Android หลายเวอร์ชันและอุปกรณ์ต่างๆ

ตัวแปรที่ติดหนึบ

กดอีโมจิค้างไว้เพื่อแสดงเมนูรูปแบบต่างๆ เช่น เพศหรือ สีผิวที่แตกต่างกัน ระบบจะบันทึกรูปแบบที่คุณเลือกไว้ในเครื่องมือเลือกอีโมจิ และใช้รูปแบบที่เลือกครั้งล่าสุดในแผงหลัก

ฟีเจอร์นี้ช่วยให้ผู้ใช้ส่งอีโมจิที่ต้องการได้ด้วยการแตะเพียงครั้งเดียว

ตัวแปรอีโมจิ
รูปที่ 2 ตัวแปรอีโมจิ

อีโมจิล่าสุด

อีโมจิที่ใช้ล่าสุด
รูปที่ 3 อีโมจิที่ใช้ล่าสุด

RecentEmojiProvider มีหน้าที่รับผิดชอบในการจัดหาอีโมจิในหมวดหมู่ใช้ล่าสุด ไลบรารีมีผู้ให้บริการอีโมจิที่ใช้ล่าสุดเริ่มต้น ซึ่งตรงกับกรณีการใช้งานที่พบบ่อยที่สุด

  • ระบบจะบันทึกอีโมจิที่เลือกทั้งหมดต่อแอปในการตั้งค่าที่แชร์
  • เครื่องมือเลือกจะแสดงอีโมจิที่เลือกสูงสุด 3 แถว โดยจะนำอีโมจิที่ซ้ำกันออกและเรียงตามลำดับเวลาจากใหม่ไปหาเก่า

หากลักษณะการทำงานเริ่มต้นนี้เพียงพอ คุณก็ไม่จำเป็นต้องใช้ setRecentEmojiProvider()

แต่คุณอาจต้องปรับแต่งลักษณะการทำงานของผู้ให้บริการ ตัวอย่างสถานการณ์ที่พบบ่อยมีดังนี้

  • คุณต้องการจัดเก็บอีโมจิที่เลือกไว้แตกต่างกันต่อบัญชีผู้ใช้
  • คุณต้องการใช้ที่เก็บข้อมูลอื่นที่ไม่ใช่ค่ากำหนดที่ใช้ร่วมกัน
  • คุณต้องการแสดงอีโมจิล่าสุดที่จัดเรียงตามความถี่

จากนั้นคุณจะใช้RecentEmojiProviderอินเทอร์เฟซและตั้งค่าได้โดยใช้ setRecentEmojiProvider()

ตัวเลือกทิศทาง

ตั้งแต่อีโมจิ 15.1 เป็นต้นไป เครื่องมือเลือกอีโมจิจะรองรับ อีโมจิแบบสองทิศทาง ผู้ใช้สามารถแตะตัวสลับแบบ 2 ทิศทางเพื่อสลับ ระหว่างอีโมจิเวอร์ชันหันไปทางซ้ายและขวา

อีโมจิลูกศรไปทางซ้ายแบบ 2 ทิศทาง

รูปที่ 4 อีโมจิสองทิศทางหันไปทางซ้าย

อีโมจิลูกศรไปทางขวาแบบ 2 ทิศทาง

รูปที่ 5 อีโมจิแบบ 2 ทิศทางหันไปทางขวา

ตัวเลือกอีโมจิหลายคน

ผู้ใช้สามารถแตะอีโมจิคู่ค้างไว้เพื่อแสดงอีโมจิแบบหลายคน

แตะค้างไว้เพื่อเลือกคู่รักอีโมจิ

รูปที่ 6 แตะคู่รักอีโมจิค้างไว้เพื่อแสดงอีโมจิหลายคน ที่เลือก

แตะอีโมจิคนทางซ้าย

รูปที่ 7 เลือกอีโมจิคนครึ่งซ้าย

แตะอีโมจิคนทางขวา

รูปที่ 8 เลือกอีโมจิคนทางด้านขวา

เมื่อผู้ใช้เลือกอีโมจิครึ่งซ้ายหรือครึ่งขวาของคู่รักอีโมจิ ตัวเลือกจะแสดงตัวอย่างที่ด้านขวาล่าง ดังที่แสดงในรูปที่ 7 และ 8 หลังจากเลือกอีโมจิทั้ง 2 ครึ่งแล้ว ผู้ใช้สามารถเลือกตัวอย่าง เพื่อประกอบอีโมจิคู่ที่กำหนดเอง

ความเข้ากันได้กับ 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
    • ใช้ค่าลอยตัวสำหรับ 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
  • ผู้ให้บริการอีโมจิที่ใช้ล่าสุดซึ่งถูกแทนที่และจัดเรียงตามความถี่
  • การปรับแต่งสไตล์เพิ่มเติม