ค่ากำหนด

สร้างหน้าจอการตั้งค่าแบบอินเทอร์แอกทีฟโดยไม่ต้องโต้ตอบกับพื้นที่เก็บข้อมูลของอุปกรณ์หรือจัดการ UI
อัปเดตล่าสุด รุ่นที่เสถียร ตัวเลือกถอนการอ้างสิทธิ์ รุ่นเบต้า รุ่นอัลฟ่า
26 กรกฎาคม 2023 1.2.1 - - -

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

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

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle สำหรับ ในแอปหรือโมดูล

ดึงดูด

dependencies {
    def preference_version = "1.2.1"

    // Java language implementation
    implementation "androidx.preference:preference:$preference_version"
    // Kotlin
    implementation "androidx.preference:preference-ktx:$preference_version"
}

Kotlin

dependencies {
    val preference_version = "1.2.1"

    // Java language implementation
    implementation("androidx.preference:preference:$preference_version")
    // Kotlin
    implementation("androidx.preference:preference-ktx:$preference_version")
}

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

ความคิดเห็น

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

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

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

เวอร์ชัน 1.2

เวอร์ชัน 1.2.1

26 กรกฎาคม 2023

ปล่อย androidx.preference:preference:1.2.1 แล้ว เวอร์ชัน 1.2.1 มีคอมมิตเหล่านี้

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

  • ตอนนี้ PreferenceHeaderFragmentCompat สามารถจัดการปุ่มย้อนกลับของระบบได้อย่างถูกต้องเมื่อใช้ใน ComponentDialog หรือเมื่อใช้ไลบรารี เช่น @AndroidEntryPoint ของ Hilt ที่รวม Context ของ Fragment
  • ค่ากำหนดตอนนี้จะขึ้นอยู่กับกิจกรรม 1.5.1 (Ie5d22)
  • ตอนนี้ PreferenceHeaderFragmentCompat.onCreateInitialDetailFragment จะถ่ายทอด header.extras เป็นอาร์กิวเมนต์ Fragment

เวอร์ชัน 1.2.0

26 มกราคม 2022

ปล่อย androidx.preference:preference:1.2.0 และ androidx.preference:preference-ktx:1.2.0 แล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0

  • เพิ่ม PreferenceHeaderFragmentCompat สำหรับค่ากำหนดแบบ 2 ช่องซึ่งจะปรับโดยอัตโนมัติตามขนาดของอุปกรณ์ที่ใช้ จึงทำให้เหมาะสำหรับการใช้งานบนโทรศัพท์ อุปกรณ์แบบพับได้ และแท็บเล็ต ช่องส่วนหัวระบุโดยการลบล้างเมธอด onCreatePreferenceHeader() ใน PreferenceHeaderFragmentCompat <Preference> ในส่วนหัว PreferenceFragmentCompat ที่ใช้ app:fragment จะทำให้ส่วนย่อยนั้นปรากฏในแผงรายละเอียดที่ 2 คุณปรับแต่งส่วนย่อยรายละเอียดเริ่มต้นที่ควรแสดงก่อนที่จะมีการเลือกค่ากำหนดใดๆ ด้วยตนเองได้โดยการลบล้าง onCreateInitialDetailFragment() การใช้งานเริ่มต้นจะแสดงค่ากำหนดแรกที่มีการกำหนดส่วนย่อยไว้
class TwoPanePreference : PreferenceHeaderFragmentCompat() {
    override fun onCreatePreferenceHeader(): PreferenceFragmentCompat {
        return PreferenceHeader()
    }
}
  • เพิ่มคำอธิบายประกอบที่ไม่มีข้อมูลให้กับ API ที่ก่อนหน้านี้ไม่ได้ระบุ @NonNull หรือ @Nullable การเปลี่ยนแปลงนี้อาจเป็นการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบของ Kotlin หากความสามารถในการเว้นว่างที่คุณเลือกไว้ในโค้ด Kotlin ไม่ตรงกับความสามารถในการเว้นว่างที่ได้กำหนดไว้ในตอนนี้

  • ตอนนี้ PreferenceFragmentCompat จะมองหาการใช้งานอินเทอร์เฟซ OnPreferenceStartFragmentCallback, OnNavigateToScreenListener และ OnDisplayPreferenceDialogListener ใน Fragment หลักก่อนดูว่าบริบทหรือกิจกรรมโฮสติ้งใช้อินเทอร์เฟซเหล่านี้หรือไม่

