เครื่องมือเลือกอีโมจิเป็นโซลูชัน UI ที่นำเสนอรูปลักษณ์ที่ทันสมัย อีโมจิที่อัปเดตล่าสุด และความสะดวกในการใช้งาน ผู้ใช้สามารถเรียกดูและเลือกอีโมจิและอีโมจิรูปแบบต่างๆ หรือเลือกจากอีโมจิที่ใช้ล่าสุด
เมื่อมีคลังนี้ แอปจากแหล่งที่มาต่างๆ จะสามารถมอบประสบการณ์การใช้งานอีโมจิที่ครอบคลุมและรวมศูนย์ให้แก่ผู้ใช้ได้โดยไม่ต้องให้นักพัฒนาแอปสร้างและดูแลรักษาเครื่องมือเลือกอีโมจิของตนเองตั้งแต่ต้น
ฟีเจอร์
เครื่องมือเลือกอีโมจิมีฟีเจอร์ต่อไปนี้
อีโมจิที่เป็นปัจจุบัน
อีโมจิที่เพิ่งเปิดตัวใหม่จะรวมอยู่ในเครื่องมือเลือกอีโมจิแบบมีการเลือก ไลบรารี EmojiPicker ใช้ได้กับอุปกรณ์และเวอร์ชัน Android หลายรุ่น
ตัวแปรที่ติดอยู่
กดอีโมจิค้างไว้เพื่อแสดงเมนูรูปแบบต่างๆ เช่น เพศหรือสีผิวที่แตกต่างกัน ระบบจะบันทึกรูปแบบที่คุณเลือกไว้ในเครื่องมือเลือกอีโมจิ และจะใช้รูปแบบที่เลือกล่าสุดในแผงหลัก
ฟีเจอร์นี้ช่วยให้ผู้ใช้ส่งอีโมจิรูปแบบที่ต้องการได้ด้วยการแตะเพียงครั้งเดียว
อีโมจิล่าสุด
RecentEmojiProvider
มีหน้าที่รับผิดชอบในการจัดหาอีโมจิในหมวดหมู่ที่ใช้ล่าสุด ไลบรารีมีผู้ให้บริการอีโมจิล่าสุดเริ่มต้นที่ตรงกับ Use Case ที่พบบ่อยที่สุด ดังนี้
- ระบบจะบันทึกอีโมจิที่เลือกไว้ทั้งหมดในแต่ละแอปในค่ากำหนดที่แชร์
- เครื่องมือเลือกจะแสดงอีโมจิที่เลือกไม่เกิน 3 แถว โดยระบบจะกรองอีโมจิที่ซ้ำกันออกและจัดเรียงตามลำดับเวลาย้อนกลับ
หากลักษณะการทำงานเริ่มต้นนี้เพียงพอแล้ว คุณก็ไม่จําเป็นต้องใช้ setRecentEmojiProvider()
อย่างไรก็ตาม คุณอาจต้องปรับแต่งลักษณะการทํางานของผู้ให้บริการ สถานการณ์ที่พบบ่อยมีดังนี้
- คุณต้องการจัดเก็บอีโมจิที่เลือกไว้แตกต่างกันในแต่ละบัญชีผู้ใช้
- คุณต้องการใช้พื้นที่เก็บข้อมูลอื่นนอกเหนือจากค่ากำหนดที่แชร์
- คุณต้องการแสดงอีโมจิล่าสุดที่จัดเรียงตามความถี่
จากนั้นคุณจะติดตั้งใช้งานอินเทอร์เฟซ RecentEmojiProvider
และตั้งค่าโดยใช้ setRecentEmojiProvider()
ได้
ตัวเลือกทิศทาง
ตั้งแต่ Emoji 15.1 เป็นต้นไป เครื่องมือเลือกอีโมจิจะรองรับอีโมจิแบบ 2 ทิศทาง ผู้ใช้สามารถแตะตัวสลับแบบ 2 ทางเพื่อสลับระหว่างอีโมจิที่หันหน้าไปทางซ้ายและขวา
เครื่องมือเลือกอีโมจิหลายคน
ผู้ใช้สามารถแตะอีโมจิคู่ค้างไว้เพื่อดูตัวเลือกอีโมจิหลายคน
เมื่อผู้ใช้เลือกอีโมจิรูปคนครึ่งซ้ายหรือครึ่งขวาของคู่อีโมจิ ตัวเลือกจะแสดงตัวอย่างที่ด้านขวาล่างดังที่แสดงในรูปภาพ 7 และ 8 หลังจากเลือกอีโมจิคู่ทั้ง 2 ข้างแล้ว ผู้ใช้สามารถเลือกตัวอย่างเพื่อประกอบอีโมจิคู่ที่กําหนดเอง
ความเข้ากันได้กับ EmojiCompat
หากเปิดใช้ ระบบจะใช้อินสแตนซ์ EmojiCompat
ในเครื่องมือเลือกอีโมจิเพื่อแสดงผลอีโมจิให้ได้มากที่สุด แต่เครื่องมือเลือกอีโมจิไม่จําเป็นต้องใช้ EmojiCompat
สิ่งที่ต้องมีก่อน
แอปของคุณต้องกำหนดเป้าหมายเป็น Android 5.0 (API ระดับ 21) ขึ้นไป
ใช้คลัง
นําเข้า
androidx.emoji2:emojipicker:$version
ในไฟล์build.gradle
ของแอปdependencies { implementation "androidx.emoji2:emojipicker:$version" }
ขยายมุมมองเครื่องมือเลือกอีโมจิ แล้วตั้งค่า
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)
- จํานวน
ใช้
setOnEmojiPickedListener()
เพื่อเพิ่มอีโมจิที่เลือกต่อท้ายมุมมอง เช่น หากต้องการต่อท้ายEditText
ให้ทําดังนี้emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
(ไม่บังคับ) ตั้งค่า
RecentEmojiProvider
ดูตัวอย่างการใช้งานในแอปตัวอย่างปรับแต่งรูปแบบ (ไม่บังคับ) สร้างสไตล์ของคุณเองเพื่อลบล้างแอตทริบิวต์ธีมทั่วไป และใช้สไตล์กับ
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
- ผู้ให้บริการอีโมจิล่าสุดที่ลบล้างซึ่งจัดเรียงตามความถี่
- การปรับแต่งสไตล์เพิ่มเติม