Está en la página 1de 14

7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

Referencia de atributos de
herramientas bookmark_border

Android Studio admite una variedad de atributos XML en el espacio de nombres tools, que
habilitan funciones durante el diseño (por ejemplo, qué diseño se muestra en un fragmento) o
comportamientos durante el tiempo de compilación (por ejemplo, qué modo de reducción se
aplicará a los recursos de XML). Cuando compilas tu app, las herramientas de compilación
quitan estos atributos para que no haya ningún efecto en el tamaño del APK o en el
comportamiento del tiempo de ejecución.

Para usar estos atributos, agrega el espacio de nombres toolsal elemento raíz de cada archivo
en formato XML donde quieras usarlos, como se muestra a continuación:

<RootTag edit xmlns:android="http://schemas.android.com/apk/res/android"


xmlns:tools="http://schemas.android.com/tools" >

Error al procesar atributos


Los siguientes atributos ayudan a suprimir los mensajes de advertencia de lint.

tools:ignore
Destinado a: Cualquier elemento

Usado por: Pelusa

Este atributo acepta una lista separada por comas de los ID de problemas de Lint que quieres
que las herramientas omitan en este elemento y en todos los elementos descendientes.

Por ejemplo, puedes indicar a las herramientas que omitan el error MissingTranslation:
chevron_left

https://developer.android.com/studio/write/tool-attributes?hl=es-419 1/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

<string name="show_all_apps" tools:ignore="MissingTranslation">All</string>

tools:targetApi
Destinado a: Cualquier elemento

Usado por: Pelusa