เวอร์ชัน 1.2.0-rc01

15 ธันวาคม 2021

ระบบได้เผยแพร่ androidx.preference:preference:1.2.0-rc01 และ androidx.preference:preference-ktx:1.2.0-rc01 โดยไม่มีการเปลี่ยนแปลงตั้งแต่วันที่ 1.2.0-beta01 เวอร์ชัน 1.2.0-rc01 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-beta01

17 พฤศจิกายน 2021

ระบบเผยแพร่ androidx.preference:preference:1.2.0-beta01 และ androidx.preference:preference-ktx:1.2.0-beta01 โดยไม่มีการเปลี่ยนแปลงจากค่ากำหนด 1.2.0-alpha02 เวอร์ชัน 1.2.0-beta01 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-alpha02

3 พฤศจิกายน 2021

ปล่อย androidx.preference:preference:1.2.0-alpha02 และ androidx.preference:preference-ktx:1.2.0-alpha02 แล้ว เวอร์ชัน 1.2.0-alpha02 มีคอมมิตเหล่านี้

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

  • เพิ่มคำอธิบายประกอบที่ไม่มีข้อมูลให้กับ API ที่ก่อนหน้านี้ไม่ได้ระบุ @NonNull หรือ @Nullable (I04252, Ie2cc0)
  • นำ openPreference() API ออกจาก PreferenceHeaderFragmentCompat - วิธีการนี้คือ และไม่ควรโทรหาด้วยตนเอง (Ia6989)

การเปลี่ยนแปลงลักษณะการทำงาน

  • PreferenceFragmentCompat Callback สำหรับ OnNavigateToScreenListener และ ตอนนี้ OnDisplayPreferenceDialogListener ทำตาม รูปแบบเดียวกับ OnPreferenceTreeClickListener และ ค้นหาลำดับชั้นของส่วนย่อยระดับบนสุดเพื่อความถูกต้อง ให้ฟังก่อนที่จะดูว่าโฮสติ้ง บริบทหรือกิจกรรมจะใช้อินเทอร์เฟซเหล่านี้ (I7ae6c)

เวอร์ชัน 1.2.0-alpha01

27 ตุลาคม 2021

ปล่อย androidx.preference:preference:1.2.0-alpha01 และ androidx.preference:preference-ktx:1.2.0-alpha01 แล้ว เวอร์ชัน 1.2.0-alpha01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่ม PreferenceHeaderFragmentCompat สำหรับค่ากำหนด 2 แผง (I9a2d8)

การเปลี่ยนแปลงลักษณะการทำงาน

  • ตอนนี้คุณสามารถใช้ Callback ค่ากำหนดสำหรับ OnPreferenceDisplayDialogCallback, OnPreferenceStartScreenCallback และ OnPreferenceStartFragmentCallback ไปใช้กับบริบทที่ไม่ใช่Activity ได้แล้ว มีการตรวจสอบ getContext() เพื่อดูว่าใช้ Callback เหล่านี้หรือไม่ก่อนที่จะตรวจสอบ getActivity() หาก getContext() แสดงผลกิจกรรม (กรณีทั่วไป) แสดงว่าไม่มีการเปลี่ยนแปลงการทำงาน

  • ตอนนี้การเรียก onPreferenceTreeClick ของ PreferenceFragmentCompat จะมองหาการใช้งานอินเทอร์เฟซ OnPreferenceStartFragmentCallback ใน Fragment ระดับบนสุดก่อนพิจารณาการใช้งานกิจกรรม (C64eed)

เวอร์ชัน 1.1

เวอร์ชัน 1.1.1

15 เมษายน 2020

