Appcompat

อนุญาตให้เข้าถึง API ใหม่ใน API เวอร์ชันเก่าของแพลตฟอร์ม (หลายรายการใช้ Material Design)
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
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)
  • TextAppearanceSpanCompat API ใหม่สำหรับใช้กับฟีเจอร์แบบอักษรที่ดาวน์โหลดได้ (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 อย่างถูกต้องในมุมมองการตกแต่งของกล่องโต้ตอบผ่าน ViewTree API ซึ่งแก้ไขปัญหาเมื่อโฮสต์ 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 อย่างถูกต้องในมุมมองการตกแต่งของกล่องโต้ตอบผ่าน ViewTree API ซึ่งแก้ไขปัญหาเมื่อโฮสต์ ComposeView ภายใน AppCompatDialog AppCompat ตอนนี้ขึ้นอยู่กับกิจกรรม 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 ต้องอาศัย Lifecycle 2.5.1 และ SavedState 1.2.0 อย่างชัดเจน (I7e3e2)
  • เพิ่มการรองรับการเรียกกลับที่เรียกย้อนกลับไปยัง 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 ได้รับการพัฒนาใน 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

เวอร์ชัน 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)

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

  • สรุป 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 จะเรียกใช้ API ของ MenuHostHelper onPrepareMenu() แล้ว (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)
  • แก้ไขปัญหาเกี่ยวกับคลาสย่อย 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 แล้ว การเปลี่ยนแปลงนี้เป็นการเปลี่ยนแปลงที่ไม่รองรับการทำงานแบบย้อนกลับสำหรับ AppCompat 1.4.0-alpha01 และแอปต้องตรวจสอบว่ามีการอัปเดตทรัพยากร Dependency ของ AppCompat เพื่อใช้ emoji2 เวอร์ชันใหม่แล้ว (Ie8397)

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

  • แก้ไขปัญหาที่กิจกรรมที่หยุดแล้วไม่ได้รับการเปลี่ยนแปลงการกำหนดค่า จากการเปลี่ยนแปลงโหมดกลางคืนที่ใช้ AppCompat (I8fa8f, b/188681415)
  • แก้ไขข้อบกพร่องใน AppCompatEditText ซึ่งจะทำให้มุมมองสามารถโฟกัสได้แม้ว่าจะมีการระบุ android:focusable="false" ใน XML (ข้อบกพร่องที่เกิดขึ้นใน AppCompat 1.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

การมีส่วนร่วมภายนอก

  • ย้อนกลับพื้นหลังที่ปรับสีได้และเครื่องหมายถูกสำหรับ 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 และ Fragment 1.3.6 แล้ว ทำให้การแก้ไขจากรุ่นเหล่านั้นรวมอยู่โดยค่าเริ่มต้นเมื่อใช้ AppCompat 1.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 แบบทรานซิทีฟหลายรายการเพื่อรองรับฟังก์ชันการทำงานและการแก้ไขใหม่ๆ ดังนี้

เวอร์ชัน 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

การมีส่วนร่วมภายนอก

  • แก้ไขการส่งต่อแอตทริบิวต์ 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 เป็น Fragment 1.3.0-alpha08 แล้ว เราขอแนะนําอย่างยิ่งให้อ่านบันทึกประจํารุ่นของ Fragment 1.2.0 เพื่อทําความเข้าใจการเปลี่ยนแปลงที่สําคัญซึ่งเปิดตัวใน Fragment รุ่นก่อนหน้า
  • AppCompat ได้อัปเดตการอ้างอิงจาก Activity 1.0.0 เป็น Activity 1.2.0-alpha08 แล้ว เราขอแนะนําอย่างยิ่งให้อ่านบันทึกประจำรุ่นของกิจกรรม 1.1.0 เพื่อทําความเข้าใจการเปลี่ยนแปลงที่สําคัญซึ่งเปิดตัวในกิจกรรมรุ่นก่อนหน้า
    • 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 จาก Lifecycle 2.3.0-alpha01, ViewTreeViewModelStoreOwner จาก Lifecycle 2.3.0-alpha03 และ ViewTreeSavedStateRegistryOwner จาก SavedState 1.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 ที่เข้ากันได้เพื่อความเข้ากันได้แบบย้อนหลัง

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

  • แก้ไขปัญหาที่ 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 โดยอ้อมจาก Activity 1.0.0 ผ่าน Fragment 1.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:drawableEndCompat Compound 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 ขัดข้องเมื่อใช้กับ AppCompatTextView RTL b/113070424

เวอร์ชัน 1.0.0

เวอร์ชัน 1.0.0

7 พฤศจิกายน 2018

ฟีเจอร์ใหม่

  • AnimatedStateListDrawableCompat ให้การเปลี่ยนภาพเคลื่อนไหวระหว่างสถานะที่วาดได้