Appcompat
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | เวอร์ชันอัลฟ่า |
---|---|---|---|---|
29 พฤษภาคม 2024 | 1.7.0 | - | - | - |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มการพึ่งพา Appcompat คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูล
ดึงดูด
dependencies { def appcompat_version = "1.7.0" 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.0" 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 ได้ โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงคลังนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนสร้างปัญหาใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของเครื่องมือติดตามปัญหา
เวอร์ชัน 1.7
เวอร์ชัน 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
ในมุมมองการตกแต่งของกล่องโต้ตอบผ่านViewTree
API อย่างถูกต้องแล้ว ซึ่งจะแก้ไขปัญหาเมื่อโฮสต์ComposeView
ภายในAppCompatDialog
- ตอนนี้
AppCompatActivity
จะตั้งค่าViewTreeOnBackPressedDispatcherOwner
เพื่อให้ดึงข้อมูลตัวจัดสรรจากมุมมองได้ - ปรับปรุงประสิทธิภาพของ
SupportMenuInflater
ให้ดียิ่งขึ้นอย่างมาก - ตอนนี้
Locale.getDefault()
จะแสดงผลภาษาของระบบหลังจากการเริ่มต้นแบบ Cold Start - ตอนนี้
LinearLayoutCompat
จะเก็บพารามิเตอร์เลย์เอาต์ระยะขอบไว้
การอัปเดตทรัพยากร Dependency
- ตอนนี้
AppCompat
ต้องใช้ Activity 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 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
การรองรับการรับภาษาของแต่ละแอปในบริบทที่ไม่ใช่กิจกรรม (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
ในมุมมองการตกแต่งของกล่องโต้ตอบผ่านViewTree
API อย่างถูกต้องแล้ว ซึ่งจะแก้ไขปัญหาเมื่อโฮสต์ComposeView
ภายในAppCompatDialog
ตอนนี้AppCompat
ต้องใช้ Activity 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
เพื่อให้ดึงข้อมูลตัวจัดสรรจากมุมมองได้ (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
เพื่อให้ดึงข้อมูลตัวจัดสรรจากมุมมองได้ (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
compat ไปยัง API สาธารณะ (I37f3e, b/227789566) - เปิดตัวโรงงานใหม่สำหรับเครื่องมือขยายเลย์เอาต์แบบแอซิงค์ (Ia657b)
การแก้ไขข้อบกพร่อง
- ตอนนี้
Toolbar
จะเรียกonPrepareMenu()
ก่อนที่เมนูจะแสดงแทนที่จะเรียกแบบไม่มีเงื่อนไขเมื่อสร้างเมนู (I2a58d, b/232206677) - ตอนนี้
AppCompat
ขึ้นอยู่กับLifecycle
2.5.1
และSavedState
1.2.0
อย่างชัดแจ้ง (I7e3e2) - เพิ่มการรองรับการเรียกกลับที่เรียกจากแป้น Back ไปยัง
AppCompatDelegate
และการใช้งานแถบเครื่องมือที่AppCompat
มีให้ (I24062) - สรุป
AppCompat
API สำหรับ 1.5.0-beta01 (I2a43d, b/236866227) - สรุป
AppCompat
API สำหรับ 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 พัฒนาขึ้นในสาขารุ่นก่อนเผยแพร่แบบส่วนตัวและไม่มีการคอมมิตแบบสาธารณะ
การเปลี่ยนแปลง API
- การอัปเดตความสามารถในการเป็นค่า Null ให้สอดคล้องกับแพลตฟอร์ม API เวอร์ชันสุดท้ายใน Tiramisu Beta 3 SDK
minCompileSdk
เปลี่ยนเป็น 33 เพื่อให้สอดคล้องกับ SDK ของ Tiramisu เบต้า 3
เวอร์ชัน 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 สร้างขึ้นจากสาขาภายในและไม่มีคอมมิตที่แสดงต่อสาธารณะ
เวอร์ชันนี้ต้องใช้ 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
- เวอร์ชันเสถียรนี้มีการปรับปรุงความเสถียรของโหมดกลางคืน การแก้ไขข้อบกพร่อง และการรองรับการแรเงาสีคอมโพเนนต์ที่วาดได้สำหรับวิดเจ็ตข้อความที่ 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 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ตัวห่อบริบทของ 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
- เพิ่ม Flag ที่ลบล้างได้เพื่อปิดใช้การปรับความกว้างของปุ่มสวิตช์เริ่มต้น (I37cb7)
- เพิ่มคำอธิบายประกอบ
@FloatRange
ลงใน API ที่ใช้รับตำแหน่งภาพขนาดย่อ (If524c) - เพิ่มคําอธิบายประกอบเกี่ยวกับ Nullability ที่ขาดหายไปใน
AnimatedStateListDrawableCompat
(Ieb4ec)
การแก้ไขข้อบกพร่อง
- สรุป
AppCompat
API สำหรับ 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
จะเรียกonPrepareMenu()
API ของMenuHostHelper
(I9b9b5, b/227376894) AppCompatEditText
,AppCompatAutoCompleteEditText
,AppCompatMultiAutoCompleteEditText
จะไม่รีเซ็ต clickable หรือ clickableInLongTap ในคอนสตรัคเตอร์อีกต่อไปเมื่อตั้งค่าใน 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)
- เพิ่มการรองรับทรัพยากรที่ปรับสีและภาพวาดเวกเตอร์ที่ฝังอยู่ในแบ็กพอร์ตการโหลดทรัพยากร 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)
การแก้ไขข้อบกพร่อง
- แก้ไขการจัดการแถบความคืบหน้าของรายการเลเยอร์ของ AppCompatProgressBar (I6ece3, b/142004509)
- เก็บ
android:digits
ในAppCompatEditText
อย่างถูกต้อง ซึ่งจะแก้ไขข้อบกพร่อง 193047889 ที่พบใน AppCompat 1.4.0-alpha03 (I4b4fc, b/193047889) - ผสานรวม SDK ของ OnReceiveContentListener และรองรับ lib 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) - อนุญาต
KeyListener
ค่า Null ใน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
และแอปต้องอัปเดตการพึ่งพา 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)
- เพิ่มการรองรับทรัพยากรที่ปรับสีและภาพวาดเวกเตอร์ที่ฝังอยู่ในแบ็กพอร์ตการโหลดทรัพยากร AppCompat อย่างไรก็ตาม โปรดทราบว่าแอปจะลบล้าง
getDrawable()
บนออบเจ็กต์ Resources ที่กําหนดเองไม่ได้เมื่อเปิดใช้การพอร์ตย้อนกลับ (Ia6b03, b/176129022) - ปรับปรุงการรองรับเครื่องมือตรวจสอบเลย์เอาต์ (I6d771)
การแก้ไขข้อบกพร่อง
- แก้ไขกรณีที่การเรียก setSupportActionBar หลังจากตั้งค่าการเรียกกลับของหน้าต่างจะเขียนทับการเรียกกลับ (Ie43ee, b/186791590)
- เพิ่มวิธีแก้ปัญหาสำหรับปัญหาใน SDK 29 และ 30 ที่ทรัพยากร ColorStateListDrawable ที่โคลนจากแคช Drawable ไม่โหลดสีเริ่มต้นจนกว่าจะได้รับการเปลี่ยนสถานะ (Iedb4b)
- หลีกเลี่ยง NPE เมื่อจัดการการเรียกกลับโหมดการดำเนินการแบบกำหนดเองซึ่งไม่มีค่าในมุมมองที่ 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 มีคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependencies
- ตอนนี้ 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>
d ในอุปกรณ์รุ่นก่อน Lollipop - ลดขนาดคลังโดยแปลงทรัพยากร PNG จำนวนมากเป็น VectorDrawable
- เพิ่มการรองรับเหตุการณ์แบบลากและวางลงใน
AppCompatEditText
ด้วยOnReceiveContentListener
- อัปเดตเพื่อรองรับการเปลี่ยนแปลงการจัดการส่วนแทรกของหน้าต่างใน Android 11
- เพิ่มการรองรับ RTL ในรายการเมนูที่มีไอคอน
เพิ่มการรองรับการแทรกเนื้อหาริชมีเดีย (เช่น การวางรูปภาพ) ใน
AppCompatEditText
การอัปเดตไลบรารีที่ใช้ร่วมกัน:
appcompat
ได้อัปเดตไลบรารีที่ใช้ร่วมกันแบบทรานซิทีฟหลายรายการเพื่อรองรับฟังก์ชันการทำงานและการแก้ไขใหม่ ดังนี้- อัปเดตจากข้อมูลโค้ด
1.1.0
เป็น ข้อมูลโค้ด1.3.4
- อัปเดตจากกิจกรรม 1.0.0 เป็น กิจกรรม
1.2.3
- อัปเดตจากวงจร
2.0.0
เป็นวงจร2.3.1
- อัปเดตจาก Core 1.3.0 เป็น Core
1.5.0
- อัปเดตจากข้อมูลโค้ด
เวอร์ชัน 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>
d ในอุปกรณ์รุ่นก่อน 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 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เราได้แทนที่ภาพวาดโหมดการดำเนินการระดับธีมด้วยแหล่งที่มาของเวกเตอร์ ซึ่งอาจทำให้รูปลักษณ์ของไอคอนแต่ละรายการมีการเปลี่ยนแปลงเล็กน้อย (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 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แหล่งที่มาของเวกเตอร์ได้เข้ามาแทนที่ภาพวาด AppCompatRatingBar รูปแบบ PNG ซึ่งอาจทำให้ลักษณะที่ปรากฏของดวงดาวแต่ละดวงมีการเปลี่ยนแปลงเล็กน้อย (I6b99d)
- อัปเดต WindowInsetsCompat เป็น API ของ Android 11 (I3df9e)
- รองรับ RTL ในรายการเมนูที่มีไอคอน (I2f5c5)
การอัปเดตทรัพยากร Dependency
- AppCompat ได้อัปเดตทรัพยากร Dependency จาก Fragment
1.1.0
เป็น Fragment1.3.0-alpha08
เราขอแนะนําอย่างยิ่งให้อ่านบันทึกประจำรุ่น1.2.0
เพื่อให้เข้าใจการเปลี่ยนแปลงที่สำคัญที่เปิดตัวในรุ่น Fragment ก่อนหน้า - AppCompat ได้อัปเดตการพึ่งพาจาก Activity
1.0.0
เป็น Activity1.2.0-alpha08
เราขอแนะนําอย่างยิ่งให้อ่านบันทึกประจำรุ่นของ Activity1.1.0
เพื่อให้เข้าใจการเปลี่ยนแปลงที่สำคัญที่เปิดตัวในรุ่น Activity ก่อนหน้า- ตอนนี้
AppCompatActivity
ใช้OnContextAvailableListener
API ที่เปิดตัวใน กิจกรรม1.2.0-alpha08
เพื่อตั้งค่าAppCompatDelegate
Listener ที่เพิ่มลงในคลาสย่อยของ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
inset ซึ่งใช้ inset ที่แคชไว้อย่างไม่ถูกต้อง - 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 ที่ไม่ถูกต้องในสถานการณ์ต่อไปนี้
- กำลังโหลดรายการสถานะสี: แนะนำให้ใช้
ContextCompat
และAppCompatResources
API เพื่อความเข้ากันได้แบบย้อนหลัง - การโหลด drawable: แนะนำให้ใช้
ContextCompat
และResourcesCompat
API เพื่อความเข้ากันได้แบบย้อนหลัง - การใช้รายการสถานะสีกับแอตทริบิวต์อัลฟ่า: FLAG ไม่มีแอตทริบิวต์
android:alpha
ซึ่งจะทำให้ลักษณะที่ปรากฏไม่ถูกต้องในแพลตฟอร์มบางเวอร์ชัน - การกรองสีในมุมมองรูปภาพ: การตั้งค่าที่ไม่ใช้
app:tint
ซึ่งจะทำให้รูปภาพปรากฏไม่ถูกต้องในแพลตฟอร์มเวอร์ชันเก่า - การใช้องค์ประกอบภาพแบบคอมโพเนนต์และการทำให้สีเข้มในวิวข้อความ: แนะนำให้ใช้แอตทริบิวต์และ API ที่เข้ากันได้เพื่อการทำงานแบบย้อนหลัง
- กำลังโหลดรายการสถานะสี: แนะนำให้ใช้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่
ActionBarOverlayLayout
(การดำเนินการตกแต่งหน้าต่าง) ไม่ได้ส่ง WindowInsets อย่างถูกต้อง - แก้ไขปัญหาการปรับสีขององค์ประกอบที่วาดได้และลักษณะที่ปรากฏของข้อความในแพลตฟอร์มเวอร์ชันเก่า
- แก้ไขปัญหาที่
androidx.appcompat:appcompat:1.1.0
ทำให้เว็บเบราว์เซอร์ขัดข้องเมื่อกดเว็บเบราว์เซอร์ค้างไว้ (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
- กิจกรรม 1.0: ตอนนี้
AppCompatActivity
ขยายจากComponentActivity
จาก กิจกรรม1.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) - แก้ไขระยะห่างแนวนอนของสปินเนอร์ (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
ควรใช้ค่าเหล่านี้เมื่อใช้ฟีเจอร์กลางวัน/กลางคืน
การเปลี่ยนแปลง 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 ที่ช่วยให้แอปโหลดและปรับสีรูปภาพที่วาดได้ (รวมถึงรูปภาพที่วาดได้แบบเวกเตอร์) ในแพลตฟอร์มเวอร์ชันเก่าได้ ฟังก์ชันการทำงานนี้เหมือนกับที่เคยเป็นส่วนหนึ่งของข้อบังคับของแอป แต่ตอนนี้พร้อมใช้งานโดยไม่มีค่าใช้จ่ายเพิ่มเติมของการนำการออกแบบ Material Design ไปใช้กับแอปเวอร์ชันเก่าแบบเต็ม ซึ่งรวมถึงวิดเจ็ต กล่องโต้ตอบ โหมดกลางคืน ฯลฯ
- การแก้ไขที่สำคัญเกี่ยวกับการรองรับโหมดกลางวัน/กลางคืน
- ตัวเลือก
MODE_NIGHT_AUTO_BATTERY
ใหม่สำหรับโหมดกลางวัน/กลางคืน - การปรับสีของ Drawable ใน
AppCompatTextView
- ตอนนี้คุณจัดสไตล์รายการเพิ่มเติมของแถบเครื่องมือด้วยรายการสถานะสีตามธีมได้แล้ว
- ตอนนี้ไอคอนเมนูใช้สีที่อ้างอิงแอตทริบิวต์ธีมได้แล้ว
- คุณตั้งค่าแอตทริบิวต์ app:menu ใหม่ในแถบเครื่องมือเพื่อให้เนื้อหาเมนูได้เมื่อสร้าง
แก้ไขข้อบกพร่อง
- แก้ไขโหมดการปรับสีเริ่มต้นใน ImageView เวอร์ชัน 21
- แก้ไขการปัดป๊อปอัปสปินเนอร์ไม่ถูกต้องเมื่อหมุนอุปกรณ์
- ฟีเจอร์ "กลางวัน/กลางคืนแบบคงที่" ไม่สนใจ
configChanges
ในไฟล์ Manifest - แก้ไขการเปลี่ยนเป็น
MODE_NIGHT_FOLLOW_SYSTEM
ไม่ทำงาน (b/111345020) - แก้ไข WebView รีเซ็ตทรัพยากรโหมดกลางวัน/กลางคืน (b/37124582)
เวอร์ชัน 1.1.0-alpha02
7 กุมภาพันธ์ 2019
androidx.appcompat:appcompat 1.1.0-alpha02
ได้รับการปล่อยแล้ว
ฟีเจอร์ใหม่
- แยกการจัดการทรัพยากรที่วาดได้เฉพาะแหล่งที่มาออกเป็นฮุก (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:drawableEndCompat
องค์ประกอบภาพแบบคอมโพเนนต์แล้ว ซึ่งรองรับประเภทองค์ประกอบภาพที่พอร์ตย้อนกลับ เช่นVectorDrawableCompat
ตอนนี้รูปภาพที่วาดได้เริ่มต้นของ
AppCompatCheckBox
และAppCompatRadioButton
เคลื่อนไหวแล้วตรวจสอบการเปลี่ยนแปลงสถานะ
การเปลี่ยนแปลง API
- aosp/740385:
ตอนนี้ ActionBarOverlayLayout ใช้ NestedScrollingParent2 และ NestedScrollingParent3 ซึ่งช่วยให้สามารถอำนวยความสะดวกให้กับฟังก์ชันการทำงานล่าสุดในการเลื่อนแบบซ้อน 3 หากปัจจุบันโค้ดของนักพัฒนาแอปลบล้าง
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
จะขัดข้องเมื่อใช้กับ RTLAppCompatTextView
b/113070424
เวอร์ชัน 1.0.0
เวอร์ชัน 1.0.0
7 พฤศจิกายน 2018
ฟีเจอร์ใหม่
AnimatedStateListDrawableCompat
แสดงการเปลี่ยนภาพเคลื่อนไหวระหว่างสถานะที่วาดได้