ปล่อย androidx.preference:preference:1.1.1 และ androidx.preference:preference-ktx:1.1.1 แล้ว เวอร์ชัน 1.1.1 มีคอมมิตเหล่านี้

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

  • PreferenceDialogFragmentCompat จะไม่ส่ง IllegalStateException เมื่อขยาย FragmentContainerView จาก XML (b/150051716)

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้ค่ากำหนดจะขึ้นอยู่กับส่วนย่อย 1.2.4 (aosp/1277317)
  • ขณะนี้ทรัพยากร Dependency ของ preference-ktx ขึ้นอยู่กับ androidx.core:core-ktx:1.1.0 และ androidx.fragment:fragment-ktx:1.2.4 แล้ว โดยจะมิเรอร์ทรัพยากร Dependency ของอาร์ติแฟกต์ preference หลัก และตรวจสอบว่าการอัปเกรด preference-ktx อัปเดตทั้งอาร์ติแฟกต์หลักและ -ktx ของทรัพยากร Dependency แบบทรานซิทีฟ (aosp/1277319)

เวอร์ชัน 1.1.0

5 กันยายน 2019

ปล่อย androidx.preference:preference:1.1.0 และ androidx.preference:preference-ktx:1.1.0 แล้ว คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

หากนี่เป็น 1.1.* รุ่นแรกที่คุณกําลังอัปเดต โปรดดูรายการการเปลี่ยนแปลงที่สําคัญกว่าเดิมนับตั้งแต่ 1.0.0 รุ่นที่เสถียรล่าสุด นอกจากนี้ คุณยังเข้าไปดูได้ในคู่มือการตั้งค่า ตัวอย่างแอป และการบรรยายเกี่ยวกับ Android Dev Summit

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.0.0

  • PreferenceFragment และคลาสอื่นๆ ที่ใช้ Fragments ได้เลิกใช้งานแล้ว คุณควรใช้ PreferenceFragmentCompat และ *คลาสที่ใช้ร่วมกัน อื่นๆ แทน
  • ขณะนี้คุณสามารถตั้งค่า SummaryProvider ในค่ากำหนดเพื่อกำหนดค่าสรุปแบบไดนามิกทุกครั้งที่มีการอัปเดตค่ากำหนด หรือให้ผู้ใช้เห็น ดูข้อมูลเพิ่มเติมในคำแนะนำ
  • เพิ่มอินเทอร์เฟซ EditTextPreference.OnBindEditTextListener แล้ว การดำเนินการนี้จะปรับแต่ง EditText ที่แสดงในกล่องโต้ตอบที่เกี่ยวข้องหลังจากเชื่อมโยงกล่องโต้ตอบแล้ว ซึ่งเป็นการแทนที่โดยตรงสำหรับการใช้แอตทริบิวต์ เช่น android:inputType ใน EditTextPreference โดยตรง ซึ่งไลบรารี AndroidX ไม่รองรับ ดูข้อมูลเพิ่มเติมในคำแนะนำ
  • เพิ่ม Preference.setCopyingEnabled() เมื่อตั้งค่าแล้ว การกดค้างที่ค่ากำหนดจะแสดงเมนูตามบริบทที่อนุญาตให้คัดลอกสรุปค่ากำหนดได้
  • อัปเดตการจัดรูปแบบของ SeekBarPreference ให้ตรงกับข้อมูลจำเพาะของ Material แล้ว ดูบันทึกการเปลี่ยนแปลงโดยละเอียดสำหรับการเปลี่ยนแปลงอื่นๆ ของ SeekBarPreference
  • การแก้ไขข้อบกพร่องจำนวนมาก อัปเดตรูปแบบ การแก้ไขความเข้ากันได้ระดับ API และการปรับปรุง QOL ทั่วไป

เวอร์ชัน 1.1.0-rc01

2 กรกฎาคม 2019

ปล่อย androidx.preference:preference:1.1.0-rc01 และ androidx.preference:preference-ktx:1.1.0-rc01 แล้ว คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

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

  • เลิกใช้งานPreference#onInitializeAccessibilityNodeInfo
  • เมธอดนี้ส่งข้อมูลโหนดการช่วยเหลือพิเศษผ่านพร็อกซีสำหรับค่ากำหนดที่เฉพาะเจาะจง - แต่เป็นเลเยอร์ที่ไม่ถูกต้องสำหรับการปรับแต่งนี้ หากต้องการปรับข้อมูลการช่วยเหลือพิเศษ คุณควรลบล้าง onBindViewHolder แล้วเพิ่มข้อมูลการช่วยเหลือพิเศษลงในมุมมองโดยตรงแทน

