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 di Preference.

Esempio: app:title="Title"

summary

Un valore String che rappresenta il riepilogo di Preference.

Esempio: app:summary="Summary"

icon

Un Drawable che rappresenta l'icona Preference.

Esempio: app:icon="@drawable/ic_camera"

key

Un valore String che rappresenta la chiave utilizzata per mantenere il valore del Preference associato. Una chiave consente di personalizzare ulteriormente Preference durante il runtime. Devi impostare una chiave per ogni Preference 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 o Preference. Equivale a chiamare setVisible().

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 per Preference. Il tipo di valore dipende dall'elemento Preference associato.

Esempio: app:defaultValue="true"

dependency

Rappresenta la chiave di un SwitchPreferenceCompat che controlla lo stato di questo Preference. Quando l'opzione corrispondente viene disattivata, questo Preference è 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 in PreferenceGroup. 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"