¿Alguien puede explicar el significado del signo de interrogación en los atributos de Android XML?Signo de interrogación (?) En atributos XML para Android
<TextView
style="?android:attr/windowTitleStyle"
More attributes
/>
¿Alguien puede explicar el significado del signo de interrogación en los atributos de Android XML?Signo de interrogación (?) En atributos XML para Android
<TextView
style="?android:attr/windowTitleStyle"
More attributes
/>
El signo de interrogación significa que es una referencia a un valor de recurso en el tema aplicado actualmente. Consulte el linuxtopia Android Dev Guide o el android.com Dev Guide para obtener más información al respecto.
\?
se sale del signo de interrogación.
¿El? le permite consultar un atributo de estilo en lugar de un recurso codificado específico. Consulte "Referencing style attributes" en la Guía de desarrollo de Android para obtener más detalles.
Entonces, ¿cómo es esto realmente útil? Tiene más sentido cuando se consideran temas múltiples que contienen el mismo atributo de recurso personalizado .
Digamos que tiene temas relacionados con películas como MyThemeTransformers y MyThemeHobbit, y ambos tienen un atributo llamado movieIcon. Y ese atributo movieIcon apunta a un recurso @drawable diferente, digamos robot.png o hobbit.png, en cada definición de tema.
Se puede hacer referencia a "? Attr/movieIcon" en cualquier parte del tema es en efecto (como en una barra de herramientas o de diálogo o cualquier tipo de disposición de vista), y se apuntará automáticamente a la dibujable correcta al cambiar entre temas. No necesita ninguna lógica dependiente del tema para usar los diferentes objetos descartables. Simplemente define el atributo movieIcon para cada tema y el marco de Android se ocupa del resto.
Creo que sería mejor señalar su segundo enlace a: http://developer.android.com/guide/topics/resources/resources-i18n.html#ReferencesToThemeAttributes – Casebash
Los artículos de Dev Guide se han reestructurado, este es el nuevo enlace directo: http://developer.android.com/guide/topics/resources/accessing-resources.html#ReferencesToThemeAttributes – mernen
Creo que es más apropiado decirlo? se usa para "Referenciar atributos de estilo" en lugar de "referencia a un valor de recurso en el tema aplicado actualmente". De acuerdo con el enlace de la guía de desarrollo de android.com que proporcionó. –