เวอร์ชัน 1.1.0-beta01

5 มิถุนายน 2019

ปล่อย androidx.preference:preference:1.1.0-beta01 และ androidx.preference:preference-ktx:1.1.0-beta01 แล้ว คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0

หากนี่เป็นรุ่น 1.1.* รุ่นแรกที่คุณกำลังอัปเดตอยู่ โปรดดูรายการการเปลี่ยนแปลงที่สำคัญๆ ตั้งแต่รุ่นที่เสถียรครั้งล่าสุดคือ 1.1.0 ดังต่อไปนี้ นอกจากนี้ คุณยังเข้าไปดูได้ในคู่มือการตั้งค่า ตัวอย่างแอป และการบรรยายเกี่ยวกับ Android Dev Summit

  • PreferenceFragment และคลาสอื่นๆ ที่ใช้ Fragment ของเฟรมเวิร์กถูกเลิกใช้งานแล้ว คุณควรใช้ PreferenceFragmentCompat และคลาส *Compat อื่นๆ แทน
  • ตอนนี้คุณสามารถตั้งค่า OutlineProvider ในค่ากำหนดเพื่อกำหนดค่าสรุปแบบไดนามิกทุกครั้งที่มีการอัปเดตค่ากำหนด หรือให้ผู้ใช้เห็นค่ากำหนดดังกล่าวได้ ดูข้อมูลเพิ่มเติมในคำแนะนำ
  • เพิ่มอินเทอร์เฟซ EditTextPreference.OnBindEditTextListener แล้ว การดำเนินการนี้ช่วยให้ปรับแต่ง EditText ที่แสดงในกล่องโต้ตอบที่เกี่ยวข้องหลังจากเชื่อมโยงกล่องโต้ตอบแล้ว ซึ่งเป็นการแทนที่โดยตรงสำหรับการใช้แอตทริบิวต์ เช่น android:inputType ใน EditTextPreference โดยตรง ซึ่งไม่มีการสนับสนุนในไลบรารี AndroidX ดูข้อมูลเพิ่มเติมในคำแนะนำ
  • เพิ่ม Preference.setCopyingEnabled() เมื่อตั้งค่าแล้ว การกดค้างที่ค่ากำหนดจะแสดงเมนูตามบริบทที่อนุญาตให้คัดลอกสรุปค่ากำหนดได้
  • อัปเดตการจัดรูปแบบ SeekBarPreference ให้ตรงกับข้อกำหนดของ Material ดู changelog โดยละเอียดสำหรับการเปลี่ยนแปลงอื่นๆ ใน SeekBarPreference
  • การแก้ไขข้อบกพร่องจำนวนมาก อัปเดตรูปแบบ การแก้ไขความเข้ากันได้ระดับ API และการปรับปรุง QOL ทั่วไป

การเปลี่ยนแปลงของ API ตั้งแต่ 1.1.0-alpha05

  • นำ getOnBindEditTextListener ออกจาก API สาธารณะ คุณควรใช้เฉพาะ setOnBindEditTextListener เมื่อโต้ตอบกับ API นี้เท่านั้น

โปรดรายงานข้อบกพร่องที่นี่หากคุณพบปัญหาหรือมีคำแนะนำสำหรับฟีเจอร์ใหม่

เวอร์ชัน 1.1.0-alpha05

7 พฤษภาคม 2019

ปล่อย androidx.preference:preference:1.1.0-alpha05 และ androidx.preference:preference-ktx:1.1.0-alpha05 แล้ว คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

ฟีเจอร์ใหม่

  • อัปเดตการจัดรูปแบบสำหรับค่ากำหนดที่เลือกไม่ได้ โดยชื่อและสรุปจะใช้สีเดียวกันเพื่อความชัดเจนว่าโต้ตอบไม่ได้และจะใช้ในการแสดงข้อมูลเท่านั้น
  • หมายเหตุ: คุณอาจต้องการเพิ่ม enableCopying="true" ลงในค่ากำหนดที่ไม่สามารถเลือกได้ เพื่อให้คุณสามารถกดค้างไว้เพื่อคัดลอกสรุป

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

  • แก้ไขการถดถอยที่ PreferenceCategory และค่ากำหนดอื่นๆ ที่ไม่สามารถเลือกได้จะมีผลแบบระลอกคลื่นเมื่อเลือก
  • แก้ไขปัญหาการช่วยเหลือพิเศษที่ TalkBack ไม่เห็น DropdownPreference เป็นแบบคลิกได้
  • แก้ไขปัญหาการจัดวาง RTL บางรายการ
  • อัปเดตคำอธิบายประกอบที่เป็นค่าว่างบางส่วนใน PreferenceFragmentCompat ให้ตรงกับ Fragment

