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

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

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