Componentes y atributos de Preference Parte de Android Jetpack.
En este tema, se describen algunos de los componentes y atributos de Preference
más usados a la hora de compilar una pantalla de configuración.
Componentes de Preference
En esta sección, se describen componentes comunes de Preference
. Para obtener más información, consulta las páginas de referencia correspondientes a cada componente.
Infraestructura de Preference
PreferenceFragmentCompat
: Un objeto Fragment
que procesa la visualización de una jerarquía interactiva de objetos Preference
.
Contenedores de Preference
PreferenceScreen
: Un contenedor de nivel superior que representa una pantalla de configuración. Este es el componente raíz de tu jerarquía Preference
.
PreferenceCategory
: Un contenedor que se usa para agrupar objetos Preferences
similares. Un objeto PreferenceCategory
muestra un título de categoría y separa visualmente grupos de Preferences
.
Objetos Preference individuales
Preference
: El bloque de compilación básico que representa una configuración individual. Si se configura un elemento Preference
para que persista, ese objeto tendrá un par clave-valor correspondiente que retendrá la elección del usuario para que puedas acceder a la configuración desde cualquier otro lugar de la aplicación.
EditTextPreference
: Un objeto Preference
que conserva un valor String
. Los usuarios pueden presionar el objeto Preference
para abrir un diálogo que incluye el campo de texto en el que el usuario puede cambiar el valor persistente.
ListPreference
: un objeto Preference
que conserva un valor de String. Los usuarios pueden cambiar ese valor en un diálogo que incluye una lista de botones de selección con etiquetas correspondientes.
MultiSelectListPreference
: Un objeto Preference
que conserva un conjunto de Strings. Los usuarios pueden cambiar esos valores en un diálogo que incluye una lista de casillas de verificación con etiquetas correspondientes.
SeekBarPreference
: Un objeto Preference
que conserva un valor entero. Para modificar ese valor, se debe arrastrar la barra de búsqueda correspondiente que se muestra en el diseño de Preference
.
SwitchPreferenceCompat
: Un objeto Preference
que conserva un valor booleano. Para cambiar ese valor, se debe interactuar con el widget de interruptor correspondiente o presionar el diseño de Preference
.
CheckBoxPreference
: Un objeto Preference
que conserva un valor booleano. Para cambiar ese valor, se debe interactuar con la casilla de verificación correspondiente o presionar el diseño de Preference
.
Atributos de Preference
A continuación, se incluyen algunos de los atributos de uso más frecuente para configurar la apariencia y el comportamiento de Preference
.
Atributos genéricos
-
title
-
Es un valor de
String
que representa el título del objetoPreference
.Ejemplo:
app:title="Title"
-
summary
-
Es un valor de
String
que representa el resumen dePreference
.Ejemplo:
app:summary="Summary"
-
icon
-
Es un objeto
Drawable
que representa el ícono del objetoPreference
.Ejemplo:
app:icon="@drawable/ic_camera"
-
key
-
Es un valor de
String
que representa la clave que se usa a fin de mantener el valor del objetoPreference
asociado. Una clave te permite personalizar aún más el objetoPreference
durante el tiempo de ejecución. Debes establecer una clave para cadaPreference
en tu jerarquía.Ejemplo:
app:key="key"
-
enabled
-
Es un valor booleano que indica si los usuarios pueden interactuar con el objeto
Preference
. Cuando ese valor seafalse
, el objetoPreference
aparecerá inhabilitado, y los no usuarios podrán interactuar con él. El valor predeterminado estrue
.Ejemplo:
app:enabled="false"
-
selectable
-
Es un valor booleano que indica si los usuarios pueden interactuar con el objeto
Preference
. El valor predeterminado estrue
.Ejemplo:
app:selectable="false"
-
isPreferenceVisible
-
Es un valor booleano que indica si
Preference
o una categoría dePreference
son visibles. Esto equivale a llamar asetVisible()
.Ejemplo:
app:isPreferenceVisible="false"
-
defaultValue
-
Representa el valor predeterminado de un objeto
Preference
. Este valor se configura y se conserva cuando no se encuentra otro valor persistente dePreference
. El tipo de valor depende del objetoPreference
asociado.Ejemplo:
app:defaultValue="true"
-
dependency
-
Representa la clave de un objeto
SwitchPreferenceCompat
, que controla el estado de este elementoPreference
. Cuando se desactiva el interruptor correspondiente, se inhabilita este objetoPreference
y no puede modificarse.Ejemplo:
app:dependency="parent"
Atributos de PreferenceCategory
-
initialExpandedChildrenCount
-
Es un valor entero que habilita el comportamiento expandible de
Preference
. Este valor representa la cantidad máxima de elementos secundarios que se muestran en el objetoPreferenceGroup
. Los elementos secundarios adicionales se contraen y pueden mostrarse si presionas el botón para expandirlos. De forma predeterminada, este valor esInteger.MAX_VALUE
, y se muestran todos los elementos secundarios.Advertencia: Asegúrate de configurar una clave en
PreferenceCategory
si usas este atributo de modo que se guarde el estado y se restaure correctamente cuando se modifique la configuración (por ejemplo, al rotar la pantalla).Ejemplo:
app:initialExpandedChildrenCount="0"
Atributos de ListPreference/MultiSelectListPreference
-
entries
-
Es un arreglo de Strings que corresponde a las entradas de la lista que se mostrarán al usuario. Cada uno de estos valores corresponde por índice al arreglo de valores que se conservan internamente. Por ejemplo, cuando un usuario selecciona la primera entrada de la lista, se conserva el primer elemento del arreglo de valores correspondientes.
Ejemplo:
app:entries="@array/entries"
Advertencia: Recuerda que la longitud de ambos arreglos debe ser la misma, y los índices de cada arreglo deben coincidir con el par entrada/valor correcto.
-
entryValues
-
El arreglo de entradas que se debe conservar. Cada uno de estos valores corresponde por índice al arreglo de entradas de la lista que se muestran al usuario.
Ejemplo:
app:entryValues="@array/values"