คอมโพเนนต์และแอตทริบิวต์ที่ต้องการ เป็นส่วนหนึ่งของ 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"