Emoji2
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | เวอร์ชันอัลฟ่า |
---|---|---|---|---|
4 กันยายน 2024 | 1.5.0 | - | - | - |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มการพึ่งพา Emoji2 คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูล
Groovy
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 ทิศทางเพียงครั้งเดียวช่วยให้ผู้ใช้สลับระหว่างอีโมจิที่หันหน้าซ้ายและขวาได้
- รองรับตัวเลือกอีโมจิแบบหลายภาพ การกดอีโมจิคู่ค้าค้างไว้จะแสดงตัวเลือกอีโมจิหลายคนสำหรับสถานะ 0 เมื่อผู้ใช้แตะครึ่งซ้ายของอีโมจิ ระบบจะอัปเดตตัวอย่างอีโมจิที่ด้านขวาล่างให้สอดคล้องกับการแตะ เมื่อผู้ใช้เลือกอีโมจิทั้ง 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.5
เวอร์ชัน 1.5.0
4 กันยายน 2024
androidx.emoji2:emoji2-*:1.5.0
ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สําคัญตั้งแต่เวอร์ชัน 1.4.0
- รองรับอีโมจิ 15.1 และ UI ตัวเลือกอีโมจิแบบ 2 ทิศทาง การคลิกสวิตช์แบบ 2 ทิศทางเพียงครั้งเดียวช่วยให้ผู้ใช้สลับระหว่างอีโมจิที่หันหน้าซ้ายและขวาได้
- รองรับตัวเลือกอีโมจิแบบหลายภาพ การกดอีโมจิคู่ค้าค้างไว้จะแสดงตัวเลือกอีโมจิหลายคนสำหรับสถานะ 0 เมื่อผู้ใช้แตะที่ครึ่งซ้ายของอีโมจิ ระบบจะอัปเดตตัวอย่างอีโมจิที่ด้านขวาล่างตามการเปลี่ยนแปลงดังกล่าว เมื่อผู้ใช้เลือกอีโมจิทั้ง 2 แบบ ตัวอย่างอีโมจิที่ด้านขวาล่างจะแสดงอีโมจิทั้งหมด และผู้ใช้จะป้อนอีโมจินั้นได้
เวอร์ชัน 1.5.0-rc01
21 สิงหาคม 2024
androidx.emoji2:emoji2-*:1.5.0-rc01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0-rc01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- รองรับอีโมจิ 15.1 และ UI ตัวเลือกอีโมจิแบบ 2 ทิศทาง การคลิกสวิตช์แบบ 2 ทิศทางเพียงครั้งเดียวช่วยให้ผู้ใช้สลับระหว่างอีโมจิที่หันหน้าซ้ายและขวาได้
- รองรับเครื่องมือเลือกอีโมจิหลายสีผิว การกดอีโมจิคู่ค้าค้างไว้จะแสดงตัวเลือกอีโมจิหลายคนสำหรับสถานะ 0 เมื่อผู้ใช้แตะครึ่งซ้ายของอีโมจิ ระบบจะอัปเดตตัวอย่างอีโมจิที่ด้านขวาล่างให้สอดคล้องกับการแตะ เมื่อผู้ใช้เลือกอีโมจิทั้ง 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
- เพิ่มผู้ดำเนินการเพื่อควบคุมเธรด Callback สำหรับ
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 ครั้ง 1 ครั้งในระหว่างการจัดวางข้อความ และอีกครั้งภายใน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 หลายเวอร์ชันและอุปกรณ์หลายรุ่นได้
ตัวแปรที่ติดอยู่
การกดอีโมจิค้างไว้จะแสดงเมนูรูปแบบต่างๆ เช่น เพศหรือสีผิวที่แตกต่างกัน ระบบจะบันทึกรูปแบบที่คุณเลือกไว้ในเครื่องมือเลือกอีโมจิ และจะใช้รูปแบบที่เลือกล่าสุดในแผงหลัก ฟีเจอร์นี้ช่วยให้ผู้ใช้ส่งอีโมจิรูปแบบที่ต้องการได้ด้วยการแตะเพียงครั้งเดียว
อีโมจิล่าสุด
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 compose
การเปลี่ยนแปลง 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) - ทำให้ AppCompat API เสร็จสมบูรณ์สำหรับ 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
ซึ่งได้รับการกำหนดค่าให้ใช้อีโมจิ2 (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 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ไม่มีการเปลี่ยนแปลงจากเวอร์ชันล่าสุด (รุ่นนี้รองรับรุ่นที่ใช้ร่วมกันกับแอป)
เวอร์ชัน 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)
- แก้ไขข้อขัดข้องเมื่ออีโมจิ2 โหลดแบบอักษรและใช้
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 มีแบบอักษร emoji 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 ใหม่จะแสดงข้อมูลที่ถูกต้องสำหรับแป้นพิมพ์เพื่อตัดสินใจว่าอีโมจิจะแสดงอย่างไรเมื่อมีแบบอักษร emojicompat อยู่หลังแบบอักษรของระบบ- การแก้ไขข้อบกพร่องสำหรับ
NumberKeyListener
ที่ทำให้การป้อนตัวเลขกรองอักขระได้อย่างถูกต้อง
เวอร์ชัน 1.1.0-beta01
26 มกราคม 2022
ปล่อย androidx.emoji2:emoji2-*:1.1.0-beta01
แล้ว เวอร์ชัน 1.1.0-beta01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- เวอร์ชัน androidx-emoji2 beta01 ไม่มีการเปลี่ยนแปลงจาก alpha01 (Ic61d9)
เวอร์ชัน 1.1.0-alpha01
15 ธันวาคม 2021
androidx.emoji2:emoji2-*:1.1.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-alpha01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
emoji2-bundled
มีแบบอักษรอีโมจิ 14getEmojiMatch
API ใหม่จะแสดงข้อมูลที่ถูกต้องสำหรับแป้นพิมพ์เพื่อตัดสินใจว่าอีโมจิจะแสดงอย่างไรเมื่อมีแบบอักษร emojicompat อยู่หลังแบบอักษรของระบบ- การแก้ไขข้อบกพร่องสำหรับ
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
- การกำหนดค่าอัตโนมัติ
- เพิ่มเป็นข้อกําหนดของ 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 มีการคอมมิตเหล่านี้
- ไม่มีการเปลี่ยนแปลงนับตั้งแต่ beta02
อีโมจิ2 เวอร์ชัน 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 ที่ไม่สำคัญสำหรับแอปซึ่งมีวงจรการใช้งานอยู่แล้ว (เช่น แอปที่มีการทำงานร่วมกับแอป)
การเปลี่ยนแปลง API
- อนุญาต KeyListener ที่เป็นค่า Null ใน AppCompatEditText ซึ่งจะเปลี่ยนกลับคำอธิบายประกอบที่ไม่ใช่ค่า Null ที่เพิ่มลงใน AppCompatEditText ใน 1.4.0-alpha01 และคืนค่าลักษณะการทำงานก่อนหน้าเมื่อส่งค่า Null (I21482, b/189559345)
การแก้ไขข้อบกพร่อง
- เปลี่ยน EmojiCompatInitializer เพื่อเลื่อนเวลาการโหลดแบบอักษรจนกว่าจะถึง 500 มิลลิวินาทีหลังจาก
Activity.onResume
แรก ซึ่งจะช่วยให้กิจกรรมดำเนินการApplication.onCreate
และActivity.onCreate
ได้โดยไม่ขัดแย้งกัน และยังคงโหลดแบบอักษรอีโมจิได้ไม่นานหลังจากที่แอปเริ่มต้น (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 เพื่อใช้ emoji2 เวอร์ชันใหม่ (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
ใหม่แล้ว ซึ่งตอนนี้อยู่ในรุ่นอัลฟ่า 01 รายการใหม่จะแทนที่รายการเวอร์ชันก่อนหน้า
emoji2
จะเพิ่มเป็น Dependency ของ AppCompat ตั้งแต่ AppCompat 1.4.0-alpha01
และเปิดใช้โดยค่าเริ่มต้นสำหรับมุมมอง AppCompat
อาร์ติแฟกต์ emoji2
นำเสนอการกำหนดค่าอัตโนมัติแบบใหม่โดยใช้ไลบรารี androidx.startup
คุณไม่จําเป็นต้องเขียนโค้ด 👨🏽💻 เพื่อแสดง 🐻❄️ อีกต่อไป
การเปลี่ยนแปลงอีโมจิ 2 จากอีโมจิ
- เพิ่มการกําหนดค่าอัตโนมัติใหม่
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