Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Un recurso de elementos de diseño es un concepto general que hace referencia a un gráfico que se puede dibujar en la pantalla y que puedes obtener con APIs como getDrawable(int) o aplicar a otro recurso XML mediante atributos como android:drawable y android:icon.
Existen varios tipos de elementos de diseño:
Es un elemento de diseño que administra un array de otros elementos de diseño. Estos elementos se dibujan en el orden del array: el elemento con el índice más grande se dibuja encima. Crea un LayerDrawable.
Es un archivo en formato XML que hace referencia a distintos gráficos de mapa de bits para diferentes estados (por ejemplo, para usar otra imagen cuando se presiona un botón).
Crea un StateListDrawable.
Es un archivo en formato XML que define un elemento de diseño capaz de administrar varios elementos de diseño alternativos, cada uno con un valor numérico máximo. Crea un LevelListDrawable.
Es un archivo en formato XML que define un elemento de diseño capaz de insertar otro elemento de diseño según una distancia específica.
Resulta útil cuando una vista requiere un elemento de diseño de fondo de dimensiones inferiores a los límites reales de ella.
Es un archivo en formato XML que define un elemento de diseño capaz de recortar otro elemento de diseño según el valor de nivel actual de este. Crea un ClipDrawable.
Es un archivo en formato XML que define un elemento de diseño capaz de cambiar el tamaño de otro elemento de diseño según su valor de nivel actual. Crea un ScaleDrawable
Nota: Un recurso de color también se puede usar como un elemento de diseño en XML. Por ejemplo, cuando creas un elemento de diseño de lista de estados, puedes hacer referencia a un recurso de color para el atributo android:drawable (android:drawable="@color/green").
Mapa de bits
Una imagen de mapa de bits. Android admite archivos de mapas de bits en los siguientes formatos: PNG (recomendable), WEBP (recomendable, requiere el nivel de API 17 o uno superior), JPG (aceptable) y GIF (no recomendable).
Puedes hacer referencia a un archivo de mapa de bits de forma directa con el nombre del archivo como ID del recurso o crear un ID de recurso de alias en XML.
Nota: Durante el proceso de compilación, la herramienta aapt podría optimizar automáticamente los archivos de mapa de bits mediante compresión de imágenes sin pérdida. Por ejemplo, un archivo PNG con color verdadero que no requiera más de 256 colores se podría convertir a un archivo PNG de 8 bits con una paleta de colores. De ese modo, se genera una imagen que tiene la misma calidad y que requiere menos memoria.
Por lo tanto, ten en cuenta que los objetos binarios de imagen de este directorio pueden cambiar durante la compilación. Si planeas leer una imagen como una secuencia de bits para convertirla en un mapa de bits, coloca tus imágenes en la carpeta res/raw/; no se optimizarán en esta ubicación.
Archivo de mapa de bits
Un archivo de mapa de bits es un archivo PNG, WEBP, JPG o GIF. Android crea un recurso Drawable para todos estos archivos cuando los guardas en el directorio res/drawable/.
ubicación del archivo:
res/drawable/filename.png (.png, .webp, .jpg o .gif)
El nombre del archivo es el ID de recurso
Un mapa de bits XML es un recurso definido en XML que apunta a un archivo de mapa de bits. Como resultado, se obtiene un alias para un archivo de mapa de bits sin procesar. El XML puede especificar propiedades adicionales para el mapa de bits, como interpolación y representación en mosaicos.
Nota: Puedes usar un elemento como campo secundario de un elemento . Por ejemplo, cuando creas una lista de estados o lista de capas, puedes excluir el atributo android:drawable de un elemento y anidar dentro de este un que defina el elemento de diseño.
ubicación del archivo:
res/drawable/filename.xml
El nombre del archivo es el ID del recurso
Obligatorio. Define la fuente y las propiedades del mapa de bits.
Atributos:
xmlns:android
Cadena. Define el espacio de nombres XML, que debe ser "http://schemas.android.com/apk/res/android". Esto solo es necesario si es el elemento raíz. No lo es cuando está anidado dentro de .
android:src
Recurso de elementos de diseño. Obligatorio. Referencia a un recurso de elementos de diseño.
android:antialias
Booleano. Habilita o inhabilita el suavizado de contornos.
android:dither
Booleano. Habilita o inhabilita la interpolación del mapa de bits si este no tiene la misma configuración de píxeles que la pantalla, como un mapa de bits ARGB 8888 en una pantalla RGB 565.
android:filter
Booleano. Habilita o inhabilita el filtrado del mapa de bits. El filtrado se usa cuando se encoge o estira el mapa de bits para mejorar la apariencia.
android:gravity
Palabra clave. Define la gravedad del mapa de bits. La gravedad indica la ubicación en la que debe ir el elemento de diseño en su contenedor si el mapa de bits es más chico que el contenedor.
Debe ser uno o más de los siguientes valores constantes, separados por |:
Valor
Descripción
top
Dispone el objeto en la parte superior del contenedor, sin cambiar el tamaño.
bottom
Dispone el objeto en la parte inferior del contenedor, sin cambiar el tamaño.
left
Dispone el objeto en el extremo izquierdo del contenedor, sin cambiar el tamaño.
right
Dispone el objeto en el extremo derecho del contenedor, sin cambiar el tamaño.
center_vertical
Dispone el objeto en el centro vertical del contenedor, sin cambiar el tamaño.
fill_vertical
Aumenta el tamaño vertical del objeto, si es necesario, para que cubra completamente al contenedor.
center_horizontal
Dispone el objeto en el centro horizontal del contenedor, sin cambiar el tamaño.
fill_horizontal
Aumenta el tamaño horizontal del objeto, si es necesario, para que cubra completamente al contenedor.
center
Dispone el objeto en el centro del contenedor, tanto en el eje vertical como el horizontal (sin cambiar el tamaño).
fill
Aumenta el tamaño horizontal y vertical del objeto, si es necesario, para que cubra completamente el contenedor. Es el valor predeterminado.
clip_vertical
Opción adicional que se puede establecer para recortar el borde superior o inferior del campo secundario a los límites del contenedor. El recorte depende de la gravedad vertical: con un valor de gravedad "top" se recorta el borde inferior, con un valor "bottom" se recorta el borde superior y con un valor nulo se recortan ambos bordes.
clip_horizontal
Opción adicional que se puede establecer para recortar el borde izquierdo o derecho del campo secundario a los límites del contenedor. El recorte depende de la gravedad horizontal: con un valor de gravedad "left" se recorta el borde derecho, con un valor "right" se recorta el borde izquierdo y con un valor nulo se recortan ambos bordes.
android:mipMap
Booleano. Habilita o inhabilita la sugerencia de mipmap. Consulta setHasMipMap() para obtener más información.
El valor predeterminado es falso.
android:tileMode
Palabra clave. Define el modo mosaico. Cuando se habilita el modo mosaico, se repite el mapa de bits. En este modo, se ignora la gravedad.
Debe ser uno de los siguientes valores constantes:
Valor
Descripción
disabled
El mapa de bits no aparece en el modo mosaico. Este es el valor predeterminado.
clamp
Replica el color del borde si el sombreador dibuja fuera de sus límites originales.
repeat
Repite la imagen del sombreador horizontal y verticalmente.
mirror
Repite la imagen del sombreador horizontal y verticalmente, y alterna imágenes duplicadas para que las imágenes adyacentes siempre encajen.
Un NinePatch es una imagen PNG en la cual puedes definir regiones expandibles que Android ajusta cuando el contenido dentro de la vista supera los límites de la imagen normal. Por lo general, uno asigna este tipo de imagen como el fondo de una vista que tiene al menos una dimensión establecida en "wrap_content".
Cuando la vista se amplía para adaptarse al contenido, la imagen nine-patch también se ajusta para coincidir con el tamaño de la vista. Como ejemplo del uso de una imagen nine-patch, podemos mencionar el fondo que usa el widget Button estándar de Android, que se debe estirar para que el texto (o la imagen) entre en el botón.
Como en los mapas de bits convencionales, puedes hacer referencia a un archivo nine-patch de forma directa o desde un recurso definido por XML.
Obligatorio. Define la fuente y las propiedades de nine-patch.
Atributos:
xmlns:android
Cadena. Obligatoria. Define el espacio de nombres XML, que debe ser "http://schemas.android.com/apk/res/android".
android:src
Recurso de elementos de diseño. Obligatorio. Referencia a un archivo nine-patch.
android:dither
Booleano. Habilita o inhabilita la interpolación del mapa de bits si este no tiene la misma configuración de píxeles que la pantalla, como un mapa de bits ARGB 8888 en una pantalla RGB 565.
Un LayerDrawable es un objeto de diseño que gestiona un array de otros elementos de diseño. Cada elemento de diseño de la lista se dibuja en el orden de la lista. El último elemento de diseño de la lista se dibuja encima.
Un elemento representa a cada elemento de diseño dentro de un solo elemento .
ubicación del archivo:
res/drawable/filename.xml
El nombre del archivo es el ID del recurso
Obligatorio. Debe ser el elemento raíz. Contiene uno o más elementos .
Atributos:
xmlns:android
Cadena. Obligatoria. Define el espacio de nombres XML, que debe ser "http://schemas.android.com/apk/res/android".
Define un elemento de diseño que se dispondrá en el elemento de diseño de capa, en una posición definida por los atributos.
Tiene que ser un elemento secundario de un elemento . Acepta elementos secundarios.
Atributos:
android:drawable
Recurso de elementos de diseño. Obligatorio. Referencia a un recurso de elementos de diseño.
android:id
ID de recurso. Un ID de recurso único para este elemento de diseño. Si quieres crear un nuevo ID de recurso para este elemento, utiliza la forma: "@+id/name". El símbolo + indica que se creó como un ID nuevo. Puedes usar este identificador para obtener y modificar el elemento de diseño con View.findViewById() o Activity.findViewById().
android:top
Dimensión. Desplazamiento superior, como valor de dimensión o recurso de dimensión.
android:right
Dimensión. Desplazamiento del lado derecho, como valor de dimensión o recurso de dimensión.
android:bottom
Dimensión. El desplazamiento inferior, como valor de dimensión o recurso de dimensión.
android:left
Dimensión. Es el desplazamiento del lado izquierdo, como valor de dimensión o recurso de dimensión.
De forma predeterminada, todos los elementos de diseño se escalan para adaptarse al tamaño de la vista contenedora. Por lo tanto, si dispones tus imágenes en una lista de capas en distintas posiciones, es posible que aumente el tamaño de la vista y que algunas imágenes se adecuen según sea necesario.
Para evitar que los elementos se escalen en la lista, usa un elemento dentro del elemento para especificar el elemento de diseño y definir la gravedad en un componente no escalable, como "center". Por ejemplo, el siguiente define un elemento que se escala para adaptarse a la vista que lo contiene:
android:drawable="@drawable/image"/>
Para evitar el ajuste de escala, en el siguiente ejemplo se usa un elemento con gravedad centrada:
En este ejemplo, se usa un elemento anidado para definir el recurso del elemento de diseño correspondiente a cada elemento con un valor de gravedad "center". Esto garantiza que ninguna de las imágenes se escale para adaptarse al tamaño del contenedor debido al cambio de tamaño ocasionado por las imágenes desplazadas.
Este XML de diseño aplica el elemento de diseño a una vista:
Un StateListDrawable es un objeto de diseño definido en XML que usa varias imágenes para representar el mismo gráfico, según el estado del objeto. Por ejemplo, el estado de un widget Button se puede presionar o enfocar, o puede no realizarse ninguna de esas acciones. Con un elemento de diseño de lista de estados, puedes proporcionar una imagen de fondo diferente para cada estado.
Puedes describir la lista de estados en un archivo en formato XML. Cada gráfico se representa a través de un elemento dentro de un solo elemento . Cada usa varios atributos para describir el estado en que se usa como gráfico del elemento de diseño.
Durante cada cambio de estado, se recorre de arriba abajo la lista de estados, y se utiliza el primer elemento que coincida con el estado actual. La selección no depende de la "mejor coincidencia", sino del primer elemento que cumple con los criterios mínimos del estado.
ubicación del archivo:
res/drawable/filename.xml
El nombre del archivo es el ID del recurso
Obligatorio. Debe ser el elemento raíz. Contiene uno o más elementos .
Atributos:
xmlns:android
Cadena. Obligatoria. Define el espacio de nombres XML, que debe ser "http://schemas.android.com/apk/res/android".
android:constantSize
Booleano. Es verdadero si el tamaño interno informado del elemento de diseño permanece constante durante los cambios de estado (el tamaño es el valor máximo de todos los estados). Es falso si el tamaño varía según el estado actual. El valor predeterminado es falso.
android:dither
Booleano. Es verdadero para habilitar la interpolación del mapa de bits si este no tiene la misma configuración de píxeles que la pantalla (por ejemplo, un mapa de bits ARGB 8888 en una pantalla RGB 565). Es falso para inhabilitar la interpolación. El valor predeterminado es verdadero.
android:variablePadding
Booleano. Es verdadero si el padding del elemento de diseño cambia según el estado seleccionado. Es falso si el padding debe permanecer igual, según el padding máximo de todos los estados. Si habilitas esta funcionalidad, deberás realizar tareas de diseño cuando cambie el estado (a menudo, esto no es posible). El valor predeterminado es falso.
Define un elemento de diseño que se usará en ciertos estados, según sus atributos. Tiene que ser un elemento secundario de un elemento .
Atributos:
android:drawable
Recurso de elementos de diseño. Obligatorio. Referencia a un recurso de elementos de diseño.
android:state_pressed
Booleano. Es verdadero si se usa este elemento cuando el objeto está presionado, como cuando se toca un botón. Es falso si se usa este elemento en el estado predeterminado, sin presionar.
android:state_focused
Booleano. Es verdadero si se usa este elemento cuando el objeto tiene foco de entrada, como cuando el usuario selecciona una entrada de texto. Es falso si se usa este elemento en el estado predeterminado, no enfocado.
android:state_hovered
Booleano. Es verdadero si se usa este elemento cuando se coloca el cursor sobre el objeto. Es falso si se usa este elemento en el estado predeterminado, cuando el cursor no se coloca sobre el objeto. A menudo, este elemento de diseño será el mismo que el del estado "enfocado".
Se introdujo en el nivel de API 14.
android:state_selected
Booleano. Es verdadero si se usa este elemento cuando el objeto es la selección actual del usuario cuando se navega con un control de dirección, como cuando se navega por una lista con un pad direccional. Es falso si se usa este elemento cuando el objeto no está seleccionado.
El estado seleccionado se usa cuando android:state_focused no es suficiente, por ejemplo, cuando la vista de lista está enfocada y se selecciona un elemento de ella con un pad direccional.
android:state_checkable
Booleano. Es verdadero si se usa este elemento cuando se puede seleccionar el objeto. Es falso si se usa este elemento cuando no se puede seleccionar el objeto. Solo es útil si el objeto puede hacer la transición entre un widget que se puede seleccionar y uno que no.
android:state_checked
Booleano. Es verdadero si se usa este elemento cuando el objeto está seleccionado. Es falso si se usa cuando el objeto no está seleccionado.
android:state_enabled
Booleano. Es verdadero si se usa este elemento cuando el objeto está habilitado, es decir, cuando es capaz de recibir eventos táctiles o de clics. Es falso si se usa cuando el objeto está inhabilitado.
android:state_activated
Booleano. Es verdadero si se usa este elemento cuando el objeto está activado como la selección persistente, por ejemplo, para "destacar" el elemento de lista previamente seleccionado en una vista de navegación persistente. Es falso si se usa cuando el objeto no está activado.
Se introdujo en el nivel de API 11.
android:state_window_focused
Booleano. Es verdadero si se usa este elemento cuando la ventana de la aplicación está enfocada, lo que significa que la aplicación está en primer plano. Es falso si se usa este elemento cuando la ventana de la aplicación no está enfocada, por ejemplo, si se abre el panel de notificaciones o aparece un diálogo.
Nota: Android aplica el primer elemento de la lista de estados que coincida con el estado actual del objeto. Así, si el primer elemento de la lista no contiene ninguno de los atributos de estado anteriores, se aplicará cada vez. Por eso, el valor predeterminado siempre debe ser el último, como se muestra en el siguiente ejemplo.
ejemplo:
Archivo en formato XML guardado en res/drawable/button.xml:
Es un elemento de diseño capaz de administrar varios elementos de diseño alternativos (cada uno con un valor numérico máximo). Si se fija el valor del nivel de un elemento de diseño con setLevel(), se cargará el recurso de elementos de diseño en la lista de niveles cuyo valor android:maxLevel sea superior o igual al valor pasado al método.
ubicación del archivo:
res/drawable/filename.xml
El nombre del archivo es el ID del recurso
Un TransitionDrawable es un objeto de diseño capaz de fundirse entre otros dos recursos de elementos de diseño.
Un elemento representa a cada elemento de diseño dentro de un solo elemento . No se admiten más de dos elementos. Para realizar una transición hacia adelante, llama a startTransition(). Para realizar una transición hacia atrás, llama a reverseTransition().
ubicación del archivo:
res/drawable/filename.xml
El nombre del archivo es el ID del recurso
Obligatorio. Debe ser el elemento raíz. Contiene uno o más elementos .
Atributos:
xmlns:android
Cadena. Obligatoria. Define el espacio de nombres XML, que debe ser "http://schemas.android.com/apk/res/android".
Define un elemento de diseño que se usará como parte de la transición del elemento de diseño.
Tiene que ser un elemento secundario de un elemento . Acepta elementos secundarios.
Atributos:
android:drawable
Recurso de elementos de diseño. Obligatorio. Referencia a un recurso de elementos de diseño.
android:id
ID de recurso. Un ID de recurso único para este elemento de diseño. Si quieres crear un nuevo ID de recurso para este elemento, utiliza la forma: "@+id/name". El símbolo + indica que se creó como un ID nuevo. Puedes usar este identificador para obtener y modificar el elemento de diseño con View.findViewById() o Activity.findViewById().
android:top
Entero. Desplazamiento superior en píxeles.
android:right
Entero. Desplazamiento del lado derecho en píxeles.
android:bottom
Entero. Desplazamiento inferior en píxeles.
android:left
Entero. Desplazamiento del lado izquierdo en píxeles.
ejemplo:
Archivo en formato XML guardado en res/drawable/transition.xml:
Elemento de diseño definido en XML que inserta otro elemento de diseño en una distancia específica. Resulta útil cuando una vista requiere un fondo de dimensiones inferiores a los límites reales de ella.
ubicación del archivo:
res/drawable/filename.xml
El nombre del archivo es el ID del recurso
Es un elemento de diseño definido en XML que recorta otro elemento de diseño según el nivel actual de este elemento de diseño. Puedes controlar el nivel de recorte del elemento de diseño secundario a lo ancho y alto según el nivel, y también un valor de gravedad para controlar la ubicación en el contenedor. Por lo general, se usa para implementar componentes como barras de progreso.
ubicación del archivo:
res/drawable/filename.xml
El nombre del archivo es el ID del recurso
Obligatorio. Define el elemento de diseño de recorte. Debe ser el elemento raíz.
Atributos:
xmlns:android
Cadena. Obligatoria. Define el espacio de nombres XML, que debe ser "http://schemas.android.com/apk/res/android".
android:drawable
Recurso de elementos de diseño. Obligatorio. Referencia a un recurso de elementos de diseño que se recortará.
android:clipOrientation
Palabra clave. La orientación del recorte.
Debe ser uno de los siguientes valores constantes:
Valor
Descripción
horizontal
Recorta el elemento de diseño horizontalmente.
vertical
Recorta el elemento de diseño verticalmente.
android:gravity
Palabra clave. Especifica el lugar de recorte dentro del elemento de diseño.
Debe ser uno o más de los siguientes valores constantes, separados por |:
Valor
Descripción
top
Dispone el objeto en la parte superior del contenedor, sin cambiar el tamaño. Cuando clipOrientation es "vertical", el recorte se realiza en la parte inferior del elemento de diseño.
bottom
Dispone el objeto en la parte inferior del contenedor, sin cambiar el tamaño. Cuando clipOrientation es "vertical", el recorte se realiza en la parte superior del elemento de diseño.
left
Dispone el objeto en el extremo izquierdo del contenedor, sin cambiar el tamaño. Es el valor predeterminado. Cuando clipOrientation es "horizontal", el recorte se realiza en el lateral derecho del elemento de diseño.
right
Dispone el objeto en el extremo derecho del contenedor, sin cambiar el tamaño. Cuando clipOrientation es "horizontal", el recorte se realiza en el lateral izquierdo del elemento de diseño.
center_vertical
Dispone el objeto en el centro vertical del contenedor, sin cambiar el tamaño. El recorte funciona como el valor de gravedad "center".
fill_vertical
Aumenta el tamaño vertical del objeto, si es necesario, para que cubra completamente al contenedor. Cuando clipOrientation es "vertical", no hay recorte porque el elemento de diseño cubre el espacio vertical (a menos que el nivel del elemento de diseño sea 0 y, por ello, este no sea visible).
center_horizontal
Dispone el objeto en el centro horizontal del contenedor, sin cambiar el tamaño.
El recorte funciona como el valor de gravedad "center".
fill_horizontal
Aumenta el tamaño horizontal del objeto, si es necesario, para que cubra completamente al contenedor. Cuando clipOrientation es "horizontal", no hay recorte porque el elemento de diseño cubre el espacio horizontal (a menos que el nivel del elemento de diseño sea 0 y, por ello, este no sea visible).
center
Dispone el objeto en el centro del contenedor, tanto en el eje vertical como el horizontal (sin cambiar el tamaño). Cuando clipOrientation es "horizontal", el recorte se aplica a la izquierda y a la derecha. Cuando clipOrientation sea "vertical", el recorte se aplicará en la parte superior e inferior.
fill
Aumenta el tamaño horizontal y vertical del objeto, si es necesario, para que cubra completamente el contenedor. No habrá recorte porque el elemento de diseño cubre el espacio horizontal y vertical (a menos que el nivel del elemento de diseño sea 0 y, por ello, no visible).
clip_vertical
Opción adicional que se puede establecer para recortar el borde superior o inferior del campo secundario a los límites del contenedor. El recorte depende de la gravedad vertical: con un valor de gravedad "top" se recorta el borde inferior, con un valor "bottom" se recorta el borde superior y con un valor nulo se recortan ambos bordes.
clip_horizontal
Opción adicional que se puede establecer para recortar el borde izquierdo o derecho del campo secundario a los límites del contenedor. El recorte depende de la gravedad horizontal: con un valor de gravedad "left" se recorta el borde derecho, con un valor "right" se recorta el borde izquierdo y con un valor nulo se recortan ambos bordes.
ejemplo:
Archivo en formato XML guardado en res/drawable/clip.xml:
Si se aumenta el nivel, disminuye la cantidad de recorte y la imagen se muestra poco a poco. Aquí se muestra a un nivel de 7,000:
Nota: El nivel predeterminado es 0; la imagen está completamente recortada y no es visible. Cuando el nivel es 10,000, la imagen no se recorta y es completamente visible.
Obligatorio. Define el elemento de diseño de escala. Debe ser el elemento raíz.
Atributos:
xmlns:android
Cadena. Obligatoria. Define el espacio de nombres XML, que debe ser "http://schemas.android.com/apk/res/android".
android:drawable
Recurso de elementos de diseño. Obligatorio. Referencia a un recurso de elementos de diseño.
android:scaleGravity
Palabra clave. Especifica la posición de gravedad después del ajuste de escala.
Debe ser uno o más de los siguientes valores constantes, separados por |:
Valor
Descripción
top
Dispone el objeto en la parte superior del contenedor, sin cambiar el tamaño.
bottom
Dispone el objeto en la parte inferior del contenedor, sin cambiar el tamaño.
left
Dispone el objeto en el extremo izquierdo del contenedor, sin cambiar el tamaño. Es el valor predeterminado.
right
Dispone el objeto en el extremo derecho del contenedor, sin cambiar el tamaño.
center_vertical
Dispone el objeto en el centro vertical del contenedor, sin cambiar el tamaño.
fill_vertical
Aumenta el tamaño vertical del objeto, si es necesario, para que cubra completamente al contenedor.
center_horizontal
Dispone el objeto en el centro horizontal del contenedor, sin cambiar el tamaño.
fill_horizontal
Aumenta el tamaño horizontal del objeto, si es necesario, para que cubra completamente al contenedor.
center
Dispone el objeto en el centro del contenedor, tanto en el eje vertical como el horizontal (sin cambiar el tamaño).
fill
Aumenta el tamaño horizontal y vertical del objeto, si es necesario, para que cubra completamente el contenedor.
clip_vertical
Opción adicional que se puede establecer para recortar el borde superior o inferior del campo secundario a los límites del contenedor. El recorte depende de la gravedad vertical: con un valor de gravedad "top" se recorta el borde inferior, con un valor "bottom" se recorta el borde superior y con un valor nulo se recortan ambos bordes.
clip_horizontal
Opción adicional que se puede establecer para recortar el borde izquierdo o derecho del campo secundario a los límites del contenedor. El recorte depende de la gravedad horizontal: con un valor de gravedad "left" se recorta el borde derecho, con un valor "right" se recorta el borde izquierdo y con un valor nulo se recortan ambos bordes.
android:scaleHeight
Porcentaje. Es la altura de la escala, expresada como porcentaje del límite del elemento de diseño. El formato del valor es XX%, como 100% o 12.5%.
android:scaleWidth
Porcentaje. Es el ancho de la escala, expresada como porcentaje del límite del elemento de diseño. El formato del valor es XX%, como 100% o 12.5%.
Obligatorio. Es el elemento de diseño de forma. Debe ser el elemento raíz.
Atributos:
xmlns:android
Cadena. Obligatoria. Define el espacio de nombres XML, que debe ser "http://schemas.android.com/apk/res/android".
android:shape
Palabra clave. Define el tipo de forma. A continuación, se indican los valores válidos:
Valor
Descripción
"rectangle"
Es un rectángulo que cubre la vista contenedora. Es la forma predeterminada.
"oval"
Es una forma ovalada que cubre las dimensiones de la vista contenedora.
"line"
Es una línea horizontal que se extiende a lo ancho de la vista contenedora. Esta forma requiere el elemento para definir el espesor de la línea.
"ring"
Forma de anillo.
Los siguientes atributos solo se usan cuando android:shape="ring":
android:innerRadius
Dimensión. Radio de la parte interna del anillo (el orificio del centro), como valor de dimensión o recurso de dimensión.
android:innerRadiusRatio
Flotante. Radio de la parte interna del anillo, expresado como proporción del ancho del anillo. Por ejemplo, si android:innerRadiusRatio="5", el radio interno es igual al ancho del anillo dividido por 5. android:innerRadius anula este valor. El valor predeterminado es 9.
Número de punto flotante. Es el espesor del anillo, expresado como proporción del ancho del anillo. Por ejemplo, si android:thicknessRatio="2", el espesor es igual al ancho del anillo dividido por 2. android:innerRadius anula este valor. El valor predeterminado es 3.
android:useLevel
Booleano. Es verdadero si se usa como un LevelListDrawable. Por lo general, es falso. De lo contrario, es posible que la forma no aparezca.
Genera esquinas redondeadas en la forma. Solo servirá si la forma es un rectángulo.
Atributos:
android:radius
Dimensión. Radio de todas las esquinas, como valor de dimensión o recurso de dimensión. Los atributos siguientes lo anulan en cada esquina.
android:topLeftRadius
Dimensión. Radio de la esquina superior izquierda, como valor de dimensión o recurso de dimensión.
android:topRightRadius
Dimensión. Radio de la esquina superior derecha, como valor de dimensión o recurso de dimensión.
android:bottomLeftRadius
Dimensión. Radio de la esquina inferior izquierda, como valor de dimensión o recurso de dimensión.
android:bottomRightRadius
Dimensión. Es el radio de la esquina inferior derecha, como valor de dimensión o recurso de dimensión.
Nota: En cada esquina, se debe proporcionar (inicialmente) un radio de esquina superior a 1. De lo contrario, las esquinas no se redondearán. Si deseas que no se redondeen determinadas esquinas, es posible usar android:radius como alternativa para fijar un radio de esquina predeterminado superior a 1. A continuación, debes anular cada esquina con los valores deseados y fijar en 0 ("0 dp") las esquinas redondeadas.
Especifica un color de gradiente para la forma.
Atributos:
android:angle
Entero. El ángulo del gradiente (en grados). De izquierda a derecha, 0. De abajo hacia arriba, 90. Debe ser un múltiplo de 45. El valor predeterminado es 0.
android:centerX
Número de punto flotante. Posición X relativa para el centro del gradiente ("0-1.0").
android:centerY
Flotante. Posición Y relativa del centro del gradiente ("0-1.0").
android:centerColor
Color. Color opcional entre el color inicial y final, como valor hexadecimal o recurso de color.
Dimensión. Es el ancho de la forma, como valor de dimensión o recurso de dimensión.
Nota: Según la configuración predeterminada, la forma se ajusta al tamaño de la vista contenedora en proporción a las dimensiones definidas aquí. Cuando usas la forma en una ImageView, puedes restringir el ajuste de escala fijando android:scaleType en "center".
Es un color sólido para cubrir la forma.
Atributos:
android:color
Color. Color que se aplicará a la forma, como valor hexadecimal o recurso de color.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2024-08-23 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2024-08-23 (UTC)"],[],[]]