เวอร์ชัน 1.1.0-alpha04

13 มีนาคม 2019

ปล่อย androidx.preference:preference:1.1.0-alpha04 และ androidx.preference:preference-ktx:1.1.0-alpha04 แล้ว ดูรายการคอมมิตทั้งหมดที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

ฟีเจอร์ใหม่

การอัปเดตSeekBarPreference

  • อัปเดตการจัดรูปแบบให้ตรงกับข้อมูลจำเพาะของวัสดุแล้ว
    • ตอนนี้ระบบจะซ่อนป้ายกำกับค่าไว้โดยค่าเริ่มต้น แต่จะยังแสดงด้วย app:showSeekBarValue="true" หรือ setShowSeekBarValue(true) ได้ ป้ายกำกับนี้ไม่ได้เป็นส่วนหนึ่งของข้อมูลจำเพาะของ Material แต่เราเข้าใจว่ามีการใช้งานอย่างหนัก เราจึงจะให้การสนับสนุนต่อไป ถึงแม้เราจะไม่แนะนำให้ใช้ป้ายกำกับนี้ก็ตาม
    • ขณะนี้ป้ายกำกับค่าจะอัปเดตขณะที่มีการลาก SeekBar แทนที่จะเป็นเวลาที่เผยแพร่ โปรดทราบว่าค่านี้ไม่ได้หมายความว่าจะมีการอัปเดตค่าภายใน โปรดดู API ใหม่ที่เปิดใช้ฟังก์ชันดังกล่าวที่ด้านล่าง
    • หมายเหตุ: แม้ว่าจะมีการสนับสนุน แต่คุณก็ควรหลีกเลี่ยงการตั้งค่าข้อมูลสรุปใน SeekBarPreference เนื่องจากข้อมูลดังกล่าวไม่ใช่จุดประสงค์การใช้งานและไม่ใช่ส่วนหนึ่งของข้อมูลจำเพาะของ Material
  • เพิ่มการรองรับการอัปเดตอย่างต่อเนื่อง ซึ่งช่วยให้ SeekBar อัปเดตค่าที่บันทึกไว้ได้ในขณะที่มีการลาก SeekBar ซึ่งจะเปิดใช้จาก XML หรือแบบเป็นโปรแกรมด้วย app:updatesContinuously="true" หรือ setUpdatesContinuously(true) ก็ได้ ซึ่งจะเริ่มทำงานเมื่อใดก็ตามที่ตำแหน่งบนหน้าจอของ SeekBar เปลี่ยนไป

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

  • เพิ่มคำอธิบายประกอบที่ไม่มีความสามารถในการเว้นว่างลงใน findPreference()

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

  • แก้ไขข้อบกพร่องที่ระบบไม่ได้นำ Listener เมนูตามบริบทออกอย่างถูกต้องหากไม่ได้เปิดใช้การคัดลอก

เวอร์ชัน 1.1.0-alpha03

7 กุมภาพันธ์ 2019

androidx.preference:preference 1.1.0-alpha03

androidx.preference:preference 1.1.0-alpha03 และ androidx.preference:preference-ktx 1.1.0-alpha03 เผยแพร่พร้อม การเปลี่ยนแปลงต่อไปนี้

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

  • แก้ไขปัญหาที่บางครั้งป๊อปอัปคัดลอก/วางไม่แสดงในกล่องโต้ตอบของ EditTextPreference
  • แก้ไขปัญหาที่ไม่ได้ลงทะเบียนอะแดปเตอร์พื้นฐานอย่างถูกต้อง ซึ่งทำให้เกิดการรั่วไหลของหน่วยความจำภายใต้เงื่อนไขที่เจาะจง (b/121006469)
  • แก้ไขข้อขัดข้องเกี่ยวกับกล่องโต้ตอบบางรายการที่เกิดขึ้นระหว่างการเปลี่ยนแปลงการกำหนดค่า (b/122167543)
  • สรุปการใช้งานแบบคงที่ไม่ทำงานสำหรับ MultiSelectListPreference (b/123022772)

