¿Cuál es la diferencia entre @android: and? Android:

Cuál es la diferencia entre

android:color="@android:color/black" 

y

 style="?android:attr/borderlessButtonStyle" 

¿Cuál es la diferencia entre el @ y el ? ?

Esta es una de esas preguntas que es ungoogleable, o ogooglebar .

(De esta respuesta y sus comentarios)

Prefijar el ID con un signo de interrogación indica que desea acceder a un atributo de estilo que está definido en un tema de estilo, en lugar de codificar el atributo de forma rígida, tal como se explica en Referencing Style Attributes .

Más específicamente, el ? Implica un nivel extra de indirección. Piense en ello como desreferencia de un atributo de tema para buscar el recurso al que apunta en lugar de referirse al atributo en sí. ¿Ves esto con? Android: attr / foo

@android: color / negro

Significa que se está refiriendo a un color definido en el espacio de nombres android. Este espacio de nombres es el espacio de nombres del marco.

Search black en este archivo: black color in framework

Style = "? Android: attr / borderlessButtonStyle"

"? Android: attr / borderlessButtonStyle" significa simplemente "utilizar el valor definido por el atributo llamado borderlessButtonStyle en el espacio de nombres android". Este atributo y su valor forman parte del marco Android, el espacio de nombres "android".

BorderlessButtonStyle en el marco


Editado: desde este Estilo de Referencia Atributos

Este enlace nos dice:

Por ejemplo, aquí es cómo puede hacer referencia a un atributo para establecer el color de texto para que coincida con el color de texto "primario" del tema del sistema :

 <EditText id="text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="?android:textColorSecondary" android:text="@string/hello_world" /> 
  • Colores de aplicaciones incoherentes en la pantalla de melocotones recientes
  • Cree los botones de android mediante programación utilizando la disposición XML como plantilla
  • Android getMeasuredHeight devuelve valores erróneos!
  • ¿Cómo puedo utilizar varios valores para las propiedades de diseño XML de Android?
  • Activación de la transición deslizante dentro / fuera de la animación
  • ImageView no mantiene la altura máxima y el ancho
  • ¿Cómo puedo anclar una imagen al centro dentro de una vista de imagen en una vista de desplazamiento, en Android?
  • Tamaño de la barra de navegación de Android en xml
  • XML de Android que corta la mitad inferior del diseño
  • Android define el valor de cadena en String.xml
  • Establecer LinearLayout Orientación utilizando referencias en lugar de layout-land (sólo xml)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.