רכיבים ומאפיינים של העדפות חלק מ-Android Jetpack.

בנושא הזה מתוארים כמה מהרכיבים הנפוצים ביותר של Preference וגם ששימשו ליצירת מסך הגדרות.

רכיבי ההעדפות

בקטע הזה מתוארים רכיבים נפוצים של Preference. מידע נוסף זמין במאמר הבא: את דפי העזר המתאימים לכל רכיב.

תשתית של העדפות

PreferenceFragmentCompatFragment שמטפל שבה מוצגת היררכיה אינטראקטיבית של Preference אובייקטים.

מאגרי העדפות

PreferenceScreen – מאגר ברמה העליונה שמייצג מסך הגדרות. זהו השורש רכיב בהיררכיה של Preference.

PreferenceCategory – קונטיינר שמשמש לקיבוץ דומה של Preferences. PreferenceCategory מציגה כותרת קטגוריה ומפרידה באופן חזותי קבוצות של Preferences.

העדפות אישיות

Preference – התוכנית הבסיסית אבן בניין שמייצגת הגדרה אינדיבידואלית. אם מוגדר Preference עקבי, יש לו צמד מפתח/ערך תואם שכולל את הבחירה של המשתמש להגדרה שניתן לגשת אליה מכל מקום אחר באפליקציה.

EditTextPreference – ערך של Preference שנשאר עם הערך String. המשתמשים יכולים להקיש על Preference כדי להפעיל תיבת דו-שיח שמכילה את שדה הטקסט שמאפשר למשתמש לשנות את קבוע.

ListPreference – a Preference שנשארת ערך מחרוזת. המשתמשים יכולים לשנות את הערך הזה תיבת דו-שיח שמכילה רשימה של לחצני בחירה עם תוויות מתאימות.

MultiSelectListPreferencePreference שממשיכת קבוצת מחרוזות. המשתמשים יכולים לשנות את הערכים האלה ב תיבת דו-שיח שמכילה רשימה של תיבות סימון עם תוויות מתאימות.

SeekBarPreferencePreference שנשאר עם ערך של מספר שלם. אפשר לשנות את הערך הזה על ידי לגרור סרגל דילוג תואם שמוצג בפריסה של Preference.

SwitchPreferenceCompatPreference ששומר ערך בוליאני. אפשר לשנות את הערך הזה על ידי אינטראקציה עם ווידג'ט המתג המתאים או על ידי הקשה על פריסה Preference.

CheckBoxPreferencePreference ששומר ערך בוליאני. אפשר לשנות את הערך הזה על ידי אינטראקציה עם תיבת הסימון המתאימה או על ידי הקשה על 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"