เวอร์ชัน 1.1.0-alpha02

17 ธันวาคม 2018

และโปรดดู เพิ่งอัปเดตคู่มือการตั้งค่าและตัวอย่าง แอป

ฟีเจอร์ใหม่

  • เพิ่มอินเทอร์เฟซ EditTextPreference.OnBindEditTextListener แล้ว ซึ่งทำให้คุณสามารถปรับแต่ง EditText ที่แสดงใน หลังจากเชื่อมโยงกล่องโต้ตอบแล้ว ตัวอย่างเช่น การตั้งค่าที่กำหนดเอง ประเภท / ความยาวของอินพุตหรือเพิ่ม TextWatcher

  • เพิ่มเมื่อ Preference.setCopyingEnabled() เมื่อตั้งค่าแล้ว การกดค้างที่ค่ากำหนดจะแสดงเมนูตามบริบทที่อนุญาตให้คัดลอกสรุปค่ากำหนดได้ ซึ่งสามารถใช้เพื่ออนุญาตให้มีการคัดลอกข้อมูลแบบคงที่ เช่น รหัสเฉพาะผู้ใช้ / ข้อมูลเวอร์ชันของแอปพลิเคชัน

  • นำการตั้งค่ากําหนดธีมไปใช้กับธีมกิจกรรมแล้ว ซึ่งหมายความว่าเมื่อสร้างค่ากำหนดจากโค้ด คุณไม่จำเป็นต้องใช้บริบทจาก PreferenceManager#getContext() อีกต่อไป แต่จะใช้บริบท Fragment/Activity เท่านั้น

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

  • เปลี่ยนโครงสร้างภายในโค้ด findPreference() เพื่อแสดงผล <T extends Preference> แล้ว ซึ่งหมายความว่าคุณไม่จำเป็นต้องส่งค่ากำหนดอย่างชัดเจนเมื่อใช้ findPreference() ตัวอย่างเช่น EditTextPreference preference = findPreference(“edit_text”) เป็นโค้ดที่ถูกต้องแล้ว

เวอร์ชัน 1.1.0-alpha01

5 พฤศจิกายน 2018

ฟีเจอร์ใหม่

  • ตอนนี้คุณสามารถตั้งค่าสรุปผู้ให้บริการในค่ากำหนดเพื่อกำหนดค่าแบบไดนามิก สรุปเมื่อใดก็ตามที่ค่ากำหนดได้รับการอัปเดต หรือให้ผู้ใช้เห็น
  • เพิ่มการใช้งาน OutlineProvider เริ่มต้นสำหรับ ListPreference และ EditTextPreference ซึ่งเมื่อตั้งค่าแล้วจะอัปเดตข้อมูลสรุปการตั้งค่า ค่ากำหนดเพื่อแสดงค่าที่บันทึกไว้ หรือ "ไม่ได้ตั้งค่า" หากไม่มีการบันทึกค่า สามารถตั้งค่าด้วย app:useSimpleSummaryProvider=”true”
  • เพิ่ม PreferenceGroup#removePreferenceRecursively ที่พบซ้ำและ นำค่ากำหนดออกจากกลุ่ม หรือกลุ่มที่ซ้อนกันอยู่ด้านล่างในส่วน ลำดับชั้น

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

  • PreferenceFragment และคลาสอื่นๆ ที่ใช้ส่วนย่อยของเฟรมเวิร์ก เลิกใช้งาน - คุณควรใช้ PreferenceFragmentCompat และคลาส Compat อื่นๆ แทน

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

  • ไอคอน SpaceReserve ที่ได้รับการแก้ไขไม่ทำงานอย่างถูกต้องกับ Preferenceประเภท
  • แก้ไข PreferenceCategory โดยไม่ใช้ colorAccent สำหรับสีของชื่อ ต่ำกว่า API 21
  • แก้ไขความไม่สอดคล้องกันของเลย์เอาต์ SeekBarPreference บางส่วนที่ต่ำกว่า API 21