¿Alguien puede explicar el signo de interrogación que significa en los atributos XML de Android?
<TextView
style="?android:attr/windowTitleStyle"
More attributes
/>
android
xml
android-styles
Casebash
fuente
fuente
Los ? le permite referirse a un atributo de estilo en lugar de un recurso específico codificado . Consulte "Atributos de estilo de referencia" en la Guía de desarrollo de Android para más detalles.
Entonces, ¿cómo es esto realmente útil? Tiene más sentido cuando se consideran múltiples temas que contienen el mismo atributo de recurso personalizado .
Supongamos 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.
Puede hacer referencia a " ? Attr / movieIcon " en cualquier lugar donde el tema esté vigente (como en una barra de herramientas o diálogo o cualquier tipo de diseño de Vista), y automáticamente señalará el dibujo correcto cuando cambie de tema. No necesita ninguna lógica dependiente del tema para usar los diferentes elementos dibujables. Simplemente defina el atributo movieIcon para cada tema y el marco de Android se encarga del resto.
fuente