Este atributo funciona como la anotación @TargetApi


 (https://developer.android.com/reference/android/annotation/TargetApi?hl=es-419)del código de Java:
permite especificar el nivel de API (ya sea como un número entero o como un nombre interno)
compatible con este elemento.

Esto indica a las herramientas que crea que este elemento (y cualquier elemento secundario) se
usará solo en el nivel de API especificado o en uno posterior. Esto evita que Lint te advierta si
ese elemento o sus atributos no están disponibles en el nivel de la API que especificas como tu
minSdkVersion.

Por ejemplo, puedes usar esto porque GridLayout


 (https://developer.android.com/reference/android/widget/GridLayout?hl=es-419)está disponible solo
en el nivel de API 14 y posteriores, pero sabes que no se usa este diseño en versiones
anteriores:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:targetApi="14" >

Sin embargo, en su lugar, debes usar el objeto GridLayoutde la biblioteca de compatibilidad


 (https://developer.android.com/reference/androidx/gridlayout/widget/GridLayout?hl=es-419) .

tools:locale
Destinado a: <resources>
chevron_left
Usado por: Lint, editor de Android Studio

https://developer.android.com/studio/write/tool-attributes?hl=es-419 2/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

Esto indica a las herramientas que el idioma o la configuración regional predeterminada son
para los recursos del elemento <resources>específico (porque, de lo contrario, las herramientas
asumen que el idioma es inglés) con el fin de evitar advertencias del corrector ortográfico. El
valor debe ser un calificador de configuración regional
 (https://developer.android.com/guide/topics/resources/providing-resources?hl=es-419#LocaleQualifier)
válido.

Por ejemplo, puedes agregar esto a tu archivo values/strings.xml(los valores de string


predeterminados) a fin de indicar que el idioma usado para las strings predeterminadas es
español, en lugar de inglés:

<resources xmlns:tools="http://schemas.android.com/tools"
tools:locale="es">

Atributos de la vista de diseño


Los siguientes atributos definen las características de diseño que solo se pueden ver en la vista
previa de diseño de Android Studio.

tools: en lugar de android:


Destinado a: <View>

Usado por: editor de diseño de Android Studio

Puedes insertar datos de muestra en la vista previa de diseño usando el prefijo tools:en lugar
de android:con cualquier atributo <View>del framework de Android. Esto es útil cuando no se
propaga el valor del atributo hasta el tiempo de ejecución, pero quieres ver el efecto antes, en la
vista previa de diseño.

Por ejemplo, si se establece el valor del atributo android:textdurante el tiempo de ejecución o


si quieres ver el diseño con un valor diferente al predeterminado, puedes agregar
tools:textuna fin de especificar texto para la vista previa de diseño solamente.

chevron_left

https://developer.android.com/studio/write/tool-attributes?hl=es-419 3/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

Figura 1: El atributo tools:text establece "Google Voice" como el valor de vista previa de diseño

Puedes agregar el atributo de espacio de nombres android:(que se usa durante el tiempo de


ejecución) y el atributo tools:correspondiente (que anula el atributo de tiempo de ejecución
solo en la vista previa de diseño).

También puedes usar un atributo tools: a fin de anular la configuración de un atributo solo
para la vista previa de diseño. Por ejemplo, si tienes un objeto FrameLayout con varios
elementos secundarios, pero solo quieres ver uno en la vista previa de diseño, podrás
establecer uno como invisible en la vista previa de diseño, como se muestra a continuación:

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="First" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Second"
tools:visibility="invisible" />

Cuando se usa el editor de diseño


 (https://developer.android.com/studio/write/layout-editor?hl=es-419) en la vista de diseño, la ventana
Properties también permite editar algunos atributos de la vista de diseño. Cada uno de estos
atributos se indica con un ícono de llave inglesa 

junto al nombre del atributo para distinguirlo del atributo real con el mismo nombre.
chevron_left

https://developer.android.com/studio/write/tool-attributes?hl=es-419 4/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

tools:context
Destinado a: cualquier raíz <View>

Usado por: Lint, editor de diseño de Android Studio

Este atributo declara a qué actividad está asociado este diseño de forma predeterminada. Esto
habilita funciones en el editor o en la vista previa de diseño que requieren conocimiento acerca
de la actividad, como qué tema de diseño se debe usar en la vista previa y dónde se insertarán
los controladores onClick cuando se generen desde una corrección rápida (Figura 2).

Figura 2: La corrección rápida del atributo onClick solo funciona si se estableció tools:context

Puedes especificar el nombre de la clase de actividad con el mismo prefijo de punto del archivo
de manifiesto (excepto el nombre del paquete completo). Por ejemplo:

<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity" >

Sugerencia: También puedes seleccionar el tema de la vista previa de diseño desde la barra de herramientas
del editor de diseño
 (https://developer.android.com/studio/write/layout-editor?hl=es-419#change-appearance).

tools:itemCount chevron_left

https://developer.android.com/studio/write/tool-attributes?hl=es-419 5/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

Destinado a: <RecyclerView>

Usado por: editor de diseño de Android Studio

Para un RecyclerView
 (https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView?hl=es-419)
específico, este atributo especifica el número de elementos que el editor de diseño debe
renderizar en la ventana Preview.

Por ejemplo:

<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:itemCount="3"/>

tools:layout
Destinado a: <fragment>

Usado por: editor de diseño de Android Studio

Este atributo declara el diseño que quieres que genere la vista previa de diseño dentro del
fragmento (porque la vista previa de diseño no puede ejecutar el código de actividad que en
general aplica el diseño).

Por ejemplo:

<fragment android:name="com.example.main.ItemListFragment"
tools:layout="@layout/list_content" />

tools:listitem / tools:listheader / tools:listfooter


Destinado a: <AdapterView> (y subclases
chevron_left como <ListView>)

https://developer.android.com/studio/write/tool-attributes?hl=es-419 6/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

Usado por: editor de diseño de Android Studio

Estos atributos especifican qué diseño se mostrará en la vista previa de los elementos, el
encabezado y el pie de página de una lista. Todos los campos de datos del diseño se rellenan
con contenido numérico, como "Elemento 1", de modo que no se repitan los elementos de la
lista.

Por ejemplo:

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:listitem="@layout/sample_list_item"
tools:listheader="@layout/sample_list_header"
tools:listfooter="@layout/sample_list_footer" />

Nota: Estos atributos no funcionan para ListView en Android Studio 2.2, pero esto se corrigió en la
versión 2.3 (problema 215172 (https://code.google.com/p/android/issues/detail?id=215172&hl=es-419)).

tools:showIn
Destinado a: cualquier raíz <View> en un diseño al que hace referencia un valor <include>

Usado por: editor de diseño de Android Studio

Este atributo permite apuntar a un diseño que use este diseño como un valor include
 (https://developer.android.com/training/improving-layouts/reusing-layouts?hl=es-419), de modo que
puedas generar una vista previa del archivo (y editarlo) mientras está incorporado en el diseño
de nivel superior.

Por ejemplo:

chevron_left

https://developer.android.com/studio/write/tool-attributes?hl=es-419 7/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:showIn="@layout/activity_main" />

Ahora la vista previa de diseño muestra este diseño de TextView tal como aparece dentro de
activity_main.

tools:menu
Destinado a: cualquier raíz <View>

Usado por: editor de diseño de Android Studio

Este atributo especifica qué menú debe mostrar la vista previa de diseño en la barra de la app
 (https://developer.android.com/training/appbar?hl=es-419). El valor puede ser uno o más ID de menú,
separados por comas (sin @menu/ o el prefijo de ID y sin la extensión .xml). Por ejemplo:

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:menu="menu1,menu2" />

tools:minValue / tools:maxValue
Destinado a: <NumberPicker>

Usado por: editor de diseño de Android Studio

Estos atributos establecen valores mínimos y máximos para una vista de NumberPicker
chevron_left
 (https://developer.android.com/reference/android/widget/NumberPicker?hl=es-419) .

https://developer.android.com/studio/write/tool-attributes?hl=es-419 8/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

Por ejemplo:

<NumberPicker xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/numberPicker"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:minValue="0"
tools:maxValue="10" />

tools:openDrawer
Destinado a: <DrawerLayout>

Usado por: editor de diseño de Android Studio

Este atributo permite abrir un DrawerLayout


 (https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout?hl=es-419) en el
panel Preview del editor de diseño. También puedes modificar la manera en la que el editor
renderiza el diseño pasando uno de los siguientes valores:

Constante Valor Descripción

end 800005 Envía el objeto al final del contenedor, sin cambiar el tamaño.

left 3 Envía el objeto a la izquierda del contenedor, sin cambiar el tamaño.

right 5 Envía el objeto a la derecha del contenedor, sin cambiar el tamaño.

start 800003 Envía el objeto al inicio del contenedor, sin cambiar el tamaño.

Por ejemplo:

chevron_left

https://developer.android.com/studio/write/tool-attributes?hl=es-419 9/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:openDrawer="start" />

Recursos de "@tools:sample/*"

Destinado a: Cualquier vista compatible con texto o imágenes de la IU.

Usado por: el editor de diseño de Android Studio

Este atributo permite inyectar imágenes o datos de marcadores de posición en la vista.


Por
ejemplo, si quieres probar cómo se comporta tu diseño con el texto, pero aún no has finalizado
el texto de la IU de la app, puedes usar el texto del marcador de posición de la siguiente
manera:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="@tools:sample/lorem" />

En la siguiente tabla, se describen los tipos de datos de marcadores de posición que puedes
insertar en los diseños.

Valor del atributo Descripción de los datos del marcador de posición

@tools:sample/full_names Nombres completos que se generan de forma aleatoria a partir de


la combinación de @tools:sample/first_names y
@tools:sample/last_names
chevron_left

https://developer.android.com/studio/write/tool-attributes?hl=es-419 10/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

@tools:sample/first_names Nombres comunes

@tools:sample/last_names Apellidos comunes

@tools:sample/cities Nombres de ciudades del mundo

@tools:sample/us_zipcodes Código postal de los EE.UU. generado de forma aleatoria

@tools:sample/us_phones Números de teléfono generados de forma aleatoria con el siguiente


formato: (800) 555-xxxx

@tools:sample/lorem Texto de marcador de posición derivado del latín

@tools:sample/date/day_of_week Fechas y horas aleatorias para el formato especificado

@tools:sample/date/ddmmyy

@tools:sample/date/mmddyy

@tools:sample/date/hhmm

@tools:sample/date/hhmmss

@tools:sample/avatars Elementos de diseño de vector que puedes usar como avatares del
perfil

@tools:sample/backgrounds/scenicImágenes que puedes usar como fondos

Atributos de reducción de recursos


Los siguientes atributos permiten habilitar marcas de referencia estrictas y declarar si se
desean conservar o descartar ciertos recursos cuando se utiliza la reducción de recursos
 (https://developer.android.com/studio/build/shrink-code?hl=es-419#shrink-resources).
chevron_left

https://developer.android.com/studio/write/tool-attributes?hl=es-419 11/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

Para habilitar la reducción de recursos, establece la propiedad shrinkResources como true en


el archivo build.gradle (junto con minifyEnabled para la reducción de código).
Por ejemplo:

Groovy Kotlin (#kotlin)
 (#groovy)

android {
...
    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}

tools:shrinkMode
Destinado a: <resources>

Usado por: herramientas de compilación con reducción de recursos

Este atributo permite especificar si las herramientas de compilación deben usar el "modo
seguro" (conserva todos los recursos que se citan de forma explícita y a los que se podría hacer
referencia de forma dinámica con una llamada a Resources.getIdentifier()
 (https://developer.android.com/reference/android/content/res/Resources?hl=es-
419#getIdentifier(java.lang.String,%20java.lang.String,%20java.lang.String))
) o el "modo estricto" (conserva solo los recursos que se citan de forma explícita en el código o
en otros recursos).

El valor predeterminado es usar el modo seguro ( shrinkMode="safe"). Para utilizar el modo


estricto, agrega shrinkMode="strict" a la etiqueta <resources>, como se muestra a
continuación:

<?xml version="1.0" encoding="utf-8"?>


chevron_left
<resources xmlns:tools="http://schemas.android.com/tools"

https://developer.android.com/studio/write/tool-attributes?hl=es-419 12/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

tools:shrinkMode="strict" />

Si habilitas el modo estricto, es posible que debas usar tools:keep (#toolskeep) a fin de


conservar los recursos que se quitaron, pero que en realidad quieres conservar, y
tools:discard (#toolsdiscard) para quitar de forma explícita aún más recursos.

Para obtener más información, consulta Cómo reducir recursos


 (https://developer.android.com/studio/build/shrink-code?hl=es-419#shrink-resources).

tools:keep
Destinado a: <resources>

Usado por: herramientas de compilación con reducción de recursos

Cuando se utiliza la reducción de recursos para quitar aquellos no utilizados, este atributo
permite especificar los que se deben conservar (en general, porque se hace referencia a ellos de
manera indirecta durante el tiempo de ejecución, como por ejemplo, cuando se envía un
nombre de recurso generado de forma dinámica a Resources.getIdentifier()
 (https://developer.android.com/reference/android/content/res/Resources?hl=es-
419#getIdentifier(java.lang.String,%20java.lang.String,%20java.lang.String))
).

Para usar este atributo, crea un archivo en formato XML en el directorio de recursos (por
ejemplo, en res/raw/keep.xml) con la etiqueta <resources> y especifica cada recurso que
quieras conservar en el atributo tools:keep, en una lista separada por comas. Puedes usar el
carácter de asterisco como comodín.
Por ejemplo:

<?xml version="1.0" encoding="utf-8"?>


<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@layout/used_1,@layout/used_2,@layout/*_3" />

Para obtener más información, consulta Cómo reducir recursos


 (https://developer.android.com/studio/build/shrink-code?hl=es-419#shrink-resources).
chevron_left

https://developer.android.com/studio/write/tool-attributes?hl=es-419 13/14
7/11/21 3:22 Referencia de atributos de herramientas | Estudio de Android

tools:discard
Destinado a: <resources>

Usado por: herramientas de compilación con reducción de recursos

Cuando se utiliza la reducción de recursos para quitar aquellos no utilizados, este atributo
permite especificar los que quieres descartar de forma manual (en general, porque se hace
referencia al recurso pero de una manera que no afecta la app, o porque el complemento Gradle
dedujo de forma incorrecta que se hace referencia al recurso).

Para este atributo, crea un archivo en formato XML en el directorio de recursos (por ejemplo, en
res/raw/keep.xml) con la etiqueta <resources>y especifica cada recurso que quieras
conservar en el atributo tools:discard, en una lista separada por comas. Puedes usar el
carácter de asterisco como comodín. Por ejemplo:

<?xml version="1.0" encoding="utf-8"?>


<resources xmlns:tools="http://schemas.android.com/tools"
tools:discard="@layout/unused_1" />

Para obtener más información, consulta Cómo reducir recursos


 (https://developer.android.com/studio/build/shrink-code?hl=es-419#shrink-resources) .

Los ejemplos de contenido y código de esta página están sujetos a las licencias descritas en la Licencia de contenido
 (https://developer.android.com/license?hl=es-419) . Java es una marca comercial registrada de Oracle y / o sus
afiliadas.

Última actualización 2021-06-14 UTC.

chevron_left

https://developer.android.com/studio/write/tool-attributes?hl=es-419 14/14

También podría gustarte