רכיבים ומאפיינים של העדפות חלק מ-Android Jetpack.
בנושא הזה מתוארים כמה מהרכיבים הנפוצים ביותר של Preference וגם
ששימשו ליצירת מסך הגדרות.
רכיבי ההעדפות
בקטע הזה מתוארים רכיבים נפוצים של Preference. מידע נוסף זמין במאמר הבא:
את דפי העזר המתאימים לכל רכיב.
תשתית של העדפות
PreferenceFragmentCompat –
Fragment שמטפל
שבה מוצגת היררכיה אינטראקטיבית של Preference אובייקטים.
מאגרי העדפות
PreferenceScreen –
מאגר ברמה העליונה שמייצג מסך הגדרות. זהו השורש
רכיב בהיררכיה של Preference.
PreferenceCategory –
קונטיינר שמשמש לקיבוץ דומה של Preferences. PreferenceCategory
מציגה כותרת קטגוריה ומפרידה באופן חזותי קבוצות של Preferences.
העדפות אישיות
Preference – התוכנית הבסיסית
אבן בניין שמייצגת הגדרה אינדיבידואלית. אם מוגדר Preference
עקבי, יש לו צמד מפתח/ערך תואם שכולל את הבחירה של המשתמש
להגדרה שניתן לגשת אליה מכל מקום אחר באפליקציה.
EditTextPreference –
ערך של Preference שנשאר עם הערך String. המשתמשים יכולים להקיש על Preference
כדי להפעיל תיבת דו-שיח שמכילה את שדה הטקסט שמאפשר למשתמש לשנות את
קבוע.
ListPreference – a
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"