Emoji2

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

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

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

หากต้องการใช้ไลบรารี นักพัฒนาแอปควรทำดังนี้

  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 แบบเต็มได้ที่นี่

แอปตัวอย่าง

แอปตัวอย่างนี้แสดง 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 มีแบบอักษรอีโมจิ 14
  • getEmojiMatch 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 มีแบบอักษรอีโมจิ 14
  • getEmojiMatch 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)

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

  • แก้ไข 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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

รุ่นนี้เป็นรุ่นที่แก้ไขข้อบกพร่องและเพิ่มความเสถียร

  1. ตอนนี้ EmojiEditTextHelper อนุญาตให้ส่ง null เป็น KeyListener แล้ว ซึ่งช่วยให้แพลตฟอร์มอนุญาตให้ใช้ค่า Null กับอีโมจิที่รองรับการใช้งาน EditText ได้
  2. เมื่อใช้ 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 แล้ว การเปลี่ยนแปลงนี้เป็นการเปลี่ยนแปลงที่ส่งผลต่อ AppCompat 1.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