Componenti e attributi di preferenza Componente di Android Jetpack.
Questo argomento descrive alcuni dei componenti e degli attributi Preference
di uso più comune durante la creazione di una schermata delle impostazioni.
Componenti delle preferenze
In questa sezione vengono descritti i componenti comuni di Preference
. Per ulteriori informazioni, consulta le pagine di riferimento corrispondenti per ciascun componente.
Infrastruttura delle preferenze
PreferenceFragmentCompat
:
un Fragment
che gestisce la visualizzazione di una gerarchia interattiva di oggetti Preference
.
Container preferiti
PreferenceScreen
:
un contenitore di primo livello che rappresenta una schermata delle impostazioni. Questo è il componente principale della gerarchia Preference
.
PreferenceCategory
:
un contenitore utilizzato per raggruppare Preferences
simili. Un PreferenceCategory
mostra il titolo di una categoria e separa visivamente i gruppi di Preferences
.
Preferenze individuali
Preference
: il componente di base di base che rappresenta un'impostazione individuale. Se un Preference
è impostato
per la persistenza, avrà una coppia chiave-valore corrispondente che contiene la scelta dell'utente
per l'impostazione, a cui è possibile accedere altrove nell'applicazione.
EditTextPreference
:
un Preference
che restituisce un valore String
. Gli utenti possono toccare Preference
per aprire una finestra di dialogo contenente il campo di testo che consente all'utente di modificare il valore persistente.
ListPreference
: un
Preference
che mantiene un valore di stringa. Gli utenti possono modificare questo valore in una finestra di dialogo contenente un elenco di pulsanti di opzione con le etichette corrispondenti.
MultiSelectListPreference
:
un Preference
che crea un insieme di stringhe. Gli utenti possono modificare questi valori in una finestra di dialogo che contiene un elenco di caselle di controllo con le etichette corrispondenti.
SeekBarPreference
:
un Preference
che mantiene un valore intero. Questo valore può essere modificato trascinando una barra di scorrimento corrispondente che viene visualizzata nel layout Preference
.
SwitchPreferenceCompat
:
un Preference
che mantiene un valore booleano. Questo valore può essere modificato interagendo con il widget Cambia corrispondente o toccando il layout Preference
.
CheckBoxPreference
:
un Preference
che mantiene un valore booleano. Questo valore può essere modificato interagendo con la casella di controllo corrispondente o toccando il layout Preference
.
Attributi preferenza
Di seguito sono elencati alcuni degli attributi più comunemente utilizzati che configurano l'aspetto e il comportamento di Preference
.
Attributi generici
-
title
-
Un valore
String
che rappresenta il titolo diPreference
.Esempio:
app:title="Title"
-
summary
-
Un valore
String
che rappresenta il riepilogo diPreference
.Esempio:
app:summary="Summary"
-
icon
-
Un
Drawable
che rappresenta l'iconaPreference
.Esempio:
app:icon="@drawable/ic_camera"
-
key
-
Un valore
String
che rappresenta la chiave utilizzata per mantenere il valore delPreference
associato. Una chiave consente di personalizzare ulteriormentePreference
durante il runtime. Devi impostare una chiave per ogniPreference
nella gerarchia.Esempio:
app:key="key"
-
enabled
-
Un valore booleano che indica se gli utenti possono interagire con
Preference
. Quando questo valore èfalse
,Preference
non è selezionabile e gli utenti non possono interagirvi. Il valore predefinito ètrue
.Esempio:
app:enabled="false"
-
selectable
-
Un valore booleano che indica se gli utenti possono interagire con
Preference
. Il valore predefinito ètrue
.Esempio:
app:selectable="false"
-
isPreferenceVisible
-
Un valore booleano che indica se è visibile una categoria
Preference
oPreference
. Equivale a chiamaresetVisible()
.Esempio:
app:isPreferenceVisible="false"
-
defaultValue
-
Rappresenta il valore predefinito di un elemento
Preference
. Questo valore viene impostato e persistente quando non viene trovato nessun altro valore persistente perPreference
. Il tipo di valore dipende dall'elementoPreference
associato.Esempio:
app:defaultValue="true"
-
dependency
-
Rappresenta la chiave di un
SwitchPreferenceCompat
che controlla lo stato di questoPreference
. Quando l'opzione corrispondente viene disattivata, questoPreference
è disabilitato e non può essere modificato.Esempio:
app:dependency="parent"
Attributi PreferenceCategory
-
initialExpandedChildrenCount
-
Un valore intero che consente il comportamento
Preference
espandibile. Questo valore rappresenta il numero massimo di elementi secondari da mostrare inPreferenceGroup
. Gli eventuali elementi secondari aggiuntivi vengono compressi e possono essere visualizzati toccando il pulsante di espansione. Per impostazione predefinita, questo valore èInteger.MAX_VALUE
e sono mostrati tutti i valori secondari.Avviso: se utilizzi questo attributo, assicurati di impostare una chiave su
PreferenceCategory
in modo che lo stato venga salvato e ripristinato correttamente quando la configurazione viene modificata, ad esempio quando si ruota lo schermo.Esempio:
app:initialExpandedChildrenCount="0"
Attributi ListPreference / MultiSelectListPreference
-
entries
-
Un array di stringhe che corrisponde alle voci dell'elenco da mostrare all'utente. Ciascuno di questi valori corrisponde, per indice, all'array di valori resi persistenti internamente. Ad esempio, quando un utente seleziona la prima voce dell'elenco, il primo elemento nell'array di valori corrispondente viene mantenuto.
Esempio:
app:entries="@array/entries"
Avviso: assicurati che entrambi gli array abbiano la stessa lunghezza e che gli indici di ogni array corrispondano alla coppia voce / valore corretta.
-
entryValues
-
L'array di voci da mantenere. Ciascuno di questi valori corrisponde, per indice, all'array di voci dell'elenco che vengono mostrate all'utente.
Esempio:
app:entryValues="@array/values"