@ En el archivo AndroidManifest.xml

Desde el libro de O'Reilly "Android Application Development" de Rick Rogers, John Lombardo, Zigurd Mednieks y Blake Meike, página 23:

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> 

Desde la página 44:

  <application android:icon="@drawable/icon2"> 

¿Cuál es el significado de @ en cada uno de los fragmentos anteriores?

En este caso:

 android:layout_width="fill_parent" 

El valor del atributo, android:layout_width , se especifica directamente dentro de las comillas, fill_parent . En el otro caso:

 android:text="@string/hello" 

El valor del atributo, android:text="@string/hello" , se especifica en otra parte. Esto se indica mediante el @ al principio de la cadena. En este ejemplo es @string/hello . El valor está en un recurso.

En la sección "Valores de recursos" del archivo AndroidManifest.xml del sitio de desarrolladores de Android. Encontrado del acoplamiento en la respuesta de allclaws .

Los valores de recursos se expresan en el siguiente formato,

@ [Paquete:] tipo: nombre

Donde el nombre del paquete se puede omitir si el recurso está en el mismo paquete que la aplicación, type es un tipo de recurso – como "string" o "drawable" – y nombre es el nombre que identifica el recurso específico.

Tiendo a pensar en ello como una abreviatura que tiene que ver con dónde se encuentran los recursos, por lo que:

En una configuración normal, sería algo así como:

@ Drawable / icon = /PROJECT_ROOT/res/drawable/icon.png

@ String / hello = /PROJECT_ROOT/res/values/strings.xml (un elemento llamado "hola")

Esto parece un problema adicional, pero en realidad funciona bastante bien. También hace que la compatibilidad con la internacionalización y diferentes tamaños de pantalla sea bastante fácil. Usted acaba de declarar archivos de recursos adicionales para diferentes códigos de país y diseños y Android elige el mejor partido para usted.

Este documento sobre la internacionalización aquí podría aclarar por qué decidieron hacerlo de esa manera.

  • TextView no se desplaza suavemente
  • El efecto Ripple no va por encima de ImageView
  • ¿Atajos estáticos del androide para los sabores múltiples?
  • Error en styles.xml en android-support-v7-mediarouter
  • Xml spring para android con gradle
  • XmlPullParser getAttributeValue devuelve null
  • El color del elemento de menú NavigationView no cambia en API 15
  • ¿Cualquier manera de agarrar un icono de la insignia del URL del Web site, programmatically?
  • Barra de estado de Android desplazándose hacia arriba con el diseño del coordinador, dejando iconos de estado que se superponen al título de la barra de herramientas
  • Solo se muestra un elemento en la vista de reciclado
  • Android: lee un archivo XML con HTTP GET
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.