Emoji2
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
---|---|---|---|---|
2 กรกฎาคม 2025 | 1.5.0 | - | 1.6.0-beta01 | - |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มการอ้างอิงใน Emoji2 คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูลของคุณ
ดึงดูด
dependencies { def emoji2_version = "1.5.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.5.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์
ความคิดเห็น
ความคิดเห็นของคุณจะช่วยให้ Jetpack ทำงานได้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา
Emoji2 Emojipicker เวอร์ชัน 1.0
เวอร์ชัน 1.5.0
4 กันยายน 2024
androidx.emoji2:emoji2-*:1.5.0
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.4.0
- รองรับอีโมจิ 15.1 และ UI ตัวเลือกอีโมจิแบบ 2 ทาง เพียงคลิกตัวสลับแบบ 2 ทิศทาง ผู้ใช้ก็สามารถสลับระหว่างอีโมจิเวอร์ชันหันไปทางซ้ายและขวาได้
- รองรับเครื่องมือเลือกอีโมจิที่มีหลายสีผิว การกดอีโมจิคู่รักค้างไว้จะแสดงเครื่องมือเลือกอีโมจิหลายคนสำหรับสถานะว่าง เมื่อผู้ใช้แตะที่ครึ่งซ้ายของอีโมจิ ระบบจะอัปเดตตัวอย่างอีโมจิที่ด้านขวาล่างตามนั้น เมื่อผู้ใช้เลือกอีโมจิทั้ง 2 ครึ่ง ตัวอย่างอีโมจิที่ด้านขวาล่างจะแสดงอีโมจิทั้งหมด และผู้ใช้จะป้อนอีโมจินั้นได้
เวอร์ชัน 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 ใหม่สำหรับไคลเอ็นต์ Java เพื่อให้สามารถแสดงอีโมจิล่าสุดได้ (I39d10)
การแก้ไขข้อบกพร่อง
- อัปเดตทรัพยากรอีโมจิเพื่อรองรับอีโมจิ 15.0 (Ib4eb3)
- เมื่อเลือกอีโมจิจากหน้าต่างป๊อปอัป ให้อัปเดตอีโมจิที่เหมือนกันทั้งหมดเป็นอีโมจิที่เลือกใหม่ (ยกเว้นแถวอีโมจิที่ใช้ล่าสุด) และประกาศอีโมจิเมื่อคลิก (I892c6)
- รอให้ emojicompat โหลดก่อนแสดง
EmojiPickerView
(I29e03)
เวอร์ชัน 1.0.0-alpha01
25 มกราคม 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- เปิดตัวเครื่องมือเลือกอีโมจิซึ่งมอบประสบการณ์การใช้งานที่สอดคล้องกันด้วยอีโมจิล่าสุดในอุปกรณ์และแอป OEM ของระบบปฏิบัติการ Android โดยจะรองรับอีโมจิเวอร์ชันล่าสุดและ UI เครื่องมือเลือกอีโมจิ ซึ่งรวมถึงตัวเลือกสีผิวและการรองรับความเข้ากันได้ของอีโมจิ
การเปลี่ยนแปลง API
- เปิดตัว
EmojiPickerView
คลาสที่แสดงอีโมจิล่าสุดในมุมมองที่เลื่อนได้ในแนวตั้งพร้อมส่วนหัวแนวนอนที่คลิกได้ - คุณตั้งค่าคอลัมน์ตารางของเครื่องมือเลือกอีโมจิได้ผ่านแอตทริบิวต์ XML
emojiGridColumns
หรือฟังก์ชันsetEmojiGridColumns()
- คุณตั้งค่าแถวตารางตัวเลือกอีโมจิได้ผ่านแอตทริบิวต์ XML
emojiGridRows
หรือฟังก์ชันsetEmojiGridRows()
- คุณตั้งค่า Listener ของอีโมจิที่เลือกได้ผ่าน
setOnEmojiPickedListener()
และระบบจะแจ้งเตือน Listener ทุกครั้งที่ผู้ใช้คลิกอีโมจิ - คุณระบุผู้ให้บริการอีโมจิล่าสุดได้ด้วย
setRecentEmojiProvider()
ฟังก์ชันนี้เป็นฟังก์ชันที่ไม่บังคับ หากไม่ได้ตั้งค่าผู้ให้บริการอีโมจิที่ใช้ล่าสุดไว้ ไลบรารีจะใช้ผู้ให้บริการอีโมจิที่ใช้ล่าสุดเริ่มต้น ลักษณะการทำงานเริ่มต้นมีดังนี้ 1) ระบบจะบันทึกอิโมจิที่เลือกทั้งหมดต่อแอปในระดับค่ากำหนดที่ใช้ร่วมกัน 2) เครื่องมือเลือกจะแสดงอีโมจิที่เลือกสูงสุด 3 แถว โดยจะนำอีโมจิที่ซ้ำกันออกและเรียงตามลำดับเวลาจากใหม่ไปหาเก่า - เปิดตัวคลาส
EmojiViewItem
ที่เก็บอีโมจิที่แสดงและอีโมจิที่คล้ายกัน - เปิดตัวอินเทอร์เฟซ
RecentEmojiProvider
ที่สามารถนำไปใช้เพื่อแสดงรายการอีโมจิล่าสุดrecentEmojiProvider
มีหน้าที่รับผิดชอบในการจัดหาอีโมจิในหมวดหมู่ "ใช้ล่าสุด"
เวอร์ชัน 1.6
เวอร์ชัน 1.6.0-beta01
2 กรกฎาคม 2025
androidx.emoji2:emoji2-*:1.6.0-beta01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-beta01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- รองรับการอัปเดตอีโมจิ 16.0
- เพิ่มคำต่อท้าย "อีโมจิ" ในคำอธิบายเนื้อหาเพื่อให้มั่นใจว่าเราจะมีความสอดคล้องกันในด้านลักษณะการช่วยเหลือพิเศษในแอปเครื่องมือเลือกอีโมจิทั้งหมด
เวอร์ชัน 1.6.0-alpha01
4 มิถุนายน 2025
androidx.emoji2:emoji2-*:1.6.0-alpha01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- การอัปเดตข้อมูลอีโมจิ 16.0 (Ifc878)
- การเพิ่มคำต่อท้าย "อีโมจิ" ในคำอธิบายเนื้อหา
การแก้ไขข้อบกพร่อง
- ตอนนี้ไลบรารีนี้ใช้คำอธิบายประกอบเกี่ยวกับค่า Null ของ JSpecify ซึ่งเป็นแบบใช้ประเภท นักพัฒนาซอฟต์แวร์ Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง:
-Xjspecify-annotations=strict
,-Xtype-enhancement-improvements-strict-mode
(Id07e7, b/326456246)
รุ่น 1.5
เวอร์ชัน 1.5.0
4 กันยายน 2024
androidx.emoji2:emoji2-*:1.5.0
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.4.0
- รองรับอีโมจิ 15.1 และ UI ตัวเลือกอีโมจิแบบ 2 ทาง เพียงคลิกตัวสลับแบบ 2 ทิศทาง ผู้ใช้ก็สามารถสลับระหว่างอีโมจิเวอร์ชันหันไปทางซ้ายและขวาได้
- รองรับเครื่องมือเลือกอีโมจิที่มีหลายสีผิว การกดอีโมจิคู่รักค้างไว้จะแสดงเครื่องมือเลือกอีโมจิหลายคนสำหรับสถานะว่าง เมื่อผู้ใช้แตะที่ครึ่งซ้ายของอีโมจิ ระบบจะอัปเดตตัวอย่างอีโมจิที่ด้านขวาล่างตามนั้น เมื่อผู้ใช้เลือกอีโมจิทั้ง 2 ครึ่ง ตัวอย่างอีโมจิที่ด้านขวาล่างจะแสดงอีโมจิทั้งหมด และผู้ใช้จะป้อนอีโมจินั้นได้
เวอร์ชัน 1.5.0-rc01
21 สิงหาคม 2024
androidx.emoji2:emoji2-*:1.5.0-rc01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-rc01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- รองรับอีโมจิ 15.1 และ UI ตัวเลือกอีโมจิแบบ 2 ทาง เพียงคลิกตัวสลับแบบ 2 ทิศทาง ผู้ใช้ก็สามารถสลับระหว่างอีโมจิเวอร์ชันหันไปทางซ้ายและขวาได้
- รองรับเครื่องมือเลือกอีโมจิที่มีหลายสีผิว การกดอีโมจิคู่รักค้างไว้จะแสดงเครื่องมือเลือกอีโมจิหลายคนสำหรับสถานะว่าง เมื่อผู้ใช้แตะที่ครึ่งซ้ายของอีโมจิ ระบบจะอัปเดตตัวอย่างอีโมจิที่ด้านขวาล่างตามนั้น เมื่อผู้ใช้เลือกอีโมจิทั้ง 2 ครึ่ง ตัวอย่างจะแสดงอีโมจิทั้งหมดและผู้ใช้จะป้อนอีโมจิได้
การแก้ไขข้อบกพร่อง
- นำการระบุสิทธิ์เข้าถึง API ของแพลตฟอร์มใหม่ด้วยตนเองออก เนื่องจากระบบจะดำเนินการนี้โดยอัตโนมัติผ่านการสร้างโมเดล API เมื่อใช้ R8 กับ AGP 7.3 ขึ้นไป (เช่น R8 เวอร์ชัน 3.3) และสำหรับการสร้างทั้งหมดเมื่อใช้ AGP 8.1 ขึ้นไป (เช่น D8 เวอร์ชัน 8.1) เราขอแนะนำให้ลูกค้าที่ไม่ได้ใช้ AGP อัปเดตเป็น D8 เวอร์ชัน 8.1 ขึ้นไป ดูบทความนี้สำหรับรายละเอียดเพิ่มเติม (If6b4c, b/345472586)
EmojiPickerView
การเลือกแท็บและตัวบ่งชี้จะอัปเดตช้ากว่า 1 คลิก (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 และ UI การเลือกอีโมจิแบบ 2 ทาง
- รองรับการออกแบบการเลือกหลายโทนสีผิวใหม่
การแก้ไขข้อบกพร่อง
EmojiPickerView
การเลือกแท็บและตัวบ่งชี้จะอัปเดตช้ากว่า 1 คลิก (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
ใช้ตัวดำเนินการเพื่อควบคุมการโหลดเธรด (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
ให้เป็น 1 คลิก (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
มีผล 2 ครั้ง ครั้งหนึ่งระหว่างการจัดวางข้อความ และอีกครั้งภายในEmojiSpan.draw
ผลลัพธ์คือการวาดที่มีขนาดไม่ถูกต้อง ซึ่งจะมองเห็นได้หากมีการเปลี่ยนแปลงพารามิเตอร์ขนาดข้อความใดๆ โดยช่วง (b/283208650)
เวอร์ชัน 1.4.0-beta04
24 พฤษภาคม 2023
androidx.emoji2:emoji2-*:1.4.0-beta04
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-beta04 มีคอมมิตเหล่านี้
การเปิดตัวนี้แก้ไขข้อบกพร่องที่มีมาตั้งแต่เวอร์ชัน 1.0 ซึ่งมุมมองที่มีตัวแฮนเดิลที่ไม่ใช่ตัวแฮนเดิลหลักจะส่งข้อยกเว้นเมื่อพยายามอัปเดตช่วงอีโมจิหลังจากโหลดแบบอักษรเสร็จสมบูรณ์ ไม่มีวิธีแก้ปัญหาชั่วคราว หากคุณได้รับผลกระทบจากข้อบกพร่องนี้ โปรดอัปเกรดเป็นเวอร์ชันนี้หรือเวอร์ชันที่ใหม่กว่า
การแก้ไขข้อบกพร่อง
- ตอนนี้
EmojiCompat
init callbacks จะใช้แฮนเดิลจากแต่ละมุมมอง โดยจะพิจารณามุมมองที่ไม่ได้อยู่ในเทรดหลัก (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 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- อัปเดตไฟล์เกณฑ์พื้นฐานของ Lint (Iaa212)
เวอร์ชัน 1.4.0-beta01
5 เมษายน 2023
androidx.emoji2:emoji2-*:1.4.0-beta01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-beta01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
androidx.emoji2:emoji2-emojipicker
เครื่องมือเลือกอีโมจิเป็นโซลูชัน UI ที่มีรูปลักษณ์ทันสมัย อีโมจิที่อัปเดตล่าสุด และใช้งานง่าย ผู้ใช้สามารถเรียกดูและเลือกอีโมจิและรูปแบบต่างๆ หรือเลือกจากอีโมจิที่ใช้ล่าสุดได้ ไลบรารีนี้ช่วยให้แอปใน OEM ต่างๆ มอบประสบการณ์การใช้งานอีโมจิที่ครอบคลุมและเป็นหนึ่งเดียวแก่ผู้ใช้ได้โดยที่นักพัฒนาแอปไม่ต้องสร้างและดูแลรักษาเครื่องมือเลือกอีโมจิของตนเองตั้งแต่ต้น
อีโมจิเวอร์ชันล่าสุด
เราจะเปิดตัวอีโมจิใหม่ทุกปี และจะเลือกอีโมจิบางส่วนใส่ไว้ในเครื่องมือเลือกอีโมจิ เราจะตรวจสอบความสามารถในการแสดงผลอีโมจิอย่างถูกต้องภายในเพื่อกำจัดเต้าหู้เพื่อให้มั่นใจว่าสามารถใช้งานร่วมกับเวอร์ชันก่อนหน้าได้ ซึ่งจะช่วยให้มั่นใจว่าไลบรารีจะเข้ากันได้กับ Android หลายเวอร์ชันและอุปกรณ์ต่างๆ
ตัวแปร Sticky
การกดอีโมจิค้างไว้จะแสดงเมนูของตัวแปร เช่น เพศหรือสีผิวที่แตกต่างกัน ระบบจะบันทึกรูปแบบที่คุณเลือกไว้ในเครื่องมือเลือกอีโมจิ และจะใช้รูปแบบที่เลือกครั้งล่าสุดในแผงหลัก ฟีเจอร์นี้ช่วยให้ผู้ใช้ส่งอีโมจิที่ต้องการได้ด้วยการแตะเพียงครั้งเดียว
อีโมจิล่าสุด
RecentEmojiProvider
มีหน้าที่รับผิดชอบในการจัดหาอีโมจิในหมวดหมู่ "ใช้ล่าสุด" ไลบรารีมีผู้ให้บริการอีโมจิล่าสุดเริ่มต้นที่ตรงกับกรณีการใช้งานที่พบบ่อยที่สุด
- ระบบจะบันทึกอีโมจิที่เลือกทั้งหมดไว้ที่ระดับแอปในค่ากำหนดที่แชร์
- เครื่องมือเลือกจะแสดงอีโมจิที่เลือกไว้สูงสุด 3 แถว โดยจะนำอีโมจิที่ซ้ำกันออกและเรียงตามลำดับเวลาจากใหม่ไปหาเก่า
หากลักษณะการทํางานเริ่มต้นนี้เพียงพอ คุณก็ไม่จําเป็นต้องตั้งค่าเมธอด setRecentEmojiProvider()
ทำงานร่วมกับ EmojiCompat
หากแอปมีอินสแตนซ์ EmojiCompat
ระบบจะใช้อินสแตนซ์ดังกล่าวในเครื่องมือเลือกอีโมจิเพื่อแสดงอีโมจิให้ได้มากที่สุด หากปิดใช้ EmojiCompat
เครื่องมือเลือกอีโมจิจะยังคงทำงานได้ตามปกติ
วิธีใช้คลัง
หากต้องการใช้ไลบรารี นักพัฒนาแอปควรทำดังนี้
นำเข้า
androidx.emoji2:emojipicker:$version
ในbuild.gradle
dependencies { implementation "androidx.emoji2:emojipicker:$version" }
ขยายมุมมองตัวเลือกอีโมจิ และตั้งค่า
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" />
- คุณอาจปล่อยให้ไม่ได้ตั้งค่าไว้ได้ โดยค่าเริ่มต้นคือ 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)
หากต้องการต่อท้ายอีโมจิที่เลือกใน EditText ให้ใช้
setOnEmojiPickedListener()
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" />
ดูตัวอย่างการใช้งานได้ที่แอปตัวอย่าง
ดูพื้นผิว API ทั้งหมดได้ที่นี่
แอปตัวอย่าง
แอปตัวอย่างนี้แสดง Use Case พื้นฐานและสถานการณ์เพิ่มเติมต่อไปนี้
- มุมมองได้รับการจัดเลย์เอาต์ใหม่เนื่องจากมีการรีเซ็ต
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 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- แก้ไขการทดสอบ ปิดใช้การทดสอบที่ไม่เสถียร และล้างข้อมูล
เวอร์ชัน 1.3
เวอร์ชัน 1.3.0
22 มีนาคม 2023
androidx.emoji2:emoji2-*:1.3.0
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.2.0
- รุ่นนี้ช่วยให้ Compose Foundation
1.4.0
ขึ้นไปเปิดใช้การผสานรวม emoji2 ได้ - นอกจากนี้ ยังอนุญาตให้ใช้ฟีเจอร์สำหรับแทนที่
EmojiSpans
ด้วยโค้ดการวาดที่กำหนดเอง รวมถึงรองรับการยกเว้นอีโมจิที่กำหนดไว้ใน Android
เวอร์ชัน 1.3.0-rc01
8 มีนาคม 2023
androidx.emoji2:emoji2-*:1.3.0-rc01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-rc01 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- เวอร์ชันนี้มีไว้เพื่อรองรับการผสานรวมการเขียน emoji2
การเปลี่ยนแปลง API
- แทนที่ช่วงสำหรับโค้ดการวาดที่กำหนดเอง
- การค้นหายกเว้นของระบบ
การแก้ไขข้อบกพร่อง
- และแก้ไขข้อบกพร่องที่ช่วงพื้นหลังไม่ได้รับการใช้ที่ด้านหลัง
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 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ไม่มีการเปลี่ยนแปลง รุ่นนี้มีไว้เพื่อเตรียมพร้อมสำหรับการผสานรวม Compose
เวอร์ชัน 1.3.0-beta02
8 กุมภาพันธ์ 2023
androidx.emoji2:emoji2-*:1.3.0-beta02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-beta02 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- รุ่นนี้เป็นการปรับให้เสถียรเพื่อรองรับการผสานรวม Compose
เวอร์ชัน 1.3.0-beta01
25 มกราคม 2023
androidx.emoji2:emoji2-*:1.3.0-beta01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-beta01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- การค้นหายกเว้นของระบบ
- การแทนที่ช่วงสำหรับโค้ดการวาดที่กำหนดเอง
- และแก้ไขข้อบกพร่องที่ช่วงพื้นหลังไม่ได้รับการใช้ที่ด้านหลัง
EmojiSopans
อย่างถูกต้อง - การเปิดตัวนี้จะเพิ่ม API ที่จำเป็นต่อการรองรับ
EmojiCompat
ใน Compose เราคาดว่าจะรองรับการเขียนสำหรับความเข้ากันได้ของอีโมจิในรุ่นที่จะเปิดตัวในอนาคตอันใกล้นี้
เวอร์ชัน 1.3.0-alpha01
11 มกราคม 2023
androidx.emoji2:emoji2-*:1.3.0-alpha01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha01 มีคอมมิตต่อไปนี้
API ใหม่สำหรับการโต้ตอบระดับต่ำ
- การค้นหาข้อยกเว้นของระบบ
- การแทนที่ช่วงสำหรับโค้ดการวาดที่กำหนดเอง
- และแก้ไขข้อบกพร่องที่ช่วงพื้นหลังไม่ได้รับการใช้ที่ด้านหลัง
EmojiSopans
อย่างถูกต้อง - การเปิดตัวนี้จะเพิ่ม API ที่จำเป็นต่อการรองรับ
EmojiCompat
ใน Compose เราคาดว่าจะรองรับการเขียนสำหรับความเข้ากันได้ของอีโมจิในรุ่นที่จะเปิดตัวในอนาคตอันใกล้นี้
การเปลี่ยนแปลง API
- เพิ่มความสามารถในการค้นหาการยกเว้นของระบบไปยัง
TypefaceEmojiRasterizer
(I5653e) - เพิ่ม API ใหม่
EmojiCompat.SpanFactory
เพื่อแทนที่ลักษณะการทำงานเริ่มต้นของEmojiSpan
ด้วยโค้ดการวาดและการปรับขนาดที่กำหนดเอง (Ib69d9) - เพิ่ม
EmojiCompat
ลงในฟีเจอร์เขียน (I96f37, b/139326806)
การแก้ไขข้อบกพร่อง
- ตอนนี้ Emoji2 จะวาดพื้นหลังจาก
BackgroundSpan
ได้อย่างถูกต้องแล้ว (Ide6a8, b/230525134) - สรุป API ของ AppCompat สำหรับ 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)- แก้ไขข้อขัดข้องของโปรแกรมแก้ไขจาก Android P ไปยัง
EditText
ที่กำหนดค่าให้ใช้ emoji2 (Ifd709, b/216891011) - แก้ไขข้อขัดข้องเมื่อ emoji2 โหลดแบบอักษรและใช้
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 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- Emoji2 จะเพิ่มอีโมจิลงใน
PrecomputedText
โดยทิ้งเลย์เอาต์ข้อความที่คำนวณไว้ล่วงหน้าก่อนหน้านี้ (I47d06, b/211231958) - แก้ไขข้อขัดข้องของโปรแกรมแก้ไขจาก Android P ไปยัง EditText ที่กำหนดค่าให้ใช้ emoji2 (Ifd709, b/216891011)
- แก้ไขข้อขัดข้องเมื่อ emoji2 โหลดแบบอักษรและใช้
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
- emoji2-bundled มีแบบอักษรของอีโมจิ 14
getEmojiMatch
API ใหม่จะแสดงข้อมูลที่ถูกต้องสำหรับแป้นพิมพ์เพื่อตัดสินใจว่าจะแสดงอีโมจิอย่างไรเมื่อมีแบบอักษรที่รองรับอีโมจิซึ่งอยู่เบื้องหลังแบบอักษรของระบบ- แก้ไขข้อบกพร่องสำหรับ
NumberKeyListener
ซึ่งทำให้การป้อนตัวเลขกรองอักขระได้อย่างถูกต้อง
เวอร์ชัน 1.1.0-rc01
9 กุมภาพันธ์ 2022
androidx.emoji2:emoji2-*:1.1.0-rc01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-rc01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
ไม่มีการเปลี่ยนแปลงจากเวอร์ชันเบต้า
ฟีเจอร์ใหม่เมื่อเทียบกับ Emoji2 เวอร์ชัน 1.0.0
emoji2-bundled
มีแบบอักษรอีโมจิ 14getEmojiMatch
API ใหม่จะแสดงข้อมูลที่ถูกต้องสำหรับแป้นพิมพ์เพื่อตัดสินใจว่าจะแสดงอีโมจิอย่างไรเมื่อมีแบบอักษรที่รองรับอีโมจิซึ่งอยู่เบื้องหลังแบบอักษรของระบบ- แก้ไขข้อบกพร่องสำหรับ
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
มีแบบอักษรอีโมจิ 14getEmojiMatch
API ใหม่จะแสดงข้อมูลที่ถูกต้องสำหรับแป้นพิมพ์เพื่อตัดสินใจว่าจะแสดงอีโมจิอย่างไรเมื่อมีแบบอักษรที่รองรับอีโมจิซึ่งอยู่เบื้องหลังแบบอักษรของระบบ- แก้ไขข้อบกพร่องสำหรับ
NumberKeyListener
ที่ทำให้การป้อนตัวเลขกรองอักขระได้อย่างถูกต้อง
การเปลี่ยนแปลง API
- เพิ่ม API ใหม่
getEmojiMatch
เพื่อให้คีย์บอร์ดค้นหาลักษณะการทำงานที่ตรงกันของอีโมจิใน emojicompat ได้แม่นยำยิ่งขึ้น - เลิกใช้งาน
hasEmojiGlyph
เนื่องจากค่าบูลีนที่แสดงผลไม่ถูกต้องเมื่อทดสอบกับแบบอักษรที่เก่ากว่าแบบอักษรอีโมจิของแพลตฟอร์ม แทนที่ด้วยgetEmojiMatch
(Ie693d)
การแก้ไขข้อบกพร่อง
- Emoji2 จะไม่ตัดคำอินสแตนซ์ของ
NumberKeyListener
ทำให้TextView
กำหนดค่าภาษาได้ - Appcompat จะไม่ห่ออินสแตนซ์ของ
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
กำหนดค่าภาษาได้- Appcompat จะไม่ห่ออินสแตนซ์ของ
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
- การกำหนดค่าอัตโนมัติ
- เพิ่มเป็นทรัพยากร Dependency ใน appcompat 1.4
ดูข้อมูลเพิ่มเติมเกี่ยวกับ androidx.emoji2 ได้ที่การรองรับอีโมจิสมัยใหม่และการเสวนาใน Android Dev Summit เรื่องการแสดงอีโมจิทั้งหมดในแอปของคุณ Android Dev
เวอร์ชัน 1.0.0-rc01
27 ตุลาคม 2021
androidx.emoji2:emoji2-*:1.0.0-rc01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-rc01 มีคอมมิตเหล่านี้
- ไม่มีการเปลี่ยนแปลงตั้งแต่เวอร์ชันเบต้า 02
Emoji2 เวอร์ชัน 1.0.0-beta01
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)EmojiCompat ตั้งค่า
EditorInfo.extras
ใน Android 11 อย่างถูกต้อง- วิดเจ็ตที่กำหนดเองซึ่งใช้ IME ที่ไม่ได้เป็นคลาสย่อยของ EditText อาจเรียกใช้
EmojiCompat.updateEditorInfo
เพื่อแจ้งให้ IME ทราบว่าวิดเจ็ตรองรับ การประมวลผล EmojiCompat (I1ea9b)
- วิดเจ็ตที่กำหนดเองซึ่งใช้ IME ที่ไม่ได้เป็นคลาสย่อยของ EditText อาจเรียกใช้
การแก้ไขข้อบกพร่อง
- แก้ไข
DefaultEmojiCompatConfig
เพื่อค้นหาผู้ให้บริการแบบอักษรของอีโมจิอย่างถูกต้องใน API 19 และ 28 การแก้ไขนี้จะแก้ไขข้อบกพร่องที่เกิดขึ้นใน emoji2 1.0.0-alpha01 (Ib33d8, b/197906329)
เวอร์ชัน 1.0.0-alpha03
30 มิถุนายน 2021
androidx.emoji2:emoji2-*:1.0.0-alpha03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
รุ่นนี้เป็นการแก้ไขข้อบกพร่องและรุ่นที่เสถียร
- ตอนนี้ EmojiEditTextHelper อนุญาตให้ส่ง
null
เป็น KeyListener ได้แล้ว ซึ่งจะช่วยให้ใช้ลักษณะการทำงานของแพลตฟอร์มที่อนุญาตค่า Null กับการใช้งาน EditText ที่รองรับอีโมจิได้ - เมื่อใช้ EmojiCompatInitializer ระบบจะปรับปรุงการหน่วงเวลาการเริ่มต้นครั้งแรกเพื่อทริกเกอร์หลังจากกิจกรรมแรกกลับมาทำงานต่อ ซึ่งจะช่วยให้การเริ่มต้นแอปเกิดขึ้นโดยไม่มีการโต้แย้ง และหลีกเลี่ยงการโหลดแบบอักษรสำหรับการเริ่มต้นแอปที่ไม่เคยแสดง UI หลังจากหน่วงเวลาสั้นๆ EmojiCompat จะสร้างเธรดเพื่อโหลดแบบอักษรอีโมจิ
- มีการเพิ่มการอ้างอิงใหม่ใน
androidx.lifecycle:lifecycle-process
จากandroidx.emoji2:emoji2
เพื่อใช้การหน่วงเวลา ซึ่งจะมีผลต่อขนาด APK น้อยมากสำหรับแอปที่มีวงจรอยู่แล้ว (เช่น แอปที่มี appcompat)
การเปลี่ยนแปลง API
- อนุญาต KeyListener ที่เป็น Null ใน AppCompatEditText ซึ่งจะยกเลิก คำอธิบายประกอบที่ไม่ใช่ Null ที่เพิ่มลงใน AppCompatEditText ในเวอร์ชัน 1.4.0-alpha01 และคืนค่าลักษณะการทำงานก่อนหน้าเมื่อส่งค่าเป็น Null (I21482, b/189559345)
การแก้ไขข้อบกพร่อง
- เปลี่ยน EmojiCompatInitializer เพื่อเลื่อนการโหลดแบบอักษรจนกว่าจะผ่านไป 500 มิลลิวินาทีหลังจาก
Activity.onResume
ครั้งแรก ซึ่งจะช่วยให้กิจกรรมApplication.onCreate
และActivity.onCreate
ทำงานได้โดยไม่มีการแย่งชิง ขณะเดียวกันก็ยังมั่นใจได้ว่าระบบจะโหลดแบบอักษร Emoji หลังจากที่แอปเริ่มต้นทำงานได้ไม่นาน (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
แล้ว การเปลี่ยนแปลงนี้เป็นการเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้องสำหรับ AppCompat1.4.0-alpha01
และแอปต้องตรวจสอบว่ามีการอัปเดตการขึ้นต่อกันของ AppCompat เพื่อใช้ อีโมจิเวอร์ชันใหม่ (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 มีคอมมิตต่อไปนี้
ฟีเจอร์ในรุ่นแรกนี้
เราขอแนะนำให้ผสานรวม Emojicompat ในทุกแอปเพื่อรองรับอีโมจิสมัยใหม่จาก API19 เนื้อหาที่ผู้ใช้สร้างขึ้นทั้งหมดในแอปของคุณมี 🎉
EmojiCompat ได้ย้ายจากอาร์ติแฟกต์ androidx.emoji
ไปยัง androidx.emoji2
ใหม่แล้ว ซึ่งตอนนี้อยู่ในเวอร์ชัน alpha01 อาร์ติแฟกต์ใหม่จะแทนที่เวอร์ชันก่อนหน้า
emoji2
จะเพิ่มเป็นทรัพยากร Dependency ใน AppCompat ตั้งแต่ AppCompat 1.4.0-alpha01
เป็นต้นไป และจะเปิดใช้โดยค่าเริ่มต้นสำหรับมุมมอง AppCompat
อาร์ติแฟกต์ emoji2
จะมีการกำหนดค่าอัตโนมัติแบบใหม่โดยใช้ไลบรารี androidx.startup
คุณไม่จำเป็นต้องเขียนโค้ด 👨🏽💻 เพื่อแสดง 🐻❄️ อีกต่อไป
การเปลี่ยนแปลงใน emoji2 จาก emoji
- เพิ่มการกำหนดค่าอัตโนมัติใหม่
EmojiCompatInitializer
โดยใช้androidx.startup
- เพิ่มการกำหนดค่าเริ่มต้นใหม่ที่ใช้ตำแหน่งบริการเพื่อค้นหาผู้ให้บริการแบบอักษรที่ดาวน์โหลดได้ใน
DefaultEmojiCompatConfiguration
- ย้ายคลาสจากแพ็กเกจ
androidx.emoji
ไปยังandroidx.emoji2
- แยกมุมมอง
EmojiTextView
และมุมมองที่เกี่ยวข้องไปยังอาร์ติแฟกต์แยกต่างหากemoji2-views
คุณควรใช้ตัวเลือกนี้ก็ต่อเมื่อแอปไม่ได้ใช้ appcompat - ฟังก์ชันช่วยที่แยกออกมาสำหรับการผสานรวม Emojicompat เข้ากับมุมมองที่กำหนดเองในอาร์ติแฟกต์แยกต่างหาก
emoji2-views-helper
- เพิ่มคำอธิบายประกอบเกี่ยวกับค่า Null
- ตอนนี้คุณใช้ตัวช่วยใน
emoji2-views-helper
ได้แล้วแม้จะไม่ได้เริ่มต้นEmojiCompat
(ก่อนหน้านี้จะเกิดข้อยกเว้น)
คุณควรเพิ่มการอ้างอิงใด
- แอปที่ใช้ AppCompat ควรได้รับการอัปเกรดเป็น AppCompat เวอร์ชัน AppCompat
1.4.0-alpha01
ขึ้นไป - แอปที่ไม่มี AppCompat ซึ่งใช้
TextView
/EditText
จากแพลตฟอร์มควรใช้EmojiTextView
และคลาสที่เกี่ยวข้องจากemoji2-views
วิธีรองรับในมุมมองที่กำหนดเอง
- แอปที่ใช้ AppCompat ควรขยาย
AppCompatTextView
,AppCompatButton
ฯลฯ แทนที่จะใช้TextView
ฯลฯ ของแพลตฟอร์ม - แอปที่ไม่มี AppCompat ควรเพิ่มการอ้างอิง
androidx.emoji2:emoji2-views-helper
และใช้ตัวช่วยเพื่อผสานรวมกับคลาสย่อยTextView
หรือEditText
ที่กำหนดเอง
การกำหนดค่าการเริ่มต้นอัตโนมัติ
แอปสามารถปิดใช้การเริ่มต้นอัตโนมัติได้โดยเพิ่มข้อมูลต่อไปนี้ลงในไฟล์ Manifest
<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