Appcompat
| อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
|---|---|---|---|---|
| 8 เมษายน 2026 | 1.7.1 | - | - | 1.8.0-alpha01 |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน Appcompat คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ
แอปหรือโมดูล
ดึงดูด
dependencies { def appcompat_version = "1.7.1" implementation "androidx.appcompat:appcompat:$appcompat_version" // For loading and tinting drawables on older versions of the platform implementation "androidx.appcompat:appcompat-resources:$appcompat_version" }
Kotlin
dependencies { val appcompat_version = "1.7.1" implementation("androidx.appcompat:appcompat:$appcompat_version") // For loading and tinting drawables on older versions of the platform implementation("androidx.appcompat:appcompat-resources:$appcompat_version") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยเราปรับปรุง Jetpack ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของ Issue Tracker
เวอร์ชัน 1.8
เวอร์ชัน 1.8.0-alpha01
8 เมษายน 2026
androidx.appcompat:appcompat:1.8.0-alpha01 และ androidx.appcompat:appcompat-resources:1.8.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.8.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- การนำคำอธิบายประกอบ
@RequiresApi(21)ที่ล้าสมัยออก (I44f33) TextAppearanceSpanCompatAPI ใหม่สำหรับใช้กับฟีเจอร์แบบอักษรที่ดาวน์โหลดได้ (I9c1c8, b/197242546, b/393805627)
การแก้ไขข้อบกพร่อง
- การย้าย
minSdkเริ่มต้นจาก API 21 ไปยัง API 23 (Ibdfca, b/380448311, b/435705964, b/435705223) AppCompatได้รับการอัปเดตให้ใช้ Activity 1.8.0 เพื่อให้ใช้initializeViewTreeOwners()API จากComponentActivityได้ เพื่อให้มั่นใจว่าจะมีชุดViewTreeOwnersที่ถูกต้องเสมอ (I96919, b/419208471)- ปรับแต่ง
ActionBarContextViewและAppCompatDelegateImpl(Ia83b3) - ตอนนี้ไลบรารีนี้ใช้คำอธิบายประกอบเกี่ยวกับค่า Null ของ JSpecify ซึ่งเป็นการใช้งานประเภท นักพัฒนา Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง
-Xjspecify-annotations=strict,-Xtype-enhancement-improvements-strict-mode(Id9081, b/326456246) - ตั้งชื่อหน้าต่างของ
AlertDialogsเพื่อวัตถุประสงค์ด้านการช่วยเหลือพิเศษ (I8bbdd, b/347729115) - นำการระบุสิทธิ์เข้าถึง API ของแพลตฟอร์มใหม่ด้วยตนเองออก เนื่องจากระบบจะดำเนินการนี้โดยอัตโนมัติผ่านการสร้างโมเดล API เมื่อใช้ R8 กับ AGP 7.3 ขึ้นไป (เช่น R8 เวอร์ชัน 3.3) และสำหรับการสร้างทั้งหมดเมื่อใช้ AGP 8.1 ขึ้นไป (เช่น D8 เวอร์ชัน 8.1) เราขอแนะนำให้ลูกค้าที่ไม่ได้ใช้ AGP อัปเดตเป็น D8 เวอร์ชัน 8.1 ขึ้นไป ดูบทความนี้สำหรับรายละเอียดเพิ่มเติม (I9496c, b/345472586)
- ตั้งค่า
fontVariationSettingsจากtextAppearanceในมุมมองAppCompatอย่างถูกต้อง (I20d06, b/264321145) - ส่งการเปลี่ยนแปลงการกำหนดค่าใน
AppCompatActivityไปยังแผนผังมุมมอง (Ibece8, b/321896385) - โปรเจ็กต์ที่เผยแพร่ด้วย Kotlin 2.0 ต้องใช้ KGP 2.0.0 ขึ้นไป (Idb6b5, b/344563182)
- แก้ไขการคำนวณความสูงของแถบเครื่องมือให้รวมขอบแนวตั้งของชื่อ/คำบรรยาย (Ia5846, b/267200424)
เวอร์ชัน 1.7
เวอร์ชัน 1.7.1
4 มิถุนายน 2025
androidx.appcompat:appcompat:1.7.1 และ androidx.appcompat:appcompat-resources:1.7.1 เปิดตัวแล้ว เวอร์ชัน 1.7.1 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
AppCompatได้รับการอัปเดตให้ใช้ Activity 1.8.0 เพื่อให้ใช้initializeViewTreeOwners()API จากComponentActivityได้ เพื่อให้มั่นใจว่าจะมีชุดViewTreeOwnersที่ถูกต้องเสมอ การแก้ไขนี้จะแก้ปัญหาความไม่เข้ากันระหว่างAppCompatActivityกับ NavigationEvent และไลบรารีที่สร้างขึ้นบนไลบรารีดังกล่าว เช่น Navigation 3 (I96919, b/419208471)
เวอร์ชัน 1.7.0
29 พฤษภาคม 2024
androidx.appcompat:appcompat:1.7.0 และ androidx.appcompat:appcompat-resources:1.7.0 เปิดตัวแล้ว เวอร์ชัน 1.7.0 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.6.0
- ตอนนี้
AppCompatDialogตั้งค่าLifecycleOwner,SavedStateRegistryOwnerและOnBackPressedDispatcherOwnerอย่างถูกต้องในมุมมองการตกแต่งของกล่องโต้ตอบผ่านViewTreeAPI ซึ่งแก้ไขปัญหาเมื่อโฮสต์ComposeViewภายในAppCompatDialog - ตอนนี้
AppCompatActivityจะตั้งค่าViewTreeOnBackPressedDispatcherOwnerเพื่อให้ดึงข้อมูล Dispatcher จากมุมมองได้ - ปรับปรุงประสิทธิภาพของ
SupportMenuInflaterอย่างมาก - ตอนนี้
Locale.getDefault()จะแสดงผลภาษาของระบบหลังจาก Cold Start - ตอนนี้
LinearLayoutCompatจะรักษาพารามิเตอร์เลย์เอาต์ขอบ
การอัปเดตทรัพยากร Dependency
AppCompatตอนนี้ขึ้นอยู่กับกิจกรรม 1.7.0 แล้วAppCompatตอนนี้ขึ้นอยู่กับ Fragment เวอร์ชัน 1.5.4 แล้ว
เวอร์ชัน 1.7.0-rc01
14 พฤษภาคม 2024
androidx.appcompat:appcompat:1.7.0-rc01 และ androidx.appcompat:appcompat-resources:1.7.0-rc01 เปิดตัวแล้ว เวอร์ชัน 1.7.0-rc01 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.7.0-beta01
1 พฤษภาคม 2024
androidx.appcompat:appcompat:1.7.0-beta01 และ androidx.appcompat:appcompat-resources:1.7.0-beta01 เปิดตัวแล้ว เวอร์ชัน 1.7.0-beta01 มีการคอมมิตเหล่านี้
เวอร์ชัน 1.7.0-alpha03
26 กรกฎาคม 2023
androidx.appcompat:appcompat:1.7.0-alpha03 และ androidx.appcompat:appcompat-resources:1.7.0-alpha03 เปิดตัวแล้ว เวอร์ชัน 1.7.0-alpha03 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
รองรับการรับภาษาต่อแอปในบริบทที่ไม่ใช่ Activity (I58e753) เราได้เพิ่ม API ใหม่ 4 รายการสำหรับฟีเจอร์นี้ ดังนี้
LocaleManagerCompat.getApplicationLocales(): เพื่อให้นักพัฒนาแอปได้รับภาษาของแต่ละแอปนอกขอบเขตของกิจกรรมContextCompat.getString(): แสดงสตริงที่แปลแล้วตามภาษาของแต่ละแอปContextCompat.getContextForLanguage(): บริบทที่เมธอดนี้ส่งคืนจะใช้ภาษาของแต่ละแอปConfigurationCompat.setLocales(): สำหรับ API ด้านบน เพื่อตั้งค่าภาษาของกำหนดค่า
การเปลี่ยนแปลงอื่นๆ ของ API
- เพิ่ม
setLineHeight(unit, lineHeight)ลงในคลาสความเข้ากันได้ของTextView(Ia9fa9) - เพิ่ม
setLineHeight(unit, lineHeight)ไปยังคลาสความเข้ากันได้ของTextView(Ib2ee1) - เพิ่ม
setLineHeight(unit, lineHeight)ลงในคลาสความเข้ากันได้ของTextView(I15716)
การแก้ไขข้อบกพร่อง
- ตอนนี้
AppCompatDialogตั้งค่าLifecycleOwner,SavedStateRegistryOwnerและOnBackPressedDispatcherOwnerอย่างถูกต้องในมุมมองการตกแต่งของกล่องโต้ตอบผ่านViewTreeAPI ซึ่งแก้ไขปัญหาเมื่อโฮสต์ComposeViewภายในAppCompatDialogAppCompatตอนนี้ขึ้นอยู่กับกิจกรรม 1.7.0 แล้ว (Ib28ab, b/261314581) - ปรับปรุงประสิทธิภาพของ
SupportMenuInflater(I0b087) อย่างมาก
เวอร์ชัน 1.7.0-alpha02
8 กุมภาพันธ์ 2023
androidx.appcompat:appcompat:1.7.0-alpha02 และ androidx.appcompat:appcompat-resources:1.7.0-alpha02 เปิดตัวแล้ว เวอร์ชัน 1.7.0-alpha02 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาหน่วยความจำรั่วไหลใน
AppCompatDelegate.getLocaleManagerForApplication()(44b57fd) AppCompatตอนนี้ขึ้นอยู่กับ Fragment เวอร์ชัน 1.5.4 (I54dcd)
เวอร์ชัน 1.7.0-alpha01
5 ตุลาคม 2022
androidx.appcompat:appcompat:1.7.0-alpha01 และ androidx.appcompat:appcompat-resources:1.7.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.7.0-alpha01 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
AppCompatActivityจะตั้งค่าViewTreeOnBackPressedDispatcherOwnerเพื่อให้ดึงข้อมูล Dispatcher จากมุมมองได้ (I1a115, b/235416503) Locale.getDefault()จะแสดงภาษาของระบบหลังจาก Cold Start (I6a94b)LinearLayoutCompatตอนนี้จะเก็บพารามิเตอร์เลย์เอาต์ระยะขอบ (Id2af4)
เวอร์ชัน 1.6.1
เวอร์ชัน 1.6.1
8 กุมภาพันธ์ 2023
androidx.appcompat:appcompat:1.6.1 และ androidx.appcompat:appcompat-resources:1.6.1 เปิดตัวแล้ว เวอร์ชัน 1.6.1 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาหน่วยความจำรั่วไหลใน
AppCompatDelegate.getLocaleManagerForApplication()(44b57fd)
เวอร์ชัน 1.6.0
เวอร์ชัน 1.6.0
11 มกราคม 2023
androidx.appcompat:appcompat:1.6.0 และ androidx.appcompat:appcompat-resources:1.6.0 เปิดตัวแล้ว เวอร์ชัน 1.6.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.5.0
- เพิ่มการรองรับการปรับแต่งภาษาของแอปพลิเคชัน ดูข้อมูลเพิ่มเติมได้ที่
AppCompatDelegate.setApplicationLocales(LocaleListCompat)มอบความเข้ากันได้แบบย้อนหลังสำหรับ API ค่ากำหนดต่อภาษา ใหม่ที่พร้อมใช้งานใน Android 13 - การอัปเดตความสามารถในการเว้นว่างเพื่อให้สอดคล้องกับ SDK ของ Android 13 (Tiramisu, ระดับ API 33)
- เพิ่มคลาสความเข้ากันได้
DrawableWrapper,DrawableContainerและStateListDrawableลงในแพลตฟอร์ม API สาธารณะ
เวอร์ชัน 1.6.0-rc01
7 กันยายน 2022
androidx.appcompat:appcompat:1.6.0-rc01 และ androidx.appcompat:appcompat-resources:1.6.0-rc01 เปิดตัวแล้ว เวอร์ชัน 1.6.0-rc01 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
AppCompatActivityจะตั้งค่าViewTreeOnBackPressedDispatcherOwnerเพื่อให้ดึงข้อมูล Dispatcher จากมุมมองได้ (I1a115, b/235416503) - ย้อนกลับการแก้ไขข้อบกพร่องที่เขียนทับการกำหนดค่าที่ส่งไปยัง
onConfigurationChangedซึ่งทำให้เกิดปัญหาสำหรับการทดสอบที่แทรกการกำหนดค่าที่กำหนดเองผ่านonConfigurationChanged
เวอร์ชัน 1.6.0-beta01
10 สิงหาคม 2022
androidx.appcompat:appcompat:1.6.0-beta01 และ androidx.appcompat:appcompat-resources:1.6.0-beta01 เปิดตัวแล้ว เวอร์ชัน 1.6.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ย้ายคลาสความเข้ากันได้ของ
DrawableWrapper,DrawableContainerและStateListDrawableไปยัง API สาธารณะ (I37f3e, b/227789566) - เปิดตัว Factory ใหม่สำหรับ Async Layout Inflater (Ia657b)
การแก้ไขข้อบกพร่อง
- ตอนนี้
ToolbarจะโทรหาonPrepareMenu()ก่อนที่จะแสดงเมนูแทนที่จะโทรหาโดยไม่มีเงื่อนไขเมื่อสร้างเมนู (I2a58d, b/232206677) - ตอนนี้
AppCompatต้องอาศัยLifecycle2.5.1และSavedState1.2.0อย่างชัดเจน (I7e3e2) - เพิ่มการรองรับการเรียกกลับที่เรียกย้อนกลับไปยัง
AppCompatDelegateและการติดตั้งใช้งานแถบเครื่องมือที่AppCompatจัดให้ (I24062) - สรุป
AppCompatAPI สำหรับ 1.5.0-beta01 (I2a43d, b/236866227) - สรุป
AppCompatAPI สำหรับ 1.5.0-beta01 (I2a43d, b/236866227)
เวอร์ชัน 1.6.0-alpha05
15 มิถุนายน 2022
androidx.appcompat:appcompat:1.6.0-alpha05 และ androidx.appcompat:appcompat-resources:1.6.0-alpha05 เปิดตัวแล้ว เวอร์ชัน 1.6.0-alpha05 ได้รับการพัฒนาใน Branch รุ่นทดลองใช้ก่อนเปิดตัวแบบส่วนตัวและไม่มีคอมมิตแบบสาธารณะ
การเปลี่ยนแปลง API
- การอัปเดตความสามารถในการเว้นว่างเพื่อให้สอดคล้องกับพื้นผิว API ที่เสร็จสมบูรณ์ใน Tiramisu Beta 3 SDK
minCompileSdkตอนนี้เป็น 33 เพื่อให้สอดคล้องกับ Tiramisu Beta 3 SDK
เวอร์ชัน 1.6.0-alpha04
18 พฤษภาคม 2022
androidx.appcompat:appcompat:1.6.0-alpha04 และ androidx.appcompat:appcompat-resources:1.6.0-alpha04 เปิดตัวแล้ว ไลบรารีนี้ได้รับการพัฒนาในสาขาเวอร์ชันก่อนเปิดตัวแบบส่วนตัว จึงไม่มีบันทึกการคอมมิต
การเปลี่ยนแปลง API
- เพิ่ม API เพื่อลบล้างข้อจำกัดความกว้างของ SwitchCompat สำหรับการใช้งานโดย MDC-Android
การแก้ไขข้อบกพร่อง
- หลีกเลี่ยงการกำหนดค่าที่มีการจัดการเมื่อมีการเปลี่ยนแปลงการกำหนดค่าภายนอก attachBaseConfig
เวอร์ชัน 1.6.0-alpha03
27 เมษายน 2022
androidx.appcompat:appcompat:1.6.0-alpha03 และ androidx.appcompat:appcompat-resources:1.6.0-alpha03 เปิดตัวแล้ว
เวอร์ชันนี้ต้องใช้ Android 13 เบต้า 1 ในการคอมไพล์ และไม่รับประกันว่าจะเข้ากันได้กับเวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ในอนาคต
ฟีเจอร์ใหม่
- รองรับการเลือกภาษาที่กำหนดเองทั้งแอปผ่าน
AppCompatDelegate.setApplicationLocales()ส่งต่อการติดตั้งใช้งานแพลตฟอร์มใน API 33 ขึ้นไป
เวอร์ชัน 1.6.0-alpha01
23 กุมภาพันธ์ 2022
androidx.appcompat:appcompat:1.6.0-alpha01 และ androidx.appcompat:appcompat-resources:1.6.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.6.0-alpha01 สร้างขึ้นจาก Branch ภายในและไม่มีคอมมิตที่มองเห็นได้แบบสาธารณะ
เวอร์ชันนี้ต้องใช้ Android Tiramisu DP1 ในการคอมไพล์ และไม่รับประกันว่าจะเข้ากันได้กับเวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ในอนาคต
ฟีเจอร์ใหม่
- เพิ่มการรองรับการปรับแต่งภาษาของแอปพลิเคชัน ดูข้อมูลเพิ่มเติมได้ที่
AppCompatDelegate.setApplicationLocales(LocaleListCompat)มอบความเข้ากันได้แบบย้อนหลังสำหรับ API ค่ากำหนดต่อภาษา ใหม่ที่พร้อมใช้งานใน Android 13
รุ่น 1.5.1
รุ่น 1.5.1
7 กันยายน 2022
androidx.appcompat:appcompat:1.5.1 และ androidx.appcompat:appcompat-resources:1.5.1 เปิดตัวแล้ว เวอร์ชัน 1.5.1 มีคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependency
AppCompatตอนนี้ขึ้นอยู่กับ Lifecycle2.5.1และ SavedState1.2.0อย่างชัดเจน (I7e3e2)
เวอร์ชัน 1.5.0
เวอร์ชัน 1.5.0
10 สิงหาคม 2022
androidx.appcompat:appcompat:1.5.0 และ androidx.appcompat:appcompat-resources:1.5.0 เปิดตัวแล้ว เวอร์ชัน 1.5.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.4.0
- เวอร์ชันเสถียรนี้มีการปรับปรุงความเสถียรของโหมดกลางคืน การแก้ไขข้อบกพร่อง และการรองรับการปรับสี Drawable แบบผสมสำหรับวิดเจ็ตข้อความที่ใช้ AppCompat รวมถึงการปรับปรุงความสามารถในการใช้งาน API ดูรายการการเปลี่ยนแปลงโดยละเอียดได้ในบันทึกประจำรุ่น 1.5.0 ชุดก่อนหน้า
เวอร์ชัน 1.5.0-rc01
27 กรกฎาคม 2022
androidx.appcompat:appcompat:1.5.0-rc01 และ androidx.appcompat:appcompat-resources:1.5.0-rc01 เปิดตัวแล้ว เวอร์ชัน 1.5.0-rc01 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ Context Wrapper ของ AppCompat นำการติดตั้งใช้งานทรัพยากรสำรองของบริบทแอปพลิเคชันกลับมาใช้ใหม่ ซึ่งส่งผลให้
uiModeถูกเขียนทับในบริบทแอปพลิเคชัน (Idf9d5)
เวอร์ชัน 1.5.0-beta01
13 กรกฎาคม 2022
androidx.appcompat:appcompat:1.5.0-beta01 และ androidx.appcompat:appcompat-resources:1.5.0-beta01 เปิดตัวแล้ว เวอร์ชัน 1.5.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มแฟล็กที่ลบล้างได้เพื่อปิดใช้การปรับความกว้างของสวิตช์เริ่มต้น (I37cb7)
- เพิ่มคำอธิบายประกอบ
@FloatRangeลงใน API ตัวดึงตำแหน่งภาพขนาดย่อ (If524c) - เพิ่มคำอธิบายประกอบความสามารถในการเว้นว่างที่ขาดหายไปใน
AnimatedStateListDrawableCompat(Ieb4ec)
การแก้ไขข้อบกพร่อง
- สรุป
AppCompatAPI สำหรับ 1.5.0-beta01 (I2a43d, b/236866227) - เปลี่ยนค่า
classNameสำหรับActionMenuItemViewเพื่อถือว่าเป็นButton(I5ee1c)
เวอร์ชัน 1.5.0-alpha01
6 เมษายน 2022
androidx.appcompat:appcompat:1.5.0-alpha01 และ androidx.appcompat:appcompat-resources:1.5.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.5.0-alpha01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม API ใหม่เพื่อแสดงตำแหน่งของนิ้วโป้งสวิตช์ไปยังคลาสย่อย (I9bfb4)
- อัปเดตค่า Nullability ให้ตรงกับ Tiramisu DP2 (I0cbb7)
- ย้อนพอร์ตการลงสีภาพวาดแบบผสมไปยังวิดเจ็ตที่ได้มาจาก TextView (Idf98c, b/165822337)
AppCompatDialogได้ขยายComponentDialogเพื่อให้เข้ากันได้กับOnBackPressedDispatcher(Id9b91, b/217620781)SearchView.onQueryRefine()ตอนนี้มีการป้องกันระดับการเข้าถึงเพื่ออนุญาตการลบล้าง (I6cce0, b/212882845)
การแก้ไขข้อบกพร่อง
- ตอนนี้ AppCompat
Toolbarจะเรียกใช้ API ของMenuHostHelperonPrepareMenu()แล้ว (I9b9b5, b/227376894) AppCompatEditText,AppCompatAutoCompleteEditText,AppCompatMultiAutoCompleteEditTextจะไม่รีเซ็ต clickable หรือ longClickable ในตัวสร้างเมื่อตั้งค่าใน XML อีกต่อไป (Ic5066, b/221094907)AppCompatEditText,AppCompatAutoCompleteTextViewและAppCompatMultiAutoCompleteTextViewจะไม่เรียกใช้setKeyListenerที่ลบล้างในระหว่างตัวสร้าง (I5c13a, b/208480173)- Appcompat จะไม่ห่อหุ้มอินสแตนซ์ของ
NumberKeyListenerที่ส่งไปยังsetKeyListenerซึ่งจะช่วยให้TextViewกำหนดค่าภาษาในNumberKeyListenersได้อย่างถูกต้อง (Ibf113, b/207119921) - แก้ไขปัญหาเกี่ยวกับคลาสย่อย
NumberKeyListenerทั้งหมดที่เปิดตัวใน AppCompat 1.4.0 ซึ่งอนุญาตให้ป้อนอักขระที่ไม่คาดคิด เช่น เครื่องหมายวรรคตอน (Iede7a, b/207119921)
เวอร์ชัน 1.4.2
เวอร์ชัน 1.4.2
1 มิถุนายน 2022
androidx.appcompat:appcompat:1.4.2 และ androidx.appcompat:appcompat-resources:1.4.2 เปิดตัวแล้ว เวอร์ชัน 1.4.2 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องที่
AppCompatDelegateImplโทรภายในไปยังensureSubDecorก่อนที่จะสร้างแถบการดำเนินการ (aosp/2048349, b/226648941)
เวอร์ชัน 1.4.1
12 มกราคม 2022
androidx.appcompat:appcompat:1.4.1 และ androidx.appcompat:appcompat-resources:1.4.1 เปิดตัวแล้ว เวอร์ชัน 1.4.1 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
AppCompatEditText,AppCompatAutoCompleteTextViewและAppCompatMultiAutoCompleteTextViewจะไม่เรียกใช้setKeyListenerที่มีการลบล้างในระหว่างตัวสร้าง (I5c13a, b/208480173)Emoji2จะไม่ตัดคำอินสแตนซ์ของNumberKeyListenerเพื่อให้ TextView กำหนดค่าภาษาได้- Appcompat จะไม่ห่อหุ้มอินสแตนซ์ของ
NumberKeyListenerที่ส่งไปยังsetKeyListenerซึ่งจะช่วยให้TextViewกำหนดค่าภาษาได้อย่างถูกต้องในNumberKeyListeners(Ibf113, b/207119921)
- Appcompat จะไม่ห่อหุ้มอินสแตนซ์ของ
- แก้ไขปัญหาเกี่ยวกับคลาสย่อย
NumberKeyListenerทั้งหมดที่เปิดตัว ใน appcompat 1.4.0 ซึ่งอนุญาตให้ป้อนอักขระที่ไม่คาดคิด เช่น เครื่องหมายวรรคตอน (b/207119921) (Iede7a, b/207119921)
เวอร์ชัน 1.4.0
เวอร์ชัน 1.4.0
17 พฤศจิกายน 2021
androidx.appcompat:appcompat:1.4.0 และ androidx.appcompat:appcompat-resources:1.4.0 เปิดตัวแล้ว เวอร์ชัน 1.4.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงสำคัญตั้งแต่เวอร์ชัน 1.3.0
- ตอนนี้ไลบรารีกำหนดเป้าหมายระดับภาษา Java 8 แล้ว
- การรองรับอีโมจิที่อัปเดตได้จะเปิดใช้โดยค่าเริ่มต้นผ่านไลบรารี androidx.emoji2
- การตรวจสอบแอตทริบิวต์ที่ดียิ่งขึ้นในเครื่องมือตรวจสอบเลย์เอาต์ของ Android Studio (I02d55)
- เพิ่มการรองรับทรัพยากรที่มีการปรับสมดุลสีเขียว-แดงแบบซ้อนกันและ Vector Drawable ในการโหลดทรัพยากร AppCompat แบบย้อนกลับ อย่างไรก็ตาม โปรดทราบว่าการดำเนินการนี้หมายความว่าแอปจะลบล้าง getDrawable() ในออบเจ็กต์ Resources ที่กำหนดเองไม่ได้เมื่อเปิดใช้การพอร์ตย้อนหลัง (Ia6b03, b/176129022)
- ย้อนกลับไปใช้พื้นหลังและเครื่องหมายถูกที่ปรับสีได้สำหรับ CheckedTextView (I8575c)
เวอร์ชัน 1.4.0-rc01
27 ตุลาคม 2021
androidx.appcompat:appcompat:1.4.0-rc01 และ androidx.appcompat:appcompat-resources:1.4.0-rc01 เปิดตัวแล้ว เวอร์ชัน 1.4.0-rc01 มีคอมมิตเหล่านี้
เวอร์ชัน 1.4.0-beta01
29 กันยายน 2021
androidx.appcompat:appcompat:1.4.0-beta01 และ androidx.appcompat:appcompat-resources:1.4.0-beta01 เปิดตัวแล้ว เวอร์ชัน 1.4.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ตอนนี้ AndroidX AppCompat
Toolbarเป็นMenuHostแล้ว และจัดการMenuProviderได้ (I5cd95)
การแก้ไขข้อบกพร่อง
- แก้ไขการจัดการแถบความคืบหน้า layer-list ของ AppCompatProgressBar (I6ece3, b/142004509)
- คงค่า
android:digitsในAppCompatEditTextอย่างถูกต้อง ซึ่ง แก้ไขข้อบกพร่อง 193047889 ที่เกิดขึ้นใน AppCompat 1.4.0-alpha03 (I4b4fc, b/193047889) - SDK ของ OnReceiveContentListener ที่ผสานรวมและ API ของไลบรารีสนับสนุน (Ic6914, b/173814913)
เวอร์ชัน 1.4.0-alpha03
30 มิถุนายน 2021
androidx.appcompat:appcompat:1.4.0-alpha03 และ androidx.appcompat:appcompat-resources:1.4.0-alpha03 เปิดตัวแล้ว เวอร์ชัน 1.4.0-alpha03 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- ตอนนี้ไลบรารีกำหนดเป้าหมายระดับภาษา Java 8 แล้ว
- เพิ่มการรองรับ emoji2 สำหรับคลาสย่อย TextView เพิ่มเติม (
AppCompatMultiAutoCompleteTextView,AppCompatAutoCompleteTextView,AppCompatRadioButton,AppCompatCheckBox)
การเปลี่ยนแปลง API
- เพิ่ม API เพื่อกำหนดค่า InputConnection ให้ใช้ View.performReceiveContent เพื่อจัดการการเรียก IME ไปยัง InputConnection.commitContent (I3a2ad)
- เพิ่มการรองรับ EmojiCompat ใน
AppCompatMultiAutoCompleteTextView(Ifece0) - เพิ่มการรองรับ EmojiCompat ใน
AppCompatAutoCompleteTextView(Ia1f4b) - เพิ่มการรองรับ EmojiCompat ใน
AppCompatRadioButton(If08af) - เพิ่มการรองรับ EmojiCompat ใน
AppCompatCheckBox(I2b3bc) - อนุญาตค่า Null
KeyListenerในAppCompatEditTextซึ่งจะยกเลิก คำอธิบายประกอบที่ไม่ใช่ Null ที่เพิ่มลงใน AppCompatEditText ในเวอร์ชัน 1.4-alpha01 และคืนค่าลักษณะการทำงานก่อนหน้าเมื่อส่งค่า Null (I21482, b/189559345) - เพิ่ม
PopupMenu.setForceShowIconเพื่อให้สอดคล้องกับ API ของแพลตฟอร์ม (I43bb3, b/182789798)
การแก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องใน AppCompatEditText ที่จะรีเซ็ต inputType ที่ระบุใน XML เพื่อนำรูปแบบต่างๆ ออก ข้อบกพร่องนี้เกิดขึ้นใน AppCompat 1.4.0-alpha01 (I9df36, b/191061070)
เวอร์ชัน 1.4.0-alpha02
2 มิถุนายน 2021
androidx.appcompat:appcompat:1.4.0-alpha02 และ androidx.appcompat:appcompat-resources:1.4.0-alpha02 เปิดตัวแล้ว เวอร์ชัน 1.4.0-alpha02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มตัวสร้าง
AppCompatDialogFragmentที่ใช้รหัสเลย์เอาต์ (Icbf22, b/188119987) - การรองรับเครื่องมือตรวจสอบเลย์เอาต์ที่ปรับปรุงแล้ว (I02d55)
- เปลี่ยนชื่อแพ็กเกจใน
emoji2-views-helperเป็นandroidx.emoji2.viewsintegrationแล้ว การเปลี่ยนแปลงนี้เป็นการเปลี่ยนแปลงที่ไม่รองรับการทำงานแบบย้อนกลับสำหรับ AppCompat1.4.0-alpha01และแอปต้องตรวจสอบว่ามีการอัปเดตทรัพยากร Dependency ของ AppCompat เพื่อใช้ emoji2 เวอร์ชันใหม่แล้ว (Ie8397)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่กิจกรรมที่หยุดแล้วไม่ได้รับการเปลี่ยนแปลงการกำหนดค่า จากการเปลี่ยนแปลงโหมดกลางคืนที่ใช้ AppCompat (I8fa8f, b/188681415)
- แก้ไขข้อบกพร่องใน
AppCompatEditTextซึ่งจะทำให้มุมมองสามารถโฟกัสได้แม้ว่าจะมีการระบุandroid:focusable="false"ใน XML (ข้อบกพร่องที่เกิดขึ้นใน AppCompat1.4.0-alpha01) (Ib9412)
เวอร์ชัน 1.4.0-alpha01
18 พฤษภาคม 2021
androidx.appcompat:appcompat:1.4.0-alpha01 และ androidx.appcompat:appcompat-resources:1.4.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.4.0-alpha01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- รวมการรองรับ EmojiCompat เข้ากับวิดเจ็ต AppCompat ที่หลากหลาย (Id409b, If7a1a, Ic262d, Ib5f4a, I4fb3c)
- เพิ่มการรองรับทรัพยากรที่มีการปรับสมดุลสีเขียว-แดงแบบซ้อนกันและ VectorDrawable ในการโหลดทรัพยากร AppCompat แบบย้อนกลับ อย่างไรก็ตาม โปรดทราบว่าการดำเนินการนี้หมายความว่าแอปจะลบล้าง
getDrawable()ในออบเจ็กต์ทรัพยากรที่กำหนดเองไม่ได้เมื่อเปิดใช้การพอร์ตย้อนหลัง (Ia6b03, b/176129022) - ปรับปรุงการรองรับเครื่องมือตรวจสอบเลย์เอาต์ (I6d771)
การแก้ไขข้อบกพร่อง
- แก้ไขสถานการณ์ที่การเรียก setSupportActionBar หลังจากตั้งค่าการเรียกกลับของหน้าต่างจะเขียนทับการเรียกกลับ (Ie43ee, b/186791590)
- เพิ่มวิธีแก้ปัญหาใน SDK 29 และ 30 ที่ทรัพยากร ColorStateListDrawable ที่โคลนจากแคช Drawable จะไม่โหลดสีเริ่มต้นจนกว่าจะได้รับการเปลี่ยนแปลงสถานะ (Iedb4b)
- หลีกเลี่ยง NPE เมื่อจัดการการเรียกกลับโหมดการดำเนินการเลือกที่กำหนดเองที่เป็น Null ในมุมมองที่ใช้ AppCompat (I033c7, b/173435375)
การอัปเดตทรัพยากร Dependency
- จาก AppCompat
1.5.0: ตอนนี้ AppCompat ขึ้นอยู่กับ Fragment Fragment1.3.4แล้ว (I13089) - จาก AppCompat
1.5.0: ตอนนี้ AppCompat ขึ้นอยู่กับ Activity1.2.3แล้ว (I815b7) - จาก AppCompat
1.5.0: ตอนนี้ AppCompat ขึ้นอยู่กับ Lifecycle2.3.1แล้ว (Ia75a1)
การมีส่วนร่วมภายนอก
- ย้อนกลับพื้นหลังที่ปรับสีได้และเครื่องหมายถูกสำหรับ
CheckedTextView(I8575c)
เวอร์ชัน 1.3.1
เวอร์ชัน 1.3.1
21 กรกฎาคม 2021
androidx.appcompat:appcompat:1.3.1 และ androidx.appcompat:appcompat-resources:1.3.1 เปิดตัวแล้ว เวอร์ชัน 1.3.1 มีคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependency
- ตอนนี้ AppCompat ขึ้นอยู่กับ Activity
1.2.4และ Fragment1.3.6แล้ว ทำให้การแก้ไขจากรุ่นเหล่านั้นรวมอยู่โดยค่าเริ่มต้นเมื่อใช้ AppCompat1.3.1(I8fbec)
เวอร์ชัน 1.3.0
เวอร์ชัน 1.3.0
18 พฤษภาคม 2021
androidx.appcompat:appcompat:1.3.0 และ androidx.appcompat:appcompat-resources:1.3.0 เปิดตัวแล้ว เวอร์ชัน 1.3.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.2.0
- แก้ไขการส่งต่อแอตทริบิวต์
android:themeในเลย์เอาต์<include>บนอุปกรณ์รุ่นก่อน Lollipop - ลดขนาดไลบรารีโดยการแปลงทรัพยากร PNG จำนวนมากเป็น VectorDrawable
- เพิ่มการรองรับการลากและวางกิจกรรมไปยัง
AppCompatEditTextด้วยOnReceiveContentListener - อัปเดตเพื่อรองรับการเปลี่ยนแปลงการจัดการส่วนที่เว้นไว้ของหน้าต่างใน Android 11
- เพิ่มการรองรับ RTL ในรายการเมนูที่มีไอคอน
เพิ่มการรองรับการแทรกข้อมูลอย่างละเอียด (เช่น การวางรูปภาพ) ใน
AppCompatEditTextทรัพยากร Dependency ที่อัปเดตแล้ว:
appcompatอัปเดตทรัพยากร Dependency แบบทรานซิทีฟหลายรายการเพื่อรองรับฟังก์ชันการทำงานและการแก้ไขใหม่ๆ ดังนี้- อัปเดตจาก Fragment
1.1.0เป็น Fragment1.3.4 - อัปเดตจากกิจกรรม 1.0.0 เป็นกิจกรรม
1.2.3 - อัปเดตจากวงจร
2.0.0เป็นวงจร2.3.1 - อัปเดตจาก Core 1.3.0 เป็น Core
1.5.0
- อัปเดตจาก Fragment
เวอร์ชัน 1.3.0-rc01
24 มีนาคม 2021
androidx.appcompat:appcompat:1.3.0-rc01 และ androidx.appcompat:appcompat-resources:1.3.0-rc01 เปิดตัวแล้ว เวอร์ชัน 1.3.0-rc01 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- ป้องกันไม่ให้มีการเพิกถอนสิทธิ์ก่อนเวลาอันควรเมื่อจัดการการแทรกเนื้อหาของ IME
การอัปเดตทรัพยากร Dependency
- ตอนนี้ AppCompat ขึ้นอยู่กับ Activity
1.2.2, Fragment1.3.2และ Lifecycle2.3.1(Ia75a1)
การมีส่วนร่วมภายนอก
- แก้ไขการส่งต่อแอตทริบิวต์
android:themeในเลย์เอาต์<include>ทั้งหมดในอุปกรณ์ที่ใช้ Android เวอร์ชันก่อน Lollipop (Simon Bergner ที่ Opera)
เวอร์ชัน 1.3.0-beta01
13 มกราคม 2021
androidx.appcompat:appcompat:1.3.0-beta01 และ androidx.appcompat:appcompat-resources:1.3.0-beta01 เปิดตัวแล้ว เวอร์ชัน 1.3.0-beta01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เราได้แทนที่ Drawable ของโหมดการทำงานระดับธีมด้วยแหล่งที่มาแบบเวกเตอร์ ซึ่งอาจทำให้รูปลักษณ์ของไอคอนแต่ละรายการเปลี่ยนแปลงไปเล็กน้อย (I741a6)
การเปลี่ยนแปลง API
- ผสานรวมการลากและวาง (เหตุการณ์การวาง) ใน AppCompatEditText ด้วย OnReceiveContentListener (Ib26c9, b/175343405)
OnReceiveContentListenerที่อัปเดตแล้วและ API ที่เกี่ยวข้อง ดูรายละเอียดเพิ่มเติมได้ที่การเปลี่ยนแปลงในไลบรารี androidx.core (Ib4616, b/173814913)- ย้าย widget.RichContentReceiverCompat ไปยัง view.OnReceiveContentListener (Ifdab7, b/173814913)
- เราได้ย้อนกลับ API เพื่อจัดหาและดึงข้อความโดยรอบเริ่มต้นไปยัง
EditorInfoCompatแล้ว ซึ่งจะช่วยให้แอป IME หลีกเลี่ยงเวลาในการตอบสนอง IPC เพิ่มเติมได้ (Ie3809)
เวอร์ชัน 1.3.0-alpha02
19 สิงหาคม 2020
androidx.appcompat:appcompat:1.3.0-alpha02 และ androidx.appcompat:appcompat-resources:1.3.0-alpha02 เปิดตัวแล้ว เวอร์ชัน 1.3.0-alpha02 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- เราได้แทนที่ภาพวาด PNG ของ AppCompatRatingBar ด้วยแหล่งที่มาของเวกเตอร์ ซึ่งอาจทำให้รูปลักษณ์ของดาวแต่ละดวงเปลี่ยนแปลงไปเล็กน้อย (I6b99d)
- อัปเดต WindowInsetsCompat เป็น API ของ Android 11 (I3df9e)
- รองรับ RTL ในรายการเมนูที่มีไอคอน (I2f5c5)
การอัปเดตทรัพยากร Dependency
- AppCompat ได้อัปเดตทรัพยากร Dependency จาก Fragment
1.1.0เป็น Fragment1.3.0-alpha08แล้ว เราขอแนะนําอย่างยิ่งให้อ่านบันทึกประจํารุ่นของ Fragment1.2.0เพื่อทําความเข้าใจการเปลี่ยนแปลงที่สําคัญซึ่งเปิดตัวใน Fragment รุ่นก่อนหน้า - AppCompat ได้อัปเดตการอ้างอิงจาก Activity
1.0.0เป็น Activity1.2.0-alpha08แล้ว เราขอแนะนําอย่างยิ่งให้อ่านบันทึกประจำรุ่นของกิจกรรม1.1.0เพื่อทําความเข้าใจการเปลี่ยนแปลงที่สําคัญซึ่งเปิดตัวในกิจกรรมรุ่นก่อนหน้าAppCompatActivityตอนนี้ใช้OnContextAvailableListenerAPI ที่เปิดตัวในกิจกรรม1.2.0-alpha08เพื่อตั้งค่าAppCompatDelegateListener ที่เพิ่มลงในคลาสย่อยของAppCompatActivityจะทำงานหลังจาก Listener นี้ (I513da)
เวอร์ชัน 1.3.0-alpha01
20 พฤษภาคม 2020
androidx.appcompat:appcompat:1.3.0-alpha01 และ androidx.appcompat:appcompat-resources:1.3.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.3.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มกฎ Lint ใหม่เพื่อแจ้งการเรียกใช้ setActionBar ในกิจกรรมที่ขยาย AppCompatActivity
- เพิ่มการรองรับ
ViewTreeLifecycleOwnerจาก Lifecycle2.3.0-alpha01,ViewTreeViewModelStoreOwnerจาก Lifecycle2.3.0-alpha03และViewTreeSavedStateRegistryOwnerจาก SavedState1.1.0-alpha01เมื่อใช้ViewภายในAppCompatActivity(b/151603528, aosp/1300264) - เพิ่ม API ทั่วไปสำหรับการแทรกข้อมูลอย่างละเอียด (เช่น การวางรูปภาพ) การเรียกกลับใหม่นี้มี API เดียวที่แอปสามารถใช้เพื่อรองรับวิธีต่างๆ ในการแทรกข้อมูลอย่างละเอียด ตอนนี้เราได้เพิ่ม API ลงใน
AppCompatEditTextเท่านั้น และจะเรียกใช้สำหรับเส้นทางโค้ดต่อไปนี้- วางจากคลิปบอร์ด
- การแทรกเนื้อหาจาก IME (
InputConnection.commitContent) (I22bf7)
การแก้ไขข้อบกพร่อง
- จาก AppCompat
1.2.0-rc01: AppCompat จะไม่เรียกใช้onMenuOpened()ที่มีเมนูnullอีกต่อไป (b/142843126) - แก้ไขสีของลิงก์ข้อความและคำแนะนำในอุปกรณ์รุ่นเก่าอย่างถูกต้องเมื่อมีการเรียกใช้ TextViewCompat.setTextAppearance ด้วยรูปแบบลักษณะข้อความที่มีรายการสถานะสีที่อ้างอิงถึงแอตทริบิวต์สีของธีม (b/154702995)
เวอร์ชัน 1.2.0
เวอร์ชัน 1.2.0
5 สิงหาคม 2020
androidx.appcompat:appcompat:1.2.0 และ androidx.appcompat:appcompat-resources:1.2.0 เปิดตัวแล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0
- แก้ไขการรองรับกรณีการใช้งานการลบล้างการกำหนดค่า ซึ่งรวมถึงภาษาที่กำหนดเองและขนาดแบบอักษร ดูตัวอย่างวิธีใช้การลบล้างอย่างถูกต้องโดยใช้
appcompat:1.2.0ได้ที่นี่ - เลิกใช้งาน
AppCompatDelegate.attachBaseContext()แล้ว หากคุณกำลังเรียกใช้หรือลบล้างเมธอดนี้ ให้ใช้AppCompatDelegate.attachBaseContext2()แทน - เลิกใช้งาน
CollapsibleActionViewแล้ว คุณไม่จำเป็นต้องใช้อินเทอร์เฟซนี้อีกต่อไป ให้ใช้อินเทอร์เฟซandroid.view.CollapsibleActionViewที่แพลตฟอร์มมีให้
เวอร์ชัน 1.2.0-rc02
22 กรกฎาคม 2020
androidx.appcompat:appcompat:1.2.0-rc02 และ androidx.appcompat:appcompat-resources:1.2.0-rc02 เปิดตัวแล้ว เวอร์ชัน 1.2.0-rc02 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาเกี่ยวกับโหมดกลางคืนที่การโทร
AppCompatDelegate.setDefaultNightModeจากกล่องโต้ตอบอาจสร้างกิจกรรมใหม่และใช้โหมดใหม่ไม่สำเร็จในบางครั้ง (aosp/1348308, b/158923881)
เวอร์ชัน 1.2.0-rc01
14 พฤษภาคม 2020
androidx.appcompat:appcompat:1.2.0-rc01 และ androidx.appcompat:appcompat-resources:1.2.0-rc01 เปิดตัวแล้ว เวอร์ชัน 1.2.0-rc01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
AppCompatDelegate.setLocalNightModeได้รับการทำเครื่องหมายว่าต้องใช้ SDK เวอร์ชัน 17 ขึ้นไปเนื่องจากปัญหาของแพลตฟอร์มที่มีการเปลี่ยนแปลงการกำหนดค่ารั่วไหลระหว่างกิจกรรมใน SDK เวอร์ชันก่อนหน้า
การแก้ไขข้อบกพร่อง
- ตอนนี้คุณเรียกใช้
AppCompatDelegate.setLocalNightModeก่อนActivity.attachBaseContextได้แล้ว - แก้ไข
ActionBarOverlayLayoutการใช้ขอบที่แทรกซึ่งใช้ขอบที่แคชไว้อย่างไม่ถูกต้อง - AppCompat จะไม่เรียกใช้
onMenuOpened()ที่มีเมนูnullอีกต่อไป (b/142843126)
เวอร์ชัน 1.2.0-beta01
1 เมษายน 2020
androidx.appcompat:appcompat:1.2.0-beta01 และ androidx.appcompat:appcompat-resources:1.2.0-beta01 เปิดตัวแล้ว เวอร์ชัน 1.2.0-beta01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มกฎ Lint ใหม่ต่อไปนี้ที่จะแจ้งการใช้งาน AppCompat ที่ไม่ถูกต้องในสถานการณ์ต่อไปนี้
- การโหลดรายการสถานะสี: แนะนำให้ใช้ API
ContextCompatและAppCompatResourcesเพื่อความเข้ากันได้แบบย้อนหลัง - การโหลด Drawable: แนะนำให้ใช้ API
ContextCompatและResourcesCompatเพื่อความเข้ากันได้แบบย้อนหลัง - การใช้รายการสถานะสีที่มีแอตทริบิวต์อัลฟ่า: แอตทริบิวต์
android:alphaที่ขาดหายไปจะทำให้ลักษณะที่ปรากฏไม่ถูกต้องในแพลตฟอร์มบางเวอร์ชัน - การปรับสีมุมมองรูปภาพ: แฟล็กที่ไม่ได้ใช้
app:tintซึ่งจะทำให้ลักษณะที่ปรากฏไม่ถูกต้องในแพลตฟอร์มเวอร์ชันเก่า - การใช้ Drawable แบบผสมและการปรับสีใน TextView: แนะนำให้ใช้แอตทริบิวต์และ API ที่เข้ากันได้เพื่อความเข้ากันได้แบบย้อนหลัง
- การโหลดรายการสถานะสี: แนะนำให้ใช้ API
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่
ActionBarOverlayLayout(การดำเนินการตกแต่งหน้าต่าง) ไม่ส่ง WindowInsets อย่างถูกต้อง - แก้ไขปัญหาในการปรับสี Drawable และลักษณะข้อความในแพลตฟอร์มเวอร์ชันเก่า
- แก้ไขปัญหาที่
androidx.appcompat:appcompat:1.1.0ทำให้ WebView ขัดข้องเมื่อมีการกด WebView ค้างไว้ (b/141351441) - แก้ไขปัญหาเกี่ยวกับการจัดการบริบทพื้นฐานและการเรียกข้อมูลบริการของระบบในระหว่างการเริ่มต้นกิจกรรม
เวอร์ชัน 1.2.0-alpha03
4 มีนาคม 2020
androidx.appcompat:appcompat:1.2.0-alpha03 และ androidx.appcompat:appcompat-resources:1.2.0-alpha03 เปิดตัวแล้ว เวอร์ชัน 1.2.0-alpha03 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ตัวป้องกันสถานะโหมดการทำงานขยายไปที่แถบนำทางอย่างไม่ถูกต้องและมีสีที่ไม่ถูกต้อง (Ia4a09)
- แก้ไขปัญหาที่กิจกรรมที่หยุดชั่วคราวไม่กลับมาทำงานต่อใน API ระดับ 23 ลงไป (I45201)
เวอร์ชัน 1.2.0-alpha02
29 มกราคม 2020
androidx.appcompat:appcompat:1.2.0-alpha02 และ androidx.appcompat:appcompat-resources:1.2.0-alpha02 เปิดตัวแล้ว เวอร์ชัน 1.2.0-alpha02 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ appcompat 1.1.0 ทำให้ WebView ขัดข้องเมื่อกดค้าง (b/141351441)
- แก้ไขการลงสี Drawable ใน TextView ที่สัมพันธ์กับ Drawable แบบผสมใน API ระดับ 23 (aosp/1172194)
- ตรวจสอบว่าบริบทฐานเป็น Wrapper เสมอ (aosp/1194355)
- เพิ่มการปรับปรุงบางอย่างเพื่อให้ฉลาดขึ้นเมื่อแก้ไขการกำหนดค่าบริบทพื้นฐาน (aosp/1204543)
- ปิดใช้
createConfigurationContext()สำหรับ Robolectric (aosp/1186218)
เวอร์ชัน 1.2.0-alpha01
4 ธันวาคม 2019
androidx.appcompat:appcompat:1.2.0-alpha01 และ androidx.appcompat:appcompat-resources:1.2.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.2.0-alpha01 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- การเรียกใช้ PackageManager.getActivityInfo จะไม่ขัดข้องอีกต่อไปในโหมดเข้มงวดเมื่อเปิดใช้การตรวจสอบที่รับรู้การบูต
- แก้ไขการปรับสี Drawable ใน AppCompatButton
- การแก้ไขการปรับสีและการแสดงข้อความในแพลตฟอร์มเวอร์ชันเก่า
เวอร์ชัน 1.1.0
เวอร์ชัน 1.1.0
5 กันยายน 2019
androidx.appcompat:appcompat:1.1.0 และ androidx.appcompat:appcompat-resources:1.1.0 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.0.0
- การปรับปรุงโหมดมืด:
MODE_NIGHT_AUTOและการสลับโหมดมืด/สว่างตามเวลาปัจจุบันจะเลิกใช้งานแล้ว ลองใช้การตั้งค่าที่ชัดเจนหรือMODE_NIGHT_AUTO_BATTERY - Activity 1.0:
AppCompatActivityตอนนี้ขยายจากComponentActivityโดยอ้อมจาก Activity1.0.0ผ่าน Fragment1.1.0ดูข้อมูลเกี่ยวกับการเปลี่ยนแปลงในแต่ละไลบรารีได้ในบันทึกประจำรุ่นที่เกี่ยวข้อง - ตัวสร้าง LayoutId ของ AppCompatActivity: ตอนนี้คลาสย่อยของ
AppCompatActivityสามารถเรียกตัวสร้างในAppCompatActivityที่ใช้รหัสR.layoutได้แล้ว ซึ่งจะระบุเลย์เอาต์ที่ควรตั้งค่าเป็นมุมมองเนื้อหาแทนการเรียกsetContentView()ในonCreate()การดำเนินการนี้จะไม่เปลี่ยนแปลงข้อกำหนดที่ว่าคลาสย่อยต้องมีตัวสร้างที่ไม่มีอาร์กิวเมนต์
เวอร์ชัน 1.1.0-rc01
2 กรกฎาคม 2019
androidx.appcompat:appcompat:1.1.0-rc01 และ androidx.appcompat:appcompat-resources:1.1.0-rc01 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
แก้ไขข้อบกพร่อง
- ตอนนี้ DayNight จะแสดง
configChangesอย่างถูกต้องแล้ว (aosp/981105) - เรียกใช้เฉพาะ
onConfigurationChangedในกิจกรรมที่เริ่มต้นแล้ว (aosp/987483)
เวอร์ชัน 1.1.0-beta01
5 มิถุนายน 2019
androidx.appcompat:appcompat:1.1.0-beta01 และ androidx.appcompat:appcompat-resources:1.1.0-beta01 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
แก้ไขข้อบกพร่อง
- ตรวจสอบว่าเราได้ล้างตัวรับใน AppCompatDialogs (aosp/959376)
- เพิ่มการรองรับ
buttonGravity=center_verticalในแถบเครื่องมือ (b/130361721) - แก้ไขออฟเซ็ตแนวนอนของ Spinner (b/79477181)
เวอร์ชัน 1.1.0-alpha05
7 พฤษภาคม 2019
androidx.appcompat:appcompat:1.1.0-alpha05 และ androidx.appcompat:appcompat-resources:1.1.0-alpha05 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- ตอนนี้ setDefaultNightMode() จะสร้างกิจกรรมที่เริ่มต้นใหม่โดยอัตโนมัติ
แก้ไขข้อบกพร่อง
- การแก้ไขต่างๆ ในโหมดกลางวัน/กลางคืน
- ทำให้เส้นขอบไม่ถูกต้องเมื่อมีการเปลี่ยนแปลงพื้นหลังใน ActionBar
- แก้ไขการเลื่อนวิดเจ็ตวงล้อ
- แก้ไขการลบล้างพื้นหลังหน้าต่างที่กำหนดเองใน AlertDialog
เวอร์ชัน 1.1.0-alpha04
3 เมษายน 2019
androidx.appcompat:appcompat:1.1.0-alpha04 และ androidx.appcompat:appcompat-resources:1.1.0-alpha04 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- เพิ่มธีมตระกูล
ThemeOverlay.AppCompat.DayNightใหม่ ควรใช้ค่าเหล่านี้เมื่อใช้ฟีเจอร์ DayNight
การเปลี่ยนแปลง API
- ตอนนี้ AppCompatActivity มีเครื่องมือสร้างที่ 2 ซึ่งใช้
@LayoutRes intซึ่งจะแทนที่ลักษณะการทำงานก่อนหน้าของการใส่คำอธิบายประกอบในคลาส AppCompatActivity ด้วย@ContentViewแนวทางนี้ใช้ได้ทั้งในโมดูลแอปและโมดูลไลบรารี (b/128352521)
แก้ไขข้อบกพร่อง
- ปักหมุดการอ้างอิงภายในไปยังเวอร์ชันที่เสถียรหากเป็นไปได้
- แก้ไข
AppCompatSpinnerการเลื่อนในโหมดเมนูแบบเลื่อนลง )b/124274573) - โทรหา
applyOverrideConfiguration()เท่านั้นหากจำเป็นสำหรับ DayNight
เวอร์ชัน 1.1.0-alpha03
13 มีนาคม 2019
androidx.appcompat:appcompat:1.1.0-alpha03 และ androidx.appcompat:appcompat-resources:1.1.0-alpha03 เปิดตัวแล้ว นี่คือรุ่นแรกของ appcompat-resources
ดูรายการคอมมิตทั้งหมดที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- ไลบรารี appcompat-resources ใหม่มี API ที่ช่วยให้แอปโหลดและ ปรับสี Drawable (รวมถึง Vector Drawable) ในแพลตฟอร์มเวอร์ชันเก่าได้ ซึ่งเป็นฟังก์ชันการทำงานเดียวกันกับที่เคยเป็นส่วนหนึ่งของโมดูล appcompat แต่ตอนนี้พร้อมใช้งานแล้วโดยไม่มีค่าใช้จ่ายเพิ่มเติมของ appcompat แบบเต็มที่ย้อนกลับของ Material Design ซึ่งรวมถึงวิดเจ็ต กล่องโต้ตอบ โหมดกลางคืน ฯลฯ
- การแก้ไขที่สำคัญในการรองรับโหมดกลางวัน/กลางคืน
- ตัวเลือก
MODE_NIGHT_AUTO_BATTERYใหม่สำหรับโหมดกลางวัน/กลางคืน - การปรับสี Drawable ใน
AppCompatTextView - ตอนนี้คุณจัดรูปแบบส่วนเกินของแถบเครื่องมือได้แล้วด้วยรายการสถานะสีตามธีม
- ตอนนี้ไอคอนเมนูสามารถใช้สีที่อ้างอิงแอตทริบิวต์ธีมได้แล้ว
- คุณตั้งค่าแอตทริบิวต์ app:menu ใหม่ใน Toolbar เพื่อระบุเนื้อหาเมนู ในเวลาที่ขยายได้
แก้ไขข้อบกพร่อง
- แก้ไขโหมดสีเริ่มต้นใน ImageView ในเวอร์ชัน 21
- แก้ไขการปิดป๊อปอัปตัวหมุนไม่ถูกต้องเมื่อหมุนอุปกรณ์
- Fixed DayNight ไม่เป็นไปตาม
configChangesในไฟล์ Manifest - แก้ไขแล้ว การเปลี่ยนไปใช้
MODE_NIGHT_FOLLOW_SYSTEMไม่ทำงาน (b/111345020) - WebView ที่แก้ไขแล้วจะรีเซ็ตทรัพยากร DayNight (b/37124582)
เวอร์ชัน 1.1.0-alpha02
7 กุมภาพันธ์ 2019
androidx.appcompat:appcompat 1.1.0-alpha02 ได้รับการเผยแพร่แล้ว
ฟีเจอร์ใหม่
- แยกการจัดการ Drawable เฉพาะทรัพยากรออกเป็น Hook (aosp/870976)
- อนุญาตให้แถบเครื่องมือ
titleTextColorและsubtitleTextColorใช้ColorStateListและเพิ่มการโอเวอร์โหลดColorStateListของเมธอดsetTitleTextColorและsetSubtitleTextColor(aosp/867489)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหา
fontFamilyไม่ทำงานใน API ก่อนหน้า 24 (aosp/807054) - แก้ไขข้อบกพร่องที่
textFontWeightไม่ทำงานเมื่อกิจกรรมขยายจากAppCompatActivity(aosp/847640) - แก้ไขข้อบกพร่องที่ทำให้ข้อความชื่อในป๊อปอัปวิดเจ็ตสปินเนอร์ (เมื่อใช้โหมดกล่องโต้ตอบ) ไม่ใช้แบบอักษรที่ระบุใน
fontFamily(aosp/789994) - แก้ไขข้อบกพร่องที่ทำให้วิดเจ็ต
AppCompatCheckBoxและAppCompatRadioButtonเปลี่ยนสีพื้นหลังไม่ได้ (aosp/825160) - แก้ไขข้อบกพร่องที่ AppCompat ไม่ลบล้าง
android: list styles(aosp/862350)
เวอร์ชัน 1.1.0-alpha01
3 ธันวาคม 2018
ฟีเจอร์ใหม่
ตอนนี้ AppCompatTextView รองรับ
app:drawableLeftCompat,app:drawableTopCompat,app:drawableRightCompat,app:drawableBottomCompat,app:drawableStartCompatและapp:drawableEndCompatCompound Drawables ซึ่งรองรับประเภท Drawable ที่ย้อนกลับ เช่นVectorDrawableCompatตอนนี้ Drawable เริ่มต้นของ
AppCompatCheckBoxและAppCompatRadioButtonจะเคลื่อนไหวเมื่อมีการเปลี่ยนแปลงสถานะการเลือก
การเปลี่ยนแปลง API
- aosp/740385:
ตอนนี้ ActionBarOverlayLayout ได้ใช้ NestedScrollingParent2 และ
NestedScrollingParent3 แล้ว ซึ่งช่วยให้สามารถรองรับฟังก์ชันล่าสุดใน
การเลื่อนที่ซ้อนกัน 3 ได้ หากรหัสนักพัฒนาซอฟต์แวร์ลบล้าง
ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int)อยู่ในขณะนี้ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int)มีแนวโน้มที่จะ ไม่ได้รับการเรียกใช้อีกต่อไป และควรลบล้างActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[])แทน
เวอร์ชัน 1.0.2
เวอร์ชัน 1.0.2
7 พฤศจิกายน 2018
การแก้ไขข้อบกพร่องของ core-1.0.1 และ appcompat-1.0.2
แก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องที่ทำให้
PrecomputedTextCompatขัดข้องเมื่อใช้กับAppCompatTextViewRTL b/113070424
เวอร์ชัน 1.0.0
เวอร์ชัน 1.0.0
7 พฤศจิกายน 2018
ฟีเจอร์ใหม่
AnimatedStateListDrawableCompatให้การเปลี่ยนภาพเคลื่อนไหวระหว่างสถานะที่วาดได้