คอมโพเนนต์และแอตทริบิวต์ที่ต้องการ เป็นส่วนหนึ่งของ Android Jetpack
หัวข้อนี้จะอธิบายถึงคอมโพเนนต์ Preference บางส่วนที่ใช้กันโดยทั่วไปและ
แอตทริบิวต์ที่ใช้เมื่อสร้างหน้าจอการตั้งค่า
คอมโพเนนต์ค่ากำหนด
ส่วนนี้อธิบายคอมโพเนนต์ Preference ทั่วไป สำหรับข้อมูลเพิ่มเติม โปรดดู
หน้าอ้างอิงที่เกี่ยวข้องสำหรับแต่ละคอมโพเนนต์
โครงสร้างพื้นฐานที่ต้องการ
PreferenceFragmentCompat
Fragment ที่จัดการ
แสดงลำดับชั้นแบบอินเทอร์แอกทีฟของออบเจ็กต์ Preference รายการ
คอนเทนเนอร์ค่ากำหนด
PreferenceScreen
คอนเทนเนอร์ระดับบนสุดที่แสดงหน้าจอการตั้งค่า นี่คือรูท
คอมโพเนนต์ของลำดับชั้น Preference
PreferenceCategory
คอนเทนเนอร์ที่ใช้ในการจัดกลุ่ม Preferences ที่คล้ายกัน PreferenceCategory
แสดงชื่อหมวดหมู่และแยกกลุ่มของ Preferences ออกจากกัน
ค่ากำหนดส่วนบุคคล
Preference - ข้อมูลเบื้องต้น
องค์ประกอบที่ใช้สร้างสรรค์ที่แสดงการตั้งค่าแต่ละรายการ หากตั้งค่า Preference ไว้
เพื่อคงประสิทธิภาพไว้ มีคู่คีย์-ค่าที่เกี่ยวข้องซึ่งเก็บตัวเลือกของผู้ใช้
สำหรับการตั้งค่าที่สามารถเข้าถึงได้ในส่วนอื่นของแอปพลิเคชัน
EditTextPreference
Preference ที่คงค่า String ผู้ใช้แตะPreferenceได้
เพื่อเปิดกล่องโต้ตอบที่มีช่องข้อความซึ่งให้ผู้ใช้เปลี่ยน
ค่าเดิม
ListPreference -
Preference ที่คงค่าสตริง ผู้ใช้เปลี่ยนค่านี้ได้ใน
ที่มีรายการปุ่มตัวเลือกพร้อมป้ายกำกับที่เกี่ยวข้อง
MultiSelectListPreference
Preference ที่คงชุดสตริงไว้ ผู้ใช้เปลี่ยนค่าเหล่านี้ได้ใน
กล่องโต้ตอบที่มีรายการช่องทำเครื่องหมาย
พร้อมป้ายกำกับที่เกี่ยวข้อง
SeekBarPreference
Preference ที่คงค่าจำนวนเต็ม ค่านี้สามารถเปลี่ยนแปลงได้โดย
ลากแถบเลื่อนที่เกี่ยวข้องซึ่งแสดงในเลย์เอาต์ Preference
SwitchPreferenceCompat
Preference ที่คงค่าบูลีน ค่านี้สามารถเปลี่ยนแปลงได้โดย
โต้ตอบกับวิดเจ็ตสวิตช์ที่เกี่ยวข้อง หรือโดยการแตะ
เลย์เอาต์ Preference
CheckBoxPreference
Preference ที่คงค่าบูลีน ค่านี้สามารถเปลี่ยนแปลงได้โดย
โต้ตอบกับช่องทำเครื่องหมายที่เกี่ยวข้องหรือโดยการแตะ Preference
เลย์เอาต์
แอตทริบิวต์ค่ากำหนด
ด้านล่างนี้เป็นแอตทริบิวต์ที่ใช้บ่อยที่สุดบางส่วนซึ่งกำหนดค่า
รูปลักษณ์และลักษณะการทำงานของ Preference
แอตทริบิวต์ทั่วไป
-
title -
ค่า
Stringที่แสดงชื่อของแท็กPreferenceเช่น
app:title="Title" -
summary -
ค่า
Stringที่แสดงถึงPreferenceสรุปเช่น
app:summary="Summary" -
icon -
Drawableที่แสดงถึงPreferenceไอคอนเช่น
app:icon="@drawable/ic_camera" -
key -
ค่า
Stringที่แสดงถึงคีย์ที่ใช้เพื่อ เก็บค่าของPreferenceที่เชื่อมโยงไว้ คีย์ช่วยให้ คุณสามารถปรับแต่งPreferenceเพิ่มเติมระหว่างรันไทม์ได้ คุณควรตั้งค่าคีย์สำหรับPreferenceแต่ละรายการใน ลำดับชั้นเช่น
app:key="key" -
enabled -
ค่าบูลีนที่ระบุว่าผู้ใช้สามารถโต้ตอบกับ
Preferenceเมื่อค่านี้เป็นfalseค่าPreferenceจะปรากฏเป็นสีเทา และผู้ใช้จะโต้ตอบกับ ได้ ค่าเริ่มต้นคือtrueเช่น
app:enabled="false" -
selectable -
ค่าบูลีนที่ระบุว่าผู้ใช้สามารถโต้ตอบกับ
Preferenceค่าเริ่มต้นคือtrueเช่น
app:selectable="false" -
isPreferenceVisible -
ค่าบูลีนที่ระบุว่า
Preferenceหรือ หมวดหมู่Preferenceแสดงอยู่ ซึ่งเทียบเท่ากับการโทรsetVisible()เช่น
app:isPreferenceVisible="false" -
defaultValue -
แสดงค่าเริ่มต้นสำหรับ
Preferenceค่านี้คือ ตั้งค่าและยังคงอยู่เมื่อไม่มีค่าอื่นยังคงอยู่สำหรับค่านี้ พบPreferenceประเภทค่าจะขึ้นอยู่กับPreferenceเช่น
app:defaultValue="true" -
dependency -
แสดงคีย์ของ
SwitchPreferenceCompatที่ควบคุม สถานะของPreferenceนี้ เมื่อสวิตช์ที่เกี่ยวข้อง ปิดอยู่Preferenceเครื่องนี้ปิดใช้อยู่และไม่สามารถ แก้ไขได้เช่น
app:dependency="parent"
แอตทริบิวต์ PreferenceCategory
-
initialExpandedChildrenCount -
ค่าจำนวนเต็มที่เปิดใช้
Preferenceที่ขยายได้ พฤติกรรมของคุณ ค่านี้แสดงจำนวนรายการย่อยสูงสุดที่จะแสดงPreferenceGroupเด็กที่เกินมาจะถูกยุบและ โดยแตะที่ปุ่มขยาย โดยค่าเริ่มต้น ค่านี้จะInteger.MAX_VALUEและแสดงเด็กทุกคนคำเตือน: โปรดตรวจสอบว่าคุณได้ตั้งค่าคีย์ใน
PreferenceCategoryหากใช้แอตทริบิวต์นี้เพื่อให้สถานะ จะได้รับการบันทึกและกู้คืนอย่างถูกต้องเมื่อมีการเปลี่ยนแปลงการกำหนดค่า (เช่น เมื่อหมุนหน้าจอ)เช่น
app:initialExpandedChildrenCount="0"
แอตทริบิวต์ ListPreference / MultiSelectListPreference
-
entries -
อาร์เรย์ของสตริงที่สอดคล้องกับรายการที่จะแสดง ให้แก่ผู้ใช้ แต่ละค่าจะสอดคล้องตามดัชนีกับอาร์เรย์ของ ค่าที่มีอยู่ภายใน เช่น เมื่อผู้ใช้เลือก รายการแรก องค์ประกอบแรกในอาร์เรย์ค่าที่เกี่ยวข้อง อยู่
เช่น
app:entries="@array/entries"คำเตือน: ตรวจสอบว่าความยาวของอาร์เรย์ทั้งสองคือ และดัชนีของแต่ละอาร์เรย์ตรงกับรายการ / ค่าที่ถูกต้อง คู่กัน
-
entryValues -
อาร์เรย์ของรายการที่จะคงอยู่ แต่ละค่าจะสอดคล้องกับ ดัชนีเป็นอาร์เรย์ของรายการที่แสดงให้ผู้ใช้เห็น
เช่น
app:entryValues="@array/values"