อีโมจิ2

แสดงอีโมจิในอุปกรณ์ปัจจุบันและรุ่นเก่ากว่า
อัปเดตล่าสุด รุ่นที่เสถียร ตัวเลือกถอนการอ้างสิทธิ์ รุ่นเบต้า รุ่นอัลฟ่า
4 กันยายน 2024 1.5.0 - - -

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ของ Emoji2 คุณต้องเพิ่มที่เก็บ Google Maven ไปยัง อ่านที่เก็บ Maven ของ Google เพื่อดูข้อมูลเพิ่มเติม

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ 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")
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากร Dependency ได้ที่หัวข้อเพิ่มการอ้างอิงของบิลด์

ความคิดเห็น

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

สร้างรายการใหม่

ดูเอกสารประกอบเกี่ยวกับเครื่องมือติดตามปัญหา เพื่อดูข้อมูลเพิ่มเติม

อีโมจิ2 ไอคอนอีโมจิ เวอร์ชัน 1.0

เวอร์ชัน 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)
  • รอให้การใช้งานอีโมจิโหลดสำเร็จก่อนแสดง EmojiPickerView (I29e03)

เวอร์ชัน 1.0.0-alpha01

25 มกราคม 2023

ปล่อย androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 แล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เปิดตัวเครื่องมือเลือกอีโมจิที่มอบประสบการณ์ของผู้ใช้ที่สอดคล้องกันด้วยอีโมจิล่าสุดในอุปกรณ์และแอป Android OS OEM ซึ่งจะรองรับอีโมจิล่าสุดและ UI เครื่องมือเลือกอีโมจิ ซึ่งรวมถึงตัวแปรสีผิวและการรองรับความเข้ากันได้กับอีโมจิ

การเปลี่ยนแปลง API

  • แนะนำคลาส EmojiPickerView ที่มีอีโมจิล่าสุดในมุมมองที่เลื่อนได้ในแนวตั้งและส่วนหัวแนวนอนที่คลิกได้
  • คุณสามารถตั้งค่าคอลัมน์ตารางกริดสำหรับเครื่องมือเลือกอีโมจิผ่านแอตทริบิวต์ XML emojiGridColumns หรือฟังก์ชัน setEmojiGridColumns() ได้
  • คุณสามารถตั้งค่าแถวตารางกริดสำหรับเครื่องมือเลือกอีโมจิผ่านแอตทริบิวต์ XML emojiGridRows หรือฟังก์ชัน setEmojiGridRows() ได้
  • สามารถตั้งค่าผู้ฟังที่เลือกอีโมจิผ่าน setOnEmojiPickedListener() และผู้ฟังจะได้รับการแจ้งเตือนเมื่อใดก็ตามที่ผู้ใช้คลิกอีโมจิใดๆ
  • ระบุผู้ให้บริการอีโมจิรายล่าสุดได้ด้วย 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 แล้ว ซึ่งไม่ใช่ Superclass สำหรับ Data, NoData และ ConsentRequiredStates เพิ่ม ExerciseRoute เป็นคลาสเดี่ยวๆ ซึ่งเก็บข้อมูลตำแหน่งของเส้นทางไว้ (I22eed)
  • แนะนำ PagerLayoutInfo ด้วยข้อมูลที่รวบรวมหลังจากผ่านมาตรการในเพจเจอร์ รวมทั้งเปิดตัว PageInfo ซึ่งเป็นข้อมูลเกี่ยวกับหน้าเว็บเดียวที่มีการวัดผลในเพจเจอร์ (Iad003, b/283098900)

แก้ไขข้อบกพร่อง

  • เราได้อัปเดตสีสำหรับ Button, IconButton และ TextButton เพื่อให้สอดคล้องกับดีไซน์ Material3 ลบล้างบทบาทเชิงความหมายสำหรับ Button, IconButton และ TextButton โดยใช้ Modifier.semantics ได้แล้ว (Ib2495)
  • แก้ไขการเลือกแท็บและสัญญาณบอกสถานะของ EmojiPickerView ล่าช้าในคลิกเดียว (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 Callback จะใช้เครื่องจัดการจากแต่ละมุมมอง ตามมุมมองที่ไม่ได้อยู่ในเทรดหลัก (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 เครื่องมือเลือกอีโมจิจะยังคงทำงานได้ตามปกติ

วิธีใช้ไลบรารี

ในการใช้ไลบรารี นักพัฒนาแอปควร

  1. นำเข้า androidx.emoji2:emojipicker:$version ใน build.gradle

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. ขยายมุมมองเครื่องมือเลือกอีโมจิ และตั้งค่า 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" />
    

ในโค้ด

    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)
  1. สมมติว่าคุณต้องการต่อท้ายอีโมจิที่เลือกใน EditText ให้ใช้ setOnEmojiPickedListener()

      emojiPickerView.setOnEmojiPickedListener {
          findViewById<EditText>(R.id.edit_text).append(it.emoji)
      }
    
  2. (ไม่บังคับ) ตั้งค่า RecentEmojiProvider ดูตัวอย่างการใช้งานของแอปตัวอย่าง

  3. เลือกปรับแต่งสไตล์หรือไม่ก็ได้ สร้างสไตล์ของคุณเองเพื่อลบล้างแอตทริบิวต์ของธีมทั่วไปและใช้รูปแบบดังกล่าวกับ 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 แบบเต็มได้ที่นี่

แอปตัวอย่าง

แอปตัวอย่างนี้สาธิตกรณีการใช้งานพื้นฐานและสถานการณ์เพิ่มเติมต่อไปนี้

  • มีการออกแบบมุมมองใหม่เนื่องจาก 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 1.4.0 ขึ้นไปเปิดใช้การผสานรวมอีโมจิ2
  • นอกจากนี้ ยังทำให้ฟีเจอร์ต่างๆ แทนที่ EmojiSpans ด้วยโค้ดวาดที่กำหนดเอง รวมถึงรองรับการยกเว้นอีโมจิที่กำหนดใน Android ด้วย

เวอร์ชัน 1.3.0-rc01

8 มีนาคม 2023

ปล่อย androidx.emoji2:emoji2-*:1.3.0-rc01 แล้ว เวอร์ชัน 1.3.0-rc01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เวอร์ชันนี้รองรับการผสานรวมการเขียนด้วยอีโมจิ2

การเปลี่ยนแปลง 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 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • ไม่มีการเปลี่ยนแปลง รุ่นนี้มีไว้เพื่อเตรียมพร้อมสำหรับการผสานรวมการเขียน

เวอร์ชัน 1.3.0-beta02

8 กุมภาพันธ์ 2023

ปล่อย androidx.emoji2:emoji2-*:1.3.0-beta02 แล้ว เวอร์ชัน 1.3.0-beta02 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • รุ่นนี้มีระบบกันภาพสั่นเพื่อรองรับการผสานรวมการเขียน

เวอร์ชัน 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 ใน Compose (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)
  • แก้ไขข้อขัดข้องเมื่ออีโมจิ2 โหลดแบบอักษรและใช้ 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)
  • การแก้ไขข้อขัดข้องของตัวแก้ไข Backport จาก Android P เป็น EditText ที่กำหนดค่าให้ใช้อีโมจิ2 (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

  • แพ็กเกจอีโมจิ2 มีแบบอักษรอีโมจิ 14
  • getEmojiMatch API ใหม่แสดงข้อมูลที่ถูกต้องสำหรับแป้นพิมพ์เพื่อตัดสินใจว่าจะแสดงอีโมจิอย่างไรในกรณีที่มีแบบอักษรที่ใช้ร่วมกันกับอีโมจิอยู่ด้านหลังแบบอักษรของระบบ
  • แก้ไขข้อบกพร่องของ NumberKeyListener ที่ทำให้การป้อนตัวเลขกรองอักขระได้อย่างถูกต้อง

เวอร์ชัน 1.1.0-rc01

9 กุมภาพันธ์ 2022

ปล่อย androidx.emoji2:emoji2-*:1.1.0-rc01 แล้ว เวอร์ชัน 1.1.0-rc01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

ไม่มีการเปลี่ยนแปลงจากรุ่นเบต้า

ฟีเจอร์ใหม่เมื่อเทียบกับอีโมจิ2 1.0.0:

  • emoji2-bundled มีแบบอักษรอีโมจิ 14
  • getEmojiMatch API ใหม่แสดงข้อมูลที่ถูกต้องสำหรับแป้นพิมพ์เพื่อตัดสินใจว่าจะแสดงอีโมจิอย่างไรในกรณีที่มีแบบอักษรที่ใช้ร่วมกันกับอีโมจิอยู่ด้านหลังแบบอักษรของระบบ
  • แก้ไขข้อบกพร่องสำหรับ 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 มีแบบอักษรอีโมจิ 14
  • getEmojiMatch API ใหม่แสดงข้อมูลที่ถูกต้องสำหรับแป้นพิมพ์เพื่อตัดสินใจว่าจะแสดงอีโมจิอย่างไรในกรณีที่มีแบบอักษรที่ใช้ร่วมกันกับอีโมจิอยู่ด้านหลังแบบอักษรของระบบ
  • แก้ไขข้อบกพร่องสำหรับ NumberKeyListener ที่ทำให้การป้อนข้อมูลตัวเลขกรองอักขระได้อย่างถูกต้อง

การเปลี่ยนแปลง API

  • เพิ่ม API ใหม่ getEmojiMatch เพื่อให้แป้นพิมพ์ค้นหาลักษณะการจับคู่อีโมจิในการจับคู่อีโมจิได้แม่นยำยิ่งขึ้น
  • เลิกใช้งาน 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

อีโมจิ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)

แก้ไขข้อบกพร่อง

  • แก้ไข DefaultEmojiCompatConfig เพื่อค้นหาแบบอักษรอีโมจิที่ถูกต้อง ของผู้ให้บริการใน API 19 และ 28 การดำเนินการนี้แก้ไขข้อบกพร่องในอีโมจิ2 1.0.0-alpha01 (Ib33d8, b/197906329)

เวอร์ชัน 1.0.0-alpha03

30 มิถุนายน 2021

ปล่อย androidx.emoji2:emoji2-*:1.0.0-alpha03 แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

รุ่นนี้มีการแก้ไขข้อบกพร่องของระบบกันภาพสั่น

  1. ตอนนี้ EmojiEditTextHelper ส่งผ่าน null เป็น KeyListener ได้ ซึ่งจะทําให้แพลตฟอร์มสามารถอนุญาตให้ใช้ Null กับอีโมจิที่รองรับการใช้งาน EditText ได้
  2. เมื่อใช้การหน่วงเวลาการเริ่มต้นของ EmojiCompatInitializer จะได้รับการปรับปรุงเพื่อทริกเกอร์หลังจากที่กิจกรรมแรกกลับมาทำงานอีกครั้ง วิธีนี้จะช่วยให้การเริ่มต้นแอปเกิดขึ้นได้โดยที่ไม่ต้องรอ และหลีกเลี่ยงการโหลดแบบอักษรสำหรับการเริ่มทำงานของแอปที่จะไม่แสดง UI หลังจากรอสักครู่ EmojiCompat จะสร้างชุดข้อความเพื่อโหลดแบบอักษรอีโมจิ
  • เพิ่มทรัพยากร Dependency ใหม่ androidx.lifecycle:lifecycle-process จาก androidx.emoji2:emoji2 แล้วเพื่อใช้การหน่วงเวลา ซึ่งจะส่งผลกระทบกับขนาด APK ที่ไม่สำคัญสำหรับแอปซึ่งมีวงจรการใช้งานอยู่แล้ว (เช่น แอปที่มีการทำงานร่วมกับแอป)

การเปลี่ยนแปลง API

  • อนุญาต KeyListener ที่เป็นค่าว่างใน AppCompatEditText การดำเนินการนี้จะเปลี่ยนกลับ คำอธิบายประกอบที่ไม่เป็นค่าว่างซึ่งเพิ่มลงใน 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 นี่เป็นการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นของ 1.4.0-alpha01 ของ AppCompat และแอปต้องอัปเดตทรัพยากร Dependency ของ AppCompat เพื่อใช้งาน อีโมจิ2 เวอร์ชันใหม่ (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 มีคอมมิตเหล่านี้

ฟีเจอร์ต่างๆ ในรุ่นแรกนี้

ขอแนะนําให้ผสานรวมอีโมจิที่เข้ากันได้สำหรับทุกแอปเพื่อรองรับอีโมจิสมัยใหม่จาก API19 เนื้อหาที่ผู้ใช้สร้างขึ้นทั้งหมดในแอปมี 🎉

EmojiCompat ได้ย้ายจากอาร์ติแฟกต์ androidx.emoji ไปยัง androidx.emoji2 แบบใหม่ในเวอร์ชันอัลฟ่าแล้วตอนนี้ อาร์ติแฟกต์ใหม่จะแทนที่เวอร์ชันก่อนหน้า

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

คุณควรเพิ่มทรัพยากร Dependency ใด

  • แอปที่มี AppCompat ควรอัปเกรดเป็นเวอร์ชัน appcompat AppCompat 1.4.0-alpha01 ขึ้นไป
  • แอปที่ไม่มี AppCompat ที่ใช้ TextView/EditText จากแพลตฟอร์มควรใช้ EmojiTextView และคลาสที่เกี่ยวข้องจาก emoji2-views

วิธีรองรับในมุมมองที่กำหนดเอง

  • แอปที่มี AppCompat ควรขยาย AppCompatTextView, AppCompatButton ฯลฯ แทนแพลตฟอร์ม TextView ฯลฯ
  • แอปที่ไม่มี AppCompat ควรเพิ่มทรัพยากร Dependency